From c0360667f783243d173827a1d94aff54dbdad7af Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Wed, 10 Sep 2008 01:09:45 +0000 Subject: [PATCH] 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. --- src/pl/plpgsql/src/gram.y | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/pl/plpgsql/src/gram.y b/src/pl/plpgsql/src/gram.y index e6f806b066..278d457025 100644 --- a/src/pl/plpgsql/src/gram.y +++ b/src/pl/plpgsql/src/gram.y @@ -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 : -- 2.39.5