Commit 3c221c3d authored by Tom Lane's avatar Tom Lane

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.
parent ee33b95d
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
* *
* *
* IDENTIFICATION * 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 ...@@ -741,6 +741,18 @@ getdiag_target : T_SCALAR
check_assignable(yylval.scalar); check_assignable(yylval.scalar);
$$ = yylval.scalar->dno; $$ = 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 ...@@ -1669,6 +1681,18 @@ cursor_variable : T_SCALAR
} }
$$ = (PLpgSQL_var *) yylval.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 : exception_sect :
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment