Further tweak wording of error messages about bad CONTINUE/EXIT statements.

Per discussion, a little more verbosity seems called for.
pull/7/head
Tom Lane 10 years ago
parent 7b5ef8f2d0
commit 781ed2bfa3
  1. 3
      src/pl/plpgsql/src/pl_gram.y
  2. 4
      src/test/regress/expected/plpgsql.out

@ -1676,7 +1676,8 @@ stmt_exit : exit_type opt_label opt_exitcond
if (label == NULL)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("there is no label \"%s\" surrounding this statement",
errmsg("there is no label \"%s\" "
"attached to any block or loop enclosing this statement",
$2),
parser_errposition(@2)));
/* CONTINUE only allows loop labels */

@ -2864,7 +2864,7 @@ begin
end;
end;
$$ language plpgsql;
ERROR: there is no label "no_such_label" surrounding this statement
ERROR: there is no label "no_such_label" attached to any block or loop enclosing this statement
LINE 5: continue no_such_label;
^
-- should fail: no such label
@ -2877,7 +2877,7 @@ begin
end;
end;
$$ language plpgsql;
ERROR: there is no label "no_such_label" surrounding this statement
ERROR: there is no label "no_such_label" attached to any block or loop enclosing this statement
LINE 5: exit no_such_label;
^
-- should fail: CONTINUE can't reference the label of a named block

Loading…
Cancel
Save