From bfce56eea45b1369b7bb2150a150d1ac109f5073 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 10 Mar 2008 03:37:59 +0000 Subject: [PATCH] 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 1755268211..58bac59d59 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; } } -- 2.40.0