Update of conformance information to SQL:2003
authorPeter Eisentraut
Sat, 27 Nov 2004 21:27:08 +0000 (21:27 +0000)
committerPeter Eisentraut
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 @@
-
+
 
 
  Arrays
@@ -63,8 +63,10 @@ CREATE TABLE tictactoe (
  
 
  
-  An alternative, SQL99-standard syntax may be used for one-dimensional arrays.
-  pay_by_quarter could have been defined as:
+  An alternative syntax, which conforms to the SQL:1999 standard, may
+  be used for one-dimensional arrays.
+  pay_by_quarter could have been defined
+  as:
 
     pay_by_quarter  integer ARRAY[4],
 
index 6e01bfd94b13f55323a68206926b8686a7820724..dd406e12e07c1b120af90b2a06bfc81f0082d7e9 100644 (file)
@@ -1,5 +1,5 @@
 
 
  
@@ -1744,9 +1744,20 @@ January 8 04:05:06 1999 PST
      
 
      
-      For timestamp [without time zone], 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 SQL standard differentiates timestamp without time zone 
+      and timestamp with time zone literals by the existence of a 
+      +; or -. Hence, according to the standard, 
+      TIMESTAMP '2004-10-19 10:23:54'
+      is a timestamp without time zone, while
+      TIMESTAMP '2004-10-19 10:23:54+02'
+      is a timestamp with time zone.
+      PostgreSQL 
+      differs from the standard by requiring that timestamp with time zone 
+      literals be explicitly typed:
+      TIMESTAMP WITH TIME ZONE '2004-10-19 10:23:54+02'
+      If a literal is not explicitly indicated as being of timestamp with time zone,
+      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.
      
 
index fcae34f4a50488c7c0717831ecc6502123ef80c6..fd18cd2a9ecfd6952dd516658ec00791c214a681 100644 (file)
@@ -1,4 +1,4 @@
-
+
 
 
  Data Definition
@@ -1069,7 +1069,7 @@ SELECT name, altitude
    
      In previous versions of PostgreSQL, 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
      * to the table name.
      For example
index bc900283f54674fa9e0af4137678ea23e53a80b8..1df05a8b6bd96a8cf1e56c972fdd85507a5aa56c 100644 (file)
@@ -1,4 +1,4 @@
-
+
 
 
  <productname>PostgreSQL</productname> Error Codes
 
 
 Class 02
-No Data — this is also a warning class per SQL99
+No Data — this is also a warning class per SQL:1999
 
 
 
index bea6aa6f9c8586be0ae340cc8f4e7bcfa39cd77d..2e3a4983f1cc50800d75b6c002785da5c3f104e6 100644 (file)
@@ -1,5 +1,5 @@
 
 
 
@@ -7,68 +7,96 @@ $PostgreSQL: pgsql/doc/src/sgml/features.sgml,v 2.22 2003/11/29 19:51:37 pgsql E
 
  
   This section attempts to outline to what extent
-  PostgreSQL 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.
 
+  PostgreSQL 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.
 
  
   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 1999.  That
-  version is referred to as ISO/IEC 9075:1999, or informally as SQL99.
-  The version prior to that was SQL92.
-  PostgreSQL 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.
+  PostgreSQL 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
-  PostgreSQL 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.
+
+  SQL-92 defined three feature sets for
+  conformance: Entry, Intermediate, and Full.  Most database
+  management systems claiming SQL 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.
  
 
  
-  SQL92 defined three feature sets for conformance:
-  Entry, Intermediate, and Full. Most database management systems claiming
-  SQL 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 SQL:1999, the SQL standard defines
+  a large set of individual features rather than the ineffectively
+  broad three levels found in SQL-92.  A large
+  subset of these features represents the Core
+  features, which every conforming SQL implementation must supply.
+  The rest of the features are purely optional.  Some optional
+  features are grouped together to form packages, which
+  SQL implementations can claim conformance to, thus claiming
+  conformance to particular groups of features.
  
 
  
-  SQL99 defines a large set of individual features
-  rather than the ineffectively broad three levels found in
-  SQL92.  A large subset of these features
-  represents the core features, which every conforming
-  SQL implementation must supply.  The rest of the features are purely
-  optional.  Some optional features are grouped together to form
-  packages, which SQL implementations can claim
-  conformance to, thus claiming conformance to particular groups of
-  features.
+  The SQL:2003 standard is also split into a number
+  of parts.  Each is known by a shorthand name.  Note that these parts
+  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)
+  
  
 
  
-  The SQL99 standard is also split into 5 parts:
-  Framework, Foundation, Call Level Interface, Persistent Stored
-  Modules, and Host Language Bindings.
-  PostgreSQL only covers parts 1, 2, and 5.
+  PostgreSQL covers parts 1, 2, and 11.
   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 in either case.
+  exact conformance is not specifically intended or verified in either
+  case.
+
+  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.
  
 
  
   In the following two sections, we provide a list of those features
   that PostgreSQL supports, followed by a
-  list of the features defined in SQL99 which are not yet supported in
-  PostgreSQL.  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 SQL:2003 which
+  are not yet supported in PostgreSQL.
+  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.
  
 
  
@@ -79,7 +107,7 @@ $PostgreSQL: pgsql/doc/src/sgml/features.sgml,v 2.22 2003/11/29 19:51:37 pgsql E
   
  
 
-  99">
+  -standard">
    Supported Features
 
    
@@ -101,11 +129,11 @@ $PostgreSQL: pgsql/doc/src/sgml/features.sgml,v 2.22 2003/11/29 19:51:37 pgsql E
    
   
 
-  99">
+  -standard">
    Unsupported Features
 
    
-    The following features defined in SQL99 are not
+    The following features defined in SQL:2003 are not
     implemented in this release of
     PostgreSQL. In a few cases, equivalent
     functionality is available.
index 2549c516db9f8cf1a5822c1a273c7d77da01c3b7..111000086d85be940c7358eb3867c4dcc62c3335 100644 (file)
@@ -1,5 +1,5 @@
 
 
@@ -2479,16 +2479,15 @@ cast(-44 as bit(12))           111111010100
   
 
    
-    There are three separate approaches to pattern matching provided by
-    PostgreSQL:  the traditional
-    SQL 
-    LIKE operator, the more recent
-    SQL99 
-    SIMILAR TO operator, and
-    POSIX-style regular expressions.
+    There are three separate approaches to pattern matching provided
+    by PostgreSQL: the traditional
+    SQL LIKE operator, the
+    more recent >SIMILAR TO operator (since
+    SQL:1999), and POSIX-style regular expressions.
     Additionally, a pattern matching function,
     substring, is available, using either
-    SQL99-style or POSIX-style regular expressions.
+    SIMILAR TO-style or POSIX-style regular
+    expressions.
    
 
    
@@ -2595,11 +2594,10 @@ cast(-44 as bit(12))           111111010100
   
 
 
-  
-   <function>SIMILAR TO</function> and <acronym>SQL99</acronym></div> <div class="diff rem">-     Regular Expressions
+  
+   <function>SIMILAR TO</function> Regular Expressions
 
-   ql99-regexp">
+   imilarto-regexp">
     regular expression
     
    
@@ -2618,14 +2616,13 @@ cast(-44 as bit(12))           111111010100
 
 
     
-     The SIMILAR TO operator returns true or false
-     depending on whether its pattern matches the given string.  It is
-     much like LIKE, except that it interprets the
-     pattern using SQL99's definition of a regular
-     expression.
-     SQL99's regular expressions are a curious cross
-     between LIKE notation and common regular expression
-     notation.
+     The SIMILAR TO operator returns true or
+     false depending on whether its pattern matches the given string.
+     It is much like LIKE, except that it
+     interprets the pattern using the SQL standard's definition of a
+     regular expression.  SQL regular expressions are a curious cross
+     between LIKE notation and common regular
+     expression notation.
     
 
     
@@ -2704,7 +2701,7 @@ cast(-44 as bit(12))           111111010100
      substring(string from
      pattern for
      escape-character), provides
-     extraction of a substring that matches a SQL99
+     extraction of a substring that matches an SQL
      regular expression pattern.  As with 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 @@
-
+
 
 
  The Information Schema
