1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-27 12:41:57 +03:00

Implement SQL99 CREATE CAST and DROP CAST statements.

Also implement alternative forms to expose the PostgreSQL CREATE FUNCTION
 features.
Implement syntax for READ ONLY and READ WRITE clauses in SET TRANSACTION.
 READ WRITE is already implemented (of course).
Implement syntax for "LIKE table" clause in CREATE TABLE. Should be fairly
 easy to complete since it resembles SELECT INTO.
Implement MATCH SIMPLE clause for foreign key definitions. This is explicit
 SQL99 syntax for the default behavior, so we now support it :)
Start implementation of shorthand for national character literals in
 scanner. For now, just swallow the leading "N", but sometime soon let's
 figure out how to pass leading type info from the scanner to the parser.
 We should use the same technique for binary and hex bit string literals,
 though it might be unusual to have two apparently independent literal
 types fold into the same storage type.
This commit is contained in:
Thomas G. Lockhart
2002-06-22 02:04:55 +00:00
parent cc8839a10b
commit 90edb265e3
4 changed files with 258 additions and 186 deletions

View File

@ -1,30 +1,30 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/features.sgml,v 2.2 2002/06/19 06:11:36 thomas Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/features.sgml,v 2.3 2002/06/22 02:04:55 thomas Exp $
-->
<appendix id="features">
<title>SQL99 Feature List</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
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 SQL99 which are not
yet supported in PostgreSQL.
</para>
<sect1 id="features-sql99">
<title>Supported Features</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
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 SQL99 which are not
yet supported in PostgreSQL.
</para>
<para>
<informaltable>
<tgroup cols="3">
@ -1132,6 +1132,11 @@ $Header: /cvsroot/pgsql/doc/src/sgml/features.sgml,v 2.2 2002/06/19 06:11:36 tho
<entry>Array as result type of functions</entry>
<entry></entry>
</row>
<row>
<entry>S211</entry>
<entry>User-defined cast functions</entry>
<entry>CREATE CAST(type AS type)</entry>
</row>
<row>
<entry>T031</entry>
<entry>BOOLEAN data type</entry>
@ -1147,11 +1152,6 @@ $Header: /cvsroot/pgsql/doc/src/sgml/features.sgml,v 2.2 2002/06/19 06:11:36 tho
<entry>DISTINCT predicate</entry>
<entry></entry>
</row>
<row>
<entry>T171</entry>
<entry>LIKE clause in table definition</entry>
<entry></entry>
</row>
<row>
<entry>T191</entry>
<entry>Referential action RESTRICT</entry>
@ -1318,7 +1318,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/features.sgml,v 2.2 2002/06/19 06:11:36 tho
<entry>E152-02</entry>
<entry>SET TRANSACTION statement: READ ONLY and READ WRITE
clauses</entry>
<entry></entry>
<entry>Syntax accepted; READ ONLY not supported</entry>
</row>
<row>
<entry>E171</entry>
@ -1621,11 +1621,6 @@ $Header: /cvsroot/pgsql/doc/src/sgml/features.sgml,v 2.2 2002/06/19 06:11:36 tho
<entry>Subtype treatment</entry>
<entry>TREAT(expr AS type)</entry>
</row>
<row>
<entry>S211</entry>
<entry>User-defined cast functions</entry>
<entry>CREATE CAST(type AS type) WITH</entry>
</row>
<row>
<entry>S231</entry>
<entry>Structured type locators</entry>
@ -1712,6 +1707,11 @@ $Header: /cvsroot/pgsql/doc/src/sgml/features.sgml,v 2.2 2002/06/19 06:11:36 tho
<entry>Recursive query</entry>
<entry></entry>
</row>
<row>
<entry>T171</entry>
<entry>LIKE clause in table definition</entry>
<entry>CREATE TABLE T1 (LIKE T2)</entry>
</row>
<row>
<entry>T211-05</entry>
<entry>Ability to specify a search condition that must be true