Fix a couple of places where the plpgsql grammar would produce an unhelpful

'syntax error' message, rather than something that might draw one's
attention to a missing or wrong-type variable declaration.  Per recent
gripe.
This commit is contained in:
Tom Lane 2008-09-10 01:09:45 +00:00
parent ee33b95d9c
commit 3c221c3dae
1 changed files with 25 additions and 1 deletions

View File

@ -9,7 +9,7 @@
*
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/pl/plpgsql/src/gram.y,v 1.114 2008/09/02 20:37:55 tgl Exp $
* $PostgreSQL: pgsql/src/pl/plpgsql/src/gram.y,v 1.115 2008/09/10 01:09:45 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@ -741,6 +741,18 @@ getdiag_target : T_SCALAR
check_assignable(yylval.scalar);
$$ = yylval.scalar->dno;
}
| T_ROW
{
yyerror("expected an integer variable");
}
| T_RECORD
{
yyerror("expected an integer variable");
}
| T_WORD
{
yyerror("expected an integer variable");
}
;
@ -1669,6 +1681,18 @@ cursor_variable : T_SCALAR
}
$$ = (PLpgSQL_var *) yylval.scalar;
}
| T_ROW
{
yyerror("expected a cursor or refcursor variable");
}
| T_RECORD
{
yyerror("expected a cursor or refcursor variable");
}
| T_WORD
{
yyerror("expected a cursor or refcursor variable");
}
;
exception_sect :