BUG #2942: information_schema.element_types: documentation error
The following bug has been logged online:
Bug reference: 2942
Logged by: Kirill Simonov
Email address: xi@gamma.dn.ua
PostgreSQL version: 8.2
Operating system: Linux
Description: information_schema.element_types: documentation error
Details:
The page
http://www.postgresql.org/docs/8.2/interactive/infoschema-element-types.html
contains obsolete information.
The example query
SELECT c.column_name, c.data_type, e.data_type AS element_type
FROM information_schema.columns c LEFT JOIN information_schema.element_types
e
ON ((c.table_catalog, c.table_schema, c.table_name, 'TABLE',
c.dtd_identifier)
= (e.object_catalog, e.object_schema, e.object_name, e.object_type,
e.array_type_identifier))
WHERE c.table_schema = '...' AND c.table_name = '...'
ORDER BY c.ordinal_position;
fails with ERROR: column e.array_type_identifier does not exist.
The fix is to replace 'e.array_type_identifier' with e'dtd_identifier'.
The column array_type_identifier described in the Table 32-17 does not
exists.
The column dtd_identifier, which is described as "This is currently not
useful.", should have he description of the former array_type_identifier
column.
Thanks. I have updated the documentation with the attached patch, and
backpatched it to 8.2.X.
---------------------------------------------------------------------------
Kirill Simonov wrote:
The following bug has been logged online:
Bug reference: 2942
Logged by: Kirill Simonov
Email address: xi@gamma.dn.ua
PostgreSQL version: 8.2
Operating system: Linux
Description: information_schema.element_types: documentation error
Details:The page
http://www.postgresql.org/docs/8.2/interactive/infoschema-element-types.htmlcontains obsolete information.
The example query
SELECT c.column_name, c.data_type, e.data_type AS element_type
FROM information_schema.columns c LEFT JOIN information_schema.element_types
e
ON ((c.table_catalog, c.table_schema, c.table_name, 'TABLE',
c.dtd_identifier)
= (e.object_catalog, e.object_schema, e.object_name, e.object_type,
e.array_type_identifier))
WHERE c.table_schema = '...' AND c.table_name = '...'
ORDER BY c.ordinal_position;
fails with ERROR: column e.array_type_identifier does not exist.The fix is to replace 'e.array_type_identifier' with e'dtd_identifier'.
The column array_type_identifier described in the Table 32-17 does not
exists.The column dtd_identifier, which is described as "This is currently not
useful.", should have he description of the former array_type_identifier
column.---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to majordomo@postgresql.org so that your
message can get through to the mailing list cleanly
--
Bruce Momjian <bruce@momjian.us> http://momjian.us
EnterpriseDB http://www.enterprisedb.com
+ If your life is a hard drive, Christ can be your backup. +