postgres.git / summary / log / commit / refs

commit    bfce56eea45b1369b7bb2150a150d1ac109f5073
Author:   Tom Lane <tgl@sss.pgh.pa.us>
Date:     Mon Mar 10 03:37:59 2008 +0000
First released in: 8.4.0

    Throw an error for negative LIMIT or OFFSET values, instead of silently
    treating them as zero.  Simon Riggs


src/backend/executor/nodeLimit.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/backend/executor/nodeLimit.c b/src/backend/executor/nodeLimit.c index 1755268211e..58bac59d59a 100644 --- a/src/backend/executor/nodeLimit.c +++ b/src/backend/executor/nodeLimit.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/executor/nodeLimit.c,v 1.33 2008/01/01 19:45:49 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/executor/nodeLimit.c,v 1.34 2008/03/10 03:37:59 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -246,7 +246,9 @@ recompute_limits(LimitState *node) { node->offset = DatumGetInt64(val); if (node->offset < 0) - node->offset = 0; + ereport(ERROR, + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("OFFSET must not be negative"))); } } else @@ -271,7 +273,9 @@ recompute_limits(LimitState *node) { node->count = DatumGetInt64(val); if (node->count < 0) - node->count = 0; + ereport(ERROR, + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("LIMIT must not be negative"))); node->noCount = false; } } [parent: 2abf130a4efc]