Update SQL features/conformance information to SQL:2016
authorPeter Eisentraut <peter@eisentraut.org>
Tue, 14 May 2019 12:56:58 +0000 (14:56 +0200)
committerPeter Eisentraut <peter@eisentraut.org>
Tue, 14 May 2019 13:44:37 +0000 (15:44 +0200)
doc/src/sgml/features.sgml
src/backend/catalog/information_schema.sql
src/backend/catalog/sql_features.txt
src/include/catalog/catversion.h

index d6fa2c0c724ba09465f9d03db31dbe64c145fadb..e54d8a6da789dd3f31eabe9e76273b21d7ee906c 100644 (file)
  <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 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:2006, SQL:2003, SQL:1999,
-  and SQL-92.  Each version
+  from time to time; the most recent update appearing in 2016.
+  The 2016 version is referred to as ISO/IEC 9075:2016, or simply as SQL:2016.
+  The versions prior to that were SQL:2011, SQL:2008, SQL:2006, 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
  </para>
 
  <para>
-  PostgreSQL supports most of the major features of SQL:2011.  Out of
+  PostgreSQL supports most of the major features of SQL:2016.  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:2011.
+  system claims full conformance to Core SQL:2016.
  </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:2011</acronym> which
+  list of the features defined in <acronym>SQL:2016</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:2011</acronym> are not
+    The following features defined in <acronym>SQL:2016</acronym> are not
     implemented in this release of
     <productname>PostgreSQL</productname>. In a few cases, equivalent
     functionality is available.
index ecc7b717dcc9c36f1cae27c81e2e1888dd492d52..9c21ac7c6290b7bed32388466f8a8ee2aede3dae 100644 (file)
@@ -1723,7 +1723,7 @@ INSERT INTO sql_parts VALUES ('9', 'Management of External Data (SQL/MED)', 'NO'
 INSERT INTO sql_parts VALUES ('10', 'Object Language Bindings (SQL/OLB)', 'NO', NULL, '');
 INSERT INTO sql_parts VALUES ('11', 'Information and Definition Schema (SQL/Schemata)', 'NO', NULL, '');
 INSERT INTO sql_parts VALUES ('13', 'Routines and Types Using the Java Programming Language (SQL/JRT)', 'NO', NULL, '');
-INSERT INTO sql_parts VALUES ('14', 'XML-Related Specifications (SQL/XML)', 'YES', NULL, '');
+INSERT INTO sql_parts VALUES ('14', 'XML-Related Specifications (SQL/XML)', 'NO', NULL, '');
 
 
 /*
index f0e0fa2944b3f7dd785cd3313fed7389ef71ee99..68da18b3bcad711f6aff712e8257c27902e20e95 100644 (file)
@@ -29,6 +29,16 @@ B125 Routine language MUMPS          NO
 B126   Routine language Pascal         NO  
 B127   Routine language PL/I           NO  
 B128   Routine language SQL            NO  
+B200   Polymorphic table functions         NO  
+B201   More than one PTF generic table parameter           NO  
+B202   PTF Copartitioning          NO  
+B203   More than one copartition specification         NO  
+B204   PRUNE WHEN EMPTY            NO  
+B205   Pass-through columns            NO  
+B206   PTF descriptor parameters           NO  
+B207   Cross products of partitionings         NO  
+B208   PTF component procedure interface           NO  
+B209   PTF extended names          NO  
 B211   Module language Ada: VARCHAR and NUMERIC support            NO  
 B221   Routine language Ada: VARCHAR and NUMERIC support           NO  
 E011   Numeric data types          YES 
@@ -254,6 +264,7 @@ F401    Extended joined table   02  FULL OUTER JOIN YES
 F401   Extended joined table   04  CROSS JOIN  YES 
 F402   Named column joins for LOBs, arrays, and multisets          YES 
 F403   Partitioned joined tables           NO  
+F404   Range variable for common column names          NO  
 F411   Time zone specification         YES differences regarding literal interpretation
 F421   National character          YES 
 F431   Read-only scrollable cursors            YES 
@@ -291,6 +302,7 @@ F651    Catalog name qualifiers         YES
 F661   Simple tables           YES 
 F671   Subqueries in CHECK         NO  intentionally omitted
 F672   Retrospective check constraints         YES 
+F673   Reads SQL-data routine invocations in CHECK constraints         NO  
 F690   Collation support           YES but no character set support
 F692   Extended collation support          YES 
 F693   SQL-session and client module collations            NO  
@@ -338,6 +350,9 @@ 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  
+R010   Row pattern recognition: FROM clause            NO  
+R020   Row pattern recognition: WINDOW clause          NO  
+R030   Row pattern recognition: full aggregate support         NO  
 S011   Distinct data types         NO  
 S011   Distinct data types 01  USER_DEFINED_TYPES view NO  
 S023   Basic structured types          NO  
@@ -404,10 +419,10 @@ T042  Extended LOB data type support          NO
 T043   Multiplier T            NO  
 T044   Multiplier P            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 
+T076   DECFLOAT data type          NO  
 T101   Enhanced nullability determination          NO  
 T111   Updatable joins, unions, and columns            NO  
 T121   WITH (excluding RECURSIVE) in query expression          YES 
@@ -482,6 +497,9 @@ T502    Period predicates           NO
 T511   Transaction counts          NO  
 T521   Named arguments in CALL statement           YES 
 T522   Default values for IN parameters of SQL-invoked procedures          NO  supported except DEFAULT key word in invocation
+T523   Default values for INOUT parameters of SQL-invoked procedures           YES 
+T524   Named arguments in routine invocations other than a CALL statement          YES 
+T525   Default values for parameters of SQL-invoked functions          YES 
 T551   Optional key words for default syntax           YES 
 T561   Holdable locators           NO  
 T571   Array-returning external SQL-invoked functions          NO  
@@ -500,6 +518,10 @@ T618   NTH_VALUE function          NO  function exists, but some options missing
 T619   Nested window functions         NO  
 T620   WINDOW clause: GROUPS option            YES 
 T621   Enhanced numeric functions          YES 
+T622   Trigonometric functions         YES 
+T623   General logarithm functions         YES 
+T624   Common logarithm functions          YES 
+T625   LISTAGG         NO  
 T631   IN predicate with one list element          YES 
 T641   Multiple column assignment          NO  only some syntax variants supported
 T651   SQL-schema statements in SQL routines           YES 
@@ -507,6 +529,29 @@ 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           YES 
+T811   Basic SQL/JSON constructor functions            NO  
+T812   SQL/JSON: JSON_OBJECTAGG            NO  
+T813   SQL/JSON: JSON_ARRAYAGG with ORDER BY           NO  
+T814   Colon in JSON_OBJECT or JSON_OBJECTAGG          NO  
+T821   Basic SQL/JSON query operators          NO  
+T822   SQL/JSON: IS JSON WITH UNIQUE KEYS predicate            NO  
+T823   SQL/JSON: PASSING clause            NO  
+T824   JSON_TABLE: specific PLAN clause            NO  
+T825   SQL/JSON: ON EMPTY and ON ERROR clauses         NO  
+T826   General value expression in ON ERROR or ON EMPTY clauses            NO  
+T827   JSON_TABLE: sibling NESTED COLUMNS clauses          NO  
+T828   JSON_QUERY          NO  
+T829   JSON_QUERY: array wrapper options           NO  
+T830   Enforcing unique keys in SQL/JSON constructor functions         NO  
+T831   SQL/JSON path language: strict mode         NO  
+T832   SQL/JSON path language: item method         NO  
+T833   SQL/JSON path language: multiple subscripts         NO  
+T834   SQL/JSON path language: wildcard member accessor            NO  
+T835   SQL/JSON path language: filter expressions          NO  
+T836   SQL/JSON path language: starts with predicate           NO  
+T837   SQL/JSON path language: regex_like predicate            NO  
+T838   JSON_TABLE: PLAN DEFAULT clause         NO  
+T839   Formatted cast of datetimes to/from character strings           NO  
 M001   Datalinks           NO  
 M002   Datalinks via SQL/CLI           NO  
 M003   Datalinks via Embedded SQL          NO  
index ac5d579b31a7202c4f1dc0009bda56a550f423b7..c5c06163aa3594ff2f28a17b801ca04fa8d0ed9e 100644 (file)
@@ -53,6 +53,6 @@
  */
 
 /*                         yyyymmddN */
-#define CATALOG_VERSION_NO 201904281
+#define CATALOG_VERSION_NO 201905141
 
 #endif