From 3315020a091f64c8d08c3b32a2abd46431dcf857 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Mon, 11 Jul 2011 18:49:44 +0300 Subject: [PATCH] Fix and clarify information schema interval_precision fields The fields were previously wrongly typed as character_data; change to cardinal_number. Update the documentation and the implementation to show more clearly that this applies to a feature not available in PostgreSQL, rather than just not yet being implemented in the information schema. --- doc/src/sgml/information_schema.sgml | 37 +++++++++++++++------- src/backend/catalog/information_schema.sql | 16 +++++----- 2 files changed, 34 insertions(+), 19 deletions(-) diff --git a/doc/src/sgml/information_schema.sgml b/doc/src/sgml/information_schema.sgml index 77a00cde9b..85044761d0 100644 --- a/doc/src/sgml/information_schema.sgml +++ b/doc/src/sgml/information_schema.sgml @@ -488,8 +488,13 @@ interval_precision - character_data - Not yet implemented + cardinal_number + + Applies to a feature not available + in PostgreSQL + (see datetime_precision for the fractional + seconds precision of interval type attributes) + @@ -1343,8 +1348,13 @@ interval_precision - character_data - Not yet implemented + cardinal_number + + Applies to a feature not available + in PostgreSQL + (see datetime_precision for the fractional + seconds precision of interval type columns) + @@ -2139,8 +2149,13 @@ interval_precision - character_data - Not yet implemented + cardinal_number + + Applies to a feature not available + in PostgreSQL + (see datetime_precision for the fractional + seconds precision of interval type domains) + @@ -2400,7 +2415,7 @@ ORDER BY c.ordinal_position; interval_precision - character_data + cardinal_number Always null, since this information is not applied to array element data types in PostgreSQL @@ -3150,7 +3165,7 @@ ORDER BY c.ordinal_position; interval_precision - character_data + cardinal_number Always null, since this information is not applied to parameter data types in PostgreSQL @@ -4037,7 +4052,7 @@ ORDER BY c.ordinal_position; interval_precision - character_data + cardinal_number Always null, since this information is not applied to return data types in PostgreSQL @@ -4369,7 +4384,7 @@ ORDER BY c.ordinal_position; result_cast_interval_precision - character_data + cardinal_number Applies to a feature not available in PostgreSQL @@ -6008,7 +6023,7 @@ ORDER BY c.ordinal_position; interval_precision - character_data + cardinal_number Applies to a feature not available in PostgreSQL diff --git a/src/backend/catalog/information_schema.sql b/src/backend/catalog/information_schema.sql index 966eb08b97..d7ce8413ab 100644 --- a/src/backend/catalog/information_schema.sql +++ b/src/backend/catalog/information_schema.sql @@ -322,7 +322,7 @@ CREATE VIEW attributes AS AS datetime_precision, CAST(null AS character_data) AS interval_type, -- FIXME - CAST(null AS character_data) AS interval_precision, -- FIXME + CAST(null AS cardinal_number) AS interval_precision, CAST(current_database() AS sql_identifier) AS attribute_udt_catalog, CAST(nt.nspname AS sql_identifier) AS attribute_udt_schema, @@ -671,7 +671,7 @@ CREATE VIEW columns AS AS datetime_precision, CAST(null AS character_data) AS interval_type, -- FIXME - CAST(null AS character_data) AS interval_precision, -- FIXME + CAST(null AS cardinal_number) AS interval_precision, CAST(null AS sql_identifier) AS character_set_catalog, CAST(null AS sql_identifier) AS character_set_schema, @@ -937,7 +937,7 @@ CREATE VIEW domains AS AS datetime_precision, CAST(null AS character_data) AS interval_type, -- FIXME - CAST(null AS character_data) AS interval_precision, -- FIXME + CAST(null AS cardinal_number) AS interval_precision, CAST(t.typdefault AS character_data) AS domain_default, @@ -1085,7 +1085,7 @@ CREATE VIEW parameters AS CAST(null AS cardinal_number) AS numeric_scale, CAST(null AS cardinal_number) AS datetime_precision, CAST(null AS character_data) AS interval_type, - CAST(null AS character_data) AS interval_precision, + CAST(null AS cardinal_number) AS interval_precision, CAST(current_database() AS sql_identifier) AS udt_catalog, CAST(nt.nspname AS sql_identifier) AS udt_schema, CAST(t.typname AS sql_identifier) AS udt_name, @@ -1353,7 +1353,7 @@ CREATE VIEW routines AS CAST(null AS cardinal_number) AS numeric_scale, CAST(null AS cardinal_number) AS datetime_precision, CAST(null AS character_data) AS interval_type, - CAST(null AS character_data) AS interval_precision, + CAST(null AS cardinal_number) AS interval_precision, CAST(current_database() AS sql_identifier) AS type_udt_catalog, CAST(nt.nspname AS sql_identifier) AS type_udt_schema, CAST(t.typname AS sql_identifier) AS type_udt_name, @@ -1407,7 +1407,7 @@ CREATE VIEW routines AS CAST(null AS cardinal_number) AS result_cast_numeric_scale, CAST(null AS cardinal_number) AS result_cast_datetime_precision, CAST(null AS character_data) AS result_cast_interval_type, - CAST(null AS character_data) AS result_cast_interval_precision, + CAST(null AS cardinal_number) AS result_cast_interval_precision, CAST(null AS sql_identifier) AS result_cast_type_udt_catalog, CAST(null AS sql_identifier) AS result_cast_type_udt_schema, CAST(null AS sql_identifier) AS result_cast_type_udt_name, @@ -2212,7 +2212,7 @@ CREATE VIEW user_defined_types AS CAST(null AS cardinal_number) AS numeric_scale, CAST(null AS cardinal_number) AS datetime_precision, CAST(null AS character_data) AS interval_type, - CAST(null AS character_data) AS interval_precision, + CAST(null AS cardinal_number) AS interval_precision, CAST(null AS sql_identifier) AS source_dtd_identifier, CAST(null AS sql_identifier) AS ref_dtd_identifier @@ -2448,7 +2448,7 @@ CREATE VIEW element_types AS CAST(null AS cardinal_number) AS numeric_scale, CAST(null AS cardinal_number) AS datetime_precision, CAST(null AS character_data) AS interval_type, - CAST(null AS character_data) AS interval_precision, + CAST(null AS cardinal_number) AS interval_precision, CAST(null AS character_data) AS domain_default, -- XXX maybe a bug in the standard -- 2.40.0