diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2016-06-13 13:53:10 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2016-06-13 13:53:10 -0400 |
commit | bdf39b2c577a107063dfbbe398ff77c5b65ba731 (patch) | |
tree | 4f243215edff523653f54220c3f90c8139a472cf | |
parent | cbd72c72b0ac5f829538b8d96d35288626db1ff8 (diff) | |
download | postgresql-bdf39b2c577a107063dfbbe398ff77c5b65ba731.tar.gz postgresql-bdf39b2c577a107063dfbbe398ff77c5b65ba731.zip |
Fix multiple minor infelicities in aclchk.c error reports.
pg_type_aclmask reported the wrong type's OID when complaining that
it could not find a type's typelem. It also failed to provide a
suitable errcode when the initially given OID doesn't exist (which
is a user-facing error, since that OID can be user-specified).
pg_foreign_data_wrapper_aclmask and pg_foreign_server_aclmask likewise
lacked errcode specifications. Trivial cosmetic adjustments too.
The wrong-type-OID problem was reported by Petru-Florin Mihancea in
bug #14186; the other issues noted by me while reading the code.
These errors all seem to be aboriginal in the respective routines, so
back-patch as necessary.
Report: <20160613163159.5798.52928@wrigleys.postgresql.org>
-rw-r--r-- | src/backend/catalog/aclchk.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/backend/catalog/aclchk.c b/src/backend/catalog/aclchk.c index acfb8fa4c93..98b6a298a99 100644 --- a/src/backend/catalog/aclchk.c +++ b/src/backend/catalog/aclchk.c @@ -3870,7 +3870,8 @@ pg_foreign_data_wrapper_aclmask(Oid fdw_oid, Oid roleid, tuple = SearchSysCache1(FOREIGNDATAWRAPPEROID, ObjectIdGetDatum(fdw_oid)); if (!HeapTupleIsValid(tuple)) ereport(ERROR, - (errmsg("foreign-data wrapper with OID %u does not exist", + (errcode(ERRCODE_UNDEFINED_OBJECT), + errmsg("foreign-data wrapper with OID %u does not exist", fdw_oid))); fdwForm = (Form_pg_foreign_data_wrapper) GETSTRUCT(tuple); @@ -3931,7 +3932,8 @@ pg_foreign_server_aclmask(Oid srv_oid, Oid roleid, tuple = SearchSysCache1(FOREIGNSERVEROID, ObjectIdGetDatum(srv_oid)); if (!HeapTupleIsValid(tuple)) ereport(ERROR, - (errmsg("foreign server with OID %u does not exist", + (errcode(ERRCODE_UNDEFINED_OBJECT), + errmsg("foreign server with OID %u does not exist", srv_oid))); srvForm = (Form_pg_foreign_server) GETSTRUCT(tuple); |