@@ -3267,7 +3267,7 @@ ORDER BY c.ordinal_position;
       
        The year the standard referenced in
        sql_language_source was approved; currently
-       1999
+       2003
       
      
 
@@ -3276,7 +3276,7 @@ ORDER BY c.ordinal_position;
       character_data
       
        The standard conformance level for the language binding.  For
-       ISO 9075:1999 this is always CORE.
+       ISO 9075:2003 this is always CORE.
       
      
 
index 2687fdb07874a6e348f4c22fffefce6c924252b1..ec0e4398da6f936f4461d70e948fae4bf5a254a7 100644 (file)
@@ -1,5 +1,5 @@
 
 
 
@@ -98,8 +98,8 @@ $PostgreSQL: pgsql/doc/src/sgml/intro.sgml,v 1.25 2004/08/08 01:52:14 momjian Ex
 
   
    PostgreSQL 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:
 
    
     
index 7fdadaddad83fe2364385dfb7bb931426edec663..8991140717b1408027a42f3063da94abfdca95c6 100644 (file)
@@ -1,4 +1,4 @@
-
+
 
 
  <acronym>SQL</acronym> Key Words
@@ -86,9 +86,9 @@
    
     Key Word
     PostgreSQL
-    SQL 2003
-    SQL 1999
-    SQL 1992
+    SQL:2003
+    SQL:1999
+    SQL-92
    
   
 
index 7ecee65021c72b5920c2b3c5536f3cc61fbf1bb0..7d5f050196e356d0d0b7dabaa08d9fe84a835912 100644 (file)
@@ -1,5 +1,5 @@
 
 
@@ -203,7 +203,7 @@ ALTER DOMAIN zipcode DROP CONSTRAINT zipchk;
   Compatibility
     
   
-   The ALTER DOMAIN statement is compatible with SQL99,
+   The ALTER DOMAIN statement is compatible with SQL:1999,
    except for the OWNER variant, which is a
    PostgreSQL extension.
   
index 8337e2790754f59ae6657a9f1f530ac1a27c8d55..a96b1d722af8e59a07a06d7ad0342837cfdd1dd8 100644 (file)
@@ -1,5 +1,5 @@
 
 
@@ -190,22 +190,11 @@ ALTER SEQUENCE serial RESTART WITH 105;
 
 
  
-  </div> <div class="diff rem">-   Compatibility</div> <div class="diff rem">-  
+  Compatibility
 
-  
-   </div> <div class="diff rem">-    SQL99</div> <div class="diff rem">-   
-
-   
-    ALTER SEQUENCE is a PostgreSQL
-    language extension.
-    There is no ALTER SEQUENCE statement
-    in SQL99.
-   
-  
+  
+   ALTER SEQUENCE conforms with SQL:2003.
+  
  
 
 
index 1687d6bb7f23cf849437e6f4ee00324d69f927e1..c36f12675bd9c95418bb9fccfb8122c0a784d87f 100644 (file)
@@ -1,4 +1,4 @@
-
+
 
 
  
@@ -298,8 +298,8 @@ CREATE CAST (text AS int4) WITH FUNCTION int4(text);
   Compatibility
 
   
-   The CREATE CAST command conforms to SQL99,
-   except that SQL99 does not make provisions for binary-compatible
+   The CREATE CAST command conforms to SQL:1999,
+   except that SQL:1999 does not make provisions for binary-compatible
    types or extra arguments to implementation functions.
    AS IMPLICIT is a PostgreSQL 
    extension, too.
index a3e266729be1dd26a54f742d6e8bd14a9597480c..7d8d01f4cd36416e7af79d857e17cc5c9d7d1b69 100644 (file)
@@ -1,5 +1,5 @@
 
 
 
@@ -419,7 +419,7 @@ CREATE OR REPLACE FUNCTION increment(i integer) RETURNS integer AS '
   Compatibility
 
   
-   A CREATE FUNCTION command is defined in SQL99.
+   A CREATE FUNCTION command is defined in SQL:1999 and later.
    The PostgreSQL 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 @@
 
 
@@ -297,10 +297,12 @@ END;
   Compatibility
 
   
