From: | Alexander Lakhin <exclusion(at)gmail(dot)com> |
---|---|
To: | Bertrand Drouvot <bertranddrouvot(dot)pg(at)gmail(dot)com>, Michael Paquier <michael(at)paquier(dot)xyz> |
Cc: | pgsql-hackers(at)lists(dot)postgresql(dot)org |
Subject: | Re: Avoid orphaned objects dependencies, take 3 |
Date: | 2024-05-19 08:00:00 |
Message-ID: | 91643cfa-16f4-1bc2-e235-0dfa6d285b3a@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hello Bertrand,
15.05.2024 11:31, Bertrand Drouvot wrote:
> On Wed, May 15, 2024 at 10:14:09AM +0900, Michael Paquier wrote:
>
>> + if (object_description)
>> + ereport(ERROR, errmsg("%s does not exist", object_description));
>> + else
>> + ereport(ERROR, errmsg("a dependent object does not ex
>>
>> This generates an internal error code. Is that intended?
> Yes, it's like when say you want to create an object in a schema that does not
> exist (see get_namespace_oid()).
AFAICS, get_namespace_oid() throws not ERRCODE_INTERNAL_ERROR,
but ERRCODE_UNDEFINED_SCHEMA:
# SELECT regtype('unknown_schema.type');
ERROR: schema "unknown_schema" does not exist
LINE 1: SELECT regtype('unknown_schema.type');
^
# \echo :LAST_ERROR_SQLSTATE
3F000
Probably, it's worth to avoid ERRCODE_INTERNAL_ERROR here in light of [1]
and [2], as these errors are not that abnormal (not Assert-like).
[1] https://www.postgresql.org/message-id/Zic_GNgos5sMxKoa%40paquier.xyz
[2] https://commitfest.postgresql.org/48/4735/
Best regards,
Alexander
From | Date | Subject | |
---|---|---|---|
Next Message | Dmitry Dolgov | 2024-05-19 09:37:19 | Re: commitfest.postgresql.org is no longer fit for purpose |
Previous Message | Jelte Fennema-Nio | 2024-05-19 06:54:39 | Re: Multiple startup messages over the same connection |