mirror of
https://github.com/postgres/postgres.git
synced 2025-05-06 19:59:18 +03:00
Update SQL features/conformance information to SQL:2016
This commit is contained in:
parent
eb3a1376c9
commit
037165ca95
@ -14,10 +14,10 @@
|
|||||||
<para>
|
<para>
|
||||||
The formal name of the SQL standard is ISO/IEC 9075 <quote>Database
|
The formal name of the SQL standard is ISO/IEC 9075 <quote>Database
|
||||||
Language SQL</quote>. A revised version of the standard is released
|
Language SQL</quote>. A revised version of the standard is released
|
||||||
from time to time; the most recent update appearing in 2011.
|
from time to time; the most recent update appearing in 2016.
|
||||||
The 2011 version is referred to as ISO/IEC 9075:2011, or simply as SQL:2011.
|
The 2016 version is referred to as ISO/IEC 9075:2016, or simply as SQL:2016.
|
||||||
The versions prior to that were SQL:2008, SQL:2006, SQL:2003, SQL:1999,
|
The versions prior to that were SQL:2011, SQL:2008, SQL:2006, SQL:2003,
|
||||||
and SQL-92. Each version
|
SQL:1999, and SQL-92. Each version
|
||||||
replaces the previous one, so claims of conformance to earlier
|
replaces the previous one, so claims of conformance to earlier
|
||||||
versions have no official merit.
|
versions have no official merit.
|
||||||
<productname>PostgreSQL</productname> development aims for
|
<productname>PostgreSQL</productname> development aims for
|
||||||
@ -79,18 +79,18 @@
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<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,
|
179 mandatory features required for full Core conformance,
|
||||||
PostgreSQL conforms to at least 160. In addition, there is a long
|
PostgreSQL conforms to at least 160. In addition, there is a long
|
||||||
list of supported optional features. It might be worth noting that at
|
list of supported optional features. It might be worth noting that at
|
||||||
the time of writing, no current version of any database management
|
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>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
In the following two sections, we provide a list of those features
|
In the following two sections, we provide a list of those features
|
||||||
that <productname>PostgreSQL</productname> supports, followed by a
|
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>.
|
are not yet supported in <productname>PostgreSQL</productname>.
|
||||||
Both of these lists are approximate: There might be minor details that
|
Both of these lists are approximate: There might be minor details that
|
||||||
are nonconforming for a feature that is listed as supported, and
|
are nonconforming for a feature that is listed as supported, and
|
||||||
@ -133,7 +133,7 @@
|
|||||||
<title>Unsupported Features</title>
|
<title>Unsupported Features</title>
|
||||||
|
|
||||||
<para>
|
<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
|
implemented in this release of
|
||||||
<productname>PostgreSQL</productname>. In a few cases, equivalent
|
<productname>PostgreSQL</productname>. In a few cases, equivalent
|
||||||
functionality is available.
|
functionality is available.
|
||||||
|
@ -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 ('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 ('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 ('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, '');
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -29,6 +29,16 @@ B125 Routine language MUMPS NO
|
|||||||
B126 Routine language Pascal NO
|
B126 Routine language Pascal NO
|
||||||
B127 Routine language PL/I NO
|
B127 Routine language PL/I NO
|
||||||
B128 Routine language SQL 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
|
B211 Module language Ada: VARCHAR and NUMERIC support NO
|
||||||
B221 Routine 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 YES
|
||||||
@ -254,6 +264,7 @@ F401 Extended joined table 02 FULL OUTER JOIN YES
|
|||||||
F401 Extended joined table 04 CROSS JOIN YES
|
F401 Extended joined table 04 CROSS JOIN YES
|
||||||
F402 Named column joins for LOBs, arrays, and multisets YES
|
F402 Named column joins for LOBs, arrays, and multisets YES
|
||||||
F403 Partitioned joined tables NO
|
F403 Partitioned joined tables NO
|
||||||
|
F404 Range variable for common column names NO
|
||||||
F411 Time zone specification YES differences regarding literal interpretation
|
F411 Time zone specification YES differences regarding literal interpretation
|
||||||
F421 National character YES
|
F421 National character YES
|
||||||
F431 Read-only scrollable cursors YES
|
F431 Read-only scrollable cursors YES
|
||||||
@ -291,6 +302,7 @@ F651 Catalog name qualifiers YES
|
|||||||
F661 Simple tables YES
|
F661 Simple tables YES
|
||||||
F671 Subqueries in CHECK NO intentionally omitted
|
F671 Subqueries in CHECK NO intentionally omitted
|
||||||
F672 Retrospective check constraints YES
|
F672 Retrospective check constraints YES
|
||||||
|
F673 Reads SQL-data routine invocations in CHECK constraints NO
|
||||||
F690 Collation support YES but no character set support
|
F690 Collation support YES but no character set support
|
||||||
F692 Extended collation support YES
|
F692 Extended collation support YES
|
||||||
F693 SQL-session and client module collations NO
|
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
|
F865 <offset row count> in <result offset clause> YES
|
||||||
F866 FETCH FIRST clause: PERCENT option NO
|
F866 FETCH FIRST clause: PERCENT option NO
|
||||||
F867 FETCH FIRST clause: WITH TIES 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 NO
|
||||||
S011 Distinct data types 01 USER_DEFINED_TYPES view NO
|
S011 Distinct data types 01 USER_DEFINED_TYPES view NO
|
||||||
S023 Basic structured types NO
|
S023 Basic structured types NO
|
||||||
@ -404,10 +419,10 @@ T042 Extended LOB data type support NO
|
|||||||
T043 Multiplier T NO
|
T043 Multiplier T NO
|
||||||
T044 Multiplier P NO
|
T044 Multiplier P NO
|
||||||
T051 Row types NO
|
T051 Row types NO
|
||||||
T052 MAX and MIN for row types NO
|
|
||||||
T053 Explicit aliases for all-fields reference NO
|
T053 Explicit aliases for all-fields reference NO
|
||||||
T061 UCS support NO
|
T061 UCS support NO
|
||||||
T071 BIGINT data type YES
|
T071 BIGINT data type YES
|
||||||
|
T076 DECFLOAT data type NO
|
||||||
T101 Enhanced nullability determination NO
|
T101 Enhanced nullability determination NO
|
||||||
T111 Updatable joins, unions, and columns NO
|
T111 Updatable joins, unions, and columns NO
|
||||||
T121 WITH (excluding RECURSIVE) in query expression YES
|
T121 WITH (excluding RECURSIVE) in query expression YES
|
||||||
@ -482,6 +497,9 @@ T502 Period predicates NO
|
|||||||
T511 Transaction counts NO
|
T511 Transaction counts NO
|
||||||
T521 Named arguments in CALL statement YES
|
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
|
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
|
T551 Optional key words for default syntax YES
|
||||||
T561 Holdable locators NO
|
T561 Holdable locators NO
|
||||||
T571 Array-returning external SQL-invoked functions 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
|
T619 Nested window functions NO
|
||||||
T620 WINDOW clause: GROUPS option YES
|
T620 WINDOW clause: GROUPS option YES
|
||||||
T621 Enhanced numeric functions 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
|
T631 IN predicate with one list element YES
|
||||||
T641 Multiple column assignment NO only some syntax variants supported
|
T641 Multiple column assignment NO only some syntax variants supported
|
||||||
T651 SQL-schema statements in SQL routines YES
|
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
|
T653 SQL-schema statements in external routines NO
|
||||||
T654 SQL-dynamic statements in external routines NO
|
T654 SQL-dynamic statements in external routines NO
|
||||||
T655 Cyclically dependent routines YES
|
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
|
M001 Datalinks NO
|
||||||
M002 Datalinks via SQL/CLI NO
|
M002 Datalinks via SQL/CLI NO
|
||||||
M003 Datalinks via Embedded SQL NO
|
M003 Datalinks via Embedded SQL NO
|
||||||
|
@ -53,6 +53,6 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/* yyyymmddN */
|
/* yyyymmddN */
|
||||||
#define CATALOG_VERSION_NO 201904281
|
#define CATALOG_VERSION_NO 201905141
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user