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
Re: BUG #5926: information schema dtd_identifier for element_types, columns, parameters views inconsistent |
Список | 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 по дате отправления: