Update SQL features/conformance information to SQL:2011
authorPeter Eisentraut <[email protected]>
Thu, 17 May 2012 06:50:04 +0000 (09:50 +0300)
committerPeter Eisentraut <[email protected]>
Thu, 17 May 2012 06:50:04 +0000 (09:50 +0300)
doc/src/sgml/features.sgml
src/backend/catalog/sql_features.txt

index 01d3ed91c57bc581f8ea5c8d869726ccec9af08c..6c22d698673feefc13dd1c908ba699ff0ffaeb65 100644 (file)
@@ -14,9 +14,9 @@
  <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 update appearing in 2008.
-  The 2008 version is referred to as ISO/IEC 9075:2008, or simply as SQL:2008.
-  The versions prior to that were SQL:2003, SQL:1999, and SQL-92.  Each version
+  from time to time; the most recent update appearing in 2011.
+  The 2011 version is referred to as ISO/IEC 9075:2011, or simply as SQL:2011.
+  The versions prior to that were SQL:2008, SQL:2003, 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
@@ -50,8 +50,8 @@
  </para>
 
  <para>
-  The <acronym>SQL:2008</acronym> and <acronym>SQL:2003</acronym>
-  standard versions are also split into a number
+  The standard versions beginning with <acronym>SQL:2003</acronym>
+  are also split into a number
   of parts.  Each is known by a shorthand name.  Note that these parts
   are not consecutively numbered.
 
  </para>
 
  <para>
-  PostgreSQL supports most of the major features of SQL:2008.  Out of
+  PostgreSQL supports most of the major features of SQL:2011.  Out of
   179 mandatory features required for full Core conformance,
   PostgreSQL conforms to at least 160.  In addition, there is a long
   list of supported optional features.  It might be worth noting that at
   the time of writing, no current version of any database management
-  system claims full conformance to Core SQL:2008.
+  system claims full conformance to Core SQL:2011.
  </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 <acronym>SQL:2008</acronym> which
+  list of the features defined in <acronym>SQL:2011</acronym> which
   are not yet supported in <productname>PostgreSQL</productname>.
   Both of these lists are approximate: There might be minor details that
   are nonconforming for a feature that is listed as supported, and
    <title>Unsupported Features</title>
 
    <para>
-    The following features defined in <acronym>SQL:2008</acronym> are not
+    The following features defined in <acronym>SQL:2011</acronym> are not
     implemented in this release of
     <productname>PostgreSQL</productname>. In a few cases, equivalent
     functionality is available.
index 71597f90a31790fccf35493b7a76bb2da73ee44e..cbe3cd1c15672a80fc99e6fd75586ca6a29698ab 100644 (file)
@@ -29,6 +29,8 @@ B125  Routine language MUMPS          NO
 B126   Routine language Pascal         NO  
 B127   Routine language PL/I           NO  
 B128   Routine language SQL            NO  
+B211   Module language Ada: VARCHAR and NUMERIC support            NO  
+B221   Routine language Ada: VARCHAR and NUMERIC support           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 
@@ -176,6 +178,7 @@ 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 
+F054   TIMESTAMP in DATE type precedence list          NO  
 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 
@@ -228,6 +231,7 @@ F311    Schema definition statement 04  CREATE VIEW: WITH CHECK OPTION  NO
 F311   Schema definition statement 05  GRANT statement YES 
 F312   MERGE statement         NO  
 F313   Enhanced MERGE statement            NO  
+F314   MERGE statement with DELETE branch          NO  
 F321   User authorization          YES 
 F341   Usage tables            NO  no ROUTINE_*_USAGE tables
 F361   Subprogram support          YES 
@@ -236,6 +240,10 @@ 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 
 F382   Alter column data type          YES 
+F383   Set column not null clause          YES 
+F384   Drop identity property clause           NO  
+F385   Drop column generation expression clause            NO  
+F386   Set identity column generation clause           NO  
 F391   Long identifiers            YES 
 F392   Unicode escapes in identifiers          YES 
 F393   Unicode escapes in literals         YES 
@@ -262,6 +270,7 @@ F461    Named character sets            NO
 F471   Scalar subquery values          YES 
 F481   Expanded NULL predicate         YES 
 F491   Constraint management           YES 
+F492   Optional table constraint enforcement           NO  
 F501   Features and conformance views          YES 
 F501   Features and conformance views  01  SQL_FEATURES view   YES 
 F501   Features and conformance views  02  SQL_SIZING view YES 
@@ -327,6 +336,8 @@ F862    <result offset clause> in subqueries            YES
 F863   Nested <result offset clause> in <query expression>         YES 
 F864   Top-level <result offset clause> in views           YES 
 F865   <offset row count> in <result offset clause>            YES 
+F866   FETCH FIRST clause: PERCENT option          NO  
+F867   FETCH FIRST clause: WITH TIES option            NO  
 S011   Distinct data types         NO  
 S011   Distinct data types 01  USER_DEFINED_TYPES view NO  
 S023   Basic structured types          NO  
@@ -414,6 +425,8 @@ T175    Generated columns           NO
 T176   Sequence generator support          NO  
 T177   Sequence generator support: simple restart option           NO  
 T178   Identity columns:  simple restart option            NO  
+T180   System-versioned tables         NO  
+T181   Application-time period tables          NO  
 T191   Referential action RESTRICT         YES 
 T201   Comparable data types for referential constraints           YES 
 T211   Basic trigger capability            NO  
@@ -445,13 +458,14 @@ T321  Basic SQL-invoked routines  04  CALL statement  NO
 T321   Basic SQL-invoked routines  05  RETURN statement    NO  
 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 
+T322   Declared data type attributes           NO  
 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         YES 
 T332   Extended roles          NO  mostly supported
+T341   Overloading of SQL-invoked functions and procedures         YES 
 T351   Bracketed SQL comments (/*...*/ comments)           YES 
 T431   Extended grouping capabilities          NO  
 T432   Nested and concatenated GROUPING SETS           NO  
@@ -460,9 +474,14 @@ T434   GROUP BY DISTINCT           NO
 T441   ABS and MOD functions           YES 
 T461   Symmetric BETWEEN predicate         YES 
 T471   Result sets return value            NO  
+T472   DESCRIBE CURSOR         NO  
 T491   LATERAL derived table           NO  
+T495   Combined data change and retrieval          NO  different syntax
 T501   Enhanced EXISTS predicate           YES 
+T502   Period predicates           NO  
 T511   Transaction counts          NO  
+T521   Named arguments in CALL statement           NO  
+T522   Default values for IN parameters of SQL-invoked procedures          NO  
 T541   Updatable table references          NO  
 T551   Optional key words for default syntax           YES 
 T561   Holdable locators           NO  
@@ -479,6 +498,8 @@ T615    LEAD and LAG functions          YES
 T616   Null treatment option for LEAD and LAG functions            NO  
 T617   FIRST_VALUE and LAST_VALUE function         YES 
 T618   NTH_VALUE function          NO  function exists, but some options missing
+T619   Nested window functions         NO  
+T620   WINDOW clause: GROUPS option            NO  
 T621   Enhanced numeric functions          YES 
 T631   IN predicate with one list element          YES 
 T641   Multiple column assignment          NO  only some syntax variants supported
@@ -648,3 +669,4 @@ X303    XMLTable: column default option         NO
 X304   XMLTable: passing a context item            NO  
 X305   XMLTable: initializing an XQuery variable           NO  
 X400   Name and identifier mapping         YES 
+X410   Alter column data type: XML type            YES