* procedural language
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/pl/plpgsql/src/gram.y,v 1.47 2003/09/25 23:02:12 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/pl/plpgsql/src/gram.y,v 1.48 2003/10/30 17:18:55 tgl Exp $
*
* This software is copyrighted by Jan Wieck - Hamburg.
*
}
| decl_varname K_CURSOR
{ plpgsql_ns_push(NULL); }
- decl_cursor_args decl_is_from K_SELECT decl_cursor_query
+ decl_cursor_args decl_is_from decl_cursor_query
{
PLpgSQL_var *new;
PLpgSQL_expr *curname_def;
new->datatype = plpgsql_parse_datatype("refcursor");
- new->cursor_explicit_expr = $7;
+ new->cursor_explicit_expr = $6;
if ($4 == NULL)
new->cursor_explicit_argrow = -1;
else
PLpgSQL_expr *query;
plpgsql_ns_setlocal(false);
- query = read_sql_stmt("SELECT ");
+ query = read_sql_stmt("");
plpgsql_ns_setlocal(true);
$$ = query;
switch (tok)
{
case K_SELECT:
- new->query = read_sql_stmt("SELECT ");
+ case '(':
+ plpgsql_push_back_token(tok);
+ new->query = read_sql_stmt("");
break;
case K_EXECUTE: