Re: pg_identify_object_as_address() doesn't support pg_event_trigger oids

Поиск
Список
Период
Сортировка
От Joel Jacobson
Тема Re: pg_identify_object_as_address() doesn't support pg_event_trigger oids
Дата
Msg-id 66cb72ba-29af-469e-9961-810a8425b097@www.fastmail.com
обсуждение исходный текст
Ответ на Re: pg_identify_object_as_address() doesn't support pg_event_trigger oids  (Alvaro Herrera <alvherre@alvh.no-ip.org>)
Ответы [PATCH] Re: pg_identify_object_as_address() doesn't support pg_event_trigger oids  ("Joel Jacobson" <joel@compiler.org>)
Список pgsql-hackers
On Thu, Apr 22, 2021, at 19:32, Alvaro Herrera wrote:
On 2021-Apr-22, Joel Jacobson wrote:
> SELECT * FROM pg_identify_object_as_address('pg_event_trigger'::regclass,289361636,0);
> ERROR:  requested object address for unsupported object class 32: text result "ddl_postgrest"

Hmm, I think this is an accidental omission and it should be supported.

Oh, I realise now the error came from a server running v13,
but there seems to be a problem in HEAD as well;
the "object_names" text[] output is empty for event triggers,
so the output will be the same for all event triggers,
which doesn't seem right since the output should be unique.

The output from the other functions pg_describe_object() and pg_identify_object()
contain the name in the output though.

Example:

SELECT
  *,
  pg_describe_object('pg_event_trigger'::regclass,oid,0),
  pg_identify_object('pg_event_trigger'::regclass,oid,0),
  pg_identify_object_as_address('pg_event_trigger'::regclass,oid,0)
FROM pg_event_trigger;
-[ RECORD 1 ]-----------------+-----------------------------------------------
oid                           | 396715
evtname                       | ddl_postgrest
evtevent                      | ddl_command_end
evtowner                      | 10
evtfoid                       | 396714
evtenabled                    | O
evttags                       |
pg_describe_object            | event trigger ddl_postgrest
pg_identify_object            | ("event trigger",,ddl_postgrest,ddl_postgrest)
pg_identify_object_as_address | ("event trigger",{},{})

I therefore think the evtname should be added to object_names.

/Joel

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Fujii Masao
Дата:
Сообщение: Re: Stale description for pg_basebackup
Следующее
От: "wangyukun@fujitsu.com"
Дата:
Сообщение: RE: fix a comment