diff options
author | Simon Riggs <simon@2ndQuadrant.com> | 2012-06-09 16:35:26 +0100 |
---|---|---|
committer | Simon Riggs <simon@2ndQuadrant.com> | 2012-06-09 16:35:26 +0100 |
commit | 72335a20156b19be3a53ef686e0b31140c6f38e5 (patch) | |
tree | 67673c25e638eebe6a3c3cbff8f25621aefc9613 /src/backend | |
parent | 37255705399b57b2e413814799f0bc9b94fda14a (diff) | |
download | postgresql-72335a20156b19be3a53ef686e0b31140c6f38e5.tar.gz postgresql-72335a20156b19be3a53ef686e0b31140c6f38e5.zip |
Add ERROR msg for GLOBAL/LOCAL TEMP is not yet implemented
Diffstat (limited to 'src/backend')
-rw-r--r-- | src/backend/parser/gram.y | 56 |
1 files changed, 50 insertions, 6 deletions
diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y index 9eb1bed58e6..107a8051205 100644 --- a/src/backend/parser/gram.y +++ b/src/backend/parser/gram.y @@ -2507,15 +2507,43 @@ CreateStmt: CREATE OptTemp TABLE qualified_name '(' OptTableElementList ')' * Redundancy here is needed to avoid shift/reduce conflicts, * since TEMP is not a reserved word. See also OptTempTableName. * - * NOTE: we accept both GLOBAL and LOCAL options; since we have no modules - * the LOCAL keyword is really meaningless. + * NOTE: we don't accept either the GLOBAL or LOCAL options: not yet implemented. */ OptTemp: TEMPORARY { $$ = RELPERSISTENCE_TEMP; } | TEMP { $$ = RELPERSISTENCE_TEMP; } - | LOCAL TEMPORARY { $$ = RELPERSISTENCE_TEMP; } - | LOCAL TEMP { $$ = RELPERSISTENCE_TEMP; } - | GLOBAL TEMPORARY { $$ = RELPERSISTENCE_TEMP; } - | GLOBAL TEMP { $$ = RELPERSISTENCE_TEMP; } + | LOCAL TEMPORARY + { + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("LOCAL TEMPORARY not yet implemented"), + parser_errposition(@1))); + $$ = RELPERSISTENCE_TEMP; + } + | LOCAL TEMP + { + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("LOCAL TEMPORARY not yet implemented"), + parser_errposition(@1))); + $$ = RELPERSISTENCE_TEMP; + } + | GLOBAL TEMPORARY + { + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("GLOBAL TEMPORARY not yet implemented"), + parser_errposition(@1))); + $$ = RELPERSISTENCE_TEMP; + } + | GLOBAL TEMP + { + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("GLOBAL TEMPORARY not yet implemented"), + parser_errposition(@1))); + $$ = RELPERSISTENCE_TEMP; + } + | UNLOGGED { $$ = RELPERSISTENCE_UNLOGGED; } | /*EMPTY*/ { $$ = RELPERSISTENCE_PERMANENT; } ; @@ -8921,21 +8949,37 @@ OptTempTableName: | LOCAL TEMPORARY opt_table qualified_name { $$ = $4; + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("LOCAL TEMPORARY not yet implemented"), + parser_errposition(@1))); $$->relpersistence = RELPERSISTENCE_TEMP; } | LOCAL TEMP opt_table qualified_name { $$ = $4; + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("LOCAL TEMPORARY not yet implemented"), + parser_errposition(@1))); $$->relpersistence = RELPERSISTENCE_TEMP; } | GLOBAL TEMPORARY opt_table qualified_name { $$ = $4; + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("GLOBAL TEMPORARY not yet implemented"), + parser_errposition(@1))); $$->relpersistence = RELPERSISTENCE_TEMP; } | GLOBAL TEMP opt_table qualified_name { $$ = $4; + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("GLOBAL TEMPORARY not yet implemented"), + parser_errposition(@1))); $$->relpersistence = RELPERSISTENCE_TEMP; } | UNLOGGED opt_table qualified_name |