Commit 939ec9b8 authored by Peter Eisentraut's avatar Peter Eisentraut

Update SQL features/conformance information to SQL:2011

parent be6d1c88
......@@ -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.
......@@ -78,18 +78,18 @@
</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
......@@ -132,7 +132,7 @@
<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.
......
......@@ -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
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment