]> granicus.if.org Git - postgresql/commitdiff
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