Revise SQL features list.
authorPeter Eisentraut
Sun, 17 Nov 2002 13:28:43 +0000 (13:28 +0000)
committerPeter Eisentraut
Sun, 17 Nov 2002 13:28:43 +0000 (13:28 +0000)
doc/src/sgml/features.sgml

index fa8641d012f08d9d5a9d5c79d8199bbfd9db0570..a1a016c6dc86619b2452ac552da1748efe4e4c96 100644 (file)
 
 
- 
 SQL99 Feature List</span>
+
SQL Conformance</span>
 
-  
-   SQL92 defined three feature sets for
-   compliance: basic, intermediate, and advanced. Most database
-   products claiming SQL standards compliance were
-   compliant at only the basic level, since the entire set of
-   intermediate and advanced features was either too voluminous or in
-   conflict with legacy behaviors.
+  This section attempts to outline to what extent
+  PostgreSQL conforms to the SQL standard.
+  Full compliance to the standard or a complete statement about the
+  compliance to the standard is complicated and not particularly
+  useful, so this section can only give an overview.
   
 
+  The formal name of the SQL standard is ISO/IEC 9075 Database
+  Language SQL.  A revised version of the standard is released
+  from time to time; the most recent one appearing in 1999.  That
+  version is refered to as ISO/IEC 9075:1999, or informally as SQL99.
+  The version prior to that was SQL92.
+  PostgreSQL development tends to aim for
+  conformance with the latest official version of the standard where
+  such conformance does not contradict traditional features or common
+  sense.  At the time of this writing, ballotting is under way for a
+  new revision of the standard, which, if approved, will eventually
+  become the conformance target for future
+  PostgreSQL development.
+
+  SQL92 defined three feature sets for conformance:
+  Entry, Intermediate, and Full. Most database products claiming
+  SQL standard conformance were conforming at only
+  the Entry level, since the entire set of features in the
+  Intermediate and Full levels was either too voluminous or in
+  conflict with legacy behaviors.
+
+  SQL99 defines a large set of individual features
+  rather than the ineffectively broad three levels found in
+  SQL92.  A large subset of these features
+  represents the core features, which every conforming
+  SQL implementation must supply.  The rest of the features are purely
+  optional.  Some optional features are grouped together to form
+  packages, which SQL implementations can claim
+  conformance to, thus claiming conformance to particular groups of
+  features.
+
+  The SQL99 standard is also split into 5 parts:
+  Framework, Foundation, Call Level Interface, Persistent Stored
+  Modules, and Host Language Bindings.
+  PostgreSQL only covers parts 1, 2, and 5.
+  Part 3 is similar to the ODBC interface, and part 4 is similar to
+  the PL/pgSQL programming language, but
+  exact conformance is not specifically intended in either case.
+
+  In the following two sections, we provide a list of those features
+  that PostgreSQL supports, followed by a
+  list of the features defined in SQL99 which are not yet supported in
+  PostgreSQL.  Both of these lists are approximate: There may be minor
+  details that are nonconforming for a feature that is listed as
+  supported, and large parts of an unsupported feature may in fact be
+  implemented.  The main body of the documentation always contains the
+  most accurate information about what does and does not work.
+
   
-   SQL99 defines a large set of individual features
-   rather than the ineffectively broad three levels found in
-   SQL92. We provide a list of supported features,
-   followed by a list of the features defined in
-   SQL99 which are not yet supported in
-   PostgreSQL.
+   Feature codes containing a hyphen are subfeatures.  Therefore, if a
+   particular subfeature is not supported, the main feature is listed
+   as unsupported even if some other subfeatures are supported.
   
 
   
    Supported Features
 
    
     
-     3">
+     4">
       
        
         Identifier
+        Package
         Description
         Comment
        
       
       
+       
+        B012
+        Core
+        Embedded C
+        
+       
+       
+        B021
+        
+        Direct SQL
+        
+       
        
         E011
+        Core
         Numeric data types
         
        
        
         E011-01
+        Core
         INTEGER and SMALLINT data types
         
        
        
         E011-02
+        Core
         REAL, DOUBLE PRECISON, and FLOAT data types
         
        
        
         E011-03
+        Core
         DECIMAL and NUMERIC data types
         
        
        
         E011-04
+        Core
         Arithmetic operators
         
        
        
         E011-05
+        Core
         Numeric comparison
         
        
        
         E011-06
+        Core
         Implicit casting among the numeric data types
         
        
        
         E021
+        Core
         Character data types
         
        
        
         E021-01
+        Core
         CHARACTER data type
         
        
        
         E021-02
+        Core
         CHARACTER VARYING data type
         
        
        
         E021-03
+        Core
         Character literals
         
        
        
         E021-04
+        Core
         CHARACTER_LENGTH function
         
        
        
         E021-05
+        Core
         OCTET_LENGTH function
         
        
        
         E021-06
+        Core
         SUBSTRING function
         
        
        
         E021-07
+        Core
         Character concatenation
         
        
        
         E021-08
+        Core
         UPPER and LOWER functions
         
        
        
         E021-09
+        Core
         TRIM function
         
        
        
         E021-10
+        Core
         Implicit casting among the character data types
         
        
        
         E021-11
+        Core
         POSITION function
         
        
        
         E011-12
+        Core
         Character comparison
         
        
        
         E031
+        Core
         Identifiers
         
        
        
         E031-01
+        Core
         Delimited identifiers
         
        
        
         E031-02
+        Core
         Lower case identifiers
         
        
        
         E031-03
+        Core
         Trailing underscore
         
        
        
         E051
+        Core
         Basic query specification
         
        
        
         E051-01
+        Core
         SELECT DISTINCT
         
        
        
         E051-02
+        Core
         GROUP BY clause
         
        
        
         E051-04
+        Core
         GROUP BY can contain columns not in <select list>
         
        
        
         E051-05
+        Core
         Select list items can be renamed
-        
+        AS is required
        
        
         E051-06
+        Core
         HAVING clause
         
        
        
         E051-07
+        Core
         Qualified * in select list
         
        
        
         E051-08
+        Core
         Correlation names in the FROM clause
         
        
        
         E051-09
+        Core
         Rename columns in the FROM clause
         
        
        
         E061
+        Core
         Basic predicates and search conditions
         
        
        
         E061-01
+        Core
         Comparison predicate
         
        
        
         E061-02
+        Core
         BETWEEN predicate
         
        
        
         E061-03
+        Core
         IN predicate with list of values
         
        
        
         E061-04
+        Core
         LIKE predicate
         
        
        
         E061-05
+        Core
         LIKE predicate ESCAPE clause
         
        
        
         E061-06
+        Core
         NULL predicate
         
        
        
         E061-07
+        Core
         Quantified comparison predicate
         
        
        
         E061-08
+        Core
         EXISTS predicate
         
        
        
         E061-09
+        Core
         Subqueries in comparison predicate
         
        
        
         E061-11
+        Core
         Subqueries in IN predicate
         
        
        
         E061-12
+        Core
         Subqueries in quantified comparison predicate
         
        
        
         E061-13
+        Core
         Correlated subqueries
         
        
        
         E061-14
+        Core
         Search condition
         
        
        
         E071
+        Core
         Basic query expressions
         
        
        
         E071-01
+        Core
         UNION DISTINCT table operator
         
        
        
         E071-02
+        Core
         UNION ALL table operator
         
        
        
         E071-03
+        Core
         EXCEPT DISTINCT table operator
         
        
        
         E071-05
+        Core
         Columns combined via table operators need not have
          exactly the same data type 
         
        
        
         E071-06
+        Core
         Table operators in subqueries
         
        
-       
-        E081
-        Basic Privileges
-        
-       
        
         E081-01
+        Core
         SELECT privilege
         
        
        
         E081-02
+        Core
         DELETE privilege
         
        
        
         E081-03
+        Core
         INSERT privilege at the table level
         
        
        
         E081-04
+        Core
         UPDATE privilege at the table level
         
        
        
         E081-06
+        Core
         REFERENCES privilege at the table level
         
        
-       
-        E081-08
-        WITH GRANT OPTION
-        
-       
        
         E091
+        Core
         Set functions
         
        
        
         E091-01
+        Core
         AVG
         
        
        
         E091-02
+        Core
         COUNT
         
        
        
         E091-03
+        Core
         MAX
         
        
        
         E091-04
+        Core
         MIN
         
        
        
         E091-05
+        Core
         SUM
         
        
        
         E091-06
+        Core
         ALL quantifier
         
        
        
         E091-07
+        Core
         DISTINCT quantifier
         
        
        
         E101
+        Core
         Basic data manipulation
         
        
        
         E101-01
+        Core
         INSERT statement
         
        
        
         E101-03
+        Core
         Searched UPDATE statement
         
        
        
         E101-04
+        Core
         Searched DELETE statement
         
        
        
         E111
+        Core
         Single row SELECT statement
         
        
-       
-        E121
-        Basic cursor support
-        
-       
        
         E121-01
+        Core
         DECLARE CURSOR
         
        
        
         E121-02
+        Core
         ORDER BY columns need not be in select list
         
        
        
         E121-03
+        Core
         Value expressions in ORDER BY clause
         
        
-       
-        E121-04
-        OPEN statement
-        (cursor)
-       
-       
-        E121-06
-        Positioned UPDATE statement
-        (cursor)
-       
-       
-        E121-07
-        Positioned DELETE statement
-        (cursor)
-       
        
         E121-08
+        Core
         CLOSE statement
         (cursor)
        
        
         E121-10
+        Core
         FETCH statement implicit NEXT
         
        
        
         E131
+        Core
         Null value support (nulls in lieu of values) 
         
        
        
         E141
+        Core
         Basic integrity constraints
         
        
        
         E141-01
+        Core
         NOT NULL constraints
         
        
        
         E141-02
+        Core
         UNIQUE constraints of NOT NULL columns
         
        
        
         E141-03
+        Core
         PRIMARY KEY constraints
         
        
        
         E141-04
+        Core
         Basic FOREIGN KEY constraint with the NO ACTION default
          for both referential delete action and referential update
          action
@@ -482,161 +602,186 @@ $Header: /cvsroot/pgsql/doc/src/sgml/features.sgml,v 2.8 2002/11/15 03:11:16 mom
        
        
         E141-06
+        Core
         CHECK constraints
         
        
        
         E141-07
+        Core
         Column defaults
         
        
        
         E141-08
+        Core
         NOT NULL inferred on PRIMARY KEY
         
        
        
         E141-10
+        Core
         Names in a foreign key can be specified in any order
         
        
        
         E151
+        Core
         Transaction support
         
        
        
         E151-01
+        Core
         COMMIT statement
         
        
        
         E151-02
+        Core
         ROLLBACK statement
         
        
-       
-        E152
-        Basic SET TRANSACTION statement
-        
-       
        
         E152-01
+        Core
         SET TRANSACTION statement: ISOLATION LEVEL SERIALIZABLE
          clause 
         
        
-       
-        E153
-        Updatable queries with subqueries
-        
-       
        
         E161
+        Core
         SQL comments using leading double minus
         
        
        
         F031
+        Core
         Basic schema manipulation
         
        
        
         F031-01
+        Core
         CREATE TABLE statement to create persistent base
          tables
         
        
        
         F031-02
+        Core
         CREATE VIEW statement
         
        
        
         F031-03
+        Core
         GRANT statement
         
        
        
         F031-04
-        ALTER TABLE statement COLUMN clause
+        Core
+        ALTER TABLE statement: ADD COLUMN clause
         
        
        
         F031-13
-        DROP TABLE statement clause
+        Core
+        DROP TABLE statement: RESTRICT clause
         
        
        
         F031-16
-        DROP VIEW statement RESTRICT clause
+        Core
+        DROP VIEW statement: RESTRICT clause
         
        
        
-        F031-19
-        REVOKE statement RESTRICT clause
+        F032
+        
+        CASCADE drop behavior
+        
+       
+       
+        F033
+        
+        ALTER TABLE statement: DROP COLUMN clause
         
        
        
         F041
+        Core
         Basic joined table
         
        
        
         F041-01
+        Core
         Inner join (but not necessarily the INNER keyword)
         
        
        
         F041-02
+        Core
         INNER keyword
         
        
        
         F041-03
+        Core
         LEFT OUTER JOIN
         
        
        
         F041-04
+        Core
         RIGHT OUTER JOIN
         
        
        
         F041-05
+        Core
         Outer joins can be nested
         
        
        
         F041-07
+        Core
         The inner table in a left or right outer join can also be
          used in an inner join 
         
        
        
         F041-08
+        Core
         All comparison operators are supported
          (rather than just =) 
         
        
        
         F051
+        Core
         Basic date and time
         
        
        
         F051-01
+        Core
         DATE data type (including support of DATE literal)
         
        
        
         F051-02
+        Core
         TIME data type (including support of TIME literal) with
          fractional seconds precision of at least 0 
         
        
        
         F051-03
+        Core
         TIMESTAMP data type (including support of TIMESTAMP
          literal) with fractional seconds precision of at least
          0 and 6 
@@ -644,644 +789,576 @@ $Header: /cvsroot/pgsql/doc/src/sgml/features.sgml,v 2.8 2002/11/15 03:11:16 mom
        
        
         F051-04
-        Comparison predicate on DATE TIMESTAMP data types
+        Core
+        Comparison predicate on DATE, TIME, and TIMESTAMP data types
         
        
        
         F051-05
+        Core
         Explicit CAST between datetime types and character types
         
        
        
         F051-06
+        Core
         CURRENT_DATE
         
        
        
         F051-07
+        Core
         LOCALTIME
         
        
        
         F051-08
+        Core
         LOCALTIMESTAMP
         
        
+       
+        F052
+        Enhanced datetime facilities
+        Intervals and datetime arithmetic
+        
+       
        
         F081
+        Core
         UNION and EXCEPT in views
         
        
+       
+        F111-02
+        
+        READ COMMITTED isolation level
+        
+       
        
         F131
+        Core
         Grouped operations
         
        
        
         F131-01
-        WHERE, GROUP BY and HAVING clauses supported in queries
+        Core
+        WHERE, GROUP BY, and HAVING clauses supported in queries
          with grouped views 
         
        
        
         F131-02
+        Core
         Multiple tables supported in queries with grouped
          views 
         
        
        
         F131-03
+        Core
         Set functions supported in queries with grouped views
         
        
        
         F131-04
+        Core
         Subqueries with GROUP BY and HAVING clauses and grouped
          views 
         
        
        
         F131-05
+        Core
         Single row SELECT with GROUP BY and HAVING clauses and
          grouped views 
         
        
        
-        F181
-        Multiple module support
-        Allow separate compilation modules in ecpg
+        F171
+        
+        Multiple schemas per user
+        
+       
+       
+        F191
+        Enhanced integrity management
+        Referential delete actions
+        
        
        
         F201
+        Core
         CAST function 
         
        
        
         F221
+        Core
         Explicit defaults
         
        
+       
+        F222
+        
+        INSERT statement: DEFAULT VALUES clause
+        
+       
+       
+        F251
+        
+        Domain support
+        
+       
        
         F261
+        Core
         CASE expression
         
        
        
         F261-01
+        Core
         Simple CASE
         
        
        
         F261-02
+        Core
         Searched CASE
         
        
        
         F261-03
+        Core
         NULLIF
         
        
        
         F261-04
+        Core
         COALESCE
         
        
        
-        F311
-        Schema definition statement
-        
-       
-       
-        F311-01
-        CREATE SCHEMA
-        
-       
-       
-        F311-02
-        CREATE TABLE for persistent base tables
-        
-       
-       
-        F311-03
-        CREATE VIEW
-        
-       
-       
-        F311-04
-        CREATE VIEW: WITH CHECK OPTION
-        
-       
-       
-        F311-05
-        GRANT statement
-        
-       
-       
-        F471
-        Scalar subquery values
-        
-       
-       
-        F481
-        Expanded NULL predicate
-        
-       
-       
-        S011
-        Distinct data types
-        
-       
-       
-        T321
-        Basic SQL-invoked routines
-        
-       
-       
-        T321-01
-        User-defined functions with no overloading
-        
-       
-       
-        T321-03
-        Function invocation
-        
-       
-       
-        T321-05
-        RETURN statement
-        
-       
-       
-        F032
-        CASCADE drop behavior
-        
-       
-       
-        F034
-        Extended REVOKE statement
+        F271
         
-       
-       
-        F034-01
-        REVOKE statement performed by other than the owner of a
-         schema object 
+        Compound character literals
         
        
        
-        F034-02
-        REVOKE statement: GRANT OPTION FOR clause
+        F281
         
-       
-       
-        F034-03
-        REVOKE statement to revoke a privilege that the grantee
-         has WITH GRANT OPTION 
+        LIKE enhancements
         
        
        
-        F052
-        Intervals and datetime arithmetic
+        F302
+        OLAP facilities
+        INTERSECT table operator
         
        
        
-        F111
-        Isolation levels other than SERIALIZABLE
+        F302-01
+        OLAP facilities
+        INTERSECT DISTINCT table operator
         
        
        
-        F111-02
-        READ COMMITTED isolation level
+        F302-02
+        OLAP facilities
+        INTERSECT ALL table operator
         
        
        
-        F171
-        Multiple schemas per user
+        F304
+        OLAP facilities
+        EXCEPT ALL table operator
         
        
        
-        F191
-        Referential delete actions
+        F311
+        Core
+        Schema definition statement
         
        
        
-        F222
-        INSERT statement: DEFAULT VALUES clause
+        F311-01
+        Core
+        CREATE SCHEMA
         
        
        
-        F271
-        Compound character literals
+        F311-02
+        Core
+        CREATE TABLE for persistent base tables
         
        
        
-        F281
-        LIKE enhancements
+        F311-03
+        Core
+        CREATE VIEW
         
        
        
-        F302
-        INTERSECT table operator
+        F311-05
+        Core
+        GRANT statement
         
        
        
-        F302-01
-        INTERSECT DISTINCT table operator
+        F321
         
-       
-       
-        F302-02
-        INTERSECT ALL table operator
+        User authorization
         
        
        
-        F304
-        EXCEPT ALL table operator
+        F361
         
-       
-       
-        F321
-        User authorization
+        Subprogram support
         
        
        
-        F341
-        Usage tables
+        F381
         
-       
-       
-        F361
-        Subprogram support
+        Extended schema manipulation
         
        
        
         F381-01
+        
         ALTER TABLE statement: ALTER COLUMN clause
         
        
        
         F381-02
+        
         ALTER TABLE statement: ADD CONSTRAINT clause
         
        
        
         F381-03
+        
         ALTER TABLE statement: DROP CONSTRAINT clause
         
        
        
         F391
+        
         Long identifiers
         
        
        
         F401
+        OLAP facilities
         Extended joined table
         
        
        
         F401-01
+        OLAP facilities
         NATURAL JOIN
         
        
        
         F401-02
+        OLAP facilities
         FULL OUTER JOIN
         
        
        
         F401-03
+        OLAP facilities
         UNION JOIN
         
        
        
         F401-04
+        OLAP facilities
         CROSS JOIN
         
        
        
         F411
+        Enhanced datetime facilities
         Time zone specification
         
        
        
-        F431
-        Read-only scrollable cursors
+        F421
+        
+        National character
         
        
        
         F431-01
+        
         FETCH with explicit NEXT
         
        
        
-        F431-02
-        FETCH FIRST
+        F431-04
         
-       
-       
-        F431-03
-        FETCH LAST
+        FETCH PRIOR
         
        
        
-        F431-04
-        FETCH PRIOR
+        F431-06
+        
+        FETCH RELATIVE
         
        
        
-        F431-05
-        FETCH ABSOLUTE
+        F441
+        
+        Extended set function support
         
        
        
-        F431-06
-        FETCH RELATIVE
+        F471
+        Core
+        Scalar subquery values
         
        
        
-        F461
-        Named character sets
+        F481
+        Core
+        Expanded NULL predicate
         
        
        
         F491
+        Enhanced integrity management
         Constraint management
         
        
        
         F511
+        
         BIT data type
         
        
        
         F531
+        
         Temporary tables
         
        
        
         F555
+        Enhanced datetime facilities
         Enhanced seconds precision
         
        
        
         F561
+        
         Full value expressions
         
        
        
         F571
+        
         Truth value tests
         
        
        
         F591
+        OLAP facilities
         Derived tables
         
        
        
         F611
-        Indicator data types
         
-       
-       
-        F641
-        Row and table constructors
+        Indicator data types
         
        
        
         F651
-        Catalog name qualifiers
         
-       
-       
-        F661
-        Simple tables
+        Catalog name qualifiers
         
        
        
         F701
+        Enhanced integrity management
         Referential update actions
         
        
-       
-        F741
-        Referential MATCH types
-        
-       
        
         F761
-        Session management
         
-       
-       
-        F771
-        Connection management
+        Session management
         
        
        
         F791
-        Insensitive cursors
         
-       
-       
-        F831
-        Full cursor update
-        
-       
-       
-        F831-01
-        Updatable scrollable cursors
+        Insensitive cursors
         
        
        
-        F831-02
-        Updatable ordered cursors
+        F801
         
-       
-       
-        S051
-        Create table of type
+        Full set function
         
        
        
         S071
+        Enhanced object support
         SQL paths in function and type name resolution
         
        
        
-        S091
-        Basic array support
-        
-       
-       
-        S091-01
-        Arrays of built-in data types
-        
-       
-       
-        S092
-        Arrays of user-defined types
-        
-       
-       
-        S151
-        Type predicate
-        IS OF
-       
-       
-        S201
-        SQL routines on arrays
-        
-       
-       
-        S201-01
-        Array parameters
-        
-       
-       
-        S201-02
-        Array as result type of functions
+        S111
+        Enhanced object support
+        ONLY in query expressions
         
        
        
         S211
+        Enhanced object support, SQL/MM support
         User-defined cast functions
-        CREATE CAST(type AS type)
+        
        
        
         T031
+        
         BOOLEAN data type
         
        
        
         T141
+        
         SIMILAR predicate
         
        
        
         T151
+        
         DISTINCT predicate
         
        
        
         T191
+        Enhanced integrity management
         Referential action RESTRICT
         
        
        
         T201
+        Enhanced integrity management
         Comparable data types for referential constraints
         
        
-       
-        T211
-        Basic trigger capability
-        
-       
        
         T211-01
+        Enhanced integrity management
         Triggers activated on UPDATE, INSERT, or DELETE of one
          base table 
         
        
        
         T211-02
+        Enhanced integrity management
         BEFORE triggers
         
        
        
         T211-03
+        Enhanced integrity management
         AFTER triggers
         
        
        
         T211-04
+        Enhanced integrity management
         FOR EACH ROW triggers
         
        
        
-        T211-08
-        Multiple triggers for the same the event are executed in
-         the order in which they were created 
-        
-       
-       
-        T212
-        Enhanced trigger capability
+        T211-07
+        Enhanced integrity management
+        TRIGGER privilege
         
        
        
         T231
+        
         SENSITIVE cursors
         
        
        
         T241
+        
         START TRANSACTION statement
         
        
        
-        T251
-        SET TRANSACTION statement: LOCAL option
+        T312
+        
+        OVERLAY function
         
        
        
-        T312
-        OVERLAY function
+        T321-01
+        Core
+        User-defined functions with no overloading
+        
+       
+       
+        T321-03
+        Core
+        Function invocation
         
        
        
         T322
+        PSM, SQL/MM support
         Overloading of SQL-invoked functions and procedures
         
        
        
         T323
+        
         Explicit security for external routines
         
        
        
         T351
-        Bracketed SQL comments (/*...*/ comments)
         
-       
-       
-        T401
-        INSERT into a cursor
+        Bracketed SQL comments (/*...*/ comments)
         
        
        
         T441
-        ABS and MOD functions
         
-       
-       
-        T461
-        Symmetric BETWEEN predicate
+        ABS and MOD functions
         
        
        
         T501
+        
         Enhanced EXISTS predicate
         
        
        
         T551
-        Optional key words for default syntax
         
-       
-       
-        T571
-        Array-returning external SQL-invoked functions
+        Optional key words for default syntax
         
        
        
         T581
+        
         Regular expression substring function
         
        
        
         T591
+        
         UNIQUE constraints of possibly null columns
         
        
@@ -1301,522 +1378,927 @@ $Header: /cvsroot/pgsql/doc/src/sgml/features.sgml,v 2.8 2002/11/15 03:11:16 mom
     functionality is available.
 
     
-     3">
+     4">
       
        
         Identifier
+        Package
         Description
         Comment
        
       
       
+       
+        B011
+        Core
+        Embedded Ada
+        
+       
+       
+        B013
+        Core
+        Embedded COBOL
+        
+       
+       
+        B014
+        Core
+        Embedded Fortran
+        
+       
+       
+        B015
+        Core
+        Embedded MUMPS
+        
+       
+       
+        B016
+        Core
+        Embedded Pascal
+        
+       
+       
+        B017
+        Core
+        Embedded PL/I
+        
+       
+       
+        B031
+        
+        Basic dynamic SQL
+        
+       
+       
+        B032
+        
+        Extended dynamic SQL
+        
+       
+       
+        B032-1
+        
+        <describe input> statement
+        
+       
+       
+        B041
+        
+        Extensions to embedded SQL exception declarations
+        
+       
+       
+        B051
+        
+        Enhanced execution rights
+        
+       
+       
+        E081
+        Core
+        Basic Privileges
+        
+       
        
         E081-05
+        Core
         UPDATE privilege at the column level
         
        
        
         E081-07
+        Core
         REFERENCES privilege at the column level
         
        
+       
+        E081-08
+        Core
+        WITH GRANT OPTION
+        
+       
+       
+        E121
+        Core
+        Basic cursor support
+        
+       
+       
+        E121-04
+        Core
+        OPEN statement
+        (cursor)
+       
+       
+        E121-06
+        Core
+        Positioned UPDATE statement
+        (cursor)
+       
+       
+        E121-07
+        Core
+        Positioned DELETE statement
+        (cursor)
+       
        
         E121-17
+        Core
         WITH HOLD cursors
-        Cursor stays open across transactions
+        Cursor to stay open across transactions
+       
+       
+        E152
+        Core
+        Basic SET TRANSACTION statement
+        
        
        
         E152-02
+        Core
         SET TRANSACTION statement: READ ONLY and READ WRITE
          clauses 
         Syntax accepted; READ ONLY not supported
        
+       
+        E153
+        Core
+        Updatable queries with subqueries
+        
+       
        
         E171
+        Core
         SQLSTATE support
         
        
+       
+        F181
+        
+        Multiple module support
+        
+       
        
         E182
+        Core
         Module language
-        Alternate implementation
+        
        
        
         F021
+        Core
         Basic information schema
         
        
        
         F021-01
+        Core
         COLUMNS view
         
        
        
         F021-02
+        Core
         TABLES view
         
        
        
         F021-03
+        Core
         VIEWS view
         
        
        
         F021-04
+        Core
         TABLE_CONSTRAINTS view
         
        
        
-        F021-05
-        REFERENTIAL_CONSTRAINTS view
+        F021-05
+        Core
+        REFERENTIAL_CONSTRAINTS view
+        
+       
+       
+        F021-06
+        Core
+        CHECK_CONSTRAINTS view
+        
+       
+       
+        F031-19
+        Core
+        REVOKE statement: RESTRICT clause
+        
+       
+       
+        F034
+        
+        Extended REVOKE statement
+        
+       
+       
+        F034-01
+        
+        REVOKE statement performed by other than the owner of a
+         schema object 
+        
+       
+       
+        F034-02
+        
+        REVOKE statement: GRANT OPTION FOR clause
+        
+       
+       
+        F034-03
         
-       
-       
-        F021-06
-        CHECK_CONSTRAINTS view
+        REVOKE statement to revoke a privilege that the grantee
+         has WITH GRANT OPTION 
         
        
        
-        F033
-        ALTER TABLE statement: DROP COLUMN clause
-        Syntax accepted
+        F111
+        
+        Isolation levels other than SERIALIZABLE
+        
        
        
         F111-01
+        
         READ UNCOMMITTED isolation level
         
        
        
         F111-03
+        
         REPEATABLE READ isolation level
         
        
        
         F121
+        
         Basic diagnostics management
         
        
        
         F121-01
+        
         GET DIAGNOSTICS statement
         
        
        
         F121-02
+        
         SET TRANSACTION statement: DIAGNOSTICS SIZE clause
         
        
        
         F231
+        
         Privilege Tables
         
        
        
         F231-01
+        
         TABLE_PRIVILEGES view
         
        
        
         F231-02
+        
         COLUMN_PRIVILEGES view
         
        
        
         F231-03
+        
         USAGE_PRIVILEGES view
         
        
-       
-        F251
-        Domain support
-        Alternate implementation
-       
        
         F291
+        
         UNIQUE predicate
         
        
        
         F301
+        
         CORRESPONDING in query expressions
         
        
        
-        F381
-        Extended schema manipulation
+        F311-04
+        Core
+        CREATE VIEW: WITH CHECK OPTION
         
        
        
-        F421
-        National character
-        Syntax accepted
+        F341
+        
+        Usage tables
+        
        
        
-        F441
-        Extended set function support
+        F431
+        
+        Read-only scrollable cursors
+        
+       
+       
+        F431-02
+        
+        FETCH FIRST
+        
+       
+       
+        F431-03
+        
+        FETCH LAST
+        
+       
+       
+        F431-05
+        
+        FETCH ABSOLUTE
         
        
        
         F451
+        
         Character set definition
-        Alternate implementation
+        
+       
+       
+        F461
+        
+        Named character sets
+        
        
        
         F501
+        Core
         Features and conformance views
         
        
        
         F501-01
+        Core
         SQL_FEATURES view
         
        
        
         F501-02
+        Core
         SQL_SIZING view
         
        
        
         F501-03
+        Core
         SQL_LANGUAGES view
         
        
        
         F502
+        
         Enhanced documentation tables
         
        
        
         F502-01
+        
         SQL_SIZING_PROFILES view
         
        
        
         F502-02
+        
         SQL_IMPLEMENTATION_INFO view
         
        
        
         F502-03
+        
         SQL_PACKAGES view
         
        
        
         F521
+        Enhanced integrity management
         Assertions
         
        
+       
+        F641
+        OLAP facilities
+        Row and table constructors
+        
+       
+       
+        F661
+        
+        Simple tables
+        
+       
        
         F671
+        Enhanced integrity management
         Subqueries in CHECK
-        
+        intentionally omitted
        
        
         F691
+        
         Collation and translation
-        Alternate implementation
+        
        
        
         F711
+        
         ALTER domain
         
        
        
         F721
-        Deferrable constraints
         
+        Deferrable constraints
+        foreign keys only
        
        
         F731
+        
         INSERT column privileges
         
        
+       
+        F741
+        
+        Referential MATCH types
+        no partial match yet
+       
        
         F751
+        
         View CHECK enhancements
         
        
        
-        F781
-        Self-referencing operations
+        F771
+        
+        Connection management
         
        
        
-        F801
-        Full set function
-        XXX May have this already
+        F781
+        
+        Self-referencing operations
+        
        
        
         F811
+        
         Extended flagging
         
        
        
         F812
+        Core
         Basic flagging
         
        
        
         F813
+        
         Extended flagging for "Core SQL Flagging" and "Catalog
          Lookup" only 
         
        
        
         F821
+        
         Local table references
         
        
+       
+        F831
+        
+        Full cursor update
+        
+       
+       
+        F831-01
+        
+        Updatable scrollable cursors
+        
+       
+       
+        F831-02
+        
+        Updatable ordered cursors
+        
+       
+       
+        S011
+        Core
+        Distinct data types
+        
+       
        
         S011-01
+        Core
         USER_DEFINED_TYPES view
         
        
        
         S023
+        Basic object support, SQL/MM support
         Basic structured types
-        Alternate implementation
+        
        
        
-        S024
+        S024, SQL/MM support
+        Enhanced object support
         Enhanced structured types
-        Alternate implementation
+        
        
        
         S041
+        Basic object support
         Basic reference types
         
        
        
         S043
+        Enhanced object support
         Enhanced reference types
         
        
+       
+        S051
+        Basic object support
+        Create table of type
+        
+       
        
         S081
+        Enhanced object support
         Subtables
         
        
+       
+        S091
+        SQL/MM support
+        Basic array support
+        PostgreSQL arrays are different
+       
+       
+        S091-01
+        SQL/MM support
+        Arrays of built-in data types
+        
+       
        
         S091-02
+        SQL/MM support
         Arrays of distinct types
         
        
        
         S091-03
+        SQL/MM support
         Array expressions
         
        
+       
+        S092
+        SQL/MM support
+        Arrays of user-defined types
+        
+       
        
         S094
+        
         Arrays of reference types
         
        
        
-        S111
-        ONLY in query expressions
-        
+        S151
+        Basic object support
+        Type predicate
+        IS OF
        
        
         S161
+        Enhanced object support
         Subtype treatment
         TREAT(expr AS type)
        
+       
+        S201
+        
+        SQL routines on arrays
+        
+       
+       
+        S201-01
+        
+        Array parameters
+        
+       
+       
+        S201-02
+        
+        Array as result type of functions
+        
+       
        
         S231
+        Enhanced object support
         Structured type locators
         
        
        
         S232
+        
         Array locators
         
        
        
         S241
+        Enhanced object support
         Transform functions
         
        
        
         S251
+        
         User-defined orderings
         CREATE ORDERING FOR
        
        
         S261
+        
         Specific type method
         
        
        
         T011
+        
         Timestamp in Information Schema
         
        
        
         T041
+        Basic object support
         Basic LOB data type support
         
        
        
         T041-01
+        Basic object support
         BLOB data type
         
        
        
         T041-02
+        Basic object support
         CLOB data type
         
        
        
         T041-03
+        Basic object support
         POSITION, LENGTH, LOWER, TRIM, UPPER, and SUBSTRING
          functions for LOB data types 
         
        
        
         T041-04
+        Basic object support
         Concatenation of LOB data types
         
        
        
         T041-05
+        Basic object support
         LOB locator: non-holdable
         
        
        
         T042
+        
         Extended LOB data type support
         
        
        
         T051
+        
         Row types
         
        
        
         T111
+        
         Updatable joins, unions, and columns
         
        
        
         T121
+        
         WITH (excluding RECURSIVE) in query expression
         
        
        
         T131
+        
         Recursive query
         
        
        
         T171
+        
         LIKE clause in table definition
         CREATE TABLE T1 (LIKE T2)
        
+       
+        T211
+        Enhanced integrity management, Active database
+        Basic trigger capability
+        
+       
        
         T211-05
+        Enhanced integrity management
         Ability to specify a search condition that must be true
          before the trigger is invoked 
         
        
        
         T211-06
+        Enhanced integrity management
         Support for run-time rules for the interaction of triggers
          and constraints 
         
        
        
-        T211-07
-        TRIGGER privilege
+        T211-08
+        Enhanced integrity management
+        Multiple triggers for the same the event are executed in
+         the order in which they were created 
+        
+       
+       
+        T212
+        Enhanced integrity management
+        Enhanced trigger capability
+        
+       
+       
+        T251
+        
+        SET TRANSACTION statement: LOCAL option
         
        
        
         T261
+        
         Chained transactions
         
        
        
         T271
+        
         Savepoints
         
        
        
         T281
+        
         SELECT privilege with column granularity
         
        
        
         T301
+        
         Functional Dependencies
         
        
+       
+        T321
+        Core
+        Basic SQL-invoked routines
+        
+       
        
         T321-02
+        Core
         User-defined stored procedures with no overloading
         
        
        
         T321-04
+        Core
         CALL statement
         
        
+       
+        T321-05
+        Core
+        RETURN statement
+        
+       
        
         T321-06
+        Core
         ROUTINES view
         
        
        
         T321-07
+        Core
         PARAMETERS view
         
        
        
         T331
+        
         Basic roles
         
        
        
         T332
+        
         Extended roles
         
        
+       
+        T401
+        
+        INSERT into a cursor
+        
+       
        
         T411
+        
         UPDATE statement: SET ROW option
         
        
        
         T431
+        OLAP facilities
         CUBE and ROLLUP operations
         
        
+       
+        T461
+        
+        Symmetric BETWEEN predicate
+        
+       
        
         T471
+        
         Result sets return value
         
        
        
         T491
+        
         LATERAL derived table
         
        
        
         T511
+        
         Transaction counts
         
        
        
         T541
+        
         Updatable table references
-        ?
+        
        
        
         T561
+        
         Holdable locators
         
        
+       
+        T571
+        
+        Array-returning external SQL-invoked functions
+        
+       
        
         T601
+        
         Local cursor references
         
        
@@ -1825,6 +2307,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/features.sgml,v 2.8 2002/11/15 03:11:16 mom
     
    
   
+