From 35223af0579d7c00d5dbca14d7741b0d2e938256 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Sun, 17 Nov 2002 13:28:43 +0000 Subject: [PATCH] Revise SQL features list. --- doc/src/sgml/features.sgml | 1177 +++++++++++++++++++++++++----------- 1 file changed, 830 insertions(+), 347 deletions(-) diff --git a/doc/src/sgml/features.sgml b/doc/src/sgml/features.sgml index fa8641d012..a1a016c6dc 100644 --- a/doc/src/sgml/features.sgml +++ b/doc/src/sgml/features.sgml @@ -1,480 +1,600 @@ - - SQL99 Feature List + + SQL Conformance - - 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 - + 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. - + 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 +