Re: BUG #5926: information schema dtd_identifier for element_types, columns, parameters views inconsistent

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: BUG #5926: information schema dtd_identifier for element_types, columns, parameters views inconsistent
Дата
Msg-id 9773.1307545767@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: BUG #5926: information schema dtd_identifier for element_types, columns, parameters views inconsistent  (Susanne Ebrecht <susanne@2ndQuadrant.com>)
Ответы Re: BUG #5926: information schema dtd_identifier for element_types, columns, parameters views inconsistent  (Peter Eisentraut <peter_e@gmx.net>)
Re: BUG #5926: information schema dtd_identifier for element_types, columns, parameters views inconsistent  (Peter Eisentraut <peter_e@gmx.net>)
Список pgsql-bugs
> On 11.03.2011 14:18, Ingmar Brouns wrote:
>> ... The reason seems to be
>> that the dtd_identifier of the element_types view has prepended 'a's whereas
>> the dtd_identifiers of the columns and parameter views do not:
>>
>> select column_name,dtd_identifier
>> from information_schema.columns c
>> where c.table_schema = 'public'
>> and   c.table_name   = 'test_table';
>>
>> column_name | dtd_identifier
>> -------------+----------------
>> a           | 1
>> b           | 2
>> c           | 3
>> (3 rows)
>>
>> select dtd_identifier
>> from information_schema.element_types e
>> where e.object_schema = 'public'
>> and e.object_name = 'test_table';
>>
>> dtd_identifier
>> ----------------
>> a1
>> a3
>> (2 rows)
>>
>> The element_types view has a column 'collection_type_identifier', this
>> column is not present in the documentation. It is defined exactly as the
>> dtd_identifier, only then without the prepended 'a':

The omission of collection_type_identifier from the docs is clearly a
doc bug.  However, it looks to me like you've identified an error in the
view definition, not only a doc bug.  I think the values of the
dtd_identifier and collection_type_identifier columns are swapped, ie,
we ought to be prepending 'a' to the collection_type_identifier not the
dtd_identifier.  As far as I can tell from the spec, dtd_identifier
ought to be the identifier of the element type, while
collection_type_identifier should be a made-up identifier for the array
type.  That would make the sample query given in the docs correct.

If my analysis is correct, we really ought to try to fix this in time
for beta2, since there's no way to fix it without a forced initdb.

Comments?

            regards, tom lane

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

Предыдущее
От: Craig Ringer
Дата:
Сообщение: Re: BUG #6055: connection refused
Следующее
От: Peter Eisentraut
Дата:
Сообщение: Re: BUG #5926: information schema dtd_identifier for element_types, columns, parameters views inconsistent