4
4
* procedural language
5
5
*
6
6
* IDENTIFICATION
7
- * $Header: /cvsroot/pgsql/src/pl/plpgsql/src/gram.y,v 1.47 2003/09/25 23:02:12 tgl Exp $
7
+ * $Header: /cvsroot/pgsql/src/pl/plpgsql/src/gram.y,v 1.48 2003/10/30 17:18:55 tgl Exp $
8
8
*
9
9
* This software is copyrighted by Jan Wieck - Hamburg.
10
10
*
@@ -393,7 +393,7 @@ decl_statement : decl_varname decl_const decl_datatype decl_notnull decl_defval
393
393
}
394
394
| decl_varname K_CURSOR
395
395
{ plpgsql_ns_push(NULL ); }
396
- decl_cursor_args decl_is_from K_SELECT decl_cursor_query
396
+ decl_cursor_args decl_is_from decl_cursor_query
397
397
{
398
398
PLpgSQL_var *new ;
399
399
PLpgSQL_expr *curname_def;
@@ -430,7 +430,7 @@ decl_statement : decl_varname decl_const decl_datatype decl_notnull decl_defval
430
430
431
431
new ->datatype = plpgsql_parse_datatype(" refcursor" );
432
432
433
- new ->cursor_explicit_expr = $7 ;
433
+ new ->cursor_explicit_expr = $6 ;
434
434
if ($4 == NULL )
435
435
new ->cursor_explicit_argrow = -1 ;
436
436
else
@@ -447,7 +447,7 @@ decl_cursor_query :
447
447
PLpgSQL_expr *query;
448
448
449
449
plpgsql_ns_setlocal (false );
450
- query = read_sql_stmt(" SELECT " );
450
+ query = read_sql_stmt(" " );
451
451
plpgsql_ns_setlocal (true );
452
452
453
453
$$ = query;
@@ -1396,7 +1396,9 @@ stmt_open : K_OPEN lno cursor_varptr
1396
1396
switch (tok)
1397
1397
{
1398
1398
case K_SELECT:
1399
- new ->query = read_sql_stmt(" SELECT " );
1399
+ case ' (' :
1400
+ plpgsql_push_back_token (tok);
1401
+ new ->query = read_sql_stmt(" " );
1400
1402
break ;
1401
1403
1402
1404
case K_EXECUTE:
0 commit comments