BUG #17634: Inconsistent view_definition in information_schema.views

Поиск
Список
Период
Сортировка
От PG Bug reporting form
Тема BUG #17634: Inconsistent view_definition in information_schema.views
Дата
Msg-id 17634-fd5cb524a79c1df9@postgresql.org
обсуждение исходный текст
Ответы Re: BUG #17634: Inconsistent view_definition in information_schema.views
Список pgsql-bugs
The following bug has been logged on the website:

Bug reference:      17634
Logged by:          Kimberly Blum
Email address:      kimber7@illinois.edu
PostgreSQL version: 14.5
Operating system:   RHEL 8
Description:

I use information_schema.views (the view_definition column) in code that
provides dependency information for functions and procedures. All objects in
my code are schema qualified, and when I look for dependencies, I rely on
that qualification. 

If I run my query against information_schema.views while my session is
active in a schema that is referenced in my query, information_schema.views
strips out that schema name. All other objects remain schema qualified.

My example query: 
SELECT view_definition FROM information_schema.views WHERE table_schema =
'appcode' AND table_name = 'cfg_msg_v';

The results from first query, which was run from schema api (which is not
referenced in the code), and all schema qualification shows up. Note all the
areas where appcfg.<obj> is shown.
query: select view_definition from information_schema.views where 
 SELECT cfg_msg.id_msg,
    cfg_msg.id_src,
    cfg_src.src_name,
    cfg_msg.msg_type,
    cfg_msg.msg_version,
    cfg_msg.id_class,
    cfg_cls class_name,
    cfg_msg.descript
   FROM ((appcfg.cfg_msg cfg_msg
     JOIN appcfg.cfg_data_src cfg_src ON (((cfg_msg.id_src)::integer =
(cfg_src.id_src)::integer)))
     JOIN cmdb.cfg_class cfg_cls ON (((cfg_msg.id_class)::integer =
(cfg_cls.id_class)::integer)));

If I switch my session to the appcfg schema, and run the same query, this is
the result (appcfg qualification disappears, other schema qualification is
fine). 
 SELECT cfg_msg.id_msg,
    cfg_msg.id_src,
    cfg_src.src_name,
    cfg_msg.msg_type,
    cfg_msg.msg_version,
    cfg_msg.id_class,
    cfg_cls.class_name,
    cfg_msg.descript
   FROM ((cfg_msg cfg_msg
     JOIN cfg_data_src cfg_src ON (((cfg_msg.id_src)::integer =
(cfg_src.id_src)::integer)))
     JOIN cmdb.cfg_class cfg_cls ON (((cfg_msg.id_class)::integer =
(cfg_cls.id_class)::integer)));


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

Предыдущее
От: Richard Guo
Дата:
Сообщение: Re: BUG #17633: Define rule on views which do insert to another relation trigger cache lookup failed error.
Следующее
От: Japin Li
Дата:
Сообщение: Re: BUG #17633: Define rule on views which do insert to another relation trigger cache lookup failed error.