mirror of
https://github.com/postgres/postgres.git
synced 2025-06-27 23:21:58 +03:00
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.
This commit is contained in:
@ -2801,7 +2801,9 @@ l1:
|
||||
if (result == HeapTupleInvisible)
|
||||
{
|
||||
UnlockReleaseBuffer(buffer);
|
||||
elog(ERROR, "attempted to delete invisible tuple");
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
|
||||
errmsg("attempted to delete invisible tuple")));
|
||||
}
|
||||
else if (result == HeapTupleBeingUpdated && wait)
|
||||
{
|
||||
@ -3343,7 +3345,9 @@ l2:
|
||||
if (result == HeapTupleInvisible)
|
||||
{
|
||||
UnlockReleaseBuffer(buffer);
|
||||
elog(ERROR, "attempted to update invisible tuple");
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
|
||||
errmsg("attempted to update invisible tuple")));
|
||||
}
|
||||
else if (result == HeapTupleBeingUpdated && wait)
|
||||
{
|
||||
|
Reference in New Issue
Block a user