diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2006-06-16 23:29:27 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2006-06-16 23:29:27 +0000 |
commit | c892643a3c4645450e3f84d2e2266a4e46340d28 (patch) | |
tree | 07952ebfc71fc68ead929a74bc8ad2ff153c16b1 /src | |
parent | 3ba3e6c8ce3af9c6d54245f9c655584ee13002eb (diff) | |
download | postgresql-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.h | 4 | ||||
-rw-r--r-- | src/pl/plpgsql/src/gram.y | 4 | ||||
-rw-r--r-- | src/pl/plpgsql/src/pl_exec.c | 6 | ||||
-rw-r--r-- | src/pl/plpgsql/src/plerrcodes.h | 14 | ||||
-rw-r--r-- | src/pl/plpgsql/src/scan.l | 4 |
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; } |