From 28ac7972873bd314d4837807396fe44571b5cb50 Mon Sep 17 00:00:00 2001 From: Simon Riggs Date: Sun, 10 Jun 2012 08:41:01 +0100 Subject: [PATCH] Revert error message on GLOBAL/LOCAL pending further discussion --- src/backend/parser/gram.y | 56 +++------------------- src/test/regress/expected/create_table.out | 16 ------- src/test/regress/sql/create_table.sql | 5 -- 3 files changed, 6 insertions(+), 71 deletions(-) diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y index 107a805120..9eb1bed58e 100644 --- a/src/backend/parser/gram.y +++ b/src/backend/parser/gram.y @@ -2507,43 +2507,15 @@ 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 don't accept either the GLOBAL or LOCAL options: not yet implemented. + * NOTE: we accept both GLOBAL and LOCAL options; since we have no modules + * the LOCAL keyword is really meaningless. */ OptTemp: TEMPORARY { $$ = RELPERSISTENCE_TEMP; } | 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; - } - + | LOCAL TEMPORARY { $$ = RELPERSISTENCE_TEMP; } + | LOCAL TEMP { $$ = RELPERSISTENCE_TEMP; } + | GLOBAL TEMPORARY { $$ = RELPERSISTENCE_TEMP; } + | GLOBAL TEMP { $$ = RELPERSISTENCE_TEMP; } | UNLOGGED { $$ = RELPERSISTENCE_UNLOGGED; } | /*EMPTY*/ { $$ = RELPERSISTENCE_PERMANENT; } ; @@ -8949,37 +8921,21 @@ 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 diff --git a/src/test/regress/expected/create_table.out b/src/test/regress/expected/create_table.out index 0b2cbc734a..d20790f909 100644 --- a/src/test/regress/expected/create_table.out +++ b/src/test/regress/expected/create_table.out @@ -220,19 +220,3 @@ NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "doubly_temp_pkey CREATE TEMP TABLE public.temp_to_perm (a int primary key); -- not OK ERROR: cannot create temporary relation in non-temporary schema DROP TABLE unlogged1, public.unlogged2; -CREATE GLOBAL TEMPORARY TABLE global_temp1 (a int, b text); -- not yet OK -ERROR: GLOBAL TEMPORARY not yet implemented -LINE 1: CREATE GLOBAL TEMPORARY TABLE global_temp1 (a int, b text); - ^ -CREATE GLOBAL TEMP TABLE global_temp2 (a int, b text); -- not yet OK -ERROR: GLOBAL TEMPORARY not yet implemented -LINE 1: CREATE GLOBAL TEMP TABLE global_temp2 (a int, b text); - ^ -CREATE LOCAL TEMP TABLE local_temp (a int, b text); -- not yet OK -ERROR: LOCAL TEMPORARY not yet implemented -LINE 1: CREATE LOCAL TEMP TABLE local_temp (a int, b text); - ^ -CREATE LOCAL TEMP TABLE local_temp (a int, b text); -- not yet OK -ERROR: LOCAL TEMPORARY not yet implemented -LINE 1: CREATE LOCAL TEMP TABLE local_temp (a int, b text); - ^ diff --git a/src/test/regress/sql/create_table.sql b/src/test/regress/sql/create_table.sql index ab0145531c..a050e8b6d1 100644 --- a/src/test/regress/sql/create_table.sql +++ b/src/test/regress/sql/create_table.sql @@ -250,8 +250,3 @@ CREATE TEMP TABLE explicitly_temp (a int primary key); -- also OK CREATE TEMP TABLE pg_temp.doubly_temp (a int primary key); -- also OK CREATE TEMP TABLE public.temp_to_perm (a int primary key); -- not OK DROP TABLE unlogged1, public.unlogged2; - -CREATE GLOBAL TEMPORARY TABLE global_temp1 (a int, b text); -- not yet OK -CREATE GLOBAL TEMP TABLE global_temp2 (a int, b text); -- not yet OK -CREATE LOCAL TEMP TABLE local_temp (a int, b text); -- not yet OK -CREATE LOCAL TEMP TABLE local_temp (a int, b text); -- not yet OK -- 2.40.0