Add new SQL:2008 error codes for invalid LIMIT and OFFSET values. Remove
authorPeter Eisentraut
Wed, 4 Mar 2009 10:55:00 +0000 (10:55 +0000)
committerPeter Eisentraut
Wed, 4 Mar 2009 10:55:00 +0000 (10:55 +0000)
unused nonstandard error code that was perhaps intended for this but never
used.

doc/src/sgml/errcodes.sgml
src/backend/executor/nodeLimit.c
src/include/utils/errcodes.h
src/pl/plpgsql/src/plerrcodes.h

index e792a74e2866bfa2c88e69afd24e7e38dcef26a8..e5597f200438190be8120cdd0413d4f2695a86fa 100644 (file)
@@ -1,4 +1,4 @@
-
+
 
 
  <productname>PostgreSQL</productname> Error Codes
 invalid_indicator_parameter_value
 
 
-
-22020
-INVALID LIMIT VALUE
-invalid_limit_value
-
-
 
 22023
 INVALID PARAMETER VALUE
 invalid_regular_expression
 
 
+
+2201W
+INVALID ROW COUNT IN LIMIT CLAUSE
+invalid_row_count_in_limit_clause
+
+
+
+2201X
+INVALID ROW COUNT IN RESULT OFFSET CLAUSE
+invalid_row_count_in_result_offset_clause
+
+
 
 22009
 INVALID TIME ZONE DISPLACEMENT VALUE
index 9f17094d2e6e53d3983843d602236cb69c7616fd..c6e889721c378bff1603c5ac97312beccc5aa027 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *   $PostgreSQL: pgsql/src/backend/executor/nodeLimit.c,v 1.35 2009/01/01 17:23:41 momjian Exp $
+ *   $PostgreSQL: pgsql/src/backend/executor/nodeLimit.c,v 1.36 2009/03/04 10:55:00 petere Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -247,7 +247,7 @@ recompute_limits(LimitState *node)
            node->offset = DatumGetInt64(val);
            if (node->offset < 0)
                ereport(ERROR,
-                       (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
+                       (errcode(ERRCODE_INVALID_ROW_COUNT_IN_RESULT_OFFSET_CLAUSE),
                         errmsg("OFFSET must not be negative")));
        }
    }
@@ -274,7 +274,7 @@ recompute_limits(LimitState *node)
            node->count = DatumGetInt64(val);
            if (node->count < 0)
                ereport(ERROR,
-                       (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
+                       (errcode(ERRCODE_INVALID_ROW_COUNT_IN_LIMIT_CLAUSE),
                         errmsg("LIMIT must not be negative")));
            node->noCount = false;
        }
index 4c758bdb02b1f8b84c781b3df199a0259a8d13d0..6524b8c5fe4eead9dc5a0ad2ec379dbb59c9894b 100644 (file)
@@ -11,7 +11,7 @@
  *
  * Copyright (c) 2003-2009, PostgreSQL Global Development Group
  *
- * $PostgreSQL: pgsql/src/include/utils/errcodes.h,v 1.28 2009/01/01 17:24:02 momjian Exp $
+ * $PostgreSQL: pgsql/src/include/utils/errcodes.h,v 1.29 2009/03/04 10:55:00 petere Exp $
  *
  *-------------------------------------------------------------------------
  */
 #define ERRCODE_INVALID_ESCAPE_SEQUENCE        MAKE_SQLSTATE('2','2', '0','2','5')
 #define ERRCODE_NONSTANDARD_USE_OF_ESCAPE_CHARACTER        MAKE_SQLSTATE('2','2', 'P','0','6')
 #define ERRCODE_INVALID_INDICATOR_PARAMETER_VALUE      MAKE_SQLSTATE('2','2', '0','1','0')
-#define ERRCODE_INVALID_LIMIT_VALUE            MAKE_SQLSTATE('2','2', '0','2','0')
 #define ERRCODE_INVALID_PARAMETER_VALUE        MAKE_SQLSTATE('2','2', '0','2','3')
 #define ERRCODE_INVALID_REGULAR_EXPRESSION MAKE_SQLSTATE('2','2', '0','1','B')
+#define ERRCODE_INVALID_ROW_COUNT_IN_LIMIT_CLAUSE  MAKE_SQLSTATE('2', '2', '0', '1', 'W')
+#define ERRCODE_INVALID_ROW_COUNT_IN_RESULT_OFFSET_CLAUSE  MAKE_SQLSTATE('2', '2', '0', '1', 'X')
 #define ERRCODE_INVALID_TIME_ZONE_DISPLACEMENT_VALUE   MAKE_SQLSTATE('2','2', '0','0','9')
 #define ERRCODE_INVALID_USE_OF_ESCAPE_CHARACTER        MAKE_SQLSTATE('2','2', '0','0','C')
 #define ERRCODE_MOST_SPECIFIC_TYPE_MISMATCH MAKE_SQLSTATE('2','2', '0','0','G')
index a54666556a40d45b4235a46c0199524c17bff761..a2de61d03efdf27cf52a706fab2281cb6a0e9edd 100644 (file)
@@ -9,7 +9,7 @@
  *
  * Copyright (c) 2003-2009, PostgreSQL Global Development Group
  *
- * $PostgreSQL: pgsql/src/pl/plpgsql/src/plerrcodes.h,v 1.17 2009/01/01 17:24:04 momjian Exp $
+ * $PostgreSQL: pgsql/src/pl/plpgsql/src/plerrcodes.h,v 1.18 2009/03/04 10:55:00 petere Exp $
  *
  *-------------------------------------------------------------------------
  */
 },
 
 {
-   "invalid_limit_value", ERRCODE_INVALID_LIMIT_VALUE
+   "invalid_parameter_value", ERRCODE_INVALID_PARAMETER_VALUE
 },
 
 {
-   "invalid_parameter_value", ERRCODE_INVALID_PARAMETER_VALUE
+   "invalid_regular_expression", ERRCODE_INVALID_REGULAR_EXPRESSION
 },
 
 {
-   "invalid_regular_expression", ERRCODE_INVALID_REGULAR_EXPRESSION
+   "invalid_row_count_in_limit_clause", ERRCODE_INVALID_ROW_COUNT_IN_LIMIT_CLAUSE
+},
+
+{
+   "invalid_row_count_in_result_offset_clause", ERRCODE_INVALID_ROW_COUNT_IN_RESULT_OFFSET_CLAUSE
 },
 
 {