aboutsummaryrefslogtreecommitdiff
path: root/src/backend/parser
diff options
context:
space:
mode:
authorAlvaro Herrera <alvherre@alvh.no-ip.org>2009-11-11 20:31:26 +0000
committerAlvaro Herrera <alvherre@alvh.no-ip.org>2009-11-11 20:31:26 +0000
commite9984c47e94dc3bc06a15e654a525110f12883e8 (patch)
treec4923db25bbb3f772a0802e4265ce9609344ca64 /src/backend/parser
parentaf054db6ef2cddb821bb0b0f50db9e6d4d39bc3d (diff)
downloadpostgresql-e9984c47e94dc3bc06a15e654a525110f12883e8.tar.gz
postgresql-e9984c47e94dc3bc06a15e654a525110f12883e8.zip
Change "name" nonterminal in cursor-related productions to cursor_name.
This is a preparatory patch for allowing a dynamic cursor name be used in the ECPG grammar. Author: Zoltan Boszormenyi
Diffstat (limited to 'src/backend/parser')
-rw-r--r--src/backend/parser/gram.y43
1 files changed, 23 insertions, 20 deletions
diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y
index 38d9764b551..a61729135bd 100644
--- a/src/backend/parser/gram.y
+++ b/src/backend/parser/gram.y
@@ -11,7 +11,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.691 2009/11/11 19:25:40 alvherre Exp $
+ * $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.692 2009/11/11 20:31:26 alvherre Exp $
*
* HISTORY
* AUTHOR DATE MAJOR EVENT
@@ -251,7 +251,7 @@ static TypeName *TableFuncTypeName(List *columns);
%type <str> copy_file_name
database_name access_method_clause access_method attr_name
- index_name name file_name cluster_index_specification
+ index_name name cursor_name file_name cluster_index_specification
%type <list> func_name handler_name qual_Op qual_all_Op subquery_Op
opt_class opt_inline_handler opt_validator validator_clause
@@ -1941,7 +1941,7 @@ reloption_elem:
*****************************************************************************/
ClosePortalStmt:
- CLOSE name
+ CLOSE cursor_name
{
ClosePortalStmt *n = makeNode(ClosePortalStmt);
n->portalname = $2;
@@ -4194,7 +4194,7 @@ FetchStmt: FETCH fetch_args
}
;
-fetch_args: name
+fetch_args: cursor_name
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = $1;
@@ -4202,7 +4202,7 @@ fetch_args: name
n->howMany = 1;
$$ = (Node *)n;
}
- | from_in name
+ | from_in cursor_name
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = $2;
@@ -4210,7 +4210,7 @@ fetch_args: name
n->howMany = 1;
$$ = (Node *)n;
}
- | NEXT opt_from_in name
+ | NEXT opt_from_in cursor_name
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = $3;
@@ -4218,7 +4218,7 @@ fetch_args: name
n->howMany = 1;
$$ = (Node *)n;
}
- | PRIOR opt_from_in name
+ | PRIOR opt_from_in cursor_name
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = $3;
@@ -4226,7 +4226,7 @@ fetch_args: name
n->howMany = 1;
$$ = (Node *)n;
}
- | FIRST_P opt_from_in name
+ | FIRST_P opt_from_in cursor_name
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = $3;
@@ -4234,7 +4234,7 @@ fetch_args: name
n->howMany = 1;
$$ = (Node *)n;
}
- | LAST_P opt_from_in name
+ | LAST_P opt_from_in cursor_name
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = $3;
@@ -4242,7 +4242,7 @@ fetch_args: name
n->howMany = -1;
$$ = (Node *)n;
}
- | ABSOLUTE_P SignedIconst opt_from_in name
+ | ABSOLUTE_P SignedIconst opt_from_in cursor_name
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = $4;
@@ -4250,7 +4250,7 @@ fetch_args: name
n->howMany = $2;
$$ = (Node *)n;
}
- | RELATIVE_P SignedIconst opt_from_in name
+ | RELATIVE_P SignedIconst opt_from_in cursor_name
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = $4;
@@ -4258,7 +4258,7 @@ fetch_args: name
n->howMany = $2;
$$ = (Node *)n;
}
- | SignedIconst opt_from_in name
+ | SignedIconst opt_from_in cursor_name
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = $3;
@@ -4266,7 +4266,7 @@ fetch_args: name
n->howMany = $1;
$$ = (Node *)n;
}
- | ALL opt_from_in name
+ | ALL opt_from_in cursor_name
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = $3;
@@ -4274,7 +4274,7 @@ fetch_args: name
n->howMany = FETCH_ALL;
$$ = (Node *)n;
}
- | FORWARD opt_from_in name
+ | FORWARD opt_from_in cursor_name
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = $3;
@@ -4282,7 +4282,7 @@ fetch_args: name
n->howMany = 1;
$$ = (Node *)n;
}
- | FORWARD SignedIconst opt_from_in name
+ | FORWARD SignedIconst opt_from_in cursor_name
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = $4;
@@ -4290,7 +4290,7 @@ fetch_args: name
n->howMany = $2;
$$ = (Node *)n;
}
- | FORWARD ALL opt_from_in name
+ | FORWARD ALL opt_from_in cursor_name
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = $4;
@@ -4298,7 +4298,7 @@ fetch_args: name
n->howMany = FETCH_ALL;
$$ = (Node *)n;
}
- | BACKWARD opt_from_in name
+ | BACKWARD opt_from_in cursor_name
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = $3;
@@ -4306,7 +4306,7 @@ fetch_args: name
n->howMany = 1;
$$ = (Node *)n;
}
- | BACKWARD SignedIconst opt_from_in name
+ | BACKWARD SignedIconst opt_from_in cursor_name
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = $4;
@@ -4314,7 +4314,7 @@ fetch_args: name
n->howMany = $2;
$$ = (Node *)n;
}
- | BACKWARD ALL opt_from_in name
+ | BACKWARD ALL opt_from_in cursor_name
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = $4;
@@ -7108,7 +7108,7 @@ set_target_list:
* CURSOR STATEMENTS
*
*****************************************************************************/
-DeclareCursorStmt: DECLARE name cursor_options CURSOR opt_hold FOR SelectStmt
+DeclareCursorStmt: DECLARE cursor_name cursor_options CURSOR opt_hold FOR SelectStmt
{
DeclareCursorStmt *n = makeNode(DeclareCursorStmt);
n->portalname = $2;
@@ -7119,6 +7119,9 @@ DeclareCursorStmt: DECLARE name cursor_options CURSOR opt_hold FOR SelectStmt
}
;
+cursor_name: name { $$ = $1; }
+ ;
+
cursor_options: /*EMPTY*/ { $$ = 0; }
| cursor_options NO SCROLL { $$ = $1 | CURSOR_OPT_NO_SCROLL; }
| cursor_options SCROLL { $$ = $1 | CURSOR_OPT_SCROLL; }