-   CREATE SEQUENCE is a
-   PostgreSQL language extension.  There is
-   no CREATE SEQUENCE statement in the SQL
-   standard.
+   CREATE SEQUENCE is is specified in SQL:2003.
+   PostgreSQL conforms with the standard, with the following exceptions:
+   
+    The standard's AS <data type> expression is not supported.
+    Obtaining the next value is done using the nextval() function instead of the standard's NEXT VALUE FOR expression.
+   
   
  
 
index 8b18d837c96af38529f21d3da33ce76abc0bcdea..68cce936db42fc869c6daa5dd2b552cb5bdfc5db 100644 (file)
@@ -1,5 +1,5 @@
 
 
@@ -865,8 +865,8 @@ CREATE TABLE cinemas (
   Compatibility
 
   
-   The CREATE TABLE command conforms to SQL92
-   and to a subset of SQL99, with exceptions listed below.
+   The CREATE TABLE command conforms to SQL-92 and
+   to a subset of SQL:1999, with exceptions listed below.
   
 
   
@@ -943,10 +943,11 @@ CREATE TABLE cinemas (
 
    
     Multiple inheritance via the INHERITS clause is
-    a PostgreSQL language extension.  SQL99
-    (but not SQL92) defines single inheritance using a different
-    syntax and different semantics.  SQL99-style inheritance is not
-    yet supported by PostgreSQL.
+    a PostgreSQL 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
+    PostgreSQL.
    
   
 
index 2e0115e87dbed3352ea407018b91e140f0080cac..8565b13d01577cdfb98e9feb309b1a3fa04720d4 100644 (file)
@@ -1,5 +1,5 @@
 
 
@@ -166,9 +166,9 @@ CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } ] TABLE table_name
   Compatibility
 
   
-   CREATE TABLE AS is specified by the SQL2003
+   CREATE TABLE AS 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
    PostgreSQL:
 
    
index 46b98ca76e5b2d74fe61c914320bfb9ce0a63e4d..f712636f49e3c7b3ada6f964333d1a7935164568 100644 (file)
@@ -1,5 +1,5 @@
 
 
@@ -208,20 +208,20 @@ CREATE TRIGGER name { BEFORE | AFTE
   
    The CREATE TRIGGER statement in
    PostgreSQL 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:
 
    
     
      
-      SQL99 allows triggers to fire on updates to specific columns
+      SQL:1999 allows triggers to fire on updates to specific columns
       (e.g., AFTER UPDATE OF col1, col2).
      
     
 
     
      
-      SQL99 allows you to define aliases for the old
+      SQL:1999 allows you to define aliases for the old
       and new rows or tables for use in the definition
       of the triggered action (e.g., CREATE TRIGGER ... ON
       tablename REFERENCING OLD ROW AS somename NEW ROW AS othername
@@ -235,7 +235,7 @@ CREATE TRIGGER name { BEFORE | AFTE
     
      
       PostgreSQL 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
       CREATE TABLE as triggered action.  This
       limitation is not hard to work around by creating a user-defined
@@ -246,7 +246,7 @@ CREATE TRIGGER name { BEFORE | AFTE
   
 
   
-   SQL99 specifies that multiple triggers should be fired in
+   SQL:1999 specifies that multiple triggers should be fired in
    time-of-creation order.  PostgreSQL uses
    name order, which was judged more convenient to work with.
   
index b7d1ac64e0aa0ae4c3efb93d9504275ad1530972..ef6f93b0f2787c3411cf01ae8d81e267bd7eeac6 100644 (file)
@@ -1,5 +1,5 @@
 
 
@@ -535,7 +535,7 @@ CREATE TABLE big_objs (
   
    This CREATE TYPE command is a
    PostgreSQL extension.  There is a
-   CREATE TYPE statement in SQL99 that is rather
+   CREATE TYPE statement in SQL:1999 and later that is rather
    different in detail.
   
  
index 6d8d4084a220ff1cddebffaaabca38026562a2a5..f519ebedee7f76d271de74617946137a697c27d2 100644 (file)
@@ -1,5 +1,5 @@
 
 
@@ -82,7 +82,7 @@ DROP SEQUENCE serial;
   Compatibility
 
   
-   There is no DROP SEQUENCE statement in the SQL standard.
+    DROP SEQUENCE conforms with SQL:2003.
   
  
 
index ca31c8dfd8bbff1e70e24a9fe9a1b4fd6739b1ef..2237aa32dfc335e77751f6b079e754cfe2c025c0 100644 (file)
@@ -1,5 +1,5 @@
 
 
@@ -108,11 +108,10 @@ COMMIT;
   Compatibility
   
   
-   The SQL2003 standard specifies that the keyword
-   SAVEPOINT is mandatory.
-   PostgreSQL allows the
-   SAVEPOINT 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 SAVEPOINT is
+   mandatory, but PostgreSQL allows it to
+   be omitted.
   
  
 
index f96baec39856075c30c8d603213daf4cc3c139a9..0b87dc1a6bb3ca01fd995f712f900665376294d8 100644 (file)
@@ -1,5 +1,5 @@
 
 
@@ -128,15 +128,14 @@ COMMIT;
   Compatibility
 
   
-   The SQL2003 standard specifies that the keyword
-   SAVEPOINT is mandatory.  PostgreSQL and
-   Oracle allow the SAVEPOINT
-   keyword to be omitted.  SQL2003 allows only WORK, not
-   TRANSACTION, as a noise word after
-   ROLLBACK.  Also, SQL2003 has an optional clause
+   The SQL:2003 standard specifies that the key word
+   SAVEPOINT is mandatory, but PostgreSQL
+   and Oracle allow it to be omitted.  SQL:2003 allows
+   only WORK, not TRANSACTION, as a noise word
+   after ROLLBACK.  Also, SQL:2003 has an optional clause
    AND [ NO ] CHAIN which is not currently supported by
-   PostgreSQL.  Otherwise, this command is fully
-   conforming.
+   PostgreSQL.  Otherwise, this command conforms to
+   the SQL standard.
   
  
 
index 5c6206a303e72e269eb93259b7b784977b6e6f72..06dd5594a0052d30cd97f1ab3558fea7e8167dbc 100644 (file)
@@ -1,5 +1,5 @@
 
 
@@ -1045,7 +1045,7 @@ SELECT distributors.* FROM distributors d, distributors distributors;
    Namespace Available to <literal>GROUP BY</literal> and <literal>ORDER BY</literal>
 
    
-    In the SQL92 standard, an ORDER BY clause may
+    In the SQL-92 standard, an ORDER BY clause may
     only use result column names or numbers, while a GROUP
     BY clause may only use expressions based on input column
     names.  PostgreSQL extends each of
@@ -1058,11 +1058,11 @@ SELECT distributors.* FROM distributors d, distributors distributors;
    
 
    
-    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, PostgreSQL
+    with SQL-92.  In most cases, however, PostgreSQL
     will interpret an ORDER BY or GROUP
-    BY expression the same way SQL99 does.
+    BY expression the same way SQL:1999 does.
    
   
 
index 70d7dc3c270ce19b9943651e3335e49afd9834e8..d16aa0693bc77157b1ec877f8471266487f873d6 100644 (file)
@@ -1,5 +1,5 @@
 
 
 
@@ -1514,13 +1514,13 @@ $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.312 2004/11/22 07:30:22 neilc E
       Change ln(), log(),
       power(), and sqrt() to emit the correct
       SQLSTATE error codes for certain error conditions, as
-      specified by SQL2003 (Neil)
+      specified by SQL:2003 (Neil)
      
     
 
     
      
-      Add width_bucket() function as defined by SQL2003 (Neil)
+      Add width_bucket() function as defined by SQL:2003 (Neil)
      
     
 
@@ -3706,7 +3706,7 @@ DROP SCHEMA information_schema CASCADE;
 
    
     
-     Make CREATE SEQUENCE grammar more conforming to SQL 2003 (Neil)
+     Make CREATE SEQUENCE grammar more conforming to SQL:2003 (Neil)
     
 
     
@@ -3781,7 +3781,7 @@ DROP SCHEMA information_schema CASCADE;
     
      
       Allow copying table schema using LIKE
-      subtable, also SQL 2003
+      subtable, also SQL:2003
       feature INCLUDING DEFAULTS (Rod)
      
     
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   statement  NO  
+B032   Extended dynamic SQL    01    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