diff options
author | Peter Eisentraut <peter_e@gmx.net> | 2003-07-01 00:04:31 +0000 |
---|---|---|
committer | Peter Eisentraut <peter_e@gmx.net> | 2003-07-01 00:04:31 +0000 |
commit | 71e9f3b07f2f993492233dc2fff0566acc70eb64 (patch) | |
tree | bf63ec576f78d03eeb72a181ac0d47554e695358 /src/backend/parser | |
parent | df08f5c0030590980a203b72cdfdba817ff95b30 (diff) | |
download | postgresql-71e9f3b07f2f993492233dc2fff0566acc70eb64.tar.gz postgresql-71e9f3b07f2f993492233dc2fff0566acc70eb64.zip |
Change EXECUTE INTO to CREATE TABLE AS EXECUTE.
Diffstat (limited to 'src/backend/parser')
-rw-r--r-- | src/backend/parser/gram.y | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y index a8df7c65e9d..fbd70807dff 100644 --- a/src/backend/parser/gram.y +++ b/src/backend/parser/gram.y @@ -11,7 +11,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.423 2003/06/29 00:33:43 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.424 2003/07/01 00:04:31 petere Exp $ * * HISTORY * AUTHOR DATE MAJOR EVENT @@ -4116,17 +4116,29 @@ PreparableStmt: /***************************************************************************** * - * QUERY: - * EXECUTE <plan_name> [(params, ...)] [INTO ...] + * EXECUTE <plan_name> [(params, ...)] + * CREATE TABLE <name> AS EXECUTE <plan_name> [(params, ...)] * *****************************************************************************/ -ExecuteStmt: EXECUTE name execute_param_clause into_clause +ExecuteStmt: EXECUTE name execute_param_clause { ExecuteStmt *n = makeNode(ExecuteStmt); n->name = $2; n->params = $3; + n->into = NULL; + $$ = (Node *) n; + } + | CREATE OptTemp TABLE qualified_name OptCreateAs AS EXECUTE name execute_param_clause + { + ExecuteStmt *n = makeNode(ExecuteStmt); + n->name = $8; + n->params = $9; + $4->istemp = $2; n->into = $4; + if ($5) + elog(ERROR, "column name list not allowed in CREATE TABLE / AS EXECUTE"); + /* ... because it's not implemented, but it could be */ $$ = (Node *) n; } ; |