Skip to content

Commit e41718f

Browse files
committed
Fix a few bogus statement type names in plpgsql error messages.
plpgsql's error location context messages ("PL/pgSQL function fn-name line line-no at stmt-type") would misreport a CONTINUE statement as being an EXIT, and misreport a MOVE statement as being a FETCH. These are clear bugs that have been there a long time, so back-patch to all supported branches. In addition, in 9.5 and HEAD, change the description of EXECUTE from "EXECUTE statement" to just plain EXECUTE; there seems no good reason why this statement type should be described differently from others that have a well-defined head keyword. And distinguish GET STACKED DIAGNOSTICS from plain GET DIAGNOSTICS. These are a bit more of a judgment call, and also affect existing regression-test outputs, so I did not back-patch into stable branches. Pavel Stehule and Tom Lane
1 parent ec2bc39 commit e41718f

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

src/pl/plpgsql/src/pl_funcs.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,7 @@ plpgsql_stmt_typename(PLpgSQL_stmt *stmt)
231231
case PLPGSQL_STMT_FORC:
232232
return _("FOR over cursor");
233233
case PLPGSQL_STMT_EXIT:
234-
return "EXIT";
234+
return ((PLpgSQL_stmt_exit *) stmt)->is_exit ? "EXIT" : "CONTINUE";
235235
case PLPGSQL_STMT_RETURN:
236236
return "RETURN";
237237
case PLPGSQL_STMT_RETURN_NEXT:
@@ -251,7 +251,7 @@ plpgsql_stmt_typename(PLpgSQL_stmt *stmt)
251251
case PLPGSQL_STMT_OPEN:
252252
return "OPEN";
253253
case PLPGSQL_STMT_FETCH:
254-
return "FETCH";
254+
return ((PLpgSQL_stmt_fetch *) stmt)->is_move ? "MOVE" : "FETCH";
255255
case PLPGSQL_STMT_CLOSE:
256256
return "CLOSE";
257257
case PLPGSQL_STMT_PERFORM:

0 commit comments

Comments
 (0)