Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
Postgres FD Implementation
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Abuhujair Javed
Postgres FD Implementation
Commits
35223af0
Commit
35223af0
authored
Nov 17, 2002
by
Peter Eisentraut
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Revise SQL features list.
parent
00e59b5e
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
830 additions
and
347 deletions
+830
-347
doc/src/sgml/features.sgml
doc/src/sgml/features.sgml
+830
-347
No files found.
doc/src/sgml/features.sgml
View file @
35223af0
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/features.sgml,v 2.
8 2002/11/15 03:11:16 momjian
Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/features.sgml,v 2.
9 2002/11/17 13:28:43 petere
Exp $
-->
<appendix id="features">
<title>SQL99 Feature List
</title>
<appendix id="features">
<title>SQL Conformance
</title>
<para>
<acronym>SQL92</acronym> defined three feature sets for
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 too voluminous or in
This section attempts to outline to what extent
<productname>PostgreSQL</productname> 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.
</para>
<para>
The formal name of the SQL standard is ISO/IEC 9075 <quote>Database
Language SQL</quote>. A revised version of the standard is released
from time to time; the most recent 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.
<productname>PostgreSQL</productname> 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
<productname>PostgreSQL</productname> development.
</para>
<para>
<acronym>SQL92</acronym> defined three feature sets for conformance:
Entry, Intermediate, and Full. Most database products claiming
<acronym>SQL</acronym> 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.
</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 provide a list of supported features,
followed by a list of the features defined in
<acronym>SQL99</acronym> which are not yet supported in
<productname>PostgreSQL</>.
<acronym>SQL92</acronym>. A large subset of these features
represents the <quote>core</quote> features, which every conforming
SQL implementation must supply. The rest of the features are purely
optional. Some optional features are grouped together to form
<quote>packages</quote>, which SQL implementations can claim
conformance to, thus claiming conformance to particular groups of
features.
</para>
<para>
The <acronym>SQL99</acronym> standard is also split into 5 parts:
Framework, Foundation, Call Level Interface, Persistent Stored
Modules, and Host Language Bindings.
<productname>PostgreSQL</productname> only covers parts 1, 2, and 5.
Part 3 is similar to the ODBC interface, and part 4 is similar to
the <application>PL/pgSQL</application> programming language, but
exact conformance is not specifically intended in either case.
</para>
<para>
In the following two sections, we provide a list of those features
that <productname>PostgreSQL</productname> supports, followed by a
list of the features defined in 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.
</para>
<note>
<para>
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.
</para>
</note>
<sect1 id="features-sql99">
<title>Supported Features</title>
<para>
<informaltable>
<tgroup cols="
3
">
<tgroup cols="
4
">
<thead>
<row>
<entry>Identifier</entry>
<entry>Package</entry>
<entry>Description</entry>
<entry>Comment</entry>
</row>
</thead>
<tbody>
<row>
<entry>B012</entry>
<entry>Core</entry>
<entry>Embedded C</entry>
<entry></entry>
</row>
<row>
<entry>B021</entry>
<entry></entry>
<entry>Direct SQL</entry>
<entry></entry>
</row>
<row>
<entry>E011</entry>
<entry>Core</entry>
<entry>Numeric data types</entry>
<entry></entry>
</row>
<row>
<entry>E011-01</entry>
<entry>Core</entry>
<entry>INTEGER and SMALLINT data types</entry>
<entry></entry>
</row>
<row>
<entry>E011-02</entry>
<entry>Core</entry>
<entry>REAL, DOUBLE PRECISON, and FLOAT data types</entry>
<entry></entry>
</row>
<row>
<entry>E011-03</entry>
<entry>Core</entry>
<entry>DECIMAL and NUMERIC data types</entry>
<entry></entry>
</row>
<row>
<entry>E011-04</entry>
<entry>Core</entry>
<entry>Arithmetic operators</entry>
<entry></entry>
</row>
<row>
<entry>E011-05</entry>
<entry>Core</entry>
<entry>Numeric comparison</entry>
<entry></entry>
</row>
<row>
<entry>E011-06</entry>
<entry>Core</entry>
<entry>Implicit casting among the numeric data types</entry>
<entry></entry>
</row>
<row>
<entry>E021</entry>
<entry>Core</entry>
<entry>Character data types</entry>
<entry></entry>
</row>
<row>
<entry>E021-01</entry>
<entry>Core</entry>
<entry>CHARACTER data type</entry>
<entry></entry>
</row>
<row>
<entry>E021-02</entry>
<entry>Core</entry>
<entry>CHARACTER VARYING data type</entry>
<entry></entry>
</row>
<row>
<entry>E021-03</entry>
<entry>Core</entry>
<entry>Character literals</entry>
<entry></entry>
</row>
<row>
<entry>E021-04</entry>
<entry>Core</entry>
<entry>CHARACTER_LENGTH function</entry>
<entry></entry>
</row>
<row>
<entry>E021-05</entry>
<entry>Core</entry>
<entry>OCTET_LENGTH function</entry>
<entry></entry>
</row>
<row>
<entry>E021-06</entry>
<entry>Core</entry>
<entry>SUBSTRING function</entry>
<entry></entry>
</row>
<row>
<entry>E021-07</entry>
<entry>Core</entry>
<entry>Character concatenation</entry>
<entry></entry>
</row>
<row>
<entry>E021-08</entry>
<entry>Core</entry>
<entry>UPPER and LOWER functions</entry>
<entry></entry>
</row>
<row>
<entry>E021-09</entry>
<entry>Core</entry>
<entry>TRIM function</entry>
<entry></entry>
</row>
<row>
<entry>E021-10</entry>
<entry>Core</entry>
<entry>Implicit casting among the character data types</entry>
<entry></entry>
</row>
<row>
<entry>E021-11</entry>
<entry>Core</entry>
<entry>POSITION function</entry>
<entry></entry>
</row>
<row>
<entry>E011-12</entry>
<entry>Core</entry>
<entry>Character comparison</entry>
<entry></entry>
</row>
<row>
<entry>E031</entry>
<entry>Core</entry>
<entry>Identifiers</entry>
<entry></entry>
</row>
<row>
<entry>E031-01</entry>
<entry>Core</entry>
<entry>Delimited identifiers</entry>
<entry></entry>
</row>
<row>
<entry>E031-02</entry>
<entry>Core</entry>
<entry>Lower case identifiers</entry>
<entry></entry>
</row>
<row>
<entry>E031-03</entry>
<entry>Core</entry>
<entry>Trailing underscore</entry>
<entry></entry>
</row>
<row>
<entry>E051</entry>
<entry>Core</entry>
<entry>Basic query specification</entry>
<entry></entry>
</row>
<row>
<entry>E051-01</entry>
<entry>Core</entry>
<entry>SELECT DISTINCT</entry>
<entry></entry>
</row>
<row>
<entry>E051-02</entry>
<entry>Core</entry>
<entry>GROUP BY clause</entry>
<entry></entry>
</row>
<row>
<entry>E051-04</entry>
<entry>Core</entry>
<entry>GROUP BY can contain columns not in <select list></entry>
<entry></entry>
</row>
<row>
<entry>E051-05</entry>
<entry>Core</entry>
<entry>Select list items can be renamed</entry>
<entry></entry>
<entry>
AS is required
</entry>
</row>
<row>
<entry>E051-06</entry>
<entry>Core</entry>
<entry>HAVING clause</entry>
<entry></entry>
</row>
<row>
<entry>E051-07</entry>
<entry>Core</entry>
<entry>Qualified * in select list</entry>
<entry></entry>
</row>
<row>
<entry>E051-08</entry>
<entry>Core</entry>
<entry>Correlation names in the FROM clause</entry>
<entry></entry>
</row>
<row>
<entry>E051-09</entry>
<entry>Core</entry>
<entry>Rename columns in the FROM clause</entry>
<entry></entry>
</row>
<row>
<entry>E061</entry>
<entry>Core</entry>
<entry>Basic predicates and search conditions</entry>
<entry></entry>
</row>
<row>
<entry>E061-01</entry>
<entry>Core</entry>
<entry>Comparison predicate</entry>
<entry></entry>
</row>
<row>
<entry>E061-02</entry>
<entry>Core</entry>
<entry>BETWEEN predicate</entry>
<entry></entry>
</row>
<row>
<entry>E061-03</entry>
<entry>Core</entry>
<entry>IN predicate with list of values</entry>
<entry></entry>
</row>
<row>
<entry>E061-04</entry>
<entry>Core</entry>
<entry>LIKE predicate</entry>
<entry></entry>
</row>
<row>
<entry>E061-05</entry>
<entry>Core</entry>
<entry>LIKE predicate ESCAPE clause</entry>
<entry></entry>
</row>
<row>
<entry>E061-06</entry>
<entry>Core</entry>
<entry>NULL predicate</entry>
<entry></entry>
</row>
<row>
<entry>E061-07</entry>
<entry>Core</entry>
<entry>Quantified comparison predicate</entry>
<entry></entry>
</row>
<row>
<entry>E061-08</entry>
<entry>Core</entry>
<entry>EXISTS predicate</entry>
<entry></entry>
</row>
<row>
<entry>E061-09</entry>
<entry>Core</entry>
<entry>Subqueries in comparison predicate</entry>
<entry></entry>
</row>
<row>
<entry>E061-11</entry>
<entry>Core</entry>
<entry>Subqueries in IN predicate</entry>
<entry></entry>
</row>
<row>
<entry>E061-12</entry>
<entry>Core</entry>
<entry>Subqueries in quantified comparison predicate</entry>
<entry></entry>
</row>
<row>
<entry>E061-13</entry>
<entry>Core</entry>
<entry>Correlated subqueries</entry>
<entry></entry>
</row>
<row>
<entry>E061-14</entry>
<entry>Core</entry>
<entry>Search condition</entry>
<entry></entry>
</row>
<row>
<entry>E071</entry>
<entry>Core</entry>
<entry>Basic query expressions</entry>
<entry></entry>
</row>
<row>
<entry>E071-01</entry>
<entry>Core</entry>
<entry>UNION DISTINCT table operator</entry>
<entry></entry>
</row>
<row>
<entry>E071-02</entry>
<entry>Core</entry>
<entry>UNION ALL table operator</entry>
<entry></entry>
</row>
<row>
<entry>E071-03</entry>
<entry>Core</entry>
<entry>EXCEPT DISTINCT table operator</entry>
<entry></entry>
</row>
<row>
<entry>E071-05</entry>
<entry>Core</entry>
<entry>Columns combined via table operators need not have
exactly the same data type</entry>
<entry></entry>
</row>
<row>
<entry>E071-06</entry>
<entry>Core</entry>
<entry>Table operators in subqueries</entry>
<entry></entry>
</row>
<row>
<entry>E081</entry>
<entry>Basic Privileges</entry>
<entry></entry>
</row>
<row>
<entry>E081-01</entry>
<entry>Core</entry>
<entry>SELECT privilege</entry>
<entry></entry>
</row>
<row>
<entry>E081-02</entry>
<entry>Core</entry>
<entry>DELETE privilege</entry>
<entry></entry>
</row>
<row>
<entry>E081-03</entry>
<entry>Core</entry>
<entry>INSERT privilege at the table level</entry>
<entry></entry>
</row>
<row>
<entry>E081-04</entry>
<entry>Core</entry>
<entry>UPDATE privilege at the table level</entry>
<entry></entry>
</row>
<row>
<entry>E081-06</entry>
<entry>Core</entry>
<entry>REFERENCES privilege at the table level</entry>
<entry></entry>
</row>
<row>
<entry>E081-08</entry>
<entry>WITH GRANT OPTION</entry>
<entry></entry>
</row>
<row>
<entry>E091</entry>
<entry>Core</entry>
<entry>Set functions</entry>
<entry></entry>
</row>
<row>
<entry>E091-01</entry>
<entry>Core</entry>
<entry>AVG</entry>
<entry></entry>
</row>
<row>
<entry>E091-02</entry>
<entry>Core</entry>
<entry>COUNT</entry>
<entry></entry>
</row>
<row>
<entry>E091-03</entry>
<entry>Core</entry>
<entry>MAX</entry>
<entry></entry>
</row>
<row>
<entry>E091-04</entry>
<entry>Core</entry>
<entry>MIN</entry>
<entry></entry>
</row>
<row>
<entry>E091-05</entry>
<entry>Core</entry>
<entry>SUM</entry>
<entry></entry>
</row>
<row>
<entry>E091-06</entry>
<entry>Core</entry>
<entry>ALL quantifier</entry>
<entry></entry>
</row>
<row>
<entry>E091-07</entry>
<entry>Core</entry>
<entry>DISTINCT quantifier</entry>
<entry></entry>
</row>
<row>
<entry>E101</entry>
<entry>Core</entry>
<entry>Basic data manipulation</entry>
<entry></entry>
</row>
<row>
<entry>E101-01</entry>
<entry>Core</entry>
<entry>INSERT statement</entry>
<entry></entry>
</row>
<row>
<entry>E101-03</entry>
<entry>Core</entry>
<entry>Searched UPDATE statement</entry>
<entry></entry>
</row>
<row>
<entry>E101-04</entry>
<entry>Core</entry>
<entry>Searched DELETE statement</entry>
<entry></entry>
</row>
<row>
<entry>E111</entry>
<entry>Core</entry>
<entry>Single row SELECT statement</entry>
<entry></entry>
</row>
<row>
<entry>E121</entry>
<entry>Basic cursor support</entry>
<entry></entry>
</row>
<row>
<entry>E121-01</entry>
<entry>Core</entry>
<entry>DECLARE CURSOR</entry>
<entry></entry>
</row>
<row>
<entry>E121-02</entry>
<entry>Core</entry>
<entry>ORDER BY columns need not be in select list</entry>
<entry></entry>
</row>
<row>
<entry>E121-03</entry>
<entry>Core</entry>
<entry>Value expressions in ORDER BY clause</entry>
<entry></entry>
</row>
<row>
<entry>E121-04</entry>
<entry>OPEN statement</entry>
<entry>(cursor)</entry>
</row>
<row>
<entry>E121-06</entry>
<entry>Positioned UPDATE statement</entry>
<entry>(cursor)</entry>
</row>
<row>
<entry>E121-07</entry>
<entry>Positioned DELETE statement</entry>
<entry>(cursor)</entry>
</row>
<row>
<entry>E121-08</entry>
<entry>Core</entry>
<entry>CLOSE statement</entry>
<entry>(cursor)</entry>
</row>
<row>
<entry>E121-10</entry>
<entry>Core</entry>
<entry>FETCH statement implicit NEXT</entry>
<entry></entry>
</row>
<row>
<entry>E131</entry>
<entry>Core</entry>
<entry>Null value support (nulls in lieu of values)</entry>
<entry></entry>
</row>
<row>
<entry>E141</entry>
<entry>Core</entry>
<entry>Basic integrity constraints</entry>
<entry></entry>
</row>
<row>
<entry>E141-01</entry>
<entry>Core</entry>
<entry>NOT NULL constraints</entry>
<entry></entry>
</row>
<row>
<entry>E141-02</entry>
<entry>Core</entry>
<entry>UNIQUE constraints of NOT NULL columns</entry>
<entry></entry>
</row>
<row>
<entry>E141-03</entry>
<entry>Core</entry>
<entry>PRIMARY KEY constraints</entry>
<entry></entry>
</row>
<row>
<entry>E141-04</entry>
<entry>Core</entry>
<entry>Basic FOREIGN KEY constraint with the NO ACTION default
for both referential delete action and referential update
action</entry>
...
...
@@ -482,161 +602,186 @@ $Header: /cvsroot/pgsql/doc/src/sgml/features.sgml,v 2.8 2002/11/15 03:11:16 mom
</row>
<row>
<entry>E141-06</entry>
<entry>Core</entry>
<entry>CHECK constraints</entry>
<entry></entry>
</row>
<row>
<entry>E141-07</entry>
<entry>Core</entry>
<entry>Column defaults</entry>
<entry></entry>
</row>
<row>
<entry>E141-08</entry>
<entry>Core</entry>
<entry>NOT NULL inferred on PRIMARY KEY</entry>
<entry></entry>
</row>
<row>
<entry>E141-10</entry>
<entry>Core</entry>
<entry>Names in a foreign key can be specified in any order</entry>
<entry></entry>
</row>
<row>
<entry>E151</entry>
<entry>Core</entry>
<entry>Transaction support</entry>
<entry></entry>
</row>
<row>
<entry>E151-01</entry>
<entry>Core</entry>
<entry>COMMIT statement</entry>
<entry></entry>
</row>
<row>
<entry>E151-02</entry>
<entry>Core</entry>
<entry>ROLLBACK statement</entry>
<entry></entry>
</row>
<row>
<entry>E152</entry>
<entry>Basic SET TRANSACTION statement</entry>
<entry></entry>
</row>
<row>
<entry>E152-01</entry>
<entry>Core</entry>
<entry>SET TRANSACTION statement: ISOLATION LEVEL SERIALIZABLE
clause</entry>
<entry></entry>
</row>
<row>
<entry>E153</entry>
<entry>Updatable queries with subqueries</entry>
<entry></entry>
</row>
<row>
<entry>E161</entry>
<entry>Core</entry>
<entry>SQL comments using leading double minus</entry>
<entry></entry>
</row>
<row>
<entry>F031</entry>
<entry>Core</entry>
<entry>Basic schema manipulation</entry>
<entry></entry>
</row>
<row>
<entry>F031-01</entry>
<entry>Core</entry>
<entry>CREATE TABLE statement to create persistent base
tables</entry>
<entry></entry>
</row>
<row>
<entry>F031-02</entry>
<entry>Core</entry>
<entry>CREATE VIEW statement</entry>
<entry></entry>
</row>
<row>
<entry>F031-03</entry>
<entry>Core</entry>
<entry>GRANT statement</entry>
<entry></entry>
</row>
<row>
<entry>F031-04</entry>
<entry>ALTER TABLE statement COLUMN clause</entry>
<entry>Core</entry>
<entry>ALTER TABLE statement: ADD COLUMN clause</entry>
<entry></entry>
</row>
<row>
<entry>F031-13</entry>
<entry>DROP TABLE statement clause</entry>
<entry>Core</entry>
<entry>DROP TABLE statement: RESTRICT clause</entry>
<entry></entry>
</row>
<row>
<entry>F031-16</entry>
<entry>DROP VIEW statement RESTRICT clause</entry>
<entry>Core</entry>
<entry>DROP VIEW statement: RESTRICT clause</entry>
<entry></entry>
</row>
<row>
<entry>F031-19</entry>
<entry>REVOKE statement RESTRICT clause</entry>
<entry>F032</entry>
<entry></entry>
<entry>CASCADE drop behavior</entry>
<entry></entry>
</row>
<row>
<entry>F033</entry>
<entry></entry>
<entry>ALTER TABLE statement: DROP COLUMN clause</entry>
<entry></entry>
</row>
<row>
<entry>F041</entry>
<entry>Core</entry>
<entry>Basic joined table</entry>
<entry></entry>
</row>
<row>
<entry>F041-01</entry>
<entry>Core</entry>
<entry>Inner join (but not necessarily the INNER keyword)</entry>
<entry></entry>
</row>
<row>
<entry>F041-02</entry>
<entry>Core</entry>
<entry>INNER keyword</entry>
<entry></entry>
</row>
<row>
<entry>F041-03</entry>
<entry>Core</entry>
<entry>LEFT OUTER JOIN</entry>
<entry></entry>
</row>
<row>
<entry>F041-04</entry>
<entry>Core</entry>
<entry>RIGHT OUTER JOIN</entry>
<entry></entry>
</row>
<row>
<entry>F041-05</entry>
<entry>Core</entry>
<entry>Outer joins can be nested</entry>
<entry></entry>
</row>
<row>
<entry>F041-07</entry>
<entry>Core</entry>
<entry>The inner table in a left or right outer join can also be
used in an inner join</entry>
<entry></entry>
</row>
<row>
<entry>F041-08</entry>
<entry>Core</entry>
<entry>All comparison operators are supported
(rather than just =)</entry>
<entry></entry>
</row>
<row>
<entry>F051</entry>
<entry>Core</entry>
<entry>Basic date and time</entry>
<entry></entry>
</row>
<row>
<entry>F051-01</entry>
<entry>Core</entry>
<entry>DATE data type (including support of DATE literal)</entry>
<entry></entry>
</row>
<row>
<entry>F051-02</entry>
<entry>Core</entry>
<entry>TIME data type (including support of TIME literal) with
fractional seconds precision of at least 0</entry>
<entry></entry>
</row>
<row>
<entry>F051-03</entry>
<entry>Core</entry>
<entry>TIMESTAMP data type (including support of TIMESTAMP
literal) with fractional seconds precision of at least
0 and 6</entry>
...
...
@@ -644,644 +789,576 @@ $Header: /cvsroot/pgsql/doc/src/sgml/features.sgml,v 2.8 2002/11/15 03:11:16 mom
</row>
<row>
<entry>F051-04</entry>
<entry>Comparison predicate on DATE TIMESTAMP data types</entry>
<entry>Core</entry>
<entry>Comparison predicate on DATE, TIME, and TIMESTAMP data types</entry>
<entry></entry>
</row>
<row>
<entry>F051-05</entry>
<entry>Core</entry>
<entry>Explicit CAST between datetime types and character types</entry>
<entry></entry>
</row>
<row>
<entry>F051-06</entry>
<entry>Core</entry>
<entry>CURRENT_DATE</entry>
<entry></entry>
</row>
<row>
<entry>F051-07</entry>
<entry>Core</entry>
<entry>LOCALTIME</entry>
<entry></entry>
</row>
<row>
<entry>F051-08</entry>
<entry>Core</entry>
<entry>LOCALTIMESTAMP</entry>
<entry></entry>
</row>
<row>
<entry>F052</entry>
<entry>Enhanced datetime facilities</entry>
<entry>Intervals and datetime arithmetic</entry>
<entry></entry>
</row>
<row>
<entry>F081</entry>
<entry>Core</entry>
<entry>UNION and EXCEPT in views</entry>
<entry></entry>
</row>
<row>
<entry>F111-02</entry>
<entry></entry>
<entry>READ COMMITTED isolation level</entry>
<entry></entry>
</row>
<row>
<entry>F131</entry>
<entry>Core</entry>
<entry>Grouped operations</entry>
<entry></entry>
</row>
<row>
<entry>F131-01</entry>
<entry>WHERE, GROUP BY and HAVING clauses supported in queries
<entry>Core</entry>
<entry>WHERE, GROUP BY, and HAVING clauses supported in queries
with grouped views</entry>
<entry></entry>
</row>
<row>
<entry>F131-02</entry>
<entry>Core</entry>
<entry>Multiple tables supported in queries with grouped
views</entry>
<entry></entry>
</row>
<row>
<entry>F131-03</entry>
<entry>Core</entry>
<entry>Set functions supported in queries with grouped views</entry>
<entry></entry>
</row>
<row>
<entry>F131-04</entry>
<entry>Core</entry>
<entry>Subqueries with GROUP BY and HAVING clauses and grouped
views</entry>
<entry></entry>
</row>
<row>
<entry>F131-05</entry>
<entry>Core</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>Allow separate compilation modules in ecpg</entry>
<entry>F171</entry>
<entry></entry>
<entry>Multiple schemas per user</entry>
<entry></entry>
</row>
<row>
<entry>F191</entry>
<entry>Enhanced integrity management</entry>
<entry>Referential delete actions</entry>
<entry></entry>
</row>
<row>
<entry>F201</entry>
<entry>Core</entry>
<entry>CAST function</entry>
<entry></entry>
</row>
<row>
<entry>F221</entry>
<entry>Core</entry>
<entry>Explicit defaults</entry>
<entry></entry>
</row>
<row>
<entry>F222</entry>
<entry></entry>
<entry>INSERT statement: DEFAULT VALUES clause</entry>
<entry></entry>
</row>
<row>
<entry>F251</entry>
<entry></entry>
<entry>Domain support</entry>
<entry></entry>
</row>
<row>
<entry>F261</entry>
<entry>Core</entry>
<entry>CASE expression</entry>
<entry></entry>
</row>
<row>
<entry>F261-01</entry>
<entry>Core</entry>
<entry>Simple CASE</entry>
<entry></entry>
</row>
<row>
<entry>F261-02</entry>
<entry>Core</entry>
<entry>Searched CASE</entry>
<entry></entry>
</row>
<row>
<entry>F261-03</entry>
<entry>Core</entry>
<entry>NULLIF</entry>
<entry></entry>
</row>
<row>
<entry>F261-04</entry>
<entry>Core</entry>
<entry>COALESCE</entry>
<entry></entry>
</row>
<row>
<entry>F311</entry>
<entry>Schema definition statement</entry>
<entry>F271</entry>
<entry></entry>
<entry>Compound character literals</entry>
<entry></entry>
</row>
<row>
<entry>F311-01</entry>
<entry>CREATE SCHEMA</entry>
<entry>F281</entry>
<entry></entry>
<entry>LIKE enhancements</entry>
<entry></entry>
</row>
<row>
<entry>F311-02</entry>
<entry>CREATE TABLE for persistent base tables</entry>
<entry>F302</entry>
<entry>OLAP facilities</entry>
<entry>INTERSECT table operator</entry>
<entry></entry>
</row>
<row>
<entry>F311-03</entry>
<entry>CREATE VIEW</entry>
<entry>F302-01</entry>
<entry>OLAP facilities</entry>
<entry>INTERSECT DISTINCT table operator</entry>
<entry></entry>
</row>
<row>
<entry>F311-04</entry>
<entry>CREATE VIEW: WITH CHECK OPTION</entry>
<entry>F302-02</entry>
<entry>OLAP facilities</entry>
<entry>INTERSECT ALL table operator</entry>
<entry></entry>
</row>
<row>
<entry>F311-05</entry>
<entry>GRANT statement</entry>
<entry>F304</entry>
<entry>OLAP facilities</entry>
<entry>EXCEPT ALL table operator</entry>
<entry></entry>
</row>
<row>
<entry>F471</entry>
<entry>Scalar subquery values</entry>
<entry>F311</entry>
<entry>Core</entry>
<entry>Schema definition statement</entry>
<entry></entry>
</row>
<row>
<entry>F481</entry>
<entry>Expanded NULL predicate</entry>
<entry>F311-01</entry>
<entry>Core</entry>
<entry>CREATE SCHEMA</entry>
<entry></entry>
</row>
<row>
<entry>S011</entry>
<entry>Distinct data types</entry>
<entry>F311-02</entry>
<entry>Core</entry>
<entry>CREATE TABLE for persistent base tables</entry>
<entry></entry>
</row>
<row>
<entry>T321</entry>
<entry>Basic SQL-invoked routines</entry>
<entry>F311-03</entry>
<entry>Core</entry>
<entry>CREATE VIEW</entry>
<entry></entry>
</row>
<row>
<entry>T321-01</entry>
<entry>User-defined functions with no overloading</entry>
<entry>F311-05</entry>
<entry>Core</entry>
<entry>GRANT statement</entry>
<entry></entry>
</row>
<row>
<entry>T321-03</entry>
<entry>Function invocation</entry>
<entry>F321</entry>
<entry></entry>
<entry>User authorization</entry>
<entry></entry>
</row>
<row>
<entry>T321-05</entry>
<entry>RETURN statement</entry>
<entry>F361</entry>
<entry></entry>
<entry>Subprogram support</entry>
<entry></entry>
</row>
<row>
<entry>F032</entry>
<entry>CASCADE drop behavior</entry>
<entry>F381</entry>
<entry></entry>
<entry>Extended schema manipulation</entry>
<entry></entry>
</row>
<row>
<entry>F034</entry>
<entry>Extended REVOKE statement</entry>
<entry>F381-01</entry>
<entry></entry>
<entry>ALTER TABLE statement: ALTER COLUMN clause</entry>
<entry></entry>
</row>
<row>
<entry>F
034-01
</entry>
<entry>
REVOKE statement performed by other than the owner of a
schema object</entry>
<entry>F
381-02
</entry>
<entry>
</entry>
<entry>ALTER TABLE statement: ADD CONSTRAINT clause</entry>
<entry></entry>
</row>
<row>
<entry>F034-02</entry>
<entry>REVOKE statement: GRANT OPTION FOR clause</entry>
<entry>F381-03</entry>
<entry></entry>
<entry>ALTER TABLE statement: DROP CONSTRAINT clause</entry>
<entry></entry>
</row>
<row>
<entry>F
034-03
</entry>
<entry>
REVOKE statement to revoke a privilege that the grantee
has WITH GRANT OPTION</entry>
<entry>F
391
</entry>
<entry>
</entry>
<entry>Long identifiers</entry>
<entry></entry>
</row>
<row>
<entry>F052</entry>
<entry>Intervals and datetime arithmetic</entry>
<entry>F401</entry>
<entry>OLAP facilities</entry>
<entry>Extended joined table</entry>
<entry></entry>
</row>
<row>
<entry>F111</entry>
<entry>Isolation levels other than SERIALIZABLE</entry>
<entry>F401-01</entry>
<entry>OLAP facilities</entry>
<entry>NATURAL JOIN</entry>
<entry></entry>
</row>
<row>
<entry>F111-02</entry>
<entry>READ COMMITTED isolation level</entry>
<entry>F401-02</entry>
<entry>OLAP facilities</entry>
<entry>FULL OUTER JOIN</entry>
<entry></entry>
</row>
<row>
<entry>F171</entry>
<entry>Multiple schemas per user</entry>
<entry>F401-03</entry>
<entry>OLAP facilities</entry>
<entry>UNION JOIN</entry>
<entry></entry>
</row>
<row>
<entry>F191</entry>
<entry>Referential delete actions</entry>
<entry>F401-04</entry>
<entry>OLAP facilities</entry>
<entry>CROSS JOIN</entry>
<entry></entry>
</row>
<row>
<entry>F222</entry>
<entry>INSERT statement: DEFAULT VALUES clause</entry>
<entry>F411</entry>
<entry>Enhanced datetime facilities</entry>
<entry>Time zone specification</entry>
<entry></entry>
</row>
<row>
<entry>F271</entry>
<entry>Compound character literals</entry>
<entry>F421</entry>
<entry></entry>
<entry>National character</entry>
<entry></entry>
</row>
<row>
<entry>F281</entry>
<entry>LIKE enhancements</entry>
<entry>F431-01</entry>
<entry></entry>
<entry>FETCH with explicit NEXT</entry>
<entry></entry>
</row>
<row>
<entry>F302</entry>
<entry>INTERSECT table operator</entry>
<entry>F431-04</entry>
<entry></entry>
<entry>FETCH PRIOR</entry>
<entry></entry>
</row>
<row>
<entry>F302-01</entry>
<entry>INTERSECT DISTINCT table operator</entry>
<entry>F431-06</entry>
<entry></entry>
<entry>FETCH RELATIVE</entry>
<entry></entry>
</row>
<row>
<entry>F302-02</entry>
<entry>INTERSECT ALL table operator</entry>
<entry>F441</entry>
<entry></entry>
<entry>Extended set function support</entry>
<entry></entry>
</row>
<row>
<entry>F304</entry>
<entry>EXCEPT ALL table operator</entry>
<entry>F471</entry>
<entry>Core</entry>
<entry>Scalar subquery values</entry>
<entry></entry>
</row>
<row>
<entry>F321</entry>
<entry>User authorization</entry>
<entry>F481</entry>
<entry>Core</entry>
<entry>Expanded NULL predicate</entry>
<entry></entry>
</row>
<row>
<entry>F341</entry>
<entry>Usage tables</entry>
<entry>F491</entry>
<entry>Enhanced integrity management</entry>
<entry>Constraint management</entry>
<entry></entry>
</row>
<row>
<entry>F361</entry>
<entry>Subprogram support</entry>
<entry></entry>
</row>
<row>
<entry>F381-01</entry>
<entry>ALTER TABLE statement: ALTER COLUMN clause</entry>
<entry></entry>
</row>
<row>
<entry>F381-02</entry>
<entry>ALTER TABLE statement: ADD CONSTRAINT clause</entry>
<entry></entry>
</row>
<row>
<entry>F381-03</entry>
<entry>ALTER TABLE statement: DROP CONSTRAINT clause</entry>
<entry></entry>
</row>
<row>
<entry>F391</entry>
<entry>Long identifiers</entry>
<entry></entry>
</row>
<row>
<entry>F401</entry>
<entry>Extended joined table</entry>
<entry></entry>
</row>
<row>
<entry>F401-01</entry>
<entry>NATURAL JOIN</entry>
<entry></entry>
</row>
<row>
<entry>F401-02</entry>
<entry>FULL OUTER JOIN</entry>
<entry></entry>
</row>
<row>
<entry>F401-03</entry>
<entry>UNION JOIN</entry>
<entry></entry>
</row>
<row>
<entry>F401-04</entry>
<entry>CROSS JOIN</entry>
<entry></entry>
</row>
<row>
<entry>F411</entry>
<entry>Time zone specification</entry>
<entry></entry>
</row>
<row>
<entry>F431</entry>
<entry>Read-only scrollable cursors</entry>
<entry></entry>
</row>
<row>
<entry>F431-01</entry>
<entry>FETCH with explicit NEXT</entry>
<entry></entry>
</row>
<row>
<entry>F431-02</entry>
<entry>FETCH FIRST</entry>
<entry></entry>
</row>
<row>
<entry>F431-03</entry>
<entry>FETCH LAST</entry>
<entry></entry>
</row>
<row>
<entry>F431-04</entry>
<entry>FETCH PRIOR</entry>
<entry></entry>
</row>
<row>
<entry>F431-05</entry>
<entry>FETCH ABSOLUTE</entry>
<entry></entry>
</row>
<row>
<entry>F431-06</entry>
<entry>FETCH RELATIVE</entry>
<entry></entry>
</row>
<row>
<entry>F461</entry>
<entry>Named character sets</entry>
<entry></entry>
</row>
<row>
<entry>F491</entry>
<entry>Constraint management</entry>
<entry></entry>
</row>
<row>
<entry>F511</entry>
<entry>BIT data type</entry>
<entry>F511</entry>
<entry></entry>
<entry>BIT data type</entry>
<entry></entry>
</row>
<row>
<entry>F531</entry>
<entry></entry>
<entry>Temporary tables</entry>
<entry></entry>
</row>
<row>
<entry>F555</entry>
<entry>Enhanced datetime facilities</entry>
<entry>Enhanced seconds precision</entry>
<entry></entry>
</row>
<row>
<entry>F561</entry>
<entry></entry>
<entry>Full value expressions</entry>
<entry></entry>
</row>
<row>
<entry>F571</entry>
<entry></entry>
<entry>Truth value tests</entry>
<entry></entry>
</row>
<row>
<entry>F591</entry>
<entry>OLAP facilities</entry>
<entry>Derived tables</entry>
<entry></entry>
</row>
<row>
<entry>F611</entry>
<entry>Indicator data types</entry>
<entry></entry>
</row>
<row>
<entry>F641</entry>
<entry>Row and table constructors</entry>
<entry>Indicator data types</entry>
<entry></entry>
</row>
<row>
<entry>F651</entry>
<entry>Catalog name qualifiers</entry>
<entry></entry>
</row>
<row>
<entry>F661</entry>
<entry>Simple tables</entry>
<entry>Catalog name qualifiers</entry>
<entry></entry>
</row>
<row>
<entry>F701</entry>
<entry>Enhanced integrity management</entry>
<entry>Referential update actions</entry>
<entry></entry>
</row>
<row>
<entry>F741</entry>
<entry>Referential MATCH types</entry>
<entry></entry>
</row>
<row>
<entry>F761</entry>
<entry>Session management</entry>
<entry></entry>
</row>
<row>
<entry>F771</entry>
<entry>Connection management</entry>
<entry>Session management</entry>
<entry></entry>
</row>
<row>
<entry>F791</entry>
<entry>Insensitive cursors</entry>
<entry></entry>
</row>
<row>
<entry>F831</entry>
<entry>Full cursor update</entry>
<entry></entry>
</row>
<row>
<entry>F831-01</entry>
<entry>Updatable scrollable cursors</entry>
<entry>Insensitive cursors</entry>
<entry></entry>
</row>
<row>
<entry>F831-02</entry>
<entry>Updatable ordered cursors</entry>
<entry>F801</entry>
<entry></entry>
</row>
<row>
<entry>S051</entry>
<entry>Create table of type</entry>
<entry>Full set function</entry>
<entry></entry>
</row>
<row>
<entry>S071</entry>
<entry>Enhanced object support</entry>
<entry>SQL paths in function and type name resolution</entry>
<entry></entry>
</row>
<row>
<entry>S091</entry>
<entry>Basic array support</entry>
<entry></entry>
</row>
<row>
<entry>S091-01</entry>
<entry>Arrays of built-in data types</entry>
<entry></entry>
</row>
<row>
<entry>S092</entry>
<entry>Arrays of user-defined types</entry>
<entry></entry>
</row>
<row>
<entry>S151</entry>
<entry>Type predicate</entry>
<entry>IS OF</entry>
</row>
<row>
<entry>S201</entry>
<entry>SQL routines on arrays</entry>
<entry></entry>
</row>
<row>
<entry>S201-01</entry>
<entry>Array parameters</entry>
<entry></entry>
</row>
<row>
<entry>S201-02</entry>
<entry>Array as result type of functions</entry>
<entry>S111</entry>
<entry>Enhanced object support</entry>
<entry>ONLY in query expressions</entry>
<entry></entry>
</row>
<row>
<entry>S211</entry>
<entry>Enhanced object support, SQL/MM support</entry>
<entry>User-defined cast functions</entry>
<entry>
CREATE CAST(type AS type)
</entry>
<entry></entry>
</row>
<row>
<entry>T031</entry>
<entry></entry>
<entry>BOOLEAN data type</entry>
<entry></entry>
</row>
<row>
<entry>T141</entry>
<entry></entry>
<entry>SIMILAR predicate</entry>
<entry></entry>
</row>
<row>
<entry>T151</entry>
<entry></entry>
<entry>DISTINCT predicate</entry>
<entry></entry>
</row>
<row>
<entry>T191</entry>
<entry>Enhanced integrity management</entry>
<entry>Referential action RESTRICT</entry>
<entry></entry>
</row>
<row>
<entry>T201</entry>
<entry>Enhanced integrity management</entry>
<entry>Comparable data types for referential constraints</entry>
<entry></entry>
</row>
<row>
<entry>T211</entry>
<entry>Basic trigger capability</entry>
<entry></entry>
</row>
<row>
<entry>T211-01</entry>
<entry>Enhanced integrity management</entry>
<entry>Triggers activated on UPDATE, INSERT, or DELETE of one
base table</entry>
<entry></entry>
</row>
<row>
<entry>T211-02</entry>
<entry>Enhanced integrity management</entry>
<entry>BEFORE triggers</entry>
<entry></entry>
</row>
<row>
<entry>T211-03</entry>
<entry>Enhanced integrity management</entry>
<entry>AFTER triggers</entry>
<entry></entry>
</row>
<row>
<entry>T211-04</entry>
<entry>Enhanced integrity management</entry>
<entry>FOR EACH ROW triggers</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></entry>
</row>
<row>
<entry>T212</entry>
<entry>Enhanced trigger capability</entry>
<entry>T211-07</entry>
<entry>Enhanced integrity management</entry>
<entry>TRIGGER privilege</entry>
<entry></entry>
</row>
<row>
<entry>T231</entry>
<entry></entry>
<entry>SENSITIVE cursors</entry>
<entry></entry>
</row>
<row>
<entry>T241</entry>
<entry></entry>
<entry>START TRANSACTION statement</entry>
<entry></entry>
</row>
<row>
<entry>T251</entry>
<entry>SET TRANSACTION statement: LOCAL option</entry>
<entry>T312</entry>
<entry></entry>
<entry>OVERLAY function</entry>
<entry></entry>
</row>
<row>
<entry>T312</entry>
<entry>OVERLAY function</entry>
<entry>T321-01</entry>
<entry>Core</entry>
<entry>User-defined functions with no overloading</entry>
<entry></entry>
</row>
<row>
<entry>T321-03</entry>
<entry>Core</entry>
<entry>Function invocation</entry>
<entry></entry>
</row>
<row>
<entry>T322</entry>
<entry>PSM, SQL/MM support</entry>
<entry>Overloading of SQL-invoked functions and procedures</entry>
<entry></entry>
</row>
<row>
<entry>T323</entry>
<entry></entry>
<entry>Explicit security for external routines</entry>
<entry></entry>
</row>
<row>
<entry>T351</entry>
<entry>Bracketed SQL comments (/*...*/ comments)</entry>
<entry></entry>
</row>
<row>
<entry>T401</entry>
<entry>INSERT into a cursor</entry>
<entry>Bracketed SQL comments (/*...*/ comments)</entry>
<entry></entry>
</row>
<row>
<entry>T441</entry>
<entry>ABS and MOD functions</entry>
<entry></entry>
</row>
<row>
<entry>T461</entry>
<entry>Symmetric BETWEEN predicate</entry>
<entry>ABS and MOD functions</entry>
<entry></entry>
</row>
<row>
<entry>T501</entry>
<entry></entry>
<entry>Enhanced EXISTS predicate</entry>
<entry></entry>
</row>
<row>
<entry>T551</entry>
<entry>Optional key words for default syntax</entry>
<entry></entry>
</row>
<row>
<entry>T571</entry>
<entry>Array-returning external SQL-invoked functions</entry>
<entry>Optional key words for default syntax</entry>
<entry></entry>
</row>
<row>
<entry>T581</entry>
<entry></entry>
<entry>Regular expression substring function</entry>
<entry></entry>
</row>
<row>
<entry>T591</entry>
<entry></entry>
<entry>UNIQUE constraints of possibly null columns</entry>
<entry></entry>
</row>
...
...
@@ -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.
<informaltable>
<tgroup cols="
3
">
<tgroup cols="
4
">
<thead>
<row>
<entry>Identifier</entry>
<entry>Package</entry>
<entry>Description</entry>
<entry>Comment</entry>
</row>
</thead>
<tbody>
<row>
<entry>B011</entry>
<entry>Core</entry>
<entry>Embedded Ada</entry>
<entry></entry>
</row>
<row>
<entry>B013</entry>
<entry>Core</entry>
<entry>Embedded COBOL</entry>
<entry></entry>
</row>
<row>
<entry>B014</entry>
<entry>Core</entry>
<entry>Embedded Fortran</entry>
<entry></entry>
</row>
<row>
<entry>B015</entry>
<entry>Core</entry>
<entry>Embedded MUMPS</entry>
<entry></entry>
</row>
<row>
<entry>B016</entry>
<entry>Core</entry>
<entry>Embedded Pascal</entry>
<entry></entry>
</row>
<row>
<entry>B017</entry>
<entry>Core</entry>
<entry>Embedded PL/I</entry>
<entry></entry>
</row>
<row>
<entry>B031</entry>
<entry></entry>
<entry>Basic dynamic SQL</entry>
<entry></entry>
</row>
<row>
<entry>B032</entry>
<entry></entry>
<entry>Extended dynamic SQL</entry>
<entry></entry>
</row>
<row>
<entry>B032-1</entry>
<entry></entry>
<entry><describe input> statement</entry>
<entry></entry>
</row>
<row>
<entry>B041</entry>
<entry></entry>
<entry>Extensions to embedded SQL exception declarations</entry>
<entry></entry>
</row>
<row>
<entry>B051</entry>
<entry></entry>
<entry>Enhanced execution rights</entry>
<entry></entry>
</row>
<row>
<entry>E081</entry>
<entry>Core</entry>
<entry>Basic Privileges</entry>
<entry></entry>
</row>
<row>
<entry>E081-05</entry>
<entry>Core</entry>
<entry>UPDATE privilege at the column level</entry>
<entry></entry>
</row>
<row>
<entry>E081-07</entry>
<entry>Core</entry>
<entry>REFERENCES privilege at the column level</entry>
<entry></entry>
</row>
<row>
<entry>E081-08</entry>
<entry>Core</entry>
<entry>WITH GRANT OPTION</entry>
<entry></entry>
</row>
<row>
<entry>E121</entry>
<entry>Core</entry>
<entry>Basic cursor support</entry>
<entry></entry>
</row>
<row>
<entry>E121-04</entry>
<entry>Core</entry>
<entry>OPEN statement</entry>
<entry>(cursor)</entry>
</row>
<row>
<entry>E121-06</entry>
<entry>Core</entry>
<entry>Positioned UPDATE statement</entry>
<entry>(cursor)</entry>
</row>
<row>
<entry>E121-07</entry>
<entry>Core</entry>
<entry>Positioned DELETE statement</entry>
<entry>(cursor)</entry>
</row>
<row>
<entry>E121-17</entry>
<entry>Core</entry>
<entry>WITH HOLD cursors</entry>
<entry>Cursor stays open across transactions</entry>
<entry>Cursor to stay open across transactions</entry>
</row>
<row>
<entry>E152</entry>
<entry>Core</entry>
<entry>Basic SET TRANSACTION statement</entry>
<entry></entry>
</row>
<row>
<entry>E152-02</entry>
<entry>Core</entry>
<entry>SET TRANSACTION statement: READ ONLY and READ WRITE
clauses</entry>
<entry>Syntax accepted; READ ONLY not supported</entry>
</row>
<row>
<entry>E153</entry>
<entry>Core</entry>
<entry>Updatable queries with subqueries</entry>
<entry></entry>
</row>
<row>
<entry>E171</entry>
<entry>Core</entry>
<entry>SQLSTATE support</entry>
<entry></entry>
</row>
<row>
<entry>F181</entry>
<entry></entry>
<entry>Multiple module support</entry>
<entry></entry>
</row>
<row>
<entry>E182</entry>
<entry>Core</entry>
<entry>Module language</entry>
<entry>
Alternate implementation
</entry>
<entry></entry>
</row>
<row>
<entry>F021</entry>
<entry>Core</entry>
<entry>Basic information schema</entry>
<entry></entry>
</row>
<row>
<entry>F021-01</entry>
<entry>Core</entry>
<entry>COLUMNS view</entry>
<entry></entry>
</row>
<row>
<entry>F021-02</entry>
<entry>Core</entry>
<entry>TABLES view</entry>
<entry></entry>
</row>
<row>
<entry>F021-03</entry>
<entry>Core</entry>
<entry>VIEWS view</entry>
<entry></entry>
</row>
<row>
<entry>F021-04</entry>
<entry>Core</entry>
<entry>TABLE_CONSTRAINTS view</entry>
<entry></entry>
</row>
<row>
<entry>F021-05</entry>
<entry>REFERENTIAL_CONSTRAINTS view</entry>
<entry>F021-05</entry>
<entry>Core</entry>
<entry>REFERENTIAL_CONSTRAINTS view</entry>
<entry></entry>
</row>
<row>
<entry>F021-06</entry>
<entry>Core</entry>
<entry>CHECK_CONSTRAINTS view</entry>
<entry></entry>
</row>
<row>
<entry>F031-19</entry>
<entry>Core</entry>
<entry>REVOKE statement: RESTRICT clause</entry>
<entry></entry>
</row>
<row>
<entry>F034</entry>
<entry></entry>
<entry>Extended REVOKE statement</entry>
<entry></entry>
</row>
<row>
<entry>F034-01</entry>
<entry></entry>
<entry>REVOKE statement performed by other than the owner of a
schema object</entry>
<entry></entry>
</row>
<row>
<entry>F034-02</entry>
<entry></entry>
<entry>REVOKE statement: GRANT OPTION FOR clause</entry>
<entry></entry>
</row>
<row>
<entry>F034-03</entry>
<entry></entry>
</row>
<row>
<entry>F021-06</entry>
<entry>CHECK_CONSTRAINTS view</entry>
<entry>REVOKE statement to revoke a privilege that the grantee
has WITH GRANT OPTION</entry>
<entry></entry>
</row>
<row>
<entry>F033</entry>
<entry>ALTER TABLE statement: DROP COLUMN clause</entry>
<entry>Syntax accepted</entry>
<entry>F111</entry>
<entry></entry>
<entry>Isolation levels other than SERIALIZABLE</entry>
<entry></entry>
</row>
<row>
<entry>F111-01</entry>
<entry></entry>
<entry>READ UNCOMMITTED isolation level</entry>
<entry></entry>
</row>
<row>
<entry>F111-03</entry>
<entry></entry>
<entry>REPEATABLE READ isolation level</entry>
<entry></entry>
</row>
<row>
<entry>F121</entry>
<entry></entry>
<entry>Basic diagnostics management</entry>
<entry></entry>
</row>
<row>
<entry>F121-01</entry>
<entry></entry>
<entry>GET DIAGNOSTICS statement</entry>
<entry></entry>
</row>
<row>
<entry>F121-02</entry>
<entry></entry>
<entry>SET TRANSACTION statement: DIAGNOSTICS SIZE clause</entry>
<entry></entry>
</row>
<row>
<entry>F231</entry>
<entry></entry>
<entry>Privilege Tables</entry>
<entry></entry>
</row>
<row>
<entry>F231-01</entry>
<entry></entry>
<entry>TABLE_PRIVILEGES view</entry>
<entry></entry>
</row>
<row>
<entry>F231-02</entry>
<entry></entry>
<entry>COLUMN_PRIVILEGES view</entry>
<entry></entry>
</row>
<row>
<entry>F231-03</entry>
<entry></entry>
<entry>USAGE_PRIVILEGES view</entry>
<entry></entry>
</row>
<row>
<entry>F251</entry>
<entry>Domain support</entry>
<entry>Alternate implementation</entry>
</row>
<row>
<entry>F291</entry>
<entry></entry>
<entry>UNIQUE predicate</entry>
<entry></entry>
</row>
<row>
<entry>F301</entry>
<entry></entry>
<entry>CORRESPONDING in query expressions</entry>
<entry></entry>
</row>
<row>
<entry>F381</entry>
<entry>Extended schema manipulation</entry>
<entry>F311-04</entry>
<entry>Core</entry>
<entry>CREATE VIEW: WITH CHECK OPTION</entry>
<entry></entry>
</row>
<row>
<entry>F421</entry>
<entry>National character</entry>
<entry>Syntax accepted</entry>
<entry>F341</entry>
<entry></entry>
<entry>Usage tables</entry>
<entry></entry>
</row>
<row>
<entry>F441</entry>
<entry>Extended set function support</entry>
<entry>F431</entry>
<entry></entry>
<entry>Read-only scrollable cursors</entry>
<entry></entry>
</row>
<row>
<entry>F431-02</entry>
<entry></entry>
<entry>FETCH FIRST</entry>
<entry></entry>
</row>
<row>
<entry>F431-03</entry>
<entry></entry>
<entry>FETCH LAST</entry>
<entry></entry>
</row>
<row>
<entry>F431-05</entry>
<entry></entry>
<entry>FETCH ABSOLUTE</entry>
<entry></entry>
</row>
<row>
<entry>F451</entry>
<entry></entry>
<entry>Character set definition</entry>
<entry>Alternate implementation</entry>
<entry></entry>
</row>
<row>
<entry>F461</entry>
<entry></entry>
<entry>Named character sets</entry>
<entry></entry>
</row>
<row>
<entry>F501</entry>
<entry>Core</entry>
<entry>Features and conformance views</entry>
<entry></entry>
</row>
<row>
<entry>F501-01</entry>
<entry>Core</entry>
<entry>SQL_FEATURES view</entry>
<entry></entry>
</row>
<row>
<entry>F501-02</entry>
<entry>Core</entry>
<entry>SQL_SIZING view</entry>
<entry></entry>
</row>
<row>
<entry>F501-03</entry>
<entry>Core</entry>
<entry>SQL_LANGUAGES view</entry>
<entry></entry>
</row>
<row>
<entry>F502</entry>
<entry></entry>
<entry>Enhanced documentation tables</entry>
<entry></entry>
</row>
<row>
<entry>F502-01</entry>
<entry></entry>
<entry>SQL_SIZING_PROFILES view</entry>
<entry></entry>
</row>
<row>
<entry>F502-02</entry>
<entry></entry>
<entry>SQL_IMPLEMENTATION_INFO view</entry>
<entry></entry>
</row>
<row>
<entry>F502-03</entry>
<entry></entry>
<entry>SQL_PACKAGES view</entry>
<entry></entry>
</row>
<row>
<entry>F521</entry>
<entry>Enhanced integrity management</entry>
<entry>Assertions</entry>
<entry></entry>
</row>
<row>
<entry>F641</entry>
<entry>OLAP facilities</entry>
<entry>Row and table constructors</entry>
<entry></entry>
</row>
<row>
<entry>F661</entry>
<entry></entry>
<entry>Simple tables</entry>
<entry></entry>
</row>
<row>
<entry>F671</entry>
<entry>Enhanced integrity management</entry>
<entry>Subqueries in CHECK</entry>
<entry></entry>
<entry>
intentionally omitted
</entry>
</row>
<row>
<entry>F691</entry>
<entry></entry>
<entry>Collation and translation</entry>
<entry>
Alternate implementation
</entry>
<entry></entry>
</row>
<row>
<entry>F711</entry>
<entry></entry>
<entry>ALTER domain</entry>
<entry></entry>
</row>
<row>
<entry>F721</entry>
<entry>Deferrable constraints</entry>
<entry></entry>
<entry>Deferrable constraints</entry>
<entry>foreign keys only</entry>
</row>
<row>
<entry>F731</entry>
<entry></entry>
<entry>INSERT column privileges</entry>
<entry></entry>
</row>
<row>
<entry>F741</entry>
<entry></entry>
<entry>Referential MATCH types</entry>
<entry>no partial match yet</entry>
</row>
<row>
<entry>F751</entry>
<entry></entry>
<entry>View CHECK enhancements</entry>
<entry></entry>
</row>
<row>
<entry>F781</entry>
<entry>Self-referencing operations</entry>
<entry>F771</entry>
<entry></entry>
<entry>Connection management</entry>
<entry></entry>
</row>
<row>
<entry>F801</entry>
<entry>Full set function</entry>
<entry>XXX May have this already</entry>
<entry>F781</entry>
<entry></entry>
<entry>Self-referencing operations</entry>
<entry></entry>
</row>
<row>
<entry>F811</entry>
<entry></entry>
<entry>Extended flagging</entry>
<entry></entry>
</row>
<row>
<entry>F812</entry>
<entry>Core</entry>
<entry>Basic flagging</entry>
<entry></entry>
</row>
<row>
<entry>F813</entry>
<entry></entry>
<entry>Extended flagging for "Core SQL Flagging" and "Catalog
Lookup" only</entry>
<entry></entry>
</row>
<row>
<entry>F821</entry>
<entry></entry>
<entry>Local table references</entry>
<entry></entry>
</row>
<row>
<entry>F831</entry>
<entry></entry>
<entry>Full cursor update</entry>
<entry></entry>
</row>
<row>
<entry>F831-01</entry>
<entry></entry>
<entry>Updatable scrollable cursors</entry>
<entry></entry>
</row>
<row>
<entry>F831-02</entry>
<entry></entry>
<entry>Updatable ordered cursors</entry>
<entry></entry>
</row>
<row>
<entry>S011</entry>
<entry>Core</entry>
<entry>Distinct data types</entry>
<entry></entry>
</row>
<row>
<entry>S011-01</entry>
<entry>Core</entry>
<entry>USER_DEFINED_TYPES view</entry>
<entry></entry>
</row>
<row>
<entry>S023</entry>
<entry>Basic object support, SQL/MM support</entry>
<entry>Basic structured types</entry>
<entry>
Alternate implementation
</entry>
<entry></entry>
</row>
<row>
<entry>S024</entry>
<entry>S024, SQL/MM support</entry>
<entry>Enhanced object support</entry>
<entry>Enhanced structured types</entry>
<entry>
Alternate implementation
</entry>
<entry></entry>
</row>
<row>
<entry>S041</entry>
<entry>Basic object support</entry>
<entry>Basic reference types</entry>
<entry></entry>
</row>
<row>
<entry>S043</entry>
<entry>Enhanced object support</entry>
<entry>Enhanced reference types</entry>
<entry></entry>
</row>
<row>
<entry>S051</entry>
<entry>Basic object support</entry>
<entry>Create table of type</entry>
<entry></entry>
</row>
<row>
<entry>S081</entry>
<entry>Enhanced object support</entry>
<entry>Subtables</entry>
<entry></entry>
</row>
<row>
<entry>S091</entry>
<entry>SQL/MM support</entry>
<entry>Basic array support</entry>
<entry>PostgreSQL arrays are different</entry>
</row>
<row>
<entry>S091-01</entry>
<entry>SQL/MM support</entry>
<entry>Arrays of built-in data types</entry>
<entry></entry>
</row>
<row>
<entry>S091-02</entry>
<entry>SQL/MM support</entry>
<entry>Arrays of distinct types</entry>
<entry></entry>
</row>
<row>
<entry>S091-03</entry>
<entry>SQL/MM support</entry>
<entry>Array expressions</entry>
<entry></entry>
</row>
<row>
<entry>S092</entry>
<entry>SQL/MM support</entry>
<entry>Arrays of user-defined types</entry>
<entry></entry>
</row>
<row>
<entry>S094</entry>
<entry></entry>
<entry>Arrays of reference types</entry>
<entry></entry>
</row>
<row>
<entry>S111</entry>
<entry>ONLY in query expressions</entry>
<entry></entry>
<entry>S151</entry>
<entry>Basic object support</entry>
<entry>Type predicate</entry>
<entry>IS OF</entry>
</row>
<row>
<entry>S161</entry>
<entry>Enhanced object support</entry>
<entry>Subtype treatment</entry>
<entry>TREAT(expr AS type)</entry>
</row>
<row>
<entry>S201</entry>
<entry></entry>
<entry>SQL routines on arrays</entry>
<entry></entry>
</row>
<row>
<entry>S201-01</entry>
<entry></entry>
<entry>Array parameters</entry>
<entry></entry>
</row>
<row>
<entry>S201-02</entry>
<entry></entry>
<entry>Array as result type of functions</entry>
<entry></entry>
</row>
<row>
<entry>S231</entry>
<entry>Enhanced object support</entry>
<entry>Structured type locators</entry>
<entry></entry>
</row>
<row>
<entry>S232</entry>
<entry></entry>
<entry>Array locators</entry>
<entry></entry>
</row>
<row>
<entry>S241</entry>
<entry>Enhanced object support</entry>
<entry>Transform functions</entry>
<entry></entry>
</row>
<row>
<entry>S251</entry>
<entry></entry>
<entry>User-defined orderings</entry>
<entry>CREATE ORDERING FOR</entry>
</row>
<row>
<entry>S261</entry>
<entry></entry>
<entry>Specific type method</entry>
<entry></entry>
</row>
<row>
<entry>T011</entry>
<entry></entry>
<entry>Timestamp in Information Schema</entry>
<entry></entry>
</row>
<row>
<entry>T041</entry>
<entry>Basic object support</entry>
<entry>Basic LOB data type support</entry>
<entry></entry>
</row>
<row>
<entry>T041-01</entry>
<entry>Basic object support</entry>
<entry>BLOB data type</entry>
<entry></entry>
</row>
<row>
<entry>T041-02</entry>
<entry>Basic object support</entry>
<entry>CLOB data type</entry>
<entry></entry>
</row>
<row>
<entry>T041-03</entry>
<entry>Basic object support</entry>
<entry>POSITION, LENGTH, LOWER, TRIM, UPPER, and SUBSTRING
functions for LOB data types</entry>
<entry></entry>
</row>
<row>
<entry>T041-04</entry>
<entry>Basic object support</entry>
<entry>Concatenation of LOB data types</entry>
<entry></entry>
</row>
<row>
<entry>T041-05</entry>
<entry>Basic object support</entry>
<entry>LOB locator: non-holdable</entry>
<entry></entry>
</row>
<row>
<entry>T042</entry>
<entry></entry>
<entry>Extended LOB data type support</entry>
<entry></entry>
</row>
<row>
<entry>T051</entry>
<entry></entry>
<entry>Row types</entry>
<entry></entry>
</row>
<row>
<entry>T111</entry>
<entry></entry>
<entry>Updatable joins, unions, and columns</entry>
<entry></entry>
</row>
<row>
<entry>T121</entry>
<entry></entry>
<entry>WITH (excluding RECURSIVE) in query expression</entry>
<entry></entry>
</row>
<row>
<entry>T131</entry>
<entry></entry>
<entry>Recursive query</entry>
<entry></entry>
</row>
<row>
<entry>T171</entry>
<entry></entry>
<entry>LIKE clause in table definition</entry>
<entry>CREATE TABLE T1 (LIKE T2)</entry>
</row>
<row>
<entry>T211</entry>
<entry>Enhanced integrity management, Active database</entry>
<entry>Basic trigger capability</entry>
<entry></entry>
</row>
<row>
<entry>T211-05</entry>
<entry>Enhanced integrity management</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>Enhanced integrity management</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>T211-08</entry>
<entry>Enhanced integrity management</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>T212</entry>
<entry>Enhanced integrity management</entry>
<entry>Enhanced trigger capability</entry>
<entry></entry>
</row>
<row>
<entry>T251</entry>
<entry></entry>
<entry>SET TRANSACTION statement: LOCAL option</entry>
<entry></entry>
</row>
<row>
<entry>T261</entry>
<entry></entry>
<entry>Chained transactions</entry>
<entry></entry>
</row>
<row>
<entry>T271</entry>
<entry></entry>
<entry>Savepoints</entry>
<entry></entry>
</row>
<row>
<entry>T281</entry>
<entry></entry>
<entry>SELECT privilege with column granularity</entry>
<entry></entry>
</row>
<row>
<entry>T301</entry>
<entry></entry>
<entry>Functional Dependencies</entry>
<entry></entry>
</row>
<row>
<entry>T321</entry>
<entry>Core</entry>
<entry>Basic SQL-invoked routines</entry>
<entry></entry>
</row>
<row>
<entry>T321-02</entry>
<entry>Core</entry>
<entry>User-defined stored procedures with no overloading</entry>
<entry></entry>
</row>
<row>
<entry>T321-04</entry>
<entry>Core</entry>
<entry>CALL statement</entry>
<entry></entry>
</row>
<row>
<entry>T321-05</entry>
<entry>Core</entry>
<entry>RETURN statement</entry>
<entry></entry>
</row>
<row>
<entry>T321-06</entry>
<entry>Core</entry>
<entry>ROUTINES view</entry>
<entry></entry>
</row>
<row>
<entry>T321-07</entry>
<entry>Core</entry>
<entry>PARAMETERS view</entry>
<entry></entry>
</row>
<row>
<entry>T331</entry>
<entry></entry>
<entry>Basic roles</entry>
<entry></entry>
</row>
<row>
<entry>T332</entry>
<entry></entry>
<entry>Extended roles</entry>
<entry></entry>
</row>
<row>
<entry>T401</entry>
<entry></entry>
<entry>INSERT into a cursor</entry>
<entry></entry>
</row>
<row>
<entry>T411</entry>
<entry></entry>
<entry>UPDATE statement: SET ROW option</entry>
<entry></entry>
</row>
<row>
<entry>T431</entry>
<entry>OLAP facilities</entry>
<entry>CUBE and ROLLUP operations</entry>
<entry></entry>
</row>
<row>
<entry>T461</entry>
<entry></entry>
<entry>Symmetric BETWEEN predicate</entry>
<entry></entry>
</row>
<row>
<entry>T471</entry>
<entry></entry>
<entry>Result sets return value</entry>
<entry></entry>
</row>
<row>
<entry>T491</entry>
<entry></entry>
<entry>LATERAL derived table</entry>
<entry></entry>
</row>
<row>
<entry>T511</entry>
<entry></entry>
<entry>Transaction counts</entry>
<entry></entry>
</row>
<row>
<entry>T541</entry>
<entry></entry>
<entry>Updatable table references</entry>
<entry>
?
</entry>
<entry></entry>
</row>
<row>
<entry>T561</entry>
<entry></entry>
<entry>Holdable locators</entry>
<entry></entry>
</row>
<row>
<entry>T571</entry>
<entry></entry>
<entry>Array-returning external SQL-invoked functions</entry>
<entry></entry>
</row>
<row>
<entry>T601</entry>
<entry></entry>
<entry>Local cursor references</entry>
<entry></entry>
</row>
...
...
@@ -1825,6 +2307,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/features.sgml,v 2.8 2002/11/15 03:11:16 mom
</informaltable>
</para>
</sect1>
</appendix>
<!-- Keep this comment at the end of the file
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment