aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/src/sgml/features.sgml925
1 files changed, 479 insertions, 446 deletions
diff --git a/doc/src/sgml/features.sgml b/doc/src/sgml/features.sgml
index f69c4c3b5ff..b023225a158 100644
--- a/doc/src/sgml/features.sgml
+++ b/doc/src/sgml/features.sgml
@@ -1,5 +1,5 @@
<!--
-$Header: /cvsroot/pgsql/doc/src/sgml/features.sgml,v 2.1 2002/06/15 02:59:55 thomas Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/features.sgml,v 2.2 2002/06/19 06:11:36 thomas Exp $
-->
<appendix id="features">
@@ -13,17 +13,19 @@ $Header: /cvsroot/pgsql/doc/src/sgml/features.sgml,v 2.1 2002/06/15 02:59:55 tho
compliance: basic, intermediate, and advanced. Most database
products claiming <acronym>SQL</acronym> standards compliance were
compliant at only the basic level, since the entire set of
- intermediate and advanced features was either to voluminous or in
+ intermediate and advanced features was either too voluminous or in
conflict with legacy behaviors.
</para>
<para>
<acronym>SQL99</acronym> defines a large set of individual
features rather than the ineffectively broad three levels found in
- <acronym>SQL92</acronym>. We list the entire set of features
- defined in the standard, with comments on those features not yet
- implemented in <productname>PostgreSQL</productname>.
+ <acronym>SQL92</acronym>. We provide a list of supported features,
+ followed by a list of the features defined in SQL99 which are not
+ yet supported in PostgreSQL.
+ </para>
+ <para>
<informaltable>
<tgroup cols="3">
<thead>
@@ -326,21 +328,11 @@ $Header: /cvsroot/pgsql/doc/src/sgml/features.sgml,v 2.1 2002/06/15 02:59:55 tho
<entry></entry>
</row>
<row>
- <entry>E081-05</entry>
- <entry>UPDATE privilege at the column level</entry>
- <entry></entry>
- </row>
- <row>
<entry>E081-06</entry>
<entry>REFERENCES privilege at the table level</entry>
<entry></entry>
</row>
<row>
- <entry>E081-07</entry>
- <entry>REFERENCES privilege at the column level</entry>
- <entry></entry>
- </row>
- <row>
<entry>E081-08</entry>
<entry>WITH GRANT OPTION</entry>
<entry></entry>
@@ -433,22 +425,22 @@ $Header: /cvsroot/pgsql/doc/src/sgml/features.sgml,v 2.1 2002/06/15 02:59:55 tho
<row>
<entry>E121-04</entry>
<entry>OPEN statement</entry>
- <entry></entry>
+ <entry>(cursor)</entry>
</row>
<row>
<entry>E121-06</entry>
<entry>Positioned UPDATE statement</entry>
- <entry></entry>
+ <entry>(cursor)</entry>
</row>
<row>
<entry>E121-07</entry>
<entry>Positioned DELETE statement</entry>
- <entry></entry>
+ <entry>(cursor)</entry>
</row>
<row>
<entry>E121-08</entry>
<entry>CLOSE statement</entry>
- <entry></entry>
+ <entry>(cursor)</entry>
</row>
<row>
<entry>E121-10</entry>
@@ -456,11 +448,6 @@ $Header: /cvsroot/pgsql/doc/src/sgml/features.sgml,v 2.1 2002/06/15 02:59:55 tho
<entry></entry>
</row>
<row>
- <entry>E121-17</entry>
- <entry>WITH HOLD cursors</entry>
- <entry></entry>
- </row>
- <row>
<entry>E131</entry>
<entry>Null value support (nulls in lieu of values)</entry>
<entry></entry>
@@ -539,11 +526,6 @@ $Header: /cvsroot/pgsql/doc/src/sgml/features.sgml,v 2.1 2002/06/15 02:59:55 tho
<entry></entry>
</row>
<row>
- <entry>E152-02</entry>
- <entry>SET TRANSACTION statement: READ ONLY and READ WRITE clauses</entry>
- <entry></entry>
- </row>
- <row>
<entry>E153</entry>
<entry>Updatable queries with subqueries</entry>
<entry></entry>
@@ -554,51 +536,6 @@ $Header: /cvsroot/pgsql/doc/src/sgml/features.sgml,v 2.1 2002/06/15 02:59:55 tho
<entry></entry>
</row>
<row>
- <entry>E171</entry>
- <entry>SQLSTATE support</entry>
- <entry></entry>
- </row>
- <row>
- <entry>E182</entry>
- <entry>Module language</entry>
- <entry></entry>
- </row>
- <row>
- <entry>F021</entry>
- <entry>Basic information schema</entry>
- <entry></entry>
- </row>
- <row>
- <entry>F021-01</entry>
- <entry>COLUMNS view</entry>
- <entry></entry>
- </row>
- <row>
- <entry>F021-02</entry>
- <entry>TABLES view</entry>
- <entry></entry>
- </row>
- <row>
- <entry>F021-03</entry>
- <entry>VIEWS view</entry>
- <entry></entry>
- </row>
- <row>
- <entry>F021-04</entry>
- <entry>TABLE_CONSTRAINTS view</entry>
- <entry></entry>
- </row>
- <row>
- <entry>F021-05</entry>
- <entry>REFERENTIAL_ CONSTRAINTS view</entry>
- <entry></entry>
- </row>
- <row>
- <entry>F021-06</entry>
- <entry>CHECK_CONSTRAINTS view</entry>
- <entry></entry>
- </row>
- <row>
<entry>F031</entry>
<entry>Basic schema manipulation</entry>
<entry></entry>
@@ -747,7 +684,8 @@ $Header: /cvsroot/pgsql/doc/src/sgml/features.sgml,v 2.1 2002/06/15 02:59:55 tho
</row>
<row>
<entry>F131-02</entry>
- <entry>Multiple tables supported in queries with grouped views</entry>
+ <entry>Multiple tables supported in queries with grouped
+ views</entry>
<entry></entry>
</row>
<row>
@@ -757,18 +695,20 @@ $Header: /cvsroot/pgsql/doc/src/sgml/features.sgml,v 2.1 2002/06/15 02:59:55 tho
</row>
<row>
<entry>F131-04</entry>
- <entry>Subqueries with GROUP BY and HAVING clauses and grouped views</entry>
+ <entry>Subqueries with GROUP BY and HAVING clauses and grouped
+ views</entry>
<entry></entry>
</row>
<row>
<entry>F131-05</entry>
- <entry>Single row SELECT with GROUP BY and HAVING clauses and grouped views</entry>
+ <entry>Single row SELECT with GROUP BY and HAVING clauses and
+ grouped views</entry>
<entry></entry>
</row>
<row>
<entry>F181</entry>
<entry>Multiple module support</entry>
- <entry></entry>
+ <entry>Allow separate compilation modules in ecpg</entry>
</row>
<row>
<entry>F201</entry>
@@ -846,41 +786,11 @@ $Header: /cvsroot/pgsql/doc/src/sgml/features.sgml,v 2.1 2002/06/15 02:59:55 tho
<entry></entry>
</row>
<row>
- <entry>F501</entry>
- <entry>Features and conformance views</entry>
- <entry></entry>
- </row>
- <row>
- <entry>F501-01</entry>
- <entry>SQL_FEATURES view</entry>
- <entry></entry>
- </row>
- <row>
- <entry>F501-02</entry>
- <entry>SQL_SIZING view</entry>
- <entry></entry>
- </row>
- <row>
- <entry>F501-03</entry>
- <entry>SQL_LANGUAGES view</entry>
- <entry></entry>
- </row>
- <row>
- <entry>F812</entry>
- <entry>Basic flagging</entry>
- <entry></entry>
- </row>
- <row>
<entry>S011</entry>
<entry>Distinct data types</entry>
<entry></entry>
</row>
<row>
- <entry>S011-01</entry>
- <entry>USER_DEFINED_TYPES view</entry>
- <entry></entry>
- </row>
- <row>
<entry>T321</entry>
<entry>Basic SQL-invoked routines</entry>
<entry></entry>
@@ -891,53 +801,29 @@ $Header: /cvsroot/pgsql/doc/src/sgml/features.sgml,v 2.1 2002/06/15 02:59:55 tho
<entry></entry>
</row>
<row>
- <entry>T321-02</entry>
- <entry>User-defined stored procedures with no overloading</entry>
- <entry></entry>
- </row>
- <row>
<entry>T321-03</entry>
<entry>Function invocation</entry>
<entry></entry>
</row>
<row>
- <entry>T321-04</entry>
- <entry>CALL statement</entry>
- <entry></entry>
- </row>
- <row>
<entry>T321-05</entry>
<entry>RETURN statement</entry>
<entry></entry>
</row>
<row>
- <entry>T321-06</entry>
- <entry>ROUTINES view</entry>
- <entry></entry>
- </row>
- <row>
- <entry>T321-07</entry>
- <entry>PARAMETERS view</entry>
- <entry></entry>
- </row>
- <row>
<entry>F032</entry>
<entry>CASCADE drop behavior</entry>
<entry></entry>
</row>
<row>
- <entry>F033</entry>
- <entry>ALTER TABLE statement: DROP COLUMN clause</entry>
- <entry></entry>
- </row>
- <row>
<entry>F034</entry>
<entry>Extended REVOKE statement</entry>
<entry></entry>
</row>
<row>
<entry>F034-01</entry>
- <entry>REVOKE statement performed by other than the owner of a schema object</entry>
+ <entry>REVOKE statement performed by other than the owner of a
+ schema object</entry>
<entry></entry>
</row>
<row>
@@ -947,7 +833,8 @@ $Header: /cvsroot/pgsql/doc/src/sgml/features.sgml,v 2.1 2002/06/15 02:59:55 tho
</row>
<row>
<entry>F034-03</entry>
- <entry>REVOKE statement to revoke a privilege that the grantee has WITH GRANT OPTION</entry>
+ <entry>REVOKE statement to revoke a privilege that the grantee
+ has WITH GRANT OPTION</entry>
<entry></entry>
</row>
<row>
@@ -961,36 +848,11 @@ $Header: /cvsroot/pgsql/doc/src/sgml/features.sgml,v 2.1 2002/06/15 02:59:55 tho
<entry></entry>
</row>
<row>
- <entry>F111-01</entry>
- <entry>READ UNCOMMITTED isolation level</entry>
- <entry></entry>
- </row>
- <row>
<entry>F111-02</entry>
<entry>READ COMMITTED isolation level</entry>
<entry></entry>
</row>
<row>
- <entry>F111-03</entry>
- <entry>REPEATABLE READ isolation level</entry>
- <entry></entry>
- </row>
- <row>
- <entry>F121</entry>
- <entry>Basic diagnostics management</entry>
- <entry></entry>
- </row>
- <row>
- <entry>F121-01</entry>
- <entry>GET DIAGNOSTICS statement</entry>
- <entry></entry>
- </row>
- <row>
- <entry>F121-02</entry>
- <entry>SET TRANSACTION statement: DIAGNOSTICS SIZE clause</entry>
- <entry></entry>
- </row>
- <row>
<entry>F171</entry>
<entry>Multiple schemas per user</entry>
<entry></entry>
@@ -1006,31 +868,6 @@ $Header: /cvsroot/pgsql/doc/src/sgml/features.sgml,v 2.1 2002/06/15 02:59:55 tho
<entry></entry>
</row>
<row>
- <entry>F231</entry>
- <entry>Privilege Tables</entry>
- <entry></entry>
- </row>
- <row>
- <entry>F231-01</entry>
- <entry>TABLE_PRIVILEGES view</entry>
- <entry></entry>
- </row>
- <row>
- <entry>F231-02</entry>
- <entry>COLUMN_PRIVILEGES view</entry>
- <entry></entry>
- </row>
- <row>
- <entry>F231-03</entry>
- <entry>USAGE_PRIVILEGES view</entry>
- <entry></entry>
- </row>
- <row>
- <entry>F251</entry>
- <entry>Domain support</entry>
- <entry></entry>
- </row>
- <row>
<entry>F271</entry>
<entry>Compound character literals</entry>
<entry></entry>
@@ -1046,21 +883,11 @@ $Header: /cvsroot/pgsql/doc/src/sgml/features.sgml,v 2.1 2002/06/15 02:59:55 tho
<entry></entry>
</row>
<row>
- <entry>F301</entry>
- <entry>CORRESPONDING in query expressions</entry>
- <entry></entry>
- </row>
- <row>
<entry>F302</entry>
<entry>INTERSECT table operator</entry>
<entry></entry>
</row>
<row>
- <entry>F302-01</entry>
- <entry>INTERSECT DISTINCT table operator</entry>
- <entry></entry>
- </row>
- <row>
<entry>F302-02</entry>
<entry>INTERSECT ALL table operator</entry>
<entry></entry>
@@ -1086,11 +913,6 @@ $Header: /cvsroot/pgsql/doc/src/sgml/features.sgml,v 2.1 2002/06/15 02:59:55 tho
<entry></entry>
</row>
<row>
- <entry>F381</entry>
- <entry>Extended schema manipulation</entry>
- <entry></entry>
- </row>
- <row>
<entry>F381-01</entry>
<entry>ALTER TABLE statement: ALTER COLUMN clause</entry>
<entry></entry>
@@ -1141,11 +963,6 @@ $Header: /cvsroot/pgsql/doc/src/sgml/features.sgml,v 2.1 2002/06/15 02:59:55 tho
<entry></entry>
</row>
<row>
- <entry>F421</entry>
- <entry>National character</entry>
- <entry></entry>
- </row>
- <row>
<entry>F431</entry>
<entry>Read-only scrollable cursors</entry>
<entry></entry>
@@ -1181,16 +998,6 @@ $Header: /cvsroot/pgsql/doc/src/sgml/features.sgml,v 2.1 2002/06/15 02:59:55 tho
<entry></entry>
</row>
<row>
- <entry>F441</entry>
- <entry>Extended set function support</entry>
- <entry></entry>
- </row>
- <row>
- <entry>F451</entry>
- <entry>Character set definition</entry>
- <entry></entry>
- </row>
- <row>
<entry>F461</entry>
<entry>Named character sets</entry>
<entry></entry>
@@ -1201,36 +1008,11 @@ $Header: /cvsroot/pgsql/doc/src/sgml/features.sgml,v 2.1 2002/06/15 02:59:55 tho
<entry></entry>
</row>
<row>
- <entry>F502</entry>
- <entry>Enhanced documentation tables</entry>
- <entry></entry>
- </row>
- <row>
- <entry>F502-01</entry>
- <entry>SQL_SIZING_PROFILES view</entry>
- <entry></entry>
- </row>
- <row>
- <entry>F502-02</entry>
- <entry>SQL_IMPLEMENTATION_INFO view</entry>
- <entry></entry>
- </row>
- <row>
- <entry>F502-03</entry>
- <entry>SQL_PACKAGES view</entry>
- <entry></entry>
- </row>
- <row>
<entry>F511</entry>
<entry>BIT data type</entry>
<entry></entry>
</row>
<row>
- <entry>F521</entry>
- <entry>Assertions</entry>
- <entry></entry>
- </row>
- <row>
<entry>F531</entry>
<entry>Temporary tables</entry>
<entry></entry>
@@ -1276,509 +1058,760 @@ $Header: /cvsroot/pgsql/doc/src/sgml/features.sgml,v 2.1 2002/06/15 02:59:55 tho
<entry></entry>
</row>
<row>
- <entry>F671</entry>
- <entry>Subqueries in CHECK</entry>
+ <entry>F701</entry>
+ <entry>Referential update actions</entry>
<entry></entry>
</row>
<row>
- <entry>F691</entry>
- <entry>Collation and translation</entry>
+ <entry>F741</entry>
+ <entry>Referential MATCH types</entry>
<entry></entry>
</row>
<row>
- <entry>F701</entry>
- <entry>Referential update actions</entry>
+ <entry>F761</entry>
+ <entry>Session management</entry>
<entry></entry>
</row>
<row>
- <entry>F711</entry>
- <entry>ALTER domain</entry>
+ <entry>F771</entry>
+ <entry>Connection management</entry>
<entry></entry>
</row>
<row>
- <entry>F721</entry>
- <entry>Deferrable constraints</entry>
+ <entry>F791</entry>
+ <entry>Insensitive cursors</entry>
<entry></entry>
</row>
<row>
- <entry>F731</entry>
- <entry>INSERT column privileges</entry>
+ <entry>F831</entry>
+ <entry>Full cursor update</entry>
<entry></entry>
</row>
<row>
- <entry>F741</entry>
- <entry>Referential MATCH types</entry>
+ <entry>F831-01</entry>
+ <entry>Updateable scrollable cursors</entry>
<entry></entry>
</row>
<row>
- <entry>F751</entry>
- <entry>View CHECK enhancements</entry>
+ <entry>F831-02</entry>
+ <entry>Updateable ordered cursors</entry>
<entry></entry>
</row>
<row>
- <entry>F761</entry>
- <entry>Session management</entry>
+ <entry>S071</entry>
+ <entry>SQL paths in function and type name resolution</entry>
<entry></entry>
</row>
<row>
- <entry>F771</entry>
- <entry>Connection management</entry>
+ <entry>S091</entry>
+ <entry>Basic array support</entry>
<entry></entry>
</row>
<row>
- <entry>F781</entry>
- <entry>Self-referencing operations</entry>
+ <entry>S091-01</entry>
+ <entry>Arrays of built-in data types</entry>
<entry></entry>
</row>
<row>
- <entry>F791</entry>
- <entry>Insensitive cursors</entry>
+ <entry>S092</entry>
+ <entry>Arrays of user-defined types</entry>
<entry></entry>
</row>
<row>
- <entry>F801</entry>
- <entry>Full set function</entry>
+ <entry>S201</entry>
+ <entry>SQL routines on arrays</entry>
<entry></entry>
</row>
<row>
- <entry>F811</entry>
- <entry>Extended flagging</entry>
+ <entry>S201-01</entry>
+ <entry>Array parameters</entry>
<entry></entry>
</row>
<row>
- <entry>F813</entry>
- <entry>Extended flagging for "Core SQL Flagging" and "Catalog
- Lookup" only</entry>
+ <entry>S201-02</entry>
+ <entry>Array as result type of functions</entry>
<entry></entry>
</row>
<row>
- <entry>F821</entry>
- <entry>Local table references</entry>
+ <entry>T031</entry>
+ <entry>BOOLEAN data type</entry>
<entry></entry>
</row>
<row>
- <entry>F831</entry>
- <entry>Full cursor update</entry>
+ <entry>T141</entry>
+ <entry>SIMILAR predicate</entry>
<entry></entry>
</row>
<row>
- <entry>F831-01</entry>
- <entry>Updateable scrollable cursors</entry>
+ <entry>T151</entry>
+ <entry>DISTINCT predicate</entry>
<entry></entry>
</row>
<row>
- <entry>F831-02</entry>
- <entry>Updateable ordered cursors</entry>
+ <entry>T171</entry>
+ <entry>LIKE clause in table definition</entry>
<entry></entry>
</row>
<row>
- <entry>S023</entry>
- <entry>Basic structured types</entry>
+ <entry>T191</entry>
+ <entry>Referential action RESTRICT</entry>
<entry></entry>
</row>
<row>
- <entry>S024</entry>
- <entry>Enhanced structured types</entry>
+ <entry>T201</entry>
+ <entry>Comparable data types for referential constraints</entry>
<entry></entry>
</row>
<row>
- <entry>S041</entry>
- <entry>Basic reference types</entry>
+ <entry>T211</entry>
+ <entry>Basic trigger capability</entry>
<entry></entry>
</row>
<row>
- <entry>S043</entry>
- <entry>Enhanced reference types</entry>
+ <entry>T211-01</entry>
+ <entry>Triggers activated on UPDATE, INSERT, or DELETE of one
+ base table</entry>
<entry></entry>
</row>
<row>
- <entry>S051</entry>
- <entry>Create table of type</entry>
+ <entry>T211-02</entry>
+ <entry>BEFORE triggers</entry>
<entry></entry>
</row>
<row>
- <entry>S071</entry>
- <entry>SQL paths in function and type name resolution</entry>
+ <entry>T211-03</entry>
+ <entry>AFTER triggers</entry>
<entry></entry>
</row>
<row>
- <entry>S081</entry>
- <entry>Subtables</entry>
+ <entry>T211-04</entry>
+ <entry>FOR EACH ROW triggers</entry>
<entry></entry>
</row>
<row>
- <entry>S091</entry>
- <entry>Basic array support</entry>
+ <entry>T211-08</entry>
+ <entry>Multiple triggers for the same the event are executed in
+ the order in which they were created</entry>
<entry></entry>
</row>
<row>
- <entry>S091-01</entry>
- <entry>Arrays of built-in data types</entry>
+ <entry>T212</entry>
+ <entry>Enhanced trigger capability</entry>
<entry></entry>
</row>
<row>
- <entry>S091-02</entry>
- <entry>Arrays of distinct types</entry>
+ <entry>T231</entry>
+ <entry>SENSITIVE cursors</entry>
<entry></entry>
</row>
<row>
- <entry>S091-03</entry>
- <entry>Array expressions</entry>
+ <entry>T241</entry>
+ <entry>START TRANSACTION statement</entry>
<entry></entry>
</row>
<row>
- <entry>S092</entry>
- <entry>Arrays of user-defined types</entry>
+ <entry>T251</entry>
+ <entry>SET TRANSACTION statement: LOCAL option</entry>
<entry></entry>
</row>
<row>
- <entry>S094</entry>
- <entry>Arrays of reference types</entry>
+ <entry>T312</entry>
+ <entry>OVERLAY function</entry>
<entry></entry>
</row>
<row>
- <entry>S111</entry>
- <entry>ONLY in query expressions</entry>
+ <entry>T322</entry>
+ <entry>Overloading of SQL-invoked functions and procedures</entry>
<entry></entry>
</row>
<row>
- <entry>S151</entry>
- <entry>Type predicate</entry>
+ <entry>T323</entry>
+ <entry>Explicit security for external routines</entry>
<entry></entry>
</row>
<row>
- <entry>S161</entry>
- <entry>Subtype treatment</entry>
+ <entry>T351</entry>
+ <entry>Bracketed SQL comments (/*...*/ comments)</entry>
<entry></entry>
</row>
<row>
- <entry>S201</entry>
- <entry>SQL routines on arrays</entry>
+ <entry>T401</entry>
+ <entry>INSERT into a cursor</entry>
<entry></entry>
</row>
<row>
- <entry>S201-01</entry>
- <entry>Array parameters</entry>
+ <entry>T441</entry>
+ <entry>ABS and MOD functions</entry>
<entry></entry>
</row>
<row>
- <entry>S201-02</entry>
- <entry>Array as result type of functions</entry>
+ <entry>T461</entry>
+ <entry>Symmetric BETWEEN predicate</entry>
<entry></entry>
</row>
<row>
- <entry>S211</entry>
- <entry>User-defined cast functions</entry>
+ <entry>T501</entry>
+ <entry>Enhanced EXISTS predicate</entry>
<entry></entry>
</row>
<row>
- <entry>S231</entry>
- <entry>Structured type locators</entry>
+ <entry>T551</entry>
+ <entry>Optional key words for default syntax</entry>
<entry></entry>
</row>
<row>
- <entry>S232</entry>
- <entry>Array locators</entry>
+ <entry>T571</entry>
+ <entry>Array-returning external SQL-invoked functions</entry>
<entry></entry>
</row>
<row>
- <entry>S241</entry>
- <entry>Transform functions</entry>
+ <entry>T581</entry>
+ <entry>Regular expression substring function</entry>
<entry></entry>
</row>
<row>
- <entry>S251</entry>
- <entry>User-defined orderings</entry>
+ <entry>T591</entry>
+ <entry>UNIQUE constraints of possibly null columns</entry>
<entry></entry>
</row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </para>
+ </sect1>
+
+ <sect1 id="unsupported-features-sql99">
+ <title>Unsupported Features</title>
+
+ <para>
+ The following features defined in <acronym>SQL99</acronym> are not
+ implemented in the current release of
+ <productname>PostgreSQL</productname>. In a few cases, equivalent
+ functionality is available.
+
+ <informaltable>
+ <tgroup cols="3">
+ <thead>
+ <row>
+ <entry>Identifier</entry>
+ <entry>Description</entry>
+ <entry>Comment</entry>
+ </row>
+ </thead>
+ <tbody>
<row>
- <entry>S261</entry>
- <entry>Specific type method</entry>
+ <entry>E081-05</entry>
+ <entry>UPDATE privilege at the column level</entry>
<entry></entry>
</row>
<row>
- <entry>T011</entry>
- <entry>Timestamp in Information Schema</entry>
+ <entry>E081-07</entry>
+ <entry>REFERENCES privilege at the column level</entry>
<entry></entry>
</row>
<row>
- <entry>T031</entry>
- <entry>BOOLEAN data type</entry>
+ <entry>E121-17</entry>
+ <entry>WITH HOLD cursors</entry>
+ <entry>Cursor stays open across transactions</entry>
+ </row>
+ <row>
+ <entry>E152-02</entry>
+ <entry>SET TRANSACTION statement: READ ONLY and READ WRITE
+ clauses</entry>
<entry></entry>
</row>
<row>
- <entry>T041</entry>
- <entry>Basic LOB data type support</entry>
+ <entry>E171</entry>
+ <entry>SQLSTATE support</entry>
<entry></entry>
</row>
<row>
- <entry>T041-01</entry>
- <entry>BLOB data type</entry>
+ <entry>E182</entry>
+ <entry>Module language</entry>
<entry></entry>
</row>
<row>
- <entry>T041-02</entry>
- <entry>CLOB data type</entry>
+ <entry>F021</entry>
+ <entry>Basic information schema</entry>
<entry></entry>
</row>
<row>
- <entry>T041-03</entry>
- <entry>POSITION, LENGTH, LOWER, TRIM, UPPER, and SUBSTRING
- functions for LOB data types</entry>
+ <entry>F021-01</entry>
+ <entry>COLUMNS view</entry>
<entry></entry>
</row>
<row>
- <entry>T041-04</entry>
- <entry>Concatenation of LOB data types</entry>
+ <entry>F021-02</entry>
+ <entry>TABLES view</entry>
<entry></entry>
</row>
<row>
- <entry>T041-05</entry>
- <entry>LOB locator: non-holdable</entry>
+ <entry>F021-03</entry>
+ <entry>VIEWS view</entry>
<entry></entry>
</row>
<row>
- <entry>T042</entry>
- <entry>Extended LOB data type support</entry>
+ <entry>F021-04</entry>
+ <entry>TABLE_CONSTRAINTS view</entry>
<entry></entry>
</row>
<row>
- <entry>T051</entry>
- <entry>Row types</entry>
+ <entry>F021-05</entry>
+ <entry>REFERENTIAL_CONSTRAINTS view</entry>
<entry></entry>
</row>
<row>
- <entry>T111</entry>
- <entry>Updatable joins, unions, and columns</entry>
+ <entry>F021-06</entry>
+ <entry>CHECK_CONSTRAINTS view</entry>
<entry></entry>
</row>
<row>
- <entry>T121</entry>
- <entry>WITH (excluding RECURSIVE) in query expression</entry>
+ <entry>F033</entry>
+ <entry>ALTER TABLE statement: DROP COLUMN clause</entry>
+ <entry>Syntax accepted</entry>
+ </row>
+ <row>
+ <entry>F111-01</entry>
+ <entry>READ UNCOMMITTED isolation level</entry>
<entry></entry>
</row>
<row>
- <entry>T131</entry>
- <entry>Recursive query</entry>
+ <entry>F111-03</entry>
+ <entry>REPEATABLE READ isolation level</entry>
<entry></entry>
</row>
<row>
- <entry>T141</entry>
- <entry>SIMILAR predicate</entry>
+ <entry>F121</entry>
+ <entry>Basic diagnostics management</entry>
<entry></entry>
</row>
<row>
- <entry>T151</entry>
- <entry>DISTINCT predicate</entry>
+ <entry>F121-01</entry>
+ <entry>GET DIAGNOSTICS statement</entry>
<entry></entry>
</row>
<row>
- <entry>T171</entry>
- <entry>LIKE clause in table definition</entry>
+ <entry>F121-02</entry>
+ <entry>SET TRANSACTION statement: DIAGNOSTICS SIZE clause</entry>
<entry></entry>
</row>
<row>
- <entry>T191</entry>
- <entry>Referential action RESTRICT</entry>
+ <entry>F231</entry>
+ <entry>Privilege Tables</entry>
<entry></entry>
</row>
<row>
- <entry>T201</entry>
- <entry>Comparable data types for referential constraints</entry>
+ <entry>F231-01</entry>
+ <entry>TABLE_PRIVILEGES view</entry>
<entry></entry>
</row>
<row>
- <entry>T211</entry>
- <entry>Basic trigger capability</entry>
+ <entry>F231-02</entry>
+ <entry>COLUMN_PRIVILEGES view</entry>
<entry></entry>
</row>
<row>
- <entry>T211-01</entry>
- <entry>Triggers activated on UPDATE, INSERT, or DELETE of one
- base table</entry>
+ <entry>F231-03</entry>
+ <entry>USAGE_PRIVILEGES view</entry>
<entry></entry>
</row>
<row>
- <entry>T211-02</entry>
- <entry>BEFORE triggers</entry>
+ <entry>F251</entry>
+ <entry>Domain support</entry>
<entry></entry>
</row>
<row>
- <entry>T211-03</entry>
- <entry>AFTER triggers</entry>
+ <entry>F301</entry>
+ <entry>CORRESPONDING in query expressions</entry>
<entry></entry>
</row>
<row>
- <entry>T211-04</entry>
- <entry>FOR EACH ROW triggers</entry>
+ <entry>F302-01</entry>
+ <entry>INTERSECT DISTINCT table operator</entry>
+ <entry>Syntax accepted</entry>
+ </row>
+ <row>
+ <entry>F381</entry>
+ <entry>Extended schema manipulation</entry>
<entry></entry>
</row>
<row>
- <entry>T211-05</entry>
- <entry>Ability to specify a search condition that must be true
- before the trigger is invoked</entry>
+ <entry>F421</entry>
+ <entry>National character</entry>
+ <entry>Syntax accepted</entry>
+ </row>
+ <row>
+ <entry>F441</entry>
+ <entry>Extended set function support</entry>
<entry></entry>
</row>
<row>
- <entry>T211-06</entry>
- <entry>Support for run-time rules for the interaction of triggers
- and constraints</entry>
+ <entry>F451</entry>
+ <entry>Character set definition</entry>
+ <entry>Alternate implementation</entry>
+ </row>
+ <row>
+ <entry>F501</entry>
+ <entry>Features and conformance views</entry>
<entry></entry>
</row>
<row>
- <entry>T211-07</entry>
- <entry>TRIGGER privilege</entry>
+ <entry>F501-01</entry>
+ <entry>SQL_FEATURES view</entry>
<entry></entry>
</row>
<row>
- <entry>T211-08</entry>
- <entry>Multiple triggers for the same the event are executed in
- the order in which they were created</entry>
+ <entry>F501-02</entry>
+ <entry>SQL_SIZING view</entry>
<entry></entry>
</row>
<row>
- <entry>T212</entry>
- <entry>Enhanced trigger capability</entry>
+ <entry>F501-03</entry>
+ <entry>SQL_LANGUAGES view</entry>
<entry></entry>
</row>
<row>
- <entry>T231</entry>
- <entry>SENSITIVE cursors</entry>
+ <entry>F502</entry>
+ <entry>Enhanced documentation tables</entry>
<entry></entry>
</row>
<row>
- <entry>T241</entry>
- <entry>START TRANSACTION statement</entry>
+ <entry>F502-01</entry>
+ <entry>SQL_SIZING_PROFILES view</entry>
<entry></entry>
</row>
<row>
- <entry>T251</entry>
- <entry>SET TRANSACTION statement: LOCAL option</entry>
+ <entry>F502-02</entry>
+ <entry>SQL_IMPLEMENTATION_INFO view</entry>
<entry></entry>
</row>
<row>
- <entry>T261</entry>
- <entry>Chained transactions</entry>
+ <entry>F502-03</entry>
+ <entry>SQL_PACKAGES view</entry>
<entry></entry>
</row>
<row>
- <entry>T271</entry>
- <entry>Savepoints</entry>
+ <entry>F521</entry>
+ <entry>Assertions</entry>
<entry></entry>
</row>
<row>
- <entry>T281</entry>
- <entry>SELECT privilege with column granularity</entry>
+ <entry>F671</entry>
+ <entry>Subqueries in CHECK</entry>
<entry></entry>
</row>
<row>
- <entry>T301</entry>
- <entry>Functional Dependencies</entry>
+ <entry>F691</entry>
+ <entry>Collation and translation</entry>
+ <entry>Alternate implementation</entry>
+ </row>
+ <row>
+ <entry>F711</entry>
+ <entry>ALTER domain</entry>
<entry></entry>
</row>
<row>
- <entry>T312</entry>
- <entry>OVERLAY function</entry>
+ <entry>F721</entry>
+ <entry>Deferrable constraints</entry>
<entry></entry>
</row>
<row>
- <entry>T322</entry>
- <entry>Overloading of SQL-invoked functions and procedures</entry>
+ <entry>F731</entry>
+ <entry>INSERT column privileges</entry>
<entry></entry>
</row>
<row>
- <entry>T323</entry>
- <entry>Explicit security for external routines</entry>
+ <entry>F751</entry>
+ <entry>View CHECK enhancements</entry>
<entry></entry>
</row>
<row>
- <entry>T331</entry>
- <entry>Basic roles</entry>
+ <entry>F781</entry>
+ <entry>Self-referencing operations</entry>
<entry></entry>
</row>
<row>
- <entry>T332</entry>
- <entry>Extended roles</entry>
+ <entry>F801</entry>
+ <entry>Full set function</entry>
<entry></entry>
</row>
<row>
- <entry>T351</entry>
- <entry>Bracketed SQL comments (/*...*/ comments)</entry>
+ <entry>F811</entry>
+ <entry>Extended flagging</entry>
<entry></entry>
</row>
<row>
- <entry>T401</entry>
- <entry>INSERT into a cursor</entry>
+ <entry>F812</entry>
+ <entry>Basic flagging</entry>
<entry></entry>
</row>
<row>
- <entry>T411</entry>
- <entry>UPDATE statement: SET ROW option</entry>
+ <entry>F813</entry>
+ <entry>Extended flagging for "Core SQL Flagging" and "Catalog
+ Lookup" only</entry>
<entry></entry>
</row>
<row>
- <entry>T431</entry>
- <entry>CUBE and ROLLUP operations</entry>
+ <entry>F821</entry>
+ <entry>Local table references</entry>
<entry></entry>
</row>
<row>
- <entry>T441</entry>
- <entry>ABS and MOD functions</entry>
+ <entry>S011-01</entry>
+ <entry>USER_DEFINED_TYPES view</entry>
<entry></entry>
</row>
<row>
- <entry>T461</entry>
- <entry>Symmetric BETWEEN predicate</entry>
+ <entry>S023</entry>
+ <entry>Basic structured types</entry>
<entry></entry>
</row>
<row>
- <entry>T471</entry>
- <entry>Result sets return value</entry>
+ <entry>S024</entry>
+ <entry>Enhanced structured types</entry>
+ <entry>Alternate implementation</entry>
+ </row>
+ <row>
+ <entry>S041</entry>
+ <entry>Basic reference types</entry>
<entry></entry>
</row>
<row>
- <entry>T491</entry>
- <entry>LATERAL derived table</entry>
+ <entry>S043</entry>
+ <entry>Enhanced reference types</entry>
<entry></entry>
</row>
<row>
- <entry>T501</entry>
- <entry>Enhanced EXISTS predicate</entry>
+ <entry>S051</entry>
+ <entry>Create table of type</entry>
<entry></entry>
</row>
<row>
- <entry>T511</entry>
- <entry>Transaction counts</entry>
+ <entry>S081</entry>
+ <entry>Subtables</entry>
<entry></entry>
</row>
<row>
- <entry>T541</entry>
- <entry>Updatable table references</entry>
+ <entry>S091-02</entry>
+ <entry>Arrays of distinct types</entry>
<entry></entry>
</row>
<row>
- <entry>T551</entry>
- <entry>Optional key words for default syntax</entry>
+ <entry>S091-03</entry>
+ <entry>Array expressions</entry>
<entry></entry>
</row>
<row>
- <entry>T561</entry>
- <entry>Holdable locators</entry>
+ <entry>S094</entry>
+ <entry>Arrays of reference types</entry>
<entry></entry>
</row>
<row>
- <entry>T571</entry>
- <entry>Array-returning external SQL-invoked functions</entry>
+ <entry>S111</entry>
+ <entry>ONLY in query expressions</entry>
<entry></entry>
</row>
<row>
- <entry>T581</entry>
- <entry>Regular expression substring function</entry>
+ <entry>S151</entry>
+ <entry>Type predicate</entry>
+ <entry>IS OF (type list)</entry>
+ </row>
+ <row>
+ <entry>S161</entry>
+ <entry>Subtype treatment</entry>
+ <entry>TREAT(expr AS type)</entry>
+ </row>
+ <row>
+ <entry>S211</entry>
+ <entry>User-defined cast functions</entry>
+ <entry>CREATE CAST(type AS type) WITH</entry>
+ </row>
+ <row>
+ <entry>S231</entry>
+ <entry>Structured type locators</entry>
<entry></entry>
</row>
<row>
- <entry>T591</entry>
- <entry>UNIQUE constraints of possibly null columns</entry>
+ <entry>S232</entry>
+ <entry>Array locators</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>S241</entry>
+ <entry>Transform functions</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>S251</entry>
+ <entry>User-defined orderings</entry>
+ <entry>CREATE ORDERING FOR</entry>
+ </row>
+ <row>
+ <entry>S261</entry>
+ <entry>Specific type method</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>T011</entry>
+ <entry>Timestamp in Information Schema</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>T041</entry>
+ <entry>Basic LOB data type support</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>T041-01</entry>
+ <entry>BLOB data type</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>T041-02</entry>
+ <entry>CLOB data type</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>T041-03</entry>
+ <entry>POSITION, LENGTH, LOWER, TRIM, UPPER, and SUBSTRING
+ functions for LOB data types</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>T041-04</entry>
+ <entry>Concatenation of LOB data types</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>T041-05</entry>
+ <entry>LOB locator: non-holdable</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>T042</entry>
+ <entry>Extended LOB data type support</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>T051</entry>
+ <entry>Row types</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>T111</entry>
+ <entry>Updatable joins, unions, and columns</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>T121</entry>
+ <entry>WITH (excluding RECURSIVE) in query expression</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>T131</entry>
+ <entry>Recursive query</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>T211-05</entry>
+ <entry>Ability to specify a search condition that must be true
+ before the trigger is invoked</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>T211-06</entry>
+ <entry>Support for run-time rules for the interaction of triggers
+ and constraints</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>T211-07</entry>
+ <entry>TRIGGER privilege</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>T261</entry>
+ <entry>Chained transactions</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>T271</entry>
+ <entry>Savepoints</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>T281</entry>
+ <entry>SELECT privilege with column granularity</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>T301</entry>
+ <entry>Functional Dependencies</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>T321-02</entry>
+ <entry>User-defined stored procedures with no overloading</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>T321-04</entry>
+ <entry>CALL statement</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>T321-06</entry>
+ <entry>ROUTINES view</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>T321-07</entry>
+ <entry>PARAMETERS view</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>T331</entry>
+ <entry>Basic roles</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>T332</entry>
+ <entry>Extended roles</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>T411</entry>
+ <entry>UPDATE statement: SET ROW option</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>T431</entry>
+ <entry>CUBE and ROLLUP operations</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>T471</entry>
+ <entry>Result sets return value</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>T491</entry>
+ <entry>LATERAL derived table</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>T511</entry>
+ <entry>Transaction counts</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>T541</entry>
+ <entry>Updatable table references</entry>
+ <entry>?</entry>
+ </row>
+ <row>
+ <entry>T561</entry>
+ <entry>Holdable locators</entry>
<entry></entry>
</row>
<row>