]> granicus.if.org Git - postgresql/commit
Fix a number of places that produced XX000 errors in the regression tests.
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 3 Aug 2015 03:49:19 +0000 (23:49 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 3 Aug 2015 03:49:19 +0000 (23:49 -0400)
commit09cecdf285ea9f51aed669f9ea1ba840197d49d0
tree3ae143caf62089b9579acee6b52a92ad2975a6d8
parent690ed2b76ab91eb79ea04ee2bfbdc8a2693f2a37
Fix a number of places that produced XX000 errors in the regression tests.

It's against project policy to use elog() for user-facing errors, or to
omit an errcode() selection for errors that aren't supposed to be "can't
happen" cases.  Fix all the violations of this policy that result in
ERRCODE_INTERNAL_ERROR log entries during the standard regression tests,
as errors that can reliably be triggered from SQL surely should be
considered user-facing.

I also looked through all the files touched by this commit and fixed
other nearby problems of the same ilk.  I do not claim to have fixed
all violations of the policy, just the ones in these files.

In a few places I also changed existing ERRCODE choices that didn't
seem particularly appropriate; mainly replacing ERRCODE_SYNTAX_ERROR
by something more specific.

Back-patch to 9.5, but no further; changing ERRCODE assignments in
stable branches doesn't seem like a good idea.
13 files changed:
contrib/tablefunc/tablefunc.c
src/backend/access/common/reloptions.c
src/backend/access/heap/heapam.c
src/backend/commands/copy.c
src/backend/commands/vacuum.c
src/backend/executor/execQual.c
src/backend/utils/adt/txid.c
src/pl/plperl/plperl.c
src/pl/plpython/plpy_elog.c
src/pl/plpython/plpy_exec.c
src/pl/tcl/pltcl.c
src/test/regress/expected/txid.out
src/test/regress/regress.c