From 4c488e857eca84948d0d3057ec87296f92bce944 Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <peter_e@gmx.net>
Date: Sat, 3 Feb 2007 17:59:36 +0000
Subject: [PATCH] Update SQL conformance information about XML features.

---
 doc/src/sgml/features.sgml                 | 40 ++++++++--------
 src/backend/catalog/information_schema.sql | 14 +++---
 src/backend/catalog/sql_features.txt       | 55 ++++++++++++++++++++++
 3 files changed, 83 insertions(+), 26 deletions(-)

diff --git a/doc/src/sgml/features.sgml b/doc/src/sgml/features.sgml
index 26979adf525..eae4ba5a11b 100644
--- a/doc/src/sgml/features.sgml
+++ b/doc/src/sgml/features.sgml
@@ -1,4 +1,4 @@
-<!-- $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>
@@ -14,19 +14,21 @@
  <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>
@@ -56,20 +58,20 @@
   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
diff --git a/src/backend/catalog/information_schema.sql b/src/backend/catalog/information_schema.sql
index a41801b5ac7..7401e21c074 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 ab83fcc2fdf..5766049797d 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	
-- 
GitLab