On 14.01.25 10:10, Alvaro Herrera wrote:
On 2024-Dec-20, Peter Eisentraut wrote:
On 20.12.24 12:47, Peter Eisentraut wrote:
In aclchk.c, there are a few error messages that use ereport() but it
seems like they should be internal error messages. Moreover, they are
using get_object_class_descr(), which is only meant for internal errors.
(For example, it does not have translation support.) I dug through
this and it seems like these errors are indeed not or no longer user-
facing, so we can downgrade them to internal. See commit messages in
the attached patches for further explanations.
There was a mistake in the second patch, I had missed some other callers
that I have fixed up here. Amended patch set attached.
LGTM.
Subject: [PATCH v2 1/2] Downgrade errors in object_ownercheck() to internal
[...]
For the has_xxx_privilege functions, the error has not been
user-facing since commit 403ac226ddd. The remaining users are
pg_database_size() and pg_tablespace_size(). The call stack here is
pretty deep and this dependency is not obvious. Here we can put in an
explicit existence check with a bespoke error message early in the
I'd add a comment on why we have that, otherwise it seems a bit random:
+ /*
+ * Not needed for correctness, but avoid non-user-facing error later
+ * message if the [database,whatever] doesn't exist.
+ */
Committed with that change. Thanks.