-<!-- $PostgreSQL: pgsql/doc/src/sgml/features.sgml,v 2.26 2007/01/31 20:56:17 momjian Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/features.sgml,v 2.27 2007/02/03 17:59:35 petere Exp $ -->
<appendix id="features">
<title>SQL Conformance</title>
<para>
The formal name of the SQL standard is ISO/IEC 9075 <quote>Database
Language SQL</quote>. 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.
<productname>PostgreSQL</productname> 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.
</para>
<para>
are not consecutively numbered.
<itemizedlist>
- <listitem><para>ISO/IEC 9075-1 Framework (<acronym>SQL/Framework</acronym>)</para></listitem>
- <listitem><para>ISO/IEC 9075-2 Foundation (<acronym>SQL/Foundation</acronym>)</para></listitem>
- <listitem><para>ISO/IEC 9075-3 Call Level Interface (<acronym>SQL/CLI</acronym>)</para></listitem>
- <listitem><para>ISO/IEC 9075-4 Persistent Stored Modules (<acronym>SQL/PSM</acronym>)</para></listitem>
- <listitem><para>ISO/IEC 9075-9 Management of External Data (<acronym>SQL/MED</acronym>)</para></listitem>
- <listitem><para>ISO/IEC 9075-10 Object Language Bindings (<acronym>SQL/OLB</acronym>)</para></listitem>
- <listitem><para>ISO/IEC 9075-11 Information and Definition Schemas (<acronym>SQL/Schemata</acronym>)</para></listitem>
- <listitem><para>ISO/IEC 9075-13 Routines and Types using the Java Language (<acronym>SQL/JRT</acronym>)</para></listitem>
- <listitem><para>ISO/IEC 9075-14 XML-related specifications (<acronym>SQL/XML</acronym>)</para></listitem>
+ <listitem><para>ISO/IEC 9075-1 Framework (SQL/Framework)</para></listitem>
+ <listitem><para>ISO/IEC 9075-2 Foundation (SQL/Foundation)</para></listitem>
+ <listitem><para>ISO/IEC 9075-3 Call Level Interface (SQL/CLI)</para></listitem>
+ <listitem><para>ISO/IEC 9075-4 Persistent Stored Modules (SQL/PSM)</para></listitem>
+ <listitem><para>ISO/IEC 9075-9 Management of External Data (SQL/MED)</para></listitem>
+ <listitem><para>ISO/IEC 9075-10 Object Language Bindings (SQL/OLB)</para></listitem>
+ <listitem><para>ISO/IEC 9075-11 Information and Definition Schemas (SQL/Schemata)</para></listitem>
+ <listitem><para>ISO/IEC 9075-13 Routines and Types using the Java Language (SQL/JRT)</para></listitem>
+ <listitem><para>ISO/IEC 9075-14 XML-related specifications (SQL/XML)</para></listitem>
</itemizedlist>
</para>
<para>
- <productname>PostgreSQL</productname> covers parts 1, 2, and 11.
+ <productname>PostgreSQL</productname> covers parts 1, 2, 11, and 14.
Part 3 is similar to the ODBC interface, and part 4 is similar to
the <application>PL/pgSQL</application> programming language, but
exact conformance is not specifically intended or verified in either
*
* 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 $
*/
/*
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, '');
/*
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