aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/pl/plpgsql/src/gram.y30
1 files changed, 8 insertions, 22 deletions
diff --git a/src/pl/plpgsql/src/gram.y b/src/pl/plpgsql/src/gram.y
index e2b5c7aab14..65b8f5f4093 100644
--- a/src/pl/plpgsql/src/gram.y
+++ b/src/pl/plpgsql/src/gram.y
@@ -4,7 +4,7 @@
* procedural language
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/pl/plpgsql/src/gram.y,v 1.67 2005/04/05 06:22:16 tgl Exp $
+ * $PostgreSQL: pgsql/src/pl/plpgsql/src/gram.y,v 1.68 2005/04/05 18:05:46 tgl Exp $
*
* This software is copyrighted by Jan Wieck - Hamburg.
*
@@ -1276,7 +1276,6 @@ stmt_open : K_OPEN lno cursor_varptr
if ($3->cursor_explicit_expr == NULL)
{
tok = yylex();
-
if (tok != K_FOR)
{
plpgsql_error_lineno = $2;
@@ -1288,26 +1287,15 @@ stmt_open : K_OPEN lno cursor_varptr
}
tok = yylex();
- switch (tok)
+ if (tok == K_EXECUTE)
{
- case K_SELECT:
- case '(':
- plpgsql_push_back_token(tok);
- new->query = read_sql_stmt("");
- break;
-
- case K_EXECUTE:
- new->dynquery = read_sql_stmt("SELECT ");
- break;
-
- default:
- plpgsql_error_lineno = $2;
- ereport(ERROR,
- (errcode(ERRCODE_SYNTAX_ERROR),
- errmsg("syntax error at \"%s\"",
- yytext)));
+ new->dynquery = read_sql_stmt("SELECT ");
+ }
+ else
+ {
+ plpgsql_push_back_token(tok);
+ new->query = read_sql_stmt("");
}
-
}
else
{
@@ -1316,7 +1304,6 @@ stmt_open : K_OPEN lno cursor_varptr
char *cp;
tok = yylex();
-
if (tok != '(')
{
plpgsql_error_lineno = plpgsql_scanner_lineno();
@@ -1369,7 +1356,6 @@ stmt_open : K_OPEN lno cursor_varptr
else
{
tok = yylex();
-
if (tok == '(')
{
plpgsql_error_lineno = plpgsql_scanner_lineno();