]> 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)
commit89e80b03297555277473fc3978b83c68ec9847b8
tree3d83744f8f80cc85eb31864340760df7029f6e3b
parentc75b1f75b3d159c0e71c1ec7f42c922bce448d89
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