aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2006-06-16 23:29:27 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2006-06-16 23:29:27 +0000
commitc892643a3c4645450e3f84d2e2266a4e46340d28 (patch)
tree07952ebfc71fc68ead929a74bc8ad2ff153c16b1 /src
parent3ba3e6c8ce3af9c6d54245f9c655584ee13002eb (diff)
downloadpostgresql-c892643a3c4645450e3f84d2e2266a4e46340d28.tar.gz
postgresql-c892643a3c4645450e3f84d2e2266a4e46340d28.zip
Code review for SELECT INTO STRICT patch: use saner choices of error
SQLSTATEs, fix some documentation problems.
Diffstat (limited to 'src')
-rw-r--r--src/include/utils/errcodes.h4
-rw-r--r--src/pl/plpgsql/src/gram.y4
-rw-r--r--src/pl/plpgsql/src/pl_exec.c6
-rw-r--r--src/pl/plpgsql/src/plerrcodes.h14
-rw-r--r--src/pl/plpgsql/src/scan.l4
5 files changed, 16 insertions, 16 deletions
diff --git a/src/include/utils/errcodes.h b/src/include/utils/errcodes.h
index fc59a32fb91..8ba809d2ee8 100644
--- a/src/include/utils/errcodes.h
+++ b/src/include/utils/errcodes.h
@@ -11,7 +11,7 @@
*
* Copyright (c) 2003-2006, PostgreSQL Global Development Group
*
- * $PostgreSQL: pgsql/src/include/utils/errcodes.h,v 1.19 2006/03/05 15:59:07 momjian Exp $
+ * $PostgreSQL: pgsql/src/include/utils/errcodes.h,v 1.20 2006/06/16 23:29:26 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -331,6 +331,8 @@
/* Class P0 - PL/pgSQL Error (PostgreSQL-specific error class) */
#define ERRCODE_PLPGSQL_ERROR MAKE_SQLSTATE('P','0', '0','0','0')
#define ERRCODE_RAISE_EXCEPTION MAKE_SQLSTATE('P','0', '0','0','1')
+#define ERRCODE_NO_DATA_FOUND MAKE_SQLSTATE('P','0', '0','0','2')
+#define ERRCODE_TOO_MANY_ROWS MAKE_SQLSTATE('P','0', '0','0','3')
/* Class XX - Internal Error (PostgreSQL-specific error class) */
/* (this is for "can't-happen" conditions and software bugs) */
diff --git a/src/pl/plpgsql/src/gram.y b/src/pl/plpgsql/src/gram.y
index 21a0bd6541e..4ced4402ebe 100644
--- a/src/pl/plpgsql/src/gram.y
+++ b/src/pl/plpgsql/src/gram.y
@@ -9,7 +9,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/pl/plpgsql/src/gram.y,v 1.92 2006/06/15 18:02:22 momjian Exp $
+ * $PostgreSQL: pgsql/src/pl/plpgsql/src/gram.y,v 1.93 2006/06/16 23:29:26 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -157,7 +157,6 @@ static void check_labels(const char *start_label,
%token K_ELSE
%token K_ELSIF
%token K_END
-%token K_STRICT
%token K_EXCEPTION
%token K_EXECUTE
%token K_EXIT
@@ -187,6 +186,7 @@ static void check_labels(const char *start_label,
%token K_RETURN_NEXT
%token K_REVERSE
%token K_SELECT
+%token K_STRICT
%token K_THEN
%token K_TO
%token K_TYPE
diff --git a/src/pl/plpgsql/src/pl_exec.c b/src/pl/plpgsql/src/pl_exec.c
index e74dcac2311..4188fe1eb1c 100644
--- a/src/pl/plpgsql/src/pl_exec.c
+++ b/src/pl/plpgsql/src/pl_exec.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/pl/plpgsql/src/pl_exec.c,v 1.172 2006/06/16 18:42:23 tgl Exp $
+ * $PostgreSQL: pgsql/src/pl/plpgsql/src/pl_exec.c,v 1.173 2006/06/16 23:29:27 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -1721,7 +1721,7 @@ exec_stmt_select(PLpgSQL_execstate *estate, PLpgSQL_stmt_select *stmt)
{
if (stmt->strict)
ereport(ERROR,
- (errcode(ERRCODE_NO_DATA),
+ (errcode(ERRCODE_NO_DATA_FOUND),
errmsg("query returned no rows")));
/* set the target to NULL(s) */
@@ -1732,7 +1732,7 @@ exec_stmt_select(PLpgSQL_execstate *estate, PLpgSQL_stmt_select *stmt)
if (n > 1 && stmt->strict)
ereport(ERROR,
- (errcode(ERRCODE_CARDINALITY_VIOLATION),
+ (errcode(ERRCODE_TOO_MANY_ROWS),
errmsg("query returned more than one row")));
/*
diff --git a/src/pl/plpgsql/src/plerrcodes.h b/src/pl/plpgsql/src/plerrcodes.h
index fedd4d0c7e7..478bf3b0806 100644
--- a/src/pl/plpgsql/src/plerrcodes.h
+++ b/src/pl/plpgsql/src/plerrcodes.h
@@ -9,7 +9,7 @@
*
* Copyright (c) 2003-2006, PostgreSQL Global Development Group
*
- * $PostgreSQL: pgsql/src/pl/plpgsql/src/plerrcodes.h,v 1.8 2006/06/15 18:02:22 momjian Exp $
+ * $PostgreSQL: pgsql/src/pl/plpgsql/src/plerrcodes.h,v 1.9 2006/06/16 23:29:27 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -712,23 +712,21 @@
},
{
- "internal_error", ERRCODE_INTERNAL_ERROR
+ "no_data_found", ERRCODE_NO_DATA_FOUND
},
{
- "data_corrupted", ERRCODE_DATA_CORRUPTED
+ "too_many_rows", ERRCODE_TOO_MANY_ROWS
},
{
- "index_corrupted", ERRCODE_INDEX_CORRUPTED
+ "internal_error", ERRCODE_INTERNAL_ERROR
},
{
- "no_data_found", ERRCODE_NO_DATA
+ "data_corrupted", ERRCODE_DATA_CORRUPTED
},
{
- "too_many_rows", ERRCODE_CARDINALITY_VIOLATION
+ "index_corrupted", ERRCODE_INDEX_CORRUPTED
},
-
-
diff --git a/src/pl/plpgsql/src/scan.l b/src/pl/plpgsql/src/scan.l
index 1dca30a5666..7220949063c 100644
--- a/src/pl/plpgsql/src/scan.l
+++ b/src/pl/plpgsql/src/scan.l
@@ -9,7 +9,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/pl/plpgsql/src/scan.l,v 1.51 2006/06/15 18:02:22 momjian Exp $
+ * $PostgreSQL: pgsql/src/pl/plpgsql/src/scan.l,v 1.52 2006/06/16 23:29:27 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -129,7 +129,6 @@ else { return K_ELSE; }
elseif { return K_ELSIF; }
elsif { return K_ELSIF; }
end { return K_END; }
-strict { return K_STRICT; }
exception { return K_EXCEPTION; }
execute { return K_EXECUTE; }
exit { return K_EXIT; }
@@ -158,6 +157,7 @@ return { return K_RETURN; }
reverse { return K_REVERSE; }
row_count { return K_ROW_COUNT; }
select { return K_SELECT; }
+strict { return K_STRICT; }
then { return K_THEN; }
to { return K_TO; }
type { return K_TYPE; }