diff --git a/doc/src/sgml/features.sgml b/doc/src/sgml/features.sgml index 26979adf52..eae4ba5a11 100644 --- a/doc/src/sgml/features.sgml +++ b/doc/src/sgml/features.sgml @@ -1,4 +1,4 @@ - + SQL Conformance @@ -14,19 +14,21 @@ The formal name of the SQL standard is ISO/IEC 9075 Database Language SQL. A revised version of the standard is released - from time to time; the most recent one appearing in late 2003. That - version is referred to as ISO/IEC 9075:2003, or simply as SQL:2003. - The versions prior to that were SQL:1999 and SQL-92. Each version + from time to time; the most recent full update appearing in 2003, + with a partial update appearing in 2006. The 2003 version is + referred to as ISO/IEC 9075:2003, or simply as SQL:2003. The + versions prior to that were SQL:1999 and SQL-92. Each version replaces the previous one, so claims of conformance to earlier versions have no official merit. PostgreSQL development aims for conformance with the latest official version of the standard where such conformance does not contradict traditional features or common - sense. The PostgreSQL project was not represented in the ISO/IEC - 9075 Working Group during the preparation of SQL:2003. Even so, - many of the features required by SQL:2003 are already supported, - though sometimes with slightly differing syntax or function. - Further moves towards conformance should be expected in later releases. + sense. The PostgreSQL project is not represented in the ISO/IEC + 9075 Working Group during the preparation of the SQL standard + releases, but even so, many of the features required by the SQL + standard are supported, though sometimes with slightly differing + syntax or function. Further moves towards conformance can be + expected over time. @@ -56,20 +58,20 @@ are not consecutively numbered. - ISO/IEC 9075-1 Framework (SQL/Framework) - ISO/IEC 9075-2 Foundation (SQL/Foundation) - ISO/IEC 9075-3 Call Level Interface (SQL/CLI) - ISO/IEC 9075-4 Persistent Stored Modules (SQL/PSM) - ISO/IEC 9075-9 Management of External Data (SQL/MED) - ISO/IEC 9075-10 Object Language Bindings (SQL/OLB) - ISO/IEC 9075-11 Information and Definition Schemas (SQL/Schemata) - ISO/IEC 9075-13 Routines and Types using the Java Language (SQL/JRT) - ISO/IEC 9075-14 XML-related specifications (SQL/XML) + ISO/IEC 9075-1 Framework (SQL/Framework) + ISO/IEC 9075-2 Foundation (SQL/Foundation) + ISO/IEC 9075-3 Call Level Interface (SQL/CLI) + ISO/IEC 9075-4 Persistent Stored Modules (SQL/PSM) + ISO/IEC 9075-9 Management of External Data (SQL/MED) + ISO/IEC 9075-10 Object Language Bindings (SQL/OLB) + ISO/IEC 9075-11 Information and Definition Schemas (SQL/Schemata) + ISO/IEC 9075-13 Routines and Types using the Java Language (SQL/JRT) + ISO/IEC 9075-14 XML-related specifications (SQL/XML) - PostgreSQL covers parts 1, 2, and 11. + PostgreSQL covers parts 1, 2, 11, and 14. Part 3 is similar to the ODBC interface, and part 4 is similar to the PL/pgSQL programming language, but exact conformance is not specifically intended or verified in either diff --git a/src/backend/catalog/information_schema.sql b/src/backend/catalog/information_schema.sql index a41801b5ac..7401e21c07 100644 --- a/src/backend/catalog/information_schema.sql +++ b/src/backend/catalog/information_schema.sql @@ -4,7 +4,7 @@ * * Copyright (c) 2003-2007, PostgreSQL Global Development Group * - * $PostgreSQL: pgsql/src/backend/catalog/information_schema.sql,v 1.40 2007/01/16 18:32:26 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/catalog/information_schema.sql,v 1.41 2007/02/03 17:59:35 petere Exp $ */ /* @@ -1615,12 +1615,12 @@ CREATE TABLE sql_parts ( INSERT INTO sql_parts VALUES ('1', 'Framework (SQL/Framework)', 'NO', NULL, ''); INSERT INTO sql_parts VALUES ('2', 'Foundation (SQL/Foundation)', 'NO', NULL, ''); INSERT INTO sql_parts VALUES ('3', 'Call-Level Interface (SQL/CLI)', 'NO', NULL, ''); -INSERT INTO sql_parts VALUES ('4', 'Persistent Stored Modules (SQL/PSM)', NULL, ''); -INSERT INTO sql_parts VALUES ('9', 'Management of External Data (SQL/MED)', NULL, ''); -INSERT INTO sql_parts VALUES ('10', 'Object Language Bindings (SQL/OLB)', NULL, ''); -INSERT INTO sql_parts VALUES ('11', 'Information and Definition Schema (SQL/Schemata)', NULL, ''); -INSERT INTO sql_parts VALUES ('13', 'Routines and Types Using the Java Programming Language (SQL/JRT)', NULL, ''); -INSERT INTO sql_parts VALUES ('14', 'XML-Related Specifications (SQL/XML)', NULL, ''); +INSERT INTO sql_parts VALUES ('4', 'Persistent Stored Modules (SQL/PSM)', 'NO', NULL, ''); +INSERT INTO sql_parts VALUES ('9', 'Management of External Data (SQL/MED)', 'NO', NULL, ''); +INSERT INTO sql_parts VALUES ('10', 'Object Language Bindings (SQL/OLB)', 'NO', NULL, ''); +INSERT INTO sql_parts VALUES ('11', 'Information and Definition Schema (SQL/Schemata)', 'NO', NULL, ''); +INSERT INTO sql_parts VALUES ('13', 'Routines and Types Using the Java Programming Language (SQL/JRT)', 'NO', NULL, ''); +INSERT INTO sql_parts VALUES ('14', 'XML-Related Specifications (SQL/XML)', 'YES', NULL, ''); /* diff --git a/src/backend/catalog/sql_features.txt b/src/backend/catalog/sql_features.txt index ab83fcc2fd..5766049797 100644 --- a/src/backend/catalog/sql_features.txt +++ b/src/backend/catalog/sql_features.txt @@ -437,3 +437,58 @@ T652 SQL-dynamic statements in SQL routines NO T653 SQL-schema statements in external routines NO T654 SQL-dynamic statements in external routines NO T655 Cyclically dependent routines NO +X010 XML type YES +X011 Arrays of XML type YES +X012 Multisets of XML type NO +X013 Distinct types of XML type NO +X014 Attributes of XML type NO +X015 Fields of XML type NO +X016 Persistent XML values YES +X020 XML concatenation YES +X031 XMLElement YES +X032 XMLForest YES +X033 XMLRoot YES +X034 XMLAgg YES +X035 XMLAgg: ORDER BY option NO +X036 XMLComment YES +X037 XMLPI YES +X041 Basic table mapping: nulls absent NO +X042 Basic table mapping: null as nil NO +X043 Basic table mapping: table as forest NO +X044 Basic table mapping: table as element NO +X045 Basic table mapping: with target namespace NO +X046 Basic table mapping: data mapping NO +X047 Basic table mapping: metadata mapping NO +X048 Basic table mapping: base64 encoding of binary strings NO +X049 Basic table mapping: hex encoding of binary strings NO +X051 Advanced table mapping: nulls absent NO +X052 Advanced table mapping: null as nil NO +X053 Advanced table mapping: table as forest NO +X054 Advanced table mapping: table as element NO +X055 Advanced table mapping: target namespace NO +X056 Advanced table mapping: data mapping NO +X057 Advanced table mapping: metadata mapping NO +X058 Advanced table mapping: base64 encoding of binary strings NO +X059 Advanced table mapping: hex encoding of binary strings NO +X060 XMLParse: CONTENT option YES +X061 XMLParse: DOCUMENT option YES +X062 XMLParse: explicit WHITESPACE option YES +X070 XMLSerialize: CONTENT option YES +X071 XMLSerialize: DOCUMENT option YES +X080 Namespaces in XML publishing NO +X081 Query-level XML namespace declarations NO +X082 XML namespace declarations in DML NO +X083 XML namespace declarations in DDL NO +X084 XML namespace declarations in compound statements NO +X090 XML document predicate YES +X100 Host language support for XML: CONTENT option NO +X101 Host language support for XML: DOCUMENT option NO +X110 Host language support for XML: VARCHAR mapping NO +X111 Host language support for XML: CLOB mapping NO +X120 XML parameters in SQL routines YES +X121 XML parameters in external routines YES +X131 Query-level XMLBINARY clause NO +X132 XMLBINARY clause in DML NO +X133 XMLBINARY clause in DDL NO +X134 XMLBINARY clause in compound statements NO +X135 XMLBINARY clause in subqueries NO