mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-27 08:39:28 +08:00
Update feature list for SQL:2008.
This commit is contained in:
parent
af59a0650b
commit
123c8efd89
@ -1,4 +1,4 @@
|
||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/features.sgml,v 2.27 2007/02/03 17:59:35 petere Exp $ -->
|
||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/features.sgml,v 2.28 2008/10/18 00:35:32 petere Exp $ -->
|
||||
|
||||
<appendix id="features">
|
||||
<title>SQL Conformance</title>
|
||||
@ -14,10 +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 full update appearing in 2003,
|
||||
with a partial update appearing in 2006. The 2003 version is
|
||||
referred to as ISO/IEC 9075:2003, or simply as SQL:2003. The
|
||||
versions prior to that were SQL:1999 and SQL-92. Each version
|
||||
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
|
||||
replaces the previous one, so claims of conformance to earlier
|
||||
versions have no official merit.
|
||||
<productname>PostgreSQL</productname> development aims for
|
||||
@ -53,7 +52,8 @@
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The <acronym>SQL:2003</acronym> standard is also split into a number
|
||||
The <acronym>SQL:2008</acronym> and <acronym>SQL:2003</acronym>
|
||||
standard versions are also split into a number
|
||||
of parts. Each is known by a shorthand name. Note that these parts
|
||||
are not consecutively numbered.
|
||||
|
||||
@ -79,18 +79,18 @@
|
||||
</para>
|
||||
|
||||
<para>
|
||||
PostgreSQL supports most of the major features of SQL:2003. Out of
|
||||
164 mandatory features required for full Core conformance,
|
||||
PostgreSQL conforms to at least 150. In addition, there is a long
|
||||
PostgreSQL supports most of the major features of SQL:2008. 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:2003.
|
||||
system claims full conformance to Core SQL:2008.
|
||||
</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:2003</acronym> which
|
||||
list of the features defined in <acronym>SQL:2008</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:2003</acronym> are not
|
||||
The following features defined in <acronym>SQL:2008</acronym> are not
|
||||
implemented in this release of
|
||||
<productname>PostgreSQL</productname>. In a few cases, equivalent
|
||||
functionality is available.
|
||||
|
@ -1,6 +1,6 @@
|
||||
# /usr/bin/perl -w
|
||||
|
||||
# $PostgreSQL: pgsql/doc/src/sgml/mk_feature_tables.pl,v 2.2 2006/03/11 04:38:30 momjian Exp $
|
||||
# $PostgreSQL: pgsql/doc/src/sgml/mk_feature_tables.pl,v 2.3 2008/10/18 00:35:32 petere Exp $
|
||||
|
||||
my $yesno = $ARGV[0];
|
||||
|
||||
@ -30,6 +30,8 @@ while (<FEAT>) {
|
||||
|
||||
$is_supported eq $yesno || next;
|
||||
|
||||
$feature_name =~ s/</</g;
|
||||
$feature_name =~ s/>/>/g;
|
||||
$subfeature_name =~ s/</</g;
|
||||
$subfeature_name =~ s/>/>/g;
|
||||
|
||||
|
@ -11,6 +11,7 @@ B032 Extended dynamic SQL NO
|
||||
B032 Extended dynamic SQL 01 <describe input statement> NO
|
||||
B033 Untyped SQL-invoked function arguments NO
|
||||
B034 Dynamic specification of cursor attributes NO
|
||||
B035 Non-extended descriptor names NO
|
||||
B041 Extensions to embedded SQL exception declarations NO
|
||||
B051 Enhanced execution rights NO
|
||||
B111 Module language Ada NO
|
||||
@ -106,13 +107,13 @@ E101 Basic data manipulation 01 INSERT statement YES
|
||||
E101 Basic data manipulation 03 Searched UPDATE statement YES
|
||||
E101 Basic data manipulation 04 Searched DELETE statement YES
|
||||
E111 Single row SELECT statement YES
|
||||
E121 Basic cursor support NO
|
||||
E121 Basic cursor support YES
|
||||
E121 Basic cursor support 01 DECLARE CURSOR YES
|
||||
E121 Basic cursor support 02 ORDER BY columns need not be in select list YES
|
||||
E121 Basic cursor support 03 Value expressions in ORDER BY clause YES
|
||||
E121 Basic cursor support 04 OPEN statement YES
|
||||
E121 Basic cursor support 06 Positioned UPDATE statement NO
|
||||
E121 Basic cursor support 07 Positioned DELETE statement NO
|
||||
E121 Basic cursor support 06 Positioned UPDATE statement YES
|
||||
E121 Basic cursor support 07 Positioned DELETE statement YES
|
||||
E121 Basic cursor support 08 CLOSE statement YES
|
||||
E121 Basic cursor support 10 FETCH statement implicit NEXT YES
|
||||
E121 Basic cursor support 17 WITH HOLD cursors YES
|
||||
@ -184,6 +185,8 @@ F111 Isolation levels other than SERIALIZABLE 03 REPEATABLE READ isolation level
|
||||
F121 Basic diagnostics management NO
|
||||
F121 Basic diagnostics management 01 GET DIAGNOSTICS statement NO
|
||||
F121 Basic diagnostics management 02 SET TRANSACTION statement: DIAGNOSTICS SIZE clause NO
|
||||
F122 Enhanced diagnostics management NO
|
||||
F123 All diagnostics NO
|
||||
F131 Grouped operations YES
|
||||
F131 Grouped operations 01 WHERE, GROUP BY, and HAVING clauses supported in queries with grouped views YES
|
||||
F131 Grouped operations 02 Multiple tables supported in queries with grouped views YES
|
||||
@ -193,7 +196,9 @@ F131 Grouped operations 05 Single row SELECT with GROUP BY and HAVING clauses an
|
||||
F171 Multiple schemas per user YES
|
||||
F181 Multiple module support NO
|
||||
F191 Referential delete actions YES
|
||||
F200 TRUNCATE TABLE statement YES
|
||||
F201 CAST function YES
|
||||
F202 TRUNCATE TABLE: identity column restart option NO
|
||||
F221 Explicit defaults YES
|
||||
F222 INSERT statement: DEFAULT VALUES clause YES
|
||||
F231 Privilege tables YES
|
||||
@ -223,6 +228,7 @@ F311 Schema definition statement 03 CREATE VIEW YES
|
||||
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
|
||||
F321 User authorization YES
|
||||
F341 Usage tables NO
|
||||
F361 Subprogram support YES
|
||||
@ -230,14 +236,17 @@ F381 Extended schema manipulation YES
|
||||
F381 Extended schema manipulation 01 ALTER TABLE statement: ALTER COLUMN clause YES
|
||||
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 NO PostgreSQL syntax differs
|
||||
F391 Long identifiers YES
|
||||
F392 Unicode escapes in identifiers NO
|
||||
F393 Unicode escapes in literals NO
|
||||
F394 Optional normal form specification NO
|
||||
F401 Extended joined table YES
|
||||
F401 Extended joined table 01 NATURAL JOIN YES
|
||||
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 NO
|
||||
F403 Partitioned joined tables NO
|
||||
F411 Time zone specification YES differences regarding literal interpretation
|
||||
F421 National character YES
|
||||
F431 Read-only scrollable cursors YES
|
||||
@ -274,7 +283,7 @@ F651 Catalog name qualifiers YES
|
||||
F661 Simple tables NO
|
||||
F671 Subqueries in CHECK NO intentionally omitted
|
||||
F672 Retrospective check constraints YES
|
||||
F691 Collation and translation NO
|
||||
F690 Collation support NO
|
||||
F692 Enhanced collation support NO
|
||||
F693 SQL-session and client module collations NO
|
||||
F695 Translation support NO
|
||||
@ -286,17 +295,39 @@ F731 INSERT column privileges NO
|
||||
F741 Referential MATCH types NO no partial match yet
|
||||
F751 View CHECK enhancements NO
|
||||
F761 Session management YES
|
||||
F762 CURRENT_CATALOG NO same as current_database()
|
||||
F763 CURRENT_SCHEMA NO same as current_schema()
|
||||
F771 Connection management YES
|
||||
F781 Self-referencing operations YES
|
||||
F791 Insensitive cursors YES
|
||||
F801 Full set function YES
|
||||
F811 Extended flagging NO
|
||||
F812 Basic flagging NO
|
||||
F813 Extended flagging NO
|
||||
F821 Local table references NO
|
||||
F831 Full cursor update NO
|
||||
F831 Full cursor update 01 Updatable scrollable cursors NO
|
||||
F831 Full cursor update 02 Updatable ordered cursors NO
|
||||
F841 LIKE_REGEX predicate NO
|
||||
F842 OCCURENCES_REGEX function NO
|
||||
F843 POSITION_REGEX function NO
|
||||
F844 SUBSTRING_REGEX function NO
|
||||
F845 TRANSLATE_REGEX function NO
|
||||
F846 Octet support in regular expression operators NO
|
||||
F847 Nonconstant regular expressions NO
|
||||
F850 Top-level <order by clause> in <query expression> YES
|
||||
F851 <order by clause> in subqueries YES
|
||||
F852 Top-level <order by clause> in views YES
|
||||
F855 Nested <order by clause> in <query expression> YES
|
||||
F856 Nested <fetch first clause> in <query expression> YES
|
||||
F857 Top-level <fetch first clause> in <query expression> NO same as LIMIT
|
||||
F858 <fetch first clause> in subqueries NO same as LIMIT
|
||||
F859 Top-level <fetch first clause> in views NO same as LIMIT
|
||||
F860 <fetch first row count> in <fetch first clause> NO same as LIMIT
|
||||
F861 Top-level <result offset clause> in <query expression> NO same as OFFSET
|
||||
F862 <result offset clause> in subqueries NO same as OFFSET
|
||||
F863 Nested <result offset clause> in <query expression> NO same as OFFSET
|
||||
F864 Top-level <result offset clause> in views NO same as OFFSET
|
||||
F865 <offset row count> in <result offset clause> NO same as OFFSET
|
||||
S011 Distinct data types NO
|
||||
S011 Distinct data types 01 USER_DEFINED_TYPES view NO
|
||||
S023 Basic structured types NO
|
||||
@ -319,6 +350,7 @@ S094 Arrays of reference types NO
|
||||
S095 Array constructors by query NO
|
||||
S096 Optional array bounds NO
|
||||
S097 Array element assignment NO
|
||||
S098 ARRAY_AGG NO
|
||||
S111 ONLY in query expressions YES
|
||||
S151 Type predicate NO
|
||||
S161 Subtype treatment NO
|
||||
@ -341,7 +373,16 @@ S274 Multisets of reference types NO
|
||||
S275 Advanced multiset support NO
|
||||
S281 Nested collection types NO
|
||||
S291 Unique constraint on entire row NO
|
||||
S301 Enhanced UNNEST NO
|
||||
S401 Distinct types based on array types NO
|
||||
S402 Distinct types based on distinct types NO
|
||||
S403 MAX_CARDINALITY NO
|
||||
S404 TRIM_ARRAY NO
|
||||
T011 Timestamp in Information Schema NO
|
||||
T021 BINARY and VARBINARY data types NO
|
||||
T022 Advanced support for BINARY and VARBINARY data types NO
|
||||
T023 Compound binary literal NO
|
||||
T024 Spaces in binary literals NO
|
||||
T031 BOOLEAN data type YES
|
||||
T041 Basic LOB data type support NO
|
||||
T041 Basic LOB data type support 01 BLOB data type NO
|
||||
@ -350,11 +391,14 @@ T041 Basic LOB data type support 03 POSITION, LENGTH, LOWER, TRIM, UPPER, and SU
|
||||
T041 Basic LOB data type support 04 Concatenation of LOB data types NO
|
||||
T041 Basic LOB data type support 05 LOB locator: non-holdable NO
|
||||
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
|
||||
T101 Enhanced nullability determiniation NO
|
||||
T111 Updatable joins, unions, and columns NO
|
||||
T121 WITH (excluding RECURSIVE) in query expression NO
|
||||
T122 WITH (excluding RECURSIVE) in subquery NO
|
||||
@ -369,6 +413,8 @@ T173 Extended LIKE clause in table definition NO
|
||||
T174 Identity columns NO
|
||||
T175 Generated columns NO
|
||||
T176 Sequence generator support NO
|
||||
T177 Sequence generator support: simple restart option NO
|
||||
T178 Identity columns: simple restart option NO
|
||||
T191 Referential action RESTRICT YES
|
||||
T201 Comparable data types for referential constraints YES
|
||||
T211 Basic trigger capability NO
|
||||
@ -381,6 +427,7 @@ T211 Basic trigger capability 06 Support for run-time rules for the interaction
|
||||
T211 Basic trigger capability 07 TRIGGER privilege YES
|
||||
T211 Basic trigger capability 08 Multiple triggers for the same event are executed in the order in which they were created in the catalog NO intentionally omitted
|
||||
T212 Enhanced trigger capability YES
|
||||
T213 INSTEAD OF triggers NO
|
||||
T231 Sensitive cursors YES
|
||||
T241 START TRANSACTION statement YES
|
||||
T251 SET TRANSACTION statement: LOCAL option NO
|
||||
@ -388,6 +435,7 @@ T261 Chained transactions NO
|
||||
T271 Savepoints YES
|
||||
T272 Enhanced savepoint management NO
|
||||
T281 SELECT privilege with column granularity NO
|
||||
T285 Enhanced derived column names NO
|
||||
T301 Functional dependencies NO
|
||||
T312 OVERLAY function YES
|
||||
T321 Basic SQL-invoked routines NO
|
||||
@ -429,6 +477,11 @@ T601 Local cursor references NO
|
||||
T611 Elementary OLAP operations NO
|
||||
T612 Advanced OLAP operations NO
|
||||
T613 Sampling NO
|
||||
T614 NTILE function NO
|
||||
T615 LEAD and LAG functions NO
|
||||
T616 Null treatment option for LEAD and LAG functions NO
|
||||
T617 FIRST_VALUE and LAST_VALUE function NO
|
||||
T618 NTH_VALUE function NO
|
||||
T621 Enhanced numeric functions NO
|
||||
T631 IN predicate with one list element NO
|
||||
T641 Multiple column assignment NO
|
||||
@ -444,14 +497,17 @@ X013 Distinct types of XML type NO
|
||||
X014 Attributes of XML type NO
|
||||
X015 Fields of XML type NO
|
||||
X016 Persistent XML values YES
|
||||
X020 XML concatenation YES
|
||||
X020 XMLConcat YES
|
||||
X025 XMLCast NO
|
||||
X030 XMLDocument NO
|
||||
X031 XMLElement YES
|
||||
X032 XMLForest YES
|
||||
X033 XMLRoot YES
|
||||
X034 XMLAgg YES
|
||||
X035 XMLAgg: ORDER BY option NO
|
||||
X036 XMLComment YES
|
||||
X037 XMLPI YES
|
||||
X038 XMLText NO
|
||||
X040 Basic table mapping NO
|
||||
X041 Basic table mapping: nulls absent YES
|
||||
X042 Basic table mapping: null as nil YES
|
||||
X043 Basic table mapping: table as forest YES
|
||||
@ -470,21 +526,38 @@ X056 Advanced table mapping: data mapping YES
|
||||
X057 Advanced table mapping: metadata mapping YES
|
||||
X058 Advanced table mapping: base64 encoding of binary strings YES
|
||||
X059 Advanced table mapping: hex encoding of binary strings YES
|
||||
X060 XMLParse: CONTENT option YES
|
||||
X061 XMLParse: DOCUMENT option YES
|
||||
X062 XMLParse: explicit WHITESPACE option YES
|
||||
X070 XMLSerialize: CONTENT option YES
|
||||
X071 XMLSerialize: DOCUMENT option YES
|
||||
X060 XMLParse: Character string input and CONTENT option YES
|
||||
X061 XMLParse: Character string input and DOCUMENT option YES
|
||||
X065 XMLParse: BLOB input and CONTENT option NO
|
||||
X066 XMLParse: BLOB input and DOCUMENT option NO
|
||||
X068 XMLSerialize: BOM NO
|
||||
X069 XMLSerialize: INDENT NO
|
||||
X070 XMLSerialize: Character string serialization and CONTENT option YES
|
||||
X071 XMLSerialize: Character string serialization and DOCUMENT option YES
|
||||
X072 XMLSerialize: Character string serialization YES
|
||||
X073 XMLSerialize: BLOB serialization and CONTENT option NO
|
||||
X074 XMLSerialize: BLOB serialization and DOCUMENT option NO
|
||||
X075 XMLSerialize: BLOB serialization NO
|
||||
X076 XMLSerialize: VERSION NO
|
||||
X077 XMLSerialize: explicit ENCODING option NO
|
||||
X078 XMLSerialize: explicit XML declaration NO
|
||||
X080 Namespaces in XML publishing NO
|
||||
X081 Query-level XML namespace declarations NO
|
||||
X082 XML namespace declarations in DML NO
|
||||
X083 XML namespace declarations in DDL NO
|
||||
X084 XML namespace declarations in compound statements NO
|
||||
X085 Predefined namespace prefixes NO
|
||||
X086 XML namespace declarations in XMLTable
|
||||
X090 XML document predicate YES
|
||||
X091 XML content predicate NO
|
||||
X096 XMLExists NO
|
||||
X100 Host language support for XML: CONTENT option NO
|
||||
X101 Host language support for XML: DOCUMENT option NO
|
||||
X110 Host language support for XML: VARCHAR mapping NO
|
||||
X111 Host language support for XML: CLOB mapping NO
|
||||
X112 Host language support for XML: BLOB mapping NO
|
||||
X113 Host language support for XML: STRIP WHITESPACE option NO
|
||||
X114 Host language support for XML: PRESERVE WHITESPACE option NO
|
||||
X120 XML parameters in SQL routines YES
|
||||
X121 XML parameters in external routines YES
|
||||
X131 Query-level XMLBINARY clause NO
|
||||
@ -492,3 +565,63 @@ X132 XMLBINARY clause in DML NO
|
||||
X133 XMLBINARY clause in DDL NO
|
||||
X134 XMLBINARY clause in compound statements NO
|
||||
X135 XMLBINARY clause in subqueries NO
|
||||
X141 IS VALID predicate: data-driven case NO
|
||||
X142 IS VALID predicate: ACCORDING TO clause NO
|
||||
X143 IS VALID predicate: ELEMENT clause NO
|
||||
X144 IS VALID predicate: schema location NO
|
||||
X145 IS VALID predicate outside check constraints NO
|
||||
X151 IS VALID predicate with DOCUMENT option NO
|
||||
X152 IS VALID predicate with CONTENT option NO
|
||||
X153 IS VALID predicate with SEQUENCE option NO
|
||||
X155 IS VALID predicate: NAMESPACE without ELEMENT clause NO
|
||||
X157 IS VALID predicate: NO NAMESPACE with ELEMENT clause NO
|
||||
X160 Basic Information Schema for registered XML Schemas NO
|
||||
X161 Advanced Information Schema for registered XML Schemas NO
|
||||
X170 XML null handling options NO
|
||||
X171 NIL ON NO CONTENT option NO
|
||||
X181 XML(DOCUMENT(UNTYPED)) type NO
|
||||
X182 XML(DOCUMENT(ANY)) type NO
|
||||
X190 XML(SEQUENCE) type NO
|
||||
X191 XML(DOCUMENT(XMLSCHEMA)) type NO
|
||||
X192 XML(CONTENT(XMLSCHEMA)) type NO
|
||||
X200 XMLQuery NO
|
||||
X201 XMLQuery: RETURNING CONTENT NO
|
||||
X202 XMLQuery: RETURNING SEQUENCE NO
|
||||
X203 XMLQuery: passing a context item NO
|
||||
X204 XMLQuery: initializing an XQuery variable NO
|
||||
X205 XMLQuery: EMPTY ON EMPTY option NO
|
||||
X206 XMLQuery: NULL ON EMPTY option NO
|
||||
X211 XML 1.1 support NO
|
||||
X221 XML passing mechanism BY VALUE NO
|
||||
X222 XML passing mechanism BY REF NO
|
||||
X231 XML(CONTENT(UNTYPED)) type NO
|
||||
X232 XML(CONTENT(ANY)) type NO
|
||||
X241 RETURNING CONTENT in XML publishing NO
|
||||
X242 RETURNING SEQUENCE in XML publishing NO
|
||||
X251 Persistent XML values of XML(DOCUMENT(UNTYPED)) type NO
|
||||
X252 Persistent XML values of XML(DOCUMENT(ANY)) type NO
|
||||
X253 Persistent XML values of XML(CONTENT(UNTYPED)) type NO
|
||||
X254 Persistent XML values of XML(CONTENT(ANY)) type NO
|
||||
X255 Persistent XML values of XML(SEQUENCE) type NO
|
||||
X256 Persistent XML values of XML(DOCUMENT(XMLSCHEMA)) type NO
|
||||
X257 Persistent XML values of XML(CONTENT(XMLSCHEMA)) type NO
|
||||
X260 XML type: ELEMENT clause NO
|
||||
X261 XML type: NAMESPACE without ELEMENT clause NO
|
||||
X263 XML type: NO NAMESPACE with ELEMENT clause NO
|
||||
X264 XML type: schema location NO
|
||||
X271 XMLValidate: data-driven case NO
|
||||
X272 XMLValidate: ACCORDING TO clause NO
|
||||
X273 XMLValidate: ELEMENT clause NO
|
||||
X274 XMLValidate: schema location NO
|
||||
X281 XMLValidate: with DOCUMENT option NO
|
||||
X282 XMLValidate with CONTENT option NO
|
||||
X283 XMLValidate with SEQUENCE option NO
|
||||
X284 XMLValidate NAMESPACE without ELEMENT clause NO
|
||||
X286 XMLValidate: NO NAMESPACE with ELEMENT clause NO
|
||||
X300 XMLTable NO
|
||||
X301 XMLTable: derived column list option NO
|
||||
X302 XMLTable: ordinality column option NO
|
||||
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 NO
|
||||
|
Loading…
Reference in New Issue
Block a user