Update SQL features/conformance information to SQL:2016

This commit is contained in:
Peter Eisentraut 2019-05-14 14:56:58 +02:00
parent eb3a1376c9
commit 037165ca95
4 changed files with 56 additions and 11 deletions

View File

@ -14,10 +14,10 @@
<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
@ -79,18 +79,18 @@
</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
@ -133,7 +133,7 @@
<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.

View 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, '');
/*

View 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

View File

@ -53,6 +53,6 @@
*/
/* yyyymmddN */
#define CATALOG_VERSION_NO 201904281
#define CATALOG_VERSION_NO 201905141
#endif