Update of conformance information to SQL:2003
authorPeter Eisentraut <peter_e@gmx.net>
Sat, 27 Nov 2004 21:27:08 +0000 (21:27 +0000)
committerPeter Eisentraut <peter_e@gmx.net>
Sat, 27 Nov 2004 21:27:08 +0000 (21:27 +0000)
by Troels Arvin, Simon Riggs, Elein Mustain

Make spelling of SQL standard names uniform.

26 files changed:
doc/src/sgml/array.sgml
doc/src/sgml/datatype.sgml
doc/src/sgml/ddl.sgml
doc/src/sgml/errcodes.sgml
doc/src/sgml/features.sgml
doc/src/sgml/func.sgml
doc/src/sgml/information_schema.sgml
doc/src/sgml/intro.sgml
doc/src/sgml/keywords.sgml
doc/src/sgml/ref/alter_domain.sgml
doc/src/sgml/ref/alter_sequence.sgml
doc/src/sgml/ref/create_cast.sgml
doc/src/sgml/ref/create_function.sgml
doc/src/sgml/ref/create_sequence.sgml
doc/src/sgml/ref/create_table.sgml
doc/src/sgml/ref/create_table_as.sgml
doc/src/sgml/ref/create_trigger.sgml
doc/src/sgml/ref/create_type.sgml
doc/src/sgml/ref/drop_sequence.sgml
doc/src/sgml/ref/release_savepoint.sgml
doc/src/sgml/ref/rollback_to.sgml
doc/src/sgml/ref/select.sgml
doc/src/sgml/release.sgml
src/backend/catalog/information_schema.sql
src/backend/catalog/sql_feature_packages.txt
src/backend/catalog/sql_features.txt

index 2307ad47fd55c1cb9a07545ac4032c445248befc..ff8d6be531e71f70c714c55bbdb8a5e3d9337b32 100644 (file)
@@ -1,4 +1,4 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/array.sgml,v 1.39 2004/11/15 06:32:13 neilc Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/array.sgml,v 1.40 2004/11/27 21:27:05 petere Exp $ -->
 
 <sect1 id="arrays">
  <title>Arrays</title>
@@ -63,8 +63,10 @@ CREATE TABLE tictactoe (
  </para>
 
  <para>
-  An alternative, SQL99-standard syntax may be used for one-dimensional arrays.
-  <structfield>pay_by_quarter</structfield> could have been defined as:
+  An alternative syntax, which conforms to the SQL:1999 standard, may
+  be used for one-dimensional arrays.
+  <structfield>pay_by_quarter</structfield> could have been defined
+  as:
 <programlisting>
     pay_by_quarter  integer ARRAY[4],
 </programlisting>
index 6e01bfd94b13f55323a68206926b8686a7820724..dd406e12e07c1b120af90b2a06bfc81f0082d7e9 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/datatype.sgml,v 1.150 2004/09/20 22:48:25 tgl Exp $
+$PostgreSQL: pgsql/doc/src/sgml/datatype.sgml,v 1.151 2004/11/27 21:27:05 petere Exp $
 -->
 
  <chapter id="datatype">
@@ -1744,9 +1744,20 @@ January 8 04:05:06 1999 PST
      </para>
 
      <para>
-      For <type>timestamp [without time zone]</type>, any explicit time
-      zone specified in the input is silently ignored. That is, the
-      resulting date/time value is derived from the explicit date/time
+      The <acronym>SQL</acronym> standard differentiates <type>timestamp without time zone</type> 
+      and <type>timestamp with time zone</type> literals by the existence of a 
+      <quote>+</quote>; or <quote>-</quote>. Hence, according to the standard, 
+      <programlisting>TIMESTAMP '2004-10-19 10:23:54'</programlisting>
+      is a <type>timestamp without time zone</type>, while
+      <programlisting>TIMESTAMP '2004-10-19 10:23:54+02'</programlisting>
+      is a <type>timestamp with time zone</type>.
+      <productname>PostgreSQL</productname> 
+      differs from the standard by requiring that <type>timestamp with time zone</type> 
+      literals be explicitly typed:
+      <programlisting>TIMESTAMP WITH TIME ZONE '2004-10-19 10:23:54+02'</programlisting>
+      If a literal is not explicitly indicated as being of <type>timestamp with time zone</type>,
+      PostgreSQL will silently ignore any time zone indication in the literal.
+      That is, the resulting date/time value is derived from the date/time
       fields in the input value, and is not adjusted for time zone.
      </para>
 
index fcae34f4a50488c7c0717831ecc6502123ef80c6..fd18cd2a9ecfd6952dd516658ec00791c214a681 100644 (file)
@@ -1,4 +1,4 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/ddl.sgml,v 1.32 2004/11/15 06:32:13 neilc Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/ddl.sgml,v 1.33 2004/11/27 21:27:06 petere Exp $ -->
 
 <chapter id="ddl">
  <title>Data Definition</title>
@@ -1069,7 +1069,7 @@ SELECT name, altitude
    <para>
      In previous versions of <productname>PostgreSQL</productname>, the
      default behavior was not to include child tables in queries. This was
-     found to be error prone and is also in violation of the SQL99
+     found to be error prone and is also in violation of the SQL:1999
      standard. Under the old syntax, to get the sub-tables you append
      <literal>*</literal> to the table name.
      For example
index bc900283f54674fa9e0af4137678ea23e53a80b8..1df05a8b6bd96a8cf1e56c972fdd85507a5aa56c 100644 (file)
@@ -1,4 +1,4 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/errcodes.sgml,v 1.10 2004/11/15 06:32:13 neilc Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/errcodes.sgml,v 1.11 2004/11/27 21:27:06 petere Exp $ -->
 
 <appendix id="errcodes-appendix">
  <title><productname>PostgreSQL</productname> Error Codes</title>
 
 <row>
 <entry>Class 02</entry>
-<entry>No Data &mdash; this is also a warning class per SQL99</entry>
+<entry>No Data &mdash; this is also a warning class per SQL:1999</entry>
 </row>
 
 <row>
index bea6aa6f9c8586be0ae340cc8f4e7bcfa39cd77d..2e3a4983f1cc50800d75b6c002785da5c3f104e6 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/features.sgml,v 2.22 2003/11/29 19:51:37 pgsql Exp $
+$PostgreSQL: pgsql/doc/src/sgml/features.sgml,v 2.23 2004/11/27 21:27:06 petere Exp $
 -->
 
 <appendix id="features">
@@ -7,68 +7,96 @@ $PostgreSQL: pgsql/doc/src/sgml/features.sgml,v 2.22 2003/11/29 19:51:37 pgsql E
 
  <para>
   This section attempts to outline to what extent
-  <productname>PostgreSQL</productname> conforms to the SQL standard.
-  Full compliance to the standard or a complete statement about the
-  compliance to the standard is complicated and not particularly
-  useful, so this section can only give an overview.
 </para>
+  <productname>PostgreSQL</productname> conforms to the current SQL
+  standard.  The following information is not a full statement of
+  conformance, but it presents the main topics in as much detail as is
+  both reasonable and useful for users.
+ </para>
 
  <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 1999.  That
-  version is referred to as ISO/IEC 9075:1999, or informally as SQL99.
-  The version prior to that was SQL92.
-  <productname>PostgreSQL</productname> development tends to aim for
+  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
+  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.  At the time of this writing, balloting is under way for a
-  new revision of the standard, which, if approved, will eventually
-  become the conformance target for future
-  <productname>PostgreSQL</productname> development.
+  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 may be expected in later releases.
+ </para>
+
+ <para>
+  <acronym>SQL-92</acronym> defined three feature sets for
+  conformance: Entry, Intermediate, and Full.  Most database
+  management systems claiming <acronym>SQL</acronym> standard
+  conformance were conforming at only the Entry level, since the
+  entire set of features in the Intermediate and Full levels was
+  either too voluminous or in conflict with legacy behaviors.
  </para>
 
  <para>
-  <acronym>SQL92</acronym> defined three feature sets for conformance:
-  Entry, Intermediate, and Full. Most database management systems claiming
-  <acronym>SQL</acronym> standard conformance were conforming at only
-  the Entry level, since the entire set of features in the
-  Intermediate and Full levels was either too voluminous or in
-  conflict with legacy behaviors.
+  Starting with <acronym>SQL:1999</acronym>, the SQL standard defines
+  a large set of individual features rather than the ineffectively
+  broad three levels found in <acronym>SQL-92</acronym>.  A large
+  subset of these features represents the <quote>Core</quote>
+  features, which every conforming SQL implementation must supply.
+  The rest of the features are purely optional.  Some optional
+  features are grouped together to form <quote>packages</quote>, which
+  SQL implementations can claim conformance to, thus claiming
+  conformance to particular groups of features.
  </para>
 
  <para>
-  <acronym>SQL99</acronym> defines a large set of individual features
-  rather than the ineffectively broad three levels found in
-  <acronym>SQL92</acronym>.  A large subset of these features
-  represents the <quote>core</quote> features, which every conforming
-  SQL implementation must supply.  The rest of the features are purely
-  optional.  Some optional features are grouped together to form
-  <quote>packages</quote>, which SQL implementations can claim
-  conformance to, thus claiming conformance to particular groups of
-  features.
+  The <acronym>SQL:2003</acronym> standard is also split into a number
+  of parts.  Each is known by a shorthand name.  Note that these parts
+  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>
+  </itemizedlist>
  </para>
 
  <para>
-  The <acronym>SQL99</acronym> standard is also split into 5 parts:
-  Framework, Foundation, Call Level Interface, Persistent Stored
-  Modules, and Host Language Bindings.
-  <productname>PostgreSQL</productname> only covers parts 1, 2, and 5.
+  <productname>PostgreSQL</productname> covers parts 1, 2, and 11.
   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 in either case.
+  exact conformance is not specifically intended or verified in either
+  case.
+ </para>
+
+ <para>
+  PostgreSQL supports most of the major features of SQL:2003.  Out of
+  164 mandatory features required for full Core conformance,
+  PostgreSQL conforms to at least 150.  In addition, there is a long
+  list of supported optional features.  It may be worth noting that at
+  the time of writing, no current version of any database management
+  system claims full conformance to Core SQL:2003.
  </para>
 
  <para>
   In the following two sections, we provide a list of those features
   that <productname>PostgreSQL</productname> supports, followed by a
-  list of the features defined in SQL99 which are not yet supported in
-  <productname>PostgreSQL</productname>.  Both of these lists are
-  approximate: There may be minor details that are nonconforming for a
-  feature that is listed as supported, and large parts of an
-  unsupported feature may in fact be implemented.  The main body of
-  the documentation always contains the most accurate information
-  about what does and does not work.
+  list of the features defined in <acronym>SQL:2003</acronym> which
+  are not yet supported in <productname>PostgreSQL</productname>.
+  Both of these lists are approximate: There may be minor details that
+  are nonconforming for a feature that is listed as supported, and
+  large parts of an unsupported feature may in fact be implemented.
+  The main body of the documentation always contains the most accurate
+  information about what does and does not work.
  </para>
 
  <note>
@@ -79,7 +107,7 @@ $PostgreSQL: pgsql/doc/src/sgml/features.sgml,v 2.22 2003/11/29 19:51:37 pgsql E
   </para>
  </note>
 
-  <sect1 id="features-sql99">
+  <sect1 id="features-sql-standard">
    <title>Supported Features</title>
 
    <para>
@@ -101,11 +129,11 @@ $PostgreSQL: pgsql/doc/src/sgml/features.sgml,v 2.22 2003/11/29 19:51:37 pgsql E
    </para>
   </sect1>
 
-  <sect1 id="unsupported-features-sql99">
+  <sect1 id="unsupported-features-sql-standard">
    <title>Unsupported Features</title>
 
    <para>
-    The following features defined in <acronym>SQL99</acronym> are not
+    The following features defined in <acronym>SQL:2003</acronym> are not
     implemented in this release of
     <productname>PostgreSQL</productname>. In a few cases, equivalent
     functionality is available.
index 2549c516db9f8cf1a5822c1a273c7d77da01c3b7..111000086d85be940c7358eb3867c4dcc62c3335 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/func.sgml,v 1.223 2004/11/15 06:32:13 neilc Exp $
+$PostgreSQL: pgsql/doc/src/sgml/func.sgml,v 1.224 2004/11/27 21:27:06 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -2479,16 +2479,15 @@ cast(-44 as bit(12))           <lineannotation>111111010100</lineannotation>
   </indexterm>
 
    <para>
-    There are three separate approaches to pattern matching provided by
-    <productname>PostgreSQL</productname>:  the traditional
-    <acronym>SQL</acronym> 
-    <function>LIKE</function> operator, the more recent
-    <acronym>SQL99</acronym> 
-    <function>SIMILAR TO</function> operator, and
-    <acronym>POSIX</acronym>-style regular expressions.
+    There are three separate approaches to pattern matching provided
+    by <productname>PostgreSQL</productname>: the traditional
+    <acronym>SQL</acronym> <function>LIKE</function> operator, the
+    more recent <literal>>SIMILAR TO</literal> operator (since
+    SQL:1999), and <acronym>POSIX</acronym>-style regular expressions.
     Additionally, a pattern matching function,
     <function>substring</function>, is available, using either
-    <acronym>SQL99</acronym>-style or POSIX-style regular expressions.
+    <literal>SIMILAR TO</literal>-style or POSIX-style regular
+    expressions.
    </para>
 
    <tip>
@@ -2595,11 +2594,10 @@ cast(-44 as bit(12))           <lineannotation>111111010100</lineannotation>
   </sect2>
 
 
-  <sect2 id="functions-sql99-regexp">
-   <title><function>SIMILAR TO</function> and <acronym>SQL99</acronym>
-     Regular Expressions</title>
+  <sect2 id="functions-similarto-regexp">
+   <title><function>SIMILAR TO</function> Regular Expressions</title>
 
-   <indexterm zone="functions-sql99-regexp">
+   <indexterm zone="functions-similarto-regexp">
     <primary>regular expression</primary>
     <!-- <seealso>pattern matching</seealso> breaks index build -->
    </indexterm>
@@ -2618,14 +2616,13 @@ cast(-44 as bit(12))           <lineannotation>111111010100</lineannotation>
 </synopsis>
 
     <para>
-     The <function>SIMILAR TO</function> operator returns true or false
-     depending on whether its pattern matches the given string.  It is
-     much like <function>LIKE</function>, except that it interprets the
-     pattern using <acronym>SQL99</acronym>'s definition of a regular
-     expression.
-     <acronym>SQL99</acronym>'s regular expressions are a curious cross
-     between <function>LIKE</function> notation and common regular expression
-     notation.
+     The <function>SIMILAR TO</function> operator returns true or
+     false depending on whether its pattern matches the given string.
+     It is much like <function>LIKE</function>, except that it
+     interprets the pattern using the SQL standard's definition of a
+     regular expression.  SQL regular expressions are a curious cross
+     between <function>LIKE</function> notation and common regular
+     expression notation.
     </para>
 
     <para>
@@ -2704,7 +2701,7 @@ cast(-44 as bit(12))           <lineannotation>111111010100</lineannotation>
      <function>substring(<parameter>string</parameter> from
      <replaceable>pattern</replaceable> for
      <replaceable>escape-character</replaceable>)</function>, provides
-     extraction of a substring that matches a <acronym>SQL99</acronym>
+     extraction of a substring that matches an SQL
      regular expression pattern.  As with <literal>SIMILAR TO</>, the
      specified pattern must match to the entire data string, else the
      function fails and returns null.  To indicate the part of the
index 4a2e8f581c5abd99537e1c68ae4192d5cd84d93d..b617d014e9a8742e2172a25283a99d18817fdb81 100644 (file)
@@ -1,4 +1,4 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/information_schema.sgml,v 1.18 2004/11/15 06:32:13 neilc Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/information_schema.sgml,v 1.19 2004/11/27 21:27:06 petere Exp $ -->
 
 <chapter id="information-schema">
  <title>The Information Schema</title>
@@ -3267,7 +3267,7 @@ ORDER BY c.ordinal_position;
       <entry>
        The year the standard referenced in
        <literal>sql_language_source</literal> was approved; currently
-       <literal>1999</>
+       <literal>2003</>
       </entry>
      </row>
 
@@ -3276,7 +3276,7 @@ ORDER BY c.ordinal_position;
       <entry><type>character_data</type></entry>
       <entry>
        The standard conformance level for the language binding.  For
-       ISO 9075:1999 this is always <literal>CORE</literal>.
+       ISO 9075:2003 this is always <literal>CORE</literal>.
       </entry>
      </row>
 
index 2687fdb07874a6e348f4c22fffefce6c924252b1..ec0e4398da6f936f4461d70e948fae4bf5a254a7 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/intro.sgml,v 1.25 2004/08/08 01:52:14 momjian Exp $
+$PostgreSQL: pgsql/doc/src/sgml/intro.sgml,v 1.26 2004/11/27 21:27:06 petere Exp $
 -->
 
 <preface id="preface">
@@ -98,8 +98,8 @@ $PostgreSQL: pgsql/doc/src/sgml/intro.sgml,v 1.25 2004/08/08 01:52:14 momjian Ex
 
   <para>
    <productname>PostgreSQL</productname> is an open-source descendant
-   of this original Berkeley code.  It supports SQL92, SQL99 and
-   SQL2003 and offers many modern features:
+   of this original Berkeley code.  It supports a large part of the SQL:2003
+   standard and offers many modern features:
 
    <itemizedlist spacing="compact">
     <listitem>
index 7fdadaddad83fe2364385dfb7bb931426edec663..8991140717b1408027a42f3063da94abfdca95c6 100644 (file)
@@ -1,4 +1,4 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/keywords.sgml,v 2.14 2004/10/18 17:09:03 petere Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/keywords.sgml,v 2.15 2004/11/27 21:27:06 petere Exp $ -->
 
 <appendix id="sql-keywords-appendix">
  <title><acronym>SQL</acronym> Key Words</title>
@@ -86,9 +86,9 @@
    <row>
     <entry>Key Word</entry>
     <entry><productname>PostgreSQL</productname></entry>
-    <entry><acronym>SQL</acronym> 2003</entry>
-    <entry><acronym>SQL</acronym> 1999</entry>
-    <entry><acronym>SQL</acronym> 1992</entry>
+    <entry>SQL:2003</entry>
+    <entry>SQL:1999</entry>
+    <entry>SQL-92</entry>
    </row>
   </thead>
 
index 7ecee65021c72b5920c2b3c5536f3cc61fbf1bb0..7d5f050196e356d0d0b7dabaa08d9fe84a835912 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/ref/alter_domain.sgml,v 1.12 2004/03/23 13:21:41 neilc Exp $
+$PostgreSQL: pgsql/doc/src/sgml/ref/alter_domain.sgml,v 1.13 2004/11/27 21:27:07 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -203,7 +203,7 @@ ALTER DOMAIN zipcode DROP CONSTRAINT zipchk;
   <title>Compatibility</title>
     
   <para>
-   The <command>ALTER DOMAIN</command> statement is compatible with SQL99,
+   The <command>ALTER DOMAIN</command> statement is compatible with SQL:1999,
    except for the <literal>OWNER</> variant, which is a
    <productname>PostgreSQL</productname> extension.
   </para>
index 8337e2790754f59ae6657a9f1f530ac1a27c8d55..a96b1d722af8e59a07a06d7ad0342837cfdd1dd8 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/ref/alter_sequence.sgml,v 1.8 2004/08/24 00:06:51 neilc Exp $
+$PostgreSQL: pgsql/doc/src/sgml/ref/alter_sequence.sgml,v 1.9 2004/11/27 21:27:07 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -190,22 +190,11 @@ ALTER SEQUENCE serial RESTART WITH 105;
 
 
  <refsect1>
-  <title>
-   Compatibility
-  </title>
+  <title>Compatibility</title>
 
-  <refsect2>
-   <title>
-    SQL99
-   </title>
-
-   <para>
-    <command>ALTER SEQUENCE</command> is a <productname>PostgreSQL</productname>
-    language extension.
-    There is no <command>ALTER SEQUENCE</command> statement
-    in <acronym>SQL99</acronym>.
-   </para>
-  </refsect2>
+  <para>
+   <command>ALTER SEQUENCE</command> conforms with <acronym>SQL:2003</acronym>.
+  </para>
  </refsect1>
 </refentry>
 
index 1687d6bb7f23cf849437e6f4ee00324d69f927e1..c36f12675bd9c95418bb9fccfb8122c0a784d87f 100644 (file)
@@ -1,4 +1,4 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/ref/create_cast.sgml,v 1.18 2004/09/17 02:06:33 neilc Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/ref/create_cast.sgml,v 1.19 2004/11/27 21:27:07 petere Exp $ -->
 
 <refentry id="SQL-CREATECAST">
  <refmeta>
@@ -298,8 +298,8 @@ CREATE CAST (text AS int4) WITH FUNCTION int4(text);
   <title>Compatibility</title>
 
   <para>
-   The <command>CREATE CAST</command> command conforms to SQL99,
-   except that SQL99 does not make provisions for binary-compatible
+   The <command>CREATE CAST</command> command conforms to SQL:1999,
+   except that SQL:1999 does not make provisions for binary-compatible
    types or extra arguments to implementation functions.
    <literal>AS IMPLICIT</> is a <productname>PostgreSQL</productname> 
    extension, too.
index a3e266729be1dd26a54f742d6e8bd14a9597480c..7d8d01f4cd36416e7af79d857e17cc5c9d7d1b69 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/ref/create_function.sgml,v 1.62 2004/10/01 02:00:44 neilc Exp $
+$PostgreSQL: pgsql/doc/src/sgml/ref/create_function.sgml,v 1.63 2004/11/27 21:27:07 petere Exp $
 -->
 
 <refentry id="SQL-CREATEFUNCTION">
@@ -419,7 +419,7 @@ CREATE OR REPLACE FUNCTION increment(i integer) RETURNS integer AS '
   <title>Compatibility</title>
 
   <para>
-   A <command>CREATE FUNCTION</command> command is defined in SQL99.
+   A <command>CREATE FUNCTION</command> command is defined in SQL:1999 and later.
    The <productname>PostgreSQL</productname> version is similar but
    not fully compatible.  The attributes are not portable, neither are the
    different available languages.
index d380d32a7291ce08aabd4d914391d76dd3d870bc..1afaa0ba295dedbc9e4c27e963bb096963835e76 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/ref/create_sequence.sgml,v 1.41 2004/07/12 05:36:56 tgl Exp $
+$PostgreSQL: pgsql/doc/src/sgml/ref/create_sequence.sgml,v 1.42 2004/11/27 21:27:07 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -297,10 +297,12 @@ END;
   <title>Compatibility</title>
 
   <para>
-   <command>CREATE SEQUENCE</command> is a
-   <productname>PostgreSQL</productname> language extension.  There is
-   no <command>CREATE SEQUENCE</command> statement in the SQL
-   standard.
+   <command>CREATE SEQUENCE</command> is is specified in <acronym>SQL:2003</acronym>.
+   <productname>PostgreSQL</productname> conforms with the standard, with the following exceptions:
+   <itemizedlist>
+    <listitem><para>The standard's <literal>AS &lt;data type&gt;</literal> expression is not supported.</para></listitem>
+    <listitem><para>Obtaining the next value is done using the <function>nextval()</> function instead of the standard's <command>NEXT VALUE FOR</command> expression.</para></listitem>
+   </itemizedlist>
   </para>
  </refsect1>
 </refentry>
index 8b18d837c96af38529f21d3da33ce76abc0bcdea..68cce936db42fc869c6daa5dd2b552cb5bdfc5db 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/ref/create_table.sgml,v 1.86 2004/11/05 19:15:51 tgl Exp $
+$PostgreSQL: pgsql/doc/src/sgml/ref/create_table.sgml,v 1.87 2004/11/27 21:27:07 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -865,8 +865,8 @@ CREATE TABLE cinemas (
   <title id="SQL-CREATETABLE-compatibility-title">Compatibility</title>
 
   <para>
-   The <command>CREATE TABLE</command> command conforms to SQL92
-   and to a subset of SQL99, with exceptions listed below.
+   The <command>CREATE TABLE</command> command conforms to SQL-92 and
+   to a subset of SQL:1999, with exceptions listed below.
   </para>
 
   <refsect2>
@@ -943,10 +943,11 @@ CREATE TABLE cinemas (
 
    <para>
     Multiple inheritance via the <literal>INHERITS</literal> clause is
-    a <productname>PostgreSQL</productname> language extension.  SQL99
-    (but not SQL92) defines single inheritance using a different
-    syntax and different semantics.  SQL99-style inheritance is not
-    yet supported by <productname>PostgreSQL</productname>.
+    a <productname>PostgreSQL</productname> language extension.
+    SQL:1999 (but not SQL-92) defines single inheritance using a
+    different syntax and different semantics.  SQL:1999-style
+    inheritance is not yet supported by
+    <productname>PostgreSQL</productname>.
    </para>
   </refsect2>
 
index 2e0115e87dbed3352ea407018b91e140f0080cac..8565b13d01577cdfb98e9feb309b1a3fa04720d4 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/ref/create_table_as.sgml,v 1.24 2004/09/23 03:43:57 neilc Exp $
+$PostgreSQL: pgsql/doc/src/sgml/ref/create_table_as.sgml,v 1.25 2004/11/27 21:27:07 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -166,9 +166,9 @@ CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } ] TABLE <replaceable>table_name
   <title>Compatibility</title>
 
   <para>
-   <command>CREATE TABLE AS</command> is specified by the SQL2003
+   <command>CREATE TABLE AS</command> is specified by the SQL:2003
    standard. There are some small differences between the definition
-   of the command in SQL2003 and its implementation in
+   of the command in SQL:2003 and its implementation in
    <productname>PostgreSQL</>:
 
    <itemizedlist spacing="compact">
index 46b98ca76e5b2d74fe61c914320bfb9ce0a63e4d..f712636f49e3c7b3ada6f964333d1a7935164568 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/ref/create_trigger.sgml,v 1.39 2003/12/01 17:58:27 tgl Exp $
+$PostgreSQL: pgsql/doc/src/sgml/ref/create_trigger.sgml,v 1.40 2004/11/27 21:27:07 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -208,20 +208,20 @@ CREATE TRIGGER <replaceable class="PARAMETER">name</replaceable> { BEFORE | AFTE
   <para>
    The <command>CREATE TRIGGER</command> statement in
    <productname>PostgreSQL</productname> implements a subset of the
-   SQL99 standard.  (There are no provisions for triggers in SQL92.)
+   SQL:1999 standard.  (There are no provisions for triggers in SQL-92.)
    The following functionality is missing:
 
    <itemizedlist>
     <listitem>
      <para>
-      SQL99 allows triggers to fire on updates to specific columns
+      SQL:1999 allows triggers to fire on updates to specific columns
       (e.g., <literal>AFTER UPDATE OF col1, col2</literal>).
      </para>
     </listitem>
 
     <listitem>
      <para>
-      SQL99 allows you to define aliases for the <quote>old</quote>
+      SQL:1999 allows you to define aliases for the <quote>old</quote>
       and <quote>new</quote> rows or tables for use in the definition
       of the triggered action (e.g., <literal>CREATE TRIGGER ... ON
       tablename REFERENCING OLD ROW AS somename NEW ROW AS othername
@@ -235,7 +235,7 @@ CREATE TRIGGER <replaceable class="PARAMETER">name</replaceable> { BEFORE | AFTE
     <listitem>
      <para>
       <productname>PostgreSQL</productname> only allows the execution
-      of a user-defined function for the triggered action.  SQL99
+      of a user-defined function for the triggered action.  SQL:1999
       allows the execution of a number of other SQL commands, such as
       <command>CREATE TABLE</command> as triggered action.  This
       limitation is not hard to work around by creating a user-defined
@@ -246,7 +246,7 @@ CREATE TRIGGER <replaceable class="PARAMETER">name</replaceable> { BEFORE | AFTE
   </para>
 
   <para>
-   SQL99 specifies that multiple triggers should be fired in
+   SQL:1999 specifies that multiple triggers should be fired in
    time-of-creation order.  <productname>PostgreSQL</productname> uses
    name order, which was judged more convenient to work with.
   </para>
index b7d1ac64e0aa0ae4c3efb93d9504275ad1530972..ef6f93b0f2787c3411cf01ae8d81e267bd7eeac6 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/ref/create_type.sgml,v 1.52 2004/06/25 21:55:50 tgl Exp $
+$PostgreSQL: pgsql/doc/src/sgml/ref/create_type.sgml,v 1.53 2004/11/27 21:27:07 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -535,7 +535,7 @@ CREATE TABLE big_objs (
   <para>
    This <command>CREATE TYPE</command> command is a
    <productname>PostgreSQL</productname> extension.  There is a
-   <command>CREATE TYPE</command> statement in SQL99 that is rather
+   <command>CREATE TYPE</command> statement in SQL:1999 and later that is rather
    different in detail.
   </para>
  </refsect1>
index 6d8d4084a220ff1cddebffaaabca38026562a2a5..f519ebedee7f76d271de74617946137a697c27d2 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/ref/drop_sequence.sgml,v 1.20 2003/11/29 19:51:38 pgsql Exp $
+$PostgreSQL: pgsql/doc/src/sgml/ref/drop_sequence.sgml,v 1.21 2004/11/27 21:27:07 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -82,7 +82,7 @@ DROP SEQUENCE serial;
   <title>Compatibility</title>
 
   <para>
-   There is no <command>DROP SEQUENCE</command> statement in the SQL standard.
+    <command>DROP SEQUENCE</command> conforms with <acronym>SQL:2003</acronym>.
   </para>
  </refsect1>
 
index ca31c8dfd8bbff1e70e24a9fe9a1b4fd6739b1ef..2237aa32dfc335e77751f6b079e754cfe2c025c0 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/ref/release_savepoint.sgml,v 1.2 2004/08/24 00:06:51 neilc Exp $
+$PostgreSQL: pgsql/doc/src/sgml/ref/release_savepoint.sgml,v 1.3 2004/11/27 21:27:07 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -108,11 +108,10 @@ COMMIT;
   <title>Compatibility</title>
   
   <para>
-   The SQL2003 standard specifies that the keyword
-   <literal>SAVEPOINT</literal> is mandatory.
-   <productname>PostgreSQL</productname> allows the
-   <literal>SAVEPOINT</literal> keyword to be omitted. Otherwise, this
-   command is fully conforming.
+   This command conforms to the SQL:2003 standard.  The standard
+   specifies that the key word <literal>SAVEPOINT</literal> is
+   mandatory, but <productname>PostgreSQL</productname> allows it to
+   be omitted.
   </para>
  </refsect1>
 
index f96baec39856075c30c8d603213daf4cc3c139a9..0b87dc1a6bb3ca01fd995f712f900665376294d8 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/ref/rollback_to.sgml,v 1.4 2004/09/20 00:04:19 neilc Exp $
+$PostgreSQL: pgsql/doc/src/sgml/ref/rollback_to.sgml,v 1.5 2004/11/27 21:27:07 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -128,15 +128,14 @@ COMMIT;
   <title>Compatibility</title>
 
   <para>
-   The SQL2003 standard specifies that the keyword
-   <literal>SAVEPOINT</> is mandatory.  <productname>PostgreSQL</> and
-   <productname>Oracle</> allow the <literal>SAVEPOINT</literal>
-   keyword to be omitted.  SQL2003 allows only <literal>WORK</>, not
-   <literal>TRANSACTION</>, as a noise word after
-   <literal>ROLLBACK</>.  Also, SQL2003 has an optional clause
+   The SQL:2003 standard specifies that the key word
+   <literal>SAVEPOINT</> is mandatory, but <productname>PostgreSQL</>
+   and <productname>Oracle</> allow it to be omitted.  SQL:2003 allows
+   only <literal>WORK</>, not <literal>TRANSACTION</>, as a noise word
+   after <literal>ROLLBACK</>.  Also, SQL:2003 has an optional clause
    <literal>AND [ NO ] CHAIN</> which is not currently supported by
-   <productname>PostgreSQL</>.  Otherwise, this command is fully
-   conforming.
+   <productname>PostgreSQL</>.  Otherwise, this command conforms to
+   the SQL standard.
   </para>
  </refsect1>
 
index 5c6206a303e72e269eb93259b7b784977b6e6f72..06dd5594a0052d30cd97f1ab3558fea7e8167dbc 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/ref/select.sgml,v 1.77 2004/05/16 23:22:08 neilc Exp $
+$PostgreSQL: pgsql/doc/src/sgml/ref/select.sgml,v 1.78 2004/11/27 21:27:07 petere Exp $
 PostgreSQL documentation
 -->
 
@@ -1045,7 +1045,7 @@ SELECT distributors.* FROM distributors d, distributors distributors;
    <title>Namespace Available to <literal>GROUP BY</literal> and <literal>ORDER BY</literal></title>
 
    <para>
-    In the SQL92 standard, an <literal>ORDER BY</literal> clause may
+    In the SQL-92 standard, an <literal>ORDER BY</literal> clause may
     only use result column names or numbers, while a <literal>GROUP
     BY</literal> clause may only use expressions based on input column
     names.  <productname>PostgreSQL</productname> extends each of
@@ -1058,11 +1058,11 @@ SELECT distributors.* FROM distributors d, distributors distributors;
    </para>
 
    <para>
-    SQL99 uses a slightly different definition which is not entirely upward
+    SQL:1999 uses a slightly different definition which is not entirely upward
     compatible 
-    with SQL92.  In most cases, however, <productname>PostgreSQL</productname>
+    with SQL-92.  In most cases, however, <productname>PostgreSQL</productname>
     will interpret an <literal>ORDER BY</literal> or <literal>GROUP
-    BY</literal> expression the same way SQL99 does.
+    BY</literal> expression the same way SQL:1999 does.
    </para>
   </refsect2>
 
index 70d7dc3c270ce19b9943651e3335e49afd9834e8..d16aa0693bc77157b1ec877f8471266487f873d6 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.312 2004/11/22 07:30:22 neilc Exp $
+$PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.313 2004/11/27 21:27:06 petere Exp $
 -->
 
 <appendix id="release">
@@ -1514,13 +1514,13 @@ $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.312 2004/11/22 07:30:22 neilc E
       Change <function>ln()</>, <function>log()</>,
       <function>power()</>, and <function>sqrt()</> to emit the correct
       <literal>SQLSTATE</> error codes for certain error conditions, as
-      specified by SQL2003 (Neil)
+      specified by SQL:2003 (Neil)
      </para>
     </listitem>
 
     <listitem>
      <para>
-      Add <function>width_bucket()</> function as defined by SQL2003 (Neil)
+      Add <function>width_bucket()</> function as defined by SQL:2003 (Neil)
      </para>
     </listitem>
 
@@ -3706,7 +3706,7 @@ DROP SCHEMA information_schema CASCADE;
 
    <itemizedlist>
     <listitem>
-     <para>Make <command>CREATE SEQUENCE</command> grammar more conforming to SQL 2003 (Neil)</para>
+     <para>Make <command>CREATE SEQUENCE</command> grammar more conforming to SQL:2003 (Neil)</para>
     </listitem>
 
     <listitem>
@@ -3781,7 +3781,7 @@ DROP SCHEMA information_schema CASCADE;
     <listitem>
      <para>
       Allow copying table schema using <literal>LIKE
-      <replaceable>subtable</replaceable></literal>, also SQL 2003
+      <replaceable>subtable</replaceable></literal>, also SQL:2003
       feature <literal>INCLUDING DEFAULTS</literal> (Rod)
      </para>
     </listitem>
index 8800b8ac15075c36a66cb354ac35b11962c79b44..cb6e168d3cbd7d27875948c46f62ec523154b004 100644 (file)
@@ -4,7 +4,7 @@
  *
  * Copyright 2003, PostgreSQL Global Development Group
  *
- * $PostgreSQL: pgsql/src/backend/catalog/information_schema.sql,v 1.24 2004/06/22 22:30:32 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/catalog/information_schema.sql,v 1.25 2004/11/27 21:27:08 petere Exp $
  */
 
 /*
@@ -1181,8 +1181,8 @@ CREATE TABLE sql_languages (
     sql_language_programming_language character_data
 ) WITHOUT OIDS;
 
-INSERT INTO sql_languages VALUES ('ISO 9075', '1999', 'CORE', NULL, NULL, 'DIRECT', NULL);
-INSERT INTO sql_languages VALUES ('ISO 9075', '1999', 'CORE', NULL, NULL, 'EMBEDDED', 'C');
+INSERT INTO sql_languages VALUES ('ISO 9075', '2003', 'CORE', NULL, NULL, 'DIRECT', NULL);
+INSERT INTO sql_languages VALUES ('ISO 9075', '2003', 'CORE', NULL, NULL, 'EMBEDDED', 'C');
 
 GRANT SELECT ON sql_languages TO PUBLIC;
 
@@ -1209,7 +1209,7 @@ INSERT INTO sql_packages VALUES ('PKG005', 'CLI', 'NO', NULL, 'ODBC is similar.'
 INSERT INTO sql_packages VALUES ('PKG006', 'Basic object support', 'NO', NULL, '');
 INSERT INTO sql_packages VALUES ('PKG007', 'Enhanced object support', 'NO', NULL, '');
 INSERT INTO sql_packages VALUES ('PKG008', 'Active database', 'NO', NULL, '');
-INSERT INTO sql_packages VALUES ('PKG009', 'SQL/MM support', 'NO', NULL, '');
+INSERT INTO sql_packages VALUES ('PKG010', 'OLAP', 'NO', NULL, 'NO');
 
 GRANT SELECT ON sql_packages TO PUBLIC;
 
index b2e403cc113026dd4e8c32c97b2e15052c67d626..a9514045b81b19bcc17bbca710005c631d5ff933 100644 (file)
@@ -53,21 +53,16 @@ F701        Enhanced integrity management
 F812   Core
 S011   Core
 S023   Basic object support
-S023   SQL/MM support
 S024   Enhanced object support
-S024   SQL/MM support
 S041   Basic object support
 S043   Enhanced object support
 S051   Basic object support
 S071   Enhanced object support
 S081   Enhanced object support
-S091   SQL/MM support
-S092   SQL/MM support
 S111   Enhanced object support
 S151   Basic object support
 S161   Enhanced object support
 S211   Enhanced object support
-S211   SQL/MM support
 S231   Enhanced object support
 S241   Enhanced object support
 T041   Basic object support
@@ -78,5 +73,4 @@ T211  Active database
 T212   Enhanced integrity management
 T321   Core
 T322   PSM
-T322   SQL/MM support
 T431   OLAP facilities
index b33c5fb9c8a7690c3d7eb1a8ac12d6dae3161eca..2a300966fcd56908934f7156124f93d21daf8212 100644 (file)
@@ -8,9 +8,26 @@ B017   Embedded PL/I                   NO
 B021   Direct SQL                      YES     
 B031   Basic dynamic SQL                       NO      
 B032   Extended dynamic SQL                    NO      
-B032   Extended dynamic SQL    01      <describe input> statement      NO      
+B032   Extended dynamic SQL    01      <describe input statement>      NO      
+B033   Untyped SQL-invoked function arguments                  NO      
+B034   Dynamic specification of cursor attributes                      NO      
 B041   Extensions to embedded SQL exception declarations                       NO      
 B051   Enhanced execution rights                       NO      
+B111   Module language Ada                     NO      
+B112   Module language C                       NO      
+B113   Module language COBOL                   NO      
+B114   Module language Fortran                 NO      
+B115   Module language MUMPS                   NO      
+B116   Module language Pascal                  NO      
+B117   Module language PL/I                    NO      
+B121   Routine language Ada                    NO      
+B122   Routine language C                      NO      
+B123   Routine language COBOL                  NO      
+B124   Routine language Fortran                        NO      
+B125   Routine language MUMPS                  NO      
+B126   Routine language Pascal                 NO      
+B127   Routine language PL/I                   NO      
+B128   Routine language SQL                    NO      
 E011   Numeric data types                      YES     
 E011   Numeric data types      01      INTEGER and SMALLINT data types YES     
 E011   Numeric data types      02      REAL, DOUBLE PRECISION, and FLOAT data types    YES     
@@ -19,18 +36,18 @@ E011        Numeric data types      04      Arithmetic operators    YES
 E011   Numeric data types      05      Numeric comparison      YES     
 E011   Numeric data types      06      Implicit casting among the numeric data types   YES     
 E021   Character data types                    YES     
-E021   Character data types    01      CHARACTER data type     YES     
-E021   Character data types    02      CHARACTER VARYING data type     YES     
-E021   Character data types    03      Character literals      YES     
-E021   Character data types    04      CHARACTER_LENGTH function       YES     
-E021   Character data types    05      OCTET_LENGTH function   YES     
-E021   Character data types    06      SUBSTRING function      YES     
-E021   Character data types    07      Character concatenation YES     
-E021   Character data types    08      UPPER and LOWER functions       YES     
-E021   Character data types    09      TRIM function   YES     
-E021   Character data types    10      Implicit casting among the character data types YES     
-E021   Character data types    11      POSITION function       YES     
-E021   Character data types    12      Character comparison    YES     
+E021   Character string types  01      CHARACTER data type     YES     
+E021   Character string types  02      CHARACTER VARYING data type     YES     
+E021   Character string types  03      Character literals      YES     
+E021   Character string types  04      CHARACTER_LENGTH function       YES     trims trailing spaces from CHARACTER values before counting
+E021   Character string types  05      OCTET_LENGTH function   YES     
+E021   Character string types  06      SUBSTRING function      YES     
+E021   Character string types  07      Character concatenation YES     
+E021   Character string types  08      UPPER and LOWER functions       YES     
+E021   Character string types  09      TRIM function   YES     
+E021   Character string types  10      Implicit casting among the character string types       YES     
+E021   Character string types  11      POSITION function       YES     
+E021   Character string types  12      Character comparison    YES     
 E031   Identifiers                     YES     
 E031   Identifiers     01      Delimited identifiers   YES     
 E031   Identifiers     02      Lower case identifiers  YES     
@@ -73,6 +90,8 @@ E081  Basic Privileges        05      UPDATE privilege at the column level    NO
 E081   Basic Privileges        06      REFERENCES privilege at the table level YES     
 E081   Basic Privileges        07      REFERENCES privilege at the column level        NO      
 E081   Basic Privileges        08      WITH GRANT OPTION       YES     
+E081   Basic Privileges        09      USAGE privilege NO      
+E081   Basic Privileges        10      EXECUTE privilege       YES     
 E091   Set functions                   YES     
 E091   Set functions   01      AVG     YES     
 E091   Set functions   02      COUNT   YES     
@@ -87,7 +106,7 @@ E101 Basic data manipulation 03      Searched UPDATE statement       YES
 E101   Basic data manipulation 04      Searched DELETE statement       YES     
 E111   Single row SELECT statement                     YES     
 E121   Basic cursor support                    NO      
-E121   Basic cursor supoprt    01      DECLARE CURSOR  YES     
+E121   Basic cursor support    01      DECLARE CURSOR  YES     
 E121   Basic cursor support    02      ORDER BY columns need not be in select list     YES     
 E121   Basic cursor support    03      Value expressions in ORDER BY clause    YES     
 E121   Basic cursor support    04      OPEN statement  YES     
@@ -150,16 +169,17 @@ F051      Basic date and time     01      DATE data type (including support of DATE literal)      Y
 F051   Basic date and time     02      TIME data type (including support of TIME literal) with fractional seconds precision of at least 0      YES     
 F051   Basic date and time     03      TIMESTAMP data type (including support of TIMESTAMP literal) with fractional seconds precision of at least 0 and 6      YES     
 F051   Basic date and time     04      Comparison predicate on DATE, TIME, and TIMESTAMP data types    YES     
-F051   Basic date and time     05      Explicit CAST between datetime types and character types        YES     
+F051   Basic date and time     05      Explicit CAST between datetime types and character string types YES     
 F051   Basic date and time     06      CURRENT_DATE    YES     
 F051   Basic date and time     07      LOCALTIME       YES     
 F051   Basic date and time     08      LOCALTIMESTAMP  YES     
 F052   Intervals and datetime arithmetic                       YES     
+F053   OVERLAPS predicate                      YES     
 F081   UNION and EXCEPT in views                       YES     
 F111   Isolation levels other than SERIALIZABLE                        YES     
-F111   Isolation levels other than SERIALIZABLE        01      READ UNCOMMITTED isolation level        YES     behaves like READ COMMITTED
+F111   Isolation levels other than SERIALIZABLE        01      READ UNCOMMITTED isolation level        YES     
 F111   Isolation levels other than SERIALIZABLE        02      READ COMMITTED isolation level  YES     
-F111   Isolation levels other than SERIALIZABLE        03      REPEATABLE READ isolation level YES     behaves like SERIALIZABLE
+F111   Isolation levels other than SERIALIZABLE        03      REPEATABLE READ isolation level YES     
 F121   Basic diagnostics management                    NO      
 F121   Basic diagnostics management    01      GET DIAGNOSTICS statement       NO      
 F121   Basic diagnostics management    02      SET TRANSACTION statement: DIAGNOSTICS SIZE clause      NO      
@@ -175,16 +195,18 @@ F191      Referential delete actions                      YES
 F201   CAST function                   YES     
 F221   Explicit defaults                       YES     
 F222   INSERT statement: DEFAULT VALUES clause                 YES     
-F231   Privilege Tables                        YES     
-F231   Privilege Tables        01      TABLE_PRIVILEGES view   YES     
-F231   Privilege Tables        02      COLUMN_PRIVILEGES view  YES     
-F231   Privilege Tables        03      USAGE_PRIVILEGES view   YES     
+F231   Privilege tables                        YES     
+F231   Privilege tables        01      TABLE_PRIVILEGES view   YES     
+F231   Privilege tables        02      COLUMN_PRIVILEGES view  YES     
+F231   Privilege tables        03      USAGE_PRIVILEGES view   YES     
 F251   Domain support                  YES     
 F261   CASE expression                 YES     
 F261   CASE expression 01      Simple CASE     YES     
 F261   CASE expression 02      Searched CASE   YES     
 F261   CASE expression 03      NULLIF  YES     
 F261   CASE expression 04      COALESCE        YES     
+F262   Extended CASE expression                        NO      
+F263   Comma-separated predicates in simple CASE expression                    NO      
 F271   Compound character literals                     YES     
 F281   LIKE enhancements                       YES     
 F291   UNIQUE predicate                        NO      
@@ -199,6 +221,7 @@ F311        Schema definition statement     02      CREATE TABLE for persistent base tables YES
 F311   Schema definition statement     03      CREATE VIEW     YES     
 F311   Schema definition statement     04      CREATE VIEW: WITH CHECK OPTION  NO      
 F311   Schema definition statement     05      GRANT statement YES     
+F312   MERGE statement                 NO      
 F321   User authorization                      YES     
 F341   Usage tables                    NO      
 F361   Subprogram support                      YES     
@@ -207,12 +230,14 @@ F381      Extended schema manipulation    01      ALTER TABLE statement: ALTER COLUMN clause
 F381   Extended schema manipulation    02      ALTER TABLE statement: ADD CONSTRAINT clause    YES     
 F381   Extended schema manipulation    03      ALTER TABLE statement: DROP CONSTRAINT clause   YES     
 F391   Long identifiers                        YES     
+F392   Unicode escapes in identifiers                  NO      
+F393   Unicode escapes in literals                     NO      
 F401   Extended joined table                   YES     
 F401   Extended joined table   01      NATURAL JOIN    YES     
 F401   Extended joined table   02      FULL OUTER JOIN YES     
-F401   Extended joined table   03      UNION JOIN      YES     
 F401   Extended joined table   04      CROSS JOIN      YES     
-F411   Time zone specification                 YES     
+F402   Named column joins for LOBs, arrays, and multisets                      NO      
+F411   Time zone specification                 YES     differences regarding literal interpretation
 F421   National character                      YES     
 F431   Read-only scrollable cursors                    YES     
 F431   Read-only scrollable cursors    01      FETCH with explicit NEXT        YES     
@@ -222,6 +247,7 @@ F431        Read-only scrollable cursors    04      FETCH PRIOR     YES
 F431   Read-only scrollable cursors    05      FETCH ABSOLUTE  YES     
 F431   Read-only scrollable cursors    06      FETCH RELATIVE  YES     
 F441   Extended set function support                   YES     
+F442   Mixed column references in set functions                        NO      
 F451   Character set definition                        NO      
 F461   Named character sets                    NO      
 F471   Scalar subquery values                  YES     
@@ -235,7 +261,6 @@ F502        Enhanced documentation tables                   YES
 F502   Enhanced documentation tables   01      SQL_SIZING_PROFILES view        YES     
 F502   Enhanced documentation tables   02      SQL_IMPLEMENTATION_INFO view    YES     
 F502   Enhanced documentation tables   03      SQL_PACKAGES view       YES     
-F511   BIT data type                   YES     
 F521   Assertions                      NO      
 F531   Temporary tables                        YES     
 F555   Enhanced seconds precision                      YES     
@@ -247,7 +272,12 @@ F641       Row and table constructors                      NO
 F651   Catalog name qualifiers                 YES     
 F661   Simple tables                   NO      
 F671   Subqueries in CHECK                     NO      intentionally omitted
+F672   Retrospective check constraints                 YES     
 F691   Collation and translation                       NO      
+F692   Enhanced collation support                      NO      
+F693   SQL-session and client module collations                        NO      
+F695   Translation support                     NO      
+F696   Additional translation documentation                    NO      
 F701   Referential update actions                      YES     
 F711   ALTER domain                    YES     
 F721   Deferrable constraints                  NO      foreign keys only
@@ -261,7 +291,7 @@ F791        Insensitive cursors                     YES
 F801   Full set function                       YES     
 F811   Extended flagging                       NO      
 F812   Basic flagging                  NO      
-F813   Extended flagging for "Core SQL Flagging" and "Catalog Lookup" only                     NO      
+F813   Extended flagging                       NO      
 F821   Local table references                  NO      
 F831   Full cursor update                      NO      
 F831   Full cursor update      01      Updatable scrollable cursors    NO      
@@ -270,6 +300,10 @@ S011       Distinct data types                     NO
 S011   Distinct data types     01      USER_DEFINED_TYPES view NO      
 S023   Basic structured types                  NO      
 S024   Enhanced structured types                       NO      
+S025   Final structured types                  NO      
+S026   Self-referencing structured types                       NO      
+S027   Create method by specific method name                   NO      
+S028   Permutable UDT options list                     NO      
 S041   Basic reference types                   NO      
 S043   Enhanced reference types                        NO      
 S051   Create table of type                    NO      
@@ -281,18 +315,31 @@ S091      Basic array support     02      Arrays of distinct types        NO
 S091   Basic array support     03      Array expressions       NO      
 S092   Arrays of user-defined types                    NO      
 S094   Arrays of reference types                       NO      
+S095   Array constructors by query                     NO      
+S096   Optional array bounds                   NO      
+S097   Array element assignment                        NO      
 S111   ONLY in query expressions                       YES     
 S151   Type predicate                  NO      
 S161   Subtype treatment                       NO      
-S201   SQL routines on arrays                  NO      
-S201   SQL routines on arrays  01      Array parameters        NO      
-S201   SQL routines on arrays  02      Array as result type of functions       NO      
+S162   Subtype treatment for references                        NO      
+S201   SQL-invoked routines on arrays                  NO      
+S201   SQL-invoked routines on arrays  01      Array parameters        NO      
+S201   SQL-invoked routines on arrays  02      Array as result type of functions       NO      
+S202   SQL-invoked routines on multisets                       NO      
 S211   User-defined cast functions                     YES     
 S231   Structured type locators                        NO      
 S232   Array locators                  NO      
+S233   Multiset locators                       NO      
 S241   Transform functions                     NO      
+S242   Alter transform statement                       NO      
 S251   User-defined orderings                  NO      
 S261   Specific type method                    NO      
+S271   Basic multiset support                  NO      
+S272   Multisets of user-defined types                 NO      
+S274   Multisets of reference types                    NO      
+S275   Advanced multiset support                       NO      
+S281   Nested collection types                 NO      
+S291   Unique constraint on entire row                 NO      
 T011   Timestamp in Information Schema                 NO      
 T031   BOOLEAN data type                       YES     
 T041   Basic LOB data type support                     NO      
@@ -303,12 +350,24 @@ T041      Basic LOB data type support     04      Concatenation of LOB data types NO
 T041   Basic LOB data type support     05      LOB locator: non-holdable       NO      
 T042   Extended LOB data type support                  NO      
 T051   Row types                       NO      
+T052   MAX and MIN for row types                       NO      
+T053   Explicit aliases for all-fields reference                       NO      
+T061   UCS support                     NO      
+T071   BIGINT data type                        YES     
 T111   Updatable joins, unions, and columns                    NO      
 T121   WITH (excluding RECURSIVE) in query expression                  NO      
+T122   WITH (excluding RECURSIVE) in subquery                  NO      
 T131   Recursive query                 NO      
+T132   Recursive query in subquery                     NO      
 T141   SIMILAR predicate                       YES     
 T151   DISTINCT predicate                      YES     
+T152   DISTINCT predicate with negation                        NO      
 T171   LIKE clause in table definition                 YES     
+T172   AS subquery clause in table definition                  NO      
+T173   Extended LIKE clause in table definition                        NO      
+T174   Identity columns                        NO      
+T175   Generated columns                       NO      
+T176   Sequence generator support                      NO      
 T191   Referential action RESTRICT                     YES     
 T201   Comparable data types for referential constraints                       YES     
 T211   Basic trigger capability                        NO      
@@ -319,15 +378,16 @@ T211      Basic trigger capability        04      FOR EACH ROW triggers   YES
 T211   Basic trigger capability        05      Ability to specify a search condition that must be true before the trigger is invoked   NO      
 T211   Basic trigger capability        06      Support for run-time rules for the interaction of triggers and constraints      NO      
 T211   Basic trigger capability        07      TRIGGER privilege       YES     
-T211   Basic trigger capability        08      Multiple triggers for the same event are executed in the order in which they were created       NO      intentionally omitted
+T211   Basic trigger capability        08      Multiple triggers for the same event are executed in the order in which they were created in the catalog        NO      intentionally omitted
 T212   Enhanced trigger capability                     YES     
-T231   SENSITIVE cursors                       YES     
+T231   Sensitive cursors                       YES     
 T241   START TRANSACTION statement                     YES     
 T251   SET TRANSACTION statement: LOCAL option                 NO      
 T261   Chained transactions                    NO      
 T271   Savepoints                      YES     
+T272   Enhanced savepoint management                   NO      
 T281   SELECT privilege with column granularity                        NO      
-T301   Functional Dependencies                 NO      
+T301   Functional dependencies                 NO      
 T312   OVERLAY function                        YES     
 T321   Basic SQL-invoked routines                      NO      
 T321   Basic SQL-invoked routines      01      User-defined functions with no overloading      YES     
@@ -339,12 +399,18 @@ T321      Basic SQL-invoked routines      06      ROUTINES view   YES
 T321   Basic SQL-invoked routines      07      PARAMETERS view YES     
 T322   Overloading of SQL-invoked functions and procedures                     YES     
 T323   Explicit security for external routines                 YES     
+T324   Explicit security for SQL routines                      NO      
+T325   Qualified SQL parameter references                      NO      
+T326   Table functions                 NO      
 T331   Basic roles                     NO      
 T332   Extended roles                  NO      
 T351   Bracketed SQL comments (/*...*/ comments)                       YES     
 T401   INSERT into a cursor                    NO      
 T411   UPDATE statement: SET ROW option                        NO      
-T431   CUBE and ROLLUP operations                      NO      
+T431   Extended grouping capabilities                  NO      
+T432   Nested and concatenated GROUPING SETS                   NO      
+T433   Multiargument GROUPING function                 NO      
+T434   GROUP BY DISINCT                        NO      
 T441   ABS and MOD functions                   YES     
 T461   Symmetric BETWEEN predicate                     NO      
 T471   Result sets return value                        NO      
@@ -355,6 +421,18 @@ T541       Updatable table references                      NO
 T551   Optional key words for default syntax                   YES     
 T561   Holdable locators                       NO      
 T571   Array-returning external SQL-invoked functions                  NO      
+T572   Multiset-returning external SQL-invoked functions                       NO      
 T581   Regular expression substring function                   YES     
 T591   UNIQUE constraints of possibly null columns                     YES     
 T601   Local cursor references                 NO      
+T611   Elementary OLAP operations                      NO      
+T612   Advanced OLAP operations                        NO      
+T613   Sampling                        NO      
+T621   Enhanced numeric functions                      NO      
+T631   IN predicate with one list element                      NO      
+T641   Multiple column assignment                      NO      
+T651   SQL-schema statements in SQL routines                   NO      
+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