mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-01-30 19:00:29 +08:00
Update of conformance information to SQL:2003
by Troels Arvin, Simon Riggs, Elein Mustain Make spelling of SQL standard names uniform.
This commit is contained in:
parent
90c3ebe4d7
commit
49cbef7947
@ -1,4 +1,4 @@
|
||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/array.sgml,v 1.39 2004/11/15 06:32:13 neilc Exp $ -->
|
||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/array.sgml,v 1.40 2004/11/27 21:27:05 petere Exp $ -->
|
||||
|
||||
<sect1 id="arrays">
|
||||
<title>Arrays</title>
|
||||
@ -63,8 +63,10 @@ CREATE TABLE tictactoe (
|
||||
</para>
|
||||
|
||||
<para>
|
||||
An alternative, SQL99-standard syntax may be used for one-dimensional arrays.
|
||||
<structfield>pay_by_quarter</structfield> could have been defined as:
|
||||
An alternative syntax, which conforms to the SQL:1999 standard, may
|
||||
be used for one-dimensional arrays.
|
||||
<structfield>pay_by_quarter</structfield> could have been defined
|
||||
as:
|
||||
<programlisting>
|
||||
pay_by_quarter integer ARRAY[4],
|
||||
</programlisting>
|
||||
|
@ -1,5 +1,5 @@
|
||||
<!--
|
||||
$PostgreSQL: pgsql/doc/src/sgml/datatype.sgml,v 1.150 2004/09/20 22:48:25 tgl Exp $
|
||||
$PostgreSQL: pgsql/doc/src/sgml/datatype.sgml,v 1.151 2004/11/27 21:27:05 petere Exp $
|
||||
-->
|
||||
|
||||
<chapter id="datatype">
|
||||
@ -1744,9 +1744,20 @@ January 8 04:05:06 1999 PST
|
||||
</para>
|
||||
|
||||
<para>
|
||||
For <type>timestamp [without time zone]</type>, any explicit time
|
||||
zone specified in the input is silently ignored. That is, the
|
||||
resulting date/time value is derived from the explicit date/time
|
||||
The <acronym>SQL</acronym> standard differentiates <type>timestamp without time zone</type>
|
||||
and <type>timestamp with time zone</type> literals by the existence of a
|
||||
<quote>+</quote>; or <quote>-</quote>. Hence, according to the standard,
|
||||
<programlisting>TIMESTAMP '2004-10-19 10:23:54'</programlisting>
|
||||
is a <type>timestamp without time zone</type>, while
|
||||
<programlisting>TIMESTAMP '2004-10-19 10:23:54+02'</programlisting>
|
||||
is a <type>timestamp with time zone</type>.
|
||||
<productname>PostgreSQL</productname>
|
||||
differs from the standard by requiring that <type>timestamp with time zone</type>
|
||||
literals be explicitly typed:
|
||||
<programlisting>TIMESTAMP WITH TIME ZONE '2004-10-19 10:23:54+02'</programlisting>
|
||||
If a literal is not explicitly indicated as being of <type>timestamp with time zone</type>,
|
||||
PostgreSQL will silently ignore any time zone indication in the literal.
|
||||
That is, the resulting date/time value is derived from the date/time
|
||||
fields in the input value, and is not adjusted for time zone.
|
||||
</para>
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/ddl.sgml,v 1.32 2004/11/15 06:32:13 neilc Exp $ -->
|
||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/ddl.sgml,v 1.33 2004/11/27 21:27:06 petere Exp $ -->
|
||||
|
||||
<chapter id="ddl">
|
||||
<title>Data Definition</title>
|
||||
@ -1069,7 +1069,7 @@ SELECT name, altitude
|
||||
<para>
|
||||
In previous versions of <productname>PostgreSQL</productname>, the
|
||||
default behavior was not to include child tables in queries. This was
|
||||
found to be error prone and is also in violation of the SQL99
|
||||
found to be error prone and is also in violation of the SQL:1999
|
||||
standard. Under the old syntax, to get the sub-tables you append
|
||||
<literal>*</literal> to the table name.
|
||||
For example
|
||||
|
@ -1,4 +1,4 @@
|
||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/errcodes.sgml,v 1.10 2004/11/15 06:32:13 neilc Exp $ -->
|
||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/errcodes.sgml,v 1.11 2004/11/27 21:27:06 petere Exp $ -->
|
||||
|
||||
<appendix id="errcodes-appendix">
|
||||
<title><productname>PostgreSQL</productname> Error Codes</title>
|
||||
@ -125,7 +125,7 @@
|
||||
|
||||
<row>
|
||||
<entry>Class 02</entry>
|
||||
<entry>No Data — this is also a warning class per SQL99</entry>
|
||||
<entry>No Data — this is also a warning class per SQL:1999</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
|
@ -1,5 +1,5 @@
|
||||
<!--
|
||||
$PostgreSQL: pgsql/doc/src/sgml/features.sgml,v 2.22 2003/11/29 19:51:37 pgsql Exp $
|
||||
$PostgreSQL: pgsql/doc/src/sgml/features.sgml,v 2.23 2004/11/27 21:27:06 petere Exp $
|
||||
-->
|
||||
|
||||
<appendix id="features">
|
||||
@ -7,68 +7,96 @@ $PostgreSQL: pgsql/doc/src/sgml/features.sgml,v 2.22 2003/11/29 19:51:37 pgsql E
|
||||
|
||||
<para>
|
||||
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>
|
||||
<productname>PostgreSQL</productname> conforms to the current SQL
|
||||
standard. The following information is not a full statement of
|
||||
conformance, but it presents the main topics in as much detail as is
|
||||
both reasonable and useful for users.
|
||||
</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 referred 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
|
||||
from time to time; the most recent one appearing in late 2003. That
|
||||
version is referred to as ISO/IEC 9075:2003, or simply as SQL:2003.
|
||||
The versions prior to that were SQL:1999 and SQL-92. Each version
|
||||
replaces the previous one, so claims of conformance to earlier
|
||||
versions have no official merit.
|
||||
<productname>PostgreSQL</productname> development aims 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, balloting 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.
|
||||
sense. The PostgreSQL project was not represented in the ISO/IEC
|
||||
9075 Working Group during the preparation of SQL:2003. Even so,
|
||||
many of the features required by SQL:2003 are already supported,
|
||||
though sometimes with slightly differing syntax or function.
|
||||
Further moves towards conformance may be expected in later releases.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<acronym>SQL92</acronym> defined three feature sets for conformance:
|
||||
Entry, Intermediate, and Full. Most database management systems 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.
|
||||
<acronym>SQL-92</acronym> defined three feature sets for
|
||||
conformance: Entry, Intermediate, and Full. Most database
|
||||
management systems 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>. 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.
|
||||
Starting with <acronym>SQL:1999</acronym>, the SQL standard defines
|
||||
a large set of individual features rather than the ineffectively
|
||||
broad three levels found in <acronym>SQL-92</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.
|
||||
The <acronym>SQL:2003</acronym> standard is also split into a number
|
||||
of parts. Each is known by a shorthand name. Note that these parts
|
||||
are not consecutively numbered.
|
||||
|
||||
<itemizedlist>
|
||||
<listitem><para>ISO/IEC 9075-1 Framework (<acronym>SQL/Framework</acronym>)</para></listitem>
|
||||
<listitem><para>ISO/IEC 9075-2 Foundation (<acronym>SQL/Foundation</acronym>)</para></listitem>
|
||||
<listitem><para>ISO/IEC 9075-3 Call Level Interface (<acronym>SQL/CLI</acronym>)</para></listitem>
|
||||
<listitem><para>ISO/IEC 9075-4 Persistent Stored Modules (<acronym>SQL/PSM</acronym>)</para></listitem>
|
||||
<listitem><para>ISO/IEC 9075-9 Management of External Data (<acronym>SQL/MED</acronym>)</para></listitem>
|
||||
<listitem><para>ISO/IEC 9075-10 Object Language Bindings (<acronym>SQL/OLB</acronym>)</para></listitem>
|
||||
<listitem><para>ISO/IEC 9075-11 Information and Definition Schemas (<acronym>SQL/Schemata</acronym>)</para></listitem>
|
||||
<listitem><para>ISO/IEC 9075-13 Routines and Types using the Java Language (<acronym>SQL/JRT</acronym>)</para></listitem>
|
||||
<listitem><para>ISO/IEC 9075-14 XML-related specifications (<acronym>SQL/XML</acronym>)</para></listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<productname>PostgreSQL</productname> covers parts 1, 2, and 11.
|
||||
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.
|
||||
exact conformance is not specifically intended or verified in either
|
||||
case.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
PostgreSQL supports most of the major features of SQL:2003. Out of
|
||||
164 mandatory features required for full Core conformance,
|
||||
PostgreSQL conforms to at least 150. In addition, there is a long
|
||||
list of supported optional features. It may be worth noting that at
|
||||
the time of writing, no current version of any database management
|
||||
system claims full conformance to Core SQL:2003.
|
||||
</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
|
||||
<productname>PostgreSQL</productname>. 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.
|
||||
list of the features defined in <acronym>SQL:2003</acronym> which
|
||||
are not yet supported in <productname>PostgreSQL</productname>.
|
||||
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>
|
||||
@ -79,7 +107,7 @@ $PostgreSQL: pgsql/doc/src/sgml/features.sgml,v 2.22 2003/11/29 19:51:37 pgsql E
|
||||
</para>
|
||||
</note>
|
||||
|
||||
<sect1 id="features-sql99">
|
||||
<sect1 id="features-sql-standard">
|
||||
<title>Supported Features</title>
|
||||
|
||||
<para>
|
||||
@ -101,11 +129,11 @@ $PostgreSQL: pgsql/doc/src/sgml/features.sgml,v 2.22 2003/11/29 19:51:37 pgsql E
|
||||
</para>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="unsupported-features-sql99">
|
||||
<sect1 id="unsupported-features-sql-standard">
|
||||
<title>Unsupported Features</title>
|
||||
|
||||
<para>
|
||||
The following features defined in <acronym>SQL99</acronym> are not
|
||||
The following features defined in <acronym>SQL:2003</acronym> are not
|
||||
implemented in this release of
|
||||
<productname>PostgreSQL</productname>. In a few cases, equivalent
|
||||
functionality is available.
|
||||
|
@ -1,5 +1,5 @@
|
||||
<!--
|
||||
$PostgreSQL: pgsql/doc/src/sgml/func.sgml,v 1.223 2004/11/15 06:32:13 neilc Exp $
|
||||
$PostgreSQL: pgsql/doc/src/sgml/func.sgml,v 1.224 2004/11/27 21:27:06 petere Exp $
|
||||
PostgreSQL documentation
|
||||
-->
|
||||
|
||||
@ -2479,16 +2479,15 @@ cast(-44 as bit(12)) <lineannotation>111111010100</lineannotation>
|
||||
</indexterm>
|
||||
|
||||
<para>
|
||||
There are three separate approaches to pattern matching provided by
|
||||
<productname>PostgreSQL</productname>: the traditional
|
||||
<acronym>SQL</acronym>
|
||||
<function>LIKE</function> operator, the more recent
|
||||
<acronym>SQL99</acronym>
|
||||
<function>SIMILAR TO</function> operator, and
|
||||
<acronym>POSIX</acronym>-style regular expressions.
|
||||
There are three separate approaches to pattern matching provided
|
||||
by <productname>PostgreSQL</productname>: the traditional
|
||||
<acronym>SQL</acronym> <function>LIKE</function> operator, the
|
||||
more recent <literal>>SIMILAR TO</literal> operator (since
|
||||
SQL:1999), and <acronym>POSIX</acronym>-style regular expressions.
|
||||
Additionally, a pattern matching function,
|
||||
<function>substring</function>, is available, using either
|
||||
<acronym>SQL99</acronym>-style or POSIX-style regular expressions.
|
||||
<literal>SIMILAR TO</literal>-style or POSIX-style regular
|
||||
expressions.
|
||||
</para>
|
||||
|
||||
<tip>
|
||||
@ -2595,11 +2594,10 @@ cast(-44 as bit(12)) <lineannotation>111111010100</lineannotation>
|
||||
</sect2>
|
||||
|
||||
|
||||
<sect2 id="functions-sql99-regexp">
|
||||
<title><function>SIMILAR TO</function> and <acronym>SQL99</acronym>
|
||||
Regular Expressions</title>
|
||||
<sect2 id="functions-similarto-regexp">
|
||||
<title><function>SIMILAR TO</function> Regular Expressions</title>
|
||||
|
||||
<indexterm zone="functions-sql99-regexp">
|
||||
<indexterm zone="functions-similarto-regexp">
|
||||
<primary>regular expression</primary>
|
||||
<!-- <seealso>pattern matching</seealso> breaks index build -->
|
||||
</indexterm>
|
||||
@ -2618,14 +2616,13 @@ cast(-44 as bit(12)) <lineannotation>111111010100</lineannotation>
|
||||
</synopsis>
|
||||
|
||||
<para>
|
||||
The <function>SIMILAR TO</function> operator returns true or false
|
||||
depending on whether its pattern matches the given string. It is
|
||||
much like <function>LIKE</function>, except that it interprets the
|
||||
pattern using <acronym>SQL99</acronym>'s definition of a regular
|
||||
expression.
|
||||
<acronym>SQL99</acronym>'s regular expressions are a curious cross
|
||||
between <function>LIKE</function> notation and common regular expression
|
||||
notation.
|
||||
The <function>SIMILAR TO</function> operator returns true or
|
||||
false depending on whether its pattern matches the given string.
|
||||
It is much like <function>LIKE</function>, except that it
|
||||
interprets the pattern using the SQL standard's definition of a
|
||||
regular expression. SQL regular expressions are a curious cross
|
||||
between <function>LIKE</function> notation and common regular
|
||||
expression notation.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
@ -2704,7 +2701,7 @@ cast(-44 as bit(12)) <lineannotation>111111010100</lineannotation>
|
||||
<function>substring(<parameter>string</parameter> from
|
||||
<replaceable>pattern</replaceable> for
|
||||
<replaceable>escape-character</replaceable>)</function>, provides
|
||||
extraction of a substring that matches a <acronym>SQL99</acronym>
|
||||
extraction of a substring that matches an SQL
|
||||
regular expression pattern. As with <literal>SIMILAR TO</>, the
|
||||
specified pattern must match to the entire data string, else the
|
||||
function fails and returns null. To indicate the part of the
|
||||
|
@ -1,4 +1,4 @@
|
||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/information_schema.sgml,v 1.18 2004/11/15 06:32:13 neilc Exp $ -->
|
||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/information_schema.sgml,v 1.19 2004/11/27 21:27:06 petere Exp $ -->
|
||||
|
||||
<chapter id="information-schema">
|
||||
<title>The Information Schema</title>
|
||||
@ -3267,7 +3267,7 @@ ORDER BY c.ordinal_position;
|
||||
<entry>
|
||||
The year the standard referenced in
|
||||
<literal>sql_language_source</literal> was approved; currently
|
||||
<literal>1999</>
|
||||
<literal>2003</>
|
||||
</entry>
|
||||
</row>
|
||||
|
||||
@ -3276,7 +3276,7 @@ ORDER BY c.ordinal_position;
|
||||
<entry><type>character_data</type></entry>
|
||||
<entry>
|
||||
The standard conformance level for the language binding. For
|
||||
ISO 9075:1999 this is always <literal>CORE</literal>.
|
||||
ISO 9075:2003 this is always <literal>CORE</literal>.
|
||||
</entry>
|
||||
</row>
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
<!--
|
||||
$PostgreSQL: pgsql/doc/src/sgml/intro.sgml,v 1.25 2004/08/08 01:52:14 momjian Exp $
|
||||
$PostgreSQL: pgsql/doc/src/sgml/intro.sgml,v 1.26 2004/11/27 21:27:06 petere Exp $
|
||||
-->
|
||||
|
||||
<preface id="preface">
|
||||
@ -98,8 +98,8 @@ $PostgreSQL: pgsql/doc/src/sgml/intro.sgml,v 1.25 2004/08/08 01:52:14 momjian Ex
|
||||
|
||||
<para>
|
||||
<productname>PostgreSQL</productname> is an open-source descendant
|
||||
of this original Berkeley code. It supports SQL92, SQL99 and
|
||||
SQL2003 and offers many modern features:
|
||||
of this original Berkeley code. It supports a large part of the SQL:2003
|
||||
standard and offers many modern features:
|
||||
|
||||
<itemizedlist spacing="compact">
|
||||
<listitem>
|
||||
|
@ -1,4 +1,4 @@
|
||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/keywords.sgml,v 2.14 2004/10/18 17:09:03 petere Exp $ -->
|
||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/keywords.sgml,v 2.15 2004/11/27 21:27:06 petere Exp $ -->
|
||||
|
||||
<appendix id="sql-keywords-appendix">
|
||||
<title><acronym>SQL</acronym> Key Words</title>
|
||||
@ -86,9 +86,9 @@
|
||||
<row>
|
||||
<entry>Key Word</entry>
|
||||
<entry><productname>PostgreSQL</productname></entry>
|
||||
<entry><acronym>SQL</acronym> 2003</entry>
|
||||
<entry><acronym>SQL</acronym> 1999</entry>
|
||||
<entry><acronym>SQL</acronym> 1992</entry>
|
||||
<entry>SQL:2003</entry>
|
||||
<entry>SQL:1999</entry>
|
||||
<entry>SQL-92</entry>
|
||||
</row>
|
||||
</thead>
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
<!--
|
||||
$PostgreSQL: pgsql/doc/src/sgml/ref/alter_domain.sgml,v 1.12 2004/03/23 13:21:41 neilc Exp $
|
||||
$PostgreSQL: pgsql/doc/src/sgml/ref/alter_domain.sgml,v 1.13 2004/11/27 21:27:07 petere Exp $
|
||||
PostgreSQL documentation
|
||||
-->
|
||||
|
||||
@ -203,7 +203,7 @@ ALTER DOMAIN zipcode DROP CONSTRAINT zipchk;
|
||||
<title>Compatibility</title>
|
||||
|
||||
<para>
|
||||
The <command>ALTER DOMAIN</command> statement is compatible with SQL99,
|
||||
The <command>ALTER DOMAIN</command> statement is compatible with SQL:1999,
|
||||
except for the <literal>OWNER</> variant, which is a
|
||||
<productname>PostgreSQL</productname> extension.
|
||||
</para>
|
||||
|
@ -1,5 +1,5 @@
|
||||
<!--
|
||||
$PostgreSQL: pgsql/doc/src/sgml/ref/alter_sequence.sgml,v 1.8 2004/08/24 00:06:51 neilc Exp $
|
||||
$PostgreSQL: pgsql/doc/src/sgml/ref/alter_sequence.sgml,v 1.9 2004/11/27 21:27:07 petere Exp $
|
||||
PostgreSQL documentation
|
||||
-->
|
||||
|
||||
@ -190,22 +190,11 @@ ALTER SEQUENCE serial RESTART WITH 105;
|
||||
|
||||
|
||||
<refsect1>
|
||||
<title>
|
||||
Compatibility
|
||||
</title>
|
||||
<title>Compatibility</title>
|
||||
|
||||
<refsect2>
|
||||
<title>
|
||||
SQL99
|
||||
</title>
|
||||
|
||||
<para>
|
||||
<command>ALTER SEQUENCE</command> is a <productname>PostgreSQL</productname>
|
||||
language extension.
|
||||
There is no <command>ALTER SEQUENCE</command> statement
|
||||
in <acronym>SQL99</acronym>.
|
||||
</para>
|
||||
</refsect2>
|
||||
<para>
|
||||
<command>ALTER SEQUENCE</command> conforms with <acronym>SQL:2003</acronym>.
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/ref/create_cast.sgml,v 1.18 2004/09/17 02:06:33 neilc Exp $ -->
|
||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/ref/create_cast.sgml,v 1.19 2004/11/27 21:27:07 petere Exp $ -->
|
||||
|
||||
<refentry id="SQL-CREATECAST">
|
||||
<refmeta>
|
||||
@ -298,8 +298,8 @@ CREATE CAST (text AS int4) WITH FUNCTION int4(text);
|
||||
<title>Compatibility</title>
|
||||
|
||||
<para>
|
||||
The <command>CREATE CAST</command> command conforms to SQL99,
|
||||
except that SQL99 does not make provisions for binary-compatible
|
||||
The <command>CREATE CAST</command> command conforms to SQL:1999,
|
||||
except that SQL:1999 does not make provisions for binary-compatible
|
||||
types or extra arguments to implementation functions.
|
||||
<literal>AS IMPLICIT</> is a <productname>PostgreSQL</productname>
|
||||
extension, too.
|
||||
|
@ -1,5 +1,5 @@
|
||||
<!--
|
||||
$PostgreSQL: pgsql/doc/src/sgml/ref/create_function.sgml,v 1.62 2004/10/01 02:00:44 neilc Exp $
|
||||
$PostgreSQL: pgsql/doc/src/sgml/ref/create_function.sgml,v 1.63 2004/11/27 21:27:07 petere Exp $
|
||||
-->
|
||||
|
||||
<refentry id="SQL-CREATEFUNCTION">
|
||||
@ -419,7 +419,7 @@ CREATE OR REPLACE FUNCTION increment(i integer) RETURNS integer AS '
|
||||
<title>Compatibility</title>
|
||||
|
||||
<para>
|
||||
A <command>CREATE FUNCTION</command> command is defined in SQL99.
|
||||
A <command>CREATE FUNCTION</command> command is defined in SQL:1999 and later.
|
||||
The <productname>PostgreSQL</productname> version is similar but
|
||||
not fully compatible. The attributes are not portable, neither are the
|
||||
different available languages.
|
||||
|
@ -1,5 +1,5 @@
|
||||
<!--
|
||||
$PostgreSQL: pgsql/doc/src/sgml/ref/create_sequence.sgml,v 1.41 2004/07/12 05:36:56 tgl Exp $
|
||||
$PostgreSQL: pgsql/doc/src/sgml/ref/create_sequence.sgml,v 1.42 2004/11/27 21:27:07 petere Exp $
|
||||
PostgreSQL documentation
|
||||
-->
|
||||
|
||||
@ -297,10 +297,12 @@ END;
|
||||
<title>Compatibility</title>
|
||||
|
||||
<para>
|
||||
<command>CREATE SEQUENCE</command> is a
|
||||
<productname>PostgreSQL</productname> language extension. There is
|
||||
no <command>CREATE SEQUENCE</command> statement in the SQL
|
||||
standard.
|
||||
<command>CREATE SEQUENCE</command> is is specified in <acronym>SQL:2003</acronym>.
|
||||
<productname>PostgreSQL</productname> conforms with the standard, with the following exceptions:
|
||||
<itemizedlist>
|
||||
<listitem><para>The standard's <literal>AS <data type></literal> expression is not supported.</para></listitem>
|
||||
<listitem><para>Obtaining the next value is done using the <function>nextval()</> function instead of the standard's <command>NEXT VALUE FOR</command> expression.</para></listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
||||
|
@ -1,5 +1,5 @@
|
||||
<!--
|
||||
$PostgreSQL: pgsql/doc/src/sgml/ref/create_table.sgml,v 1.86 2004/11/05 19:15:51 tgl Exp $
|
||||
$PostgreSQL: pgsql/doc/src/sgml/ref/create_table.sgml,v 1.87 2004/11/27 21:27:07 petere Exp $
|
||||
PostgreSQL documentation
|
||||
-->
|
||||
|
||||
@ -865,8 +865,8 @@ CREATE TABLE cinemas (
|
||||
<title id="SQL-CREATETABLE-compatibility-title">Compatibility</title>
|
||||
|
||||
<para>
|
||||
The <command>CREATE TABLE</command> command conforms to SQL92
|
||||
and to a subset of SQL99, with exceptions listed below.
|
||||
The <command>CREATE TABLE</command> command conforms to SQL-92 and
|
||||
to a subset of SQL:1999, with exceptions listed below.
|
||||
</para>
|
||||
|
||||
<refsect2>
|
||||
@ -943,10 +943,11 @@ CREATE TABLE cinemas (
|
||||
|
||||
<para>
|
||||
Multiple inheritance via the <literal>INHERITS</literal> clause is
|
||||
a <productname>PostgreSQL</productname> language extension. SQL99
|
||||
(but not SQL92) defines single inheritance using a different
|
||||
syntax and different semantics. SQL99-style inheritance is not
|
||||
yet supported by <productname>PostgreSQL</productname>.
|
||||
a <productname>PostgreSQL</productname> language extension.
|
||||
SQL:1999 (but not SQL-92) defines single inheritance using a
|
||||
different syntax and different semantics. SQL:1999-style
|
||||
inheritance is not yet supported by
|
||||
<productname>PostgreSQL</productname>.
|
||||
</para>
|
||||
</refsect2>
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
<!--
|
||||
$PostgreSQL: pgsql/doc/src/sgml/ref/create_table_as.sgml,v 1.24 2004/09/23 03:43:57 neilc Exp $
|
||||
$PostgreSQL: pgsql/doc/src/sgml/ref/create_table_as.sgml,v 1.25 2004/11/27 21:27:07 petere Exp $
|
||||
PostgreSQL documentation
|
||||
-->
|
||||
|
||||
@ -166,9 +166,9 @@ CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } ] TABLE <replaceable>table_name
|
||||
<title>Compatibility</title>
|
||||
|
||||
<para>
|
||||
<command>CREATE TABLE AS</command> is specified by the SQL2003
|
||||
<command>CREATE TABLE AS</command> is specified by the SQL:2003
|
||||
standard. There are some small differences between the definition
|
||||
of the command in SQL2003 and its implementation in
|
||||
of the command in SQL:2003 and its implementation in
|
||||
<productname>PostgreSQL</>:
|
||||
|
||||
<itemizedlist spacing="compact">
|
||||
|
@ -1,5 +1,5 @@
|
||||
<!--
|
||||
$PostgreSQL: pgsql/doc/src/sgml/ref/create_trigger.sgml,v 1.39 2003/12/01 17:58:27 tgl Exp $
|
||||
$PostgreSQL: pgsql/doc/src/sgml/ref/create_trigger.sgml,v 1.40 2004/11/27 21:27:07 petere Exp $
|
||||
PostgreSQL documentation
|
||||
-->
|
||||
|
||||
@ -208,20 +208,20 @@ CREATE TRIGGER <replaceable class="PARAMETER">name</replaceable> { BEFORE | AFTE
|
||||
<para>
|
||||
The <command>CREATE TRIGGER</command> statement in
|
||||
<productname>PostgreSQL</productname> implements a subset of the
|
||||
SQL99 standard. (There are no provisions for triggers in SQL92.)
|
||||
SQL:1999 standard. (There are no provisions for triggers in SQL-92.)
|
||||
The following functionality is missing:
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
SQL99 allows triggers to fire on updates to specific columns
|
||||
SQL:1999 allows triggers to fire on updates to specific columns
|
||||
(e.g., <literal>AFTER UPDATE OF col1, col2</literal>).
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
SQL99 allows you to define aliases for the <quote>old</quote>
|
||||
SQL:1999 allows you to define aliases for the <quote>old</quote>
|
||||
and <quote>new</quote> rows or tables for use in the definition
|
||||
of the triggered action (e.g., <literal>CREATE TRIGGER ... ON
|
||||
tablename REFERENCING OLD ROW AS somename NEW ROW AS othername
|
||||
@ -235,7 +235,7 @@ CREATE TRIGGER <replaceable class="PARAMETER">name</replaceable> { BEFORE | AFTE
|
||||
<listitem>
|
||||
<para>
|
||||
<productname>PostgreSQL</productname> only allows the execution
|
||||
of a user-defined function for the triggered action. SQL99
|
||||
of a user-defined function for the triggered action. SQL:1999
|
||||
allows the execution of a number of other SQL commands, such as
|
||||
<command>CREATE TABLE</command> as triggered action. This
|
||||
limitation is not hard to work around by creating a user-defined
|
||||
@ -246,7 +246,7 @@ CREATE TRIGGER <replaceable class="PARAMETER">name</replaceable> { BEFORE | AFTE
|
||||
</para>
|
||||
|
||||
<para>
|
||||
SQL99 specifies that multiple triggers should be fired in
|
||||
SQL:1999 specifies that multiple triggers should be fired in
|
||||
time-of-creation order. <productname>PostgreSQL</productname> uses
|
||||
name order, which was judged more convenient to work with.
|
||||
</para>
|
||||
|
@ -1,5 +1,5 @@
|
||||
<!--
|
||||
$PostgreSQL: pgsql/doc/src/sgml/ref/create_type.sgml,v 1.52 2004/06/25 21:55:50 tgl Exp $
|
||||
$PostgreSQL: pgsql/doc/src/sgml/ref/create_type.sgml,v 1.53 2004/11/27 21:27:07 petere Exp $
|
||||
PostgreSQL documentation
|
||||
-->
|
||||
|
||||
@ -535,7 +535,7 @@ CREATE TABLE big_objs (
|
||||
<para>
|
||||
This <command>CREATE TYPE</command> command is a
|
||||
<productname>PostgreSQL</productname> extension. There is a
|
||||
<command>CREATE TYPE</command> statement in SQL99 that is rather
|
||||
<command>CREATE TYPE</command> statement in SQL:1999 and later that is rather
|
||||
different in detail.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
@ -1,5 +1,5 @@
|
||||
<!--
|
||||
$PostgreSQL: pgsql/doc/src/sgml/ref/drop_sequence.sgml,v 1.20 2003/11/29 19:51:38 pgsql Exp $
|
||||
$PostgreSQL: pgsql/doc/src/sgml/ref/drop_sequence.sgml,v 1.21 2004/11/27 21:27:07 petere Exp $
|
||||
PostgreSQL documentation
|
||||
-->
|
||||
|
||||
@ -82,7 +82,7 @@ DROP SEQUENCE serial;
|
||||
<title>Compatibility</title>
|
||||
|
||||
<para>
|
||||
There is no <command>DROP SEQUENCE</command> statement in the SQL standard.
|
||||
<command>DROP SEQUENCE</command> conforms with <acronym>SQL:2003</acronym>.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
<!--
|
||||
$PostgreSQL: pgsql/doc/src/sgml/ref/release_savepoint.sgml,v 1.2 2004/08/24 00:06:51 neilc Exp $
|
||||
$PostgreSQL: pgsql/doc/src/sgml/ref/release_savepoint.sgml,v 1.3 2004/11/27 21:27:07 petere Exp $
|
||||
PostgreSQL documentation
|
||||
-->
|
||||
|
||||
@ -108,11 +108,10 @@ COMMIT;
|
||||
<title>Compatibility</title>
|
||||
|
||||
<para>
|
||||
The SQL2003 standard specifies that the keyword
|
||||
<literal>SAVEPOINT</literal> is mandatory.
|
||||
<productname>PostgreSQL</productname> allows the
|
||||
<literal>SAVEPOINT</literal> keyword to be omitted. Otherwise, this
|
||||
command is fully conforming.
|
||||
This command conforms to the SQL:2003 standard. The standard
|
||||
specifies that the key word <literal>SAVEPOINT</literal> is
|
||||
mandatory, but <productname>PostgreSQL</productname> allows it to
|
||||
be omitted.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
<!--
|
||||
$PostgreSQL: pgsql/doc/src/sgml/ref/rollback_to.sgml,v 1.4 2004/09/20 00:04:19 neilc Exp $
|
||||
$PostgreSQL: pgsql/doc/src/sgml/ref/rollback_to.sgml,v 1.5 2004/11/27 21:27:07 petere Exp $
|
||||
PostgreSQL documentation
|
||||
-->
|
||||
|
||||
@ -128,15 +128,14 @@ COMMIT;
|
||||
<title>Compatibility</title>
|
||||
|
||||
<para>
|
||||
The SQL2003 standard specifies that the keyword
|
||||
<literal>SAVEPOINT</> is mandatory. <productname>PostgreSQL</> and
|
||||
<productname>Oracle</> allow the <literal>SAVEPOINT</literal>
|
||||
keyword to be omitted. SQL2003 allows only <literal>WORK</>, not
|
||||
<literal>TRANSACTION</>, as a noise word after
|
||||
<literal>ROLLBACK</>. Also, SQL2003 has an optional clause
|
||||
The SQL:2003 standard specifies that the key word
|
||||
<literal>SAVEPOINT</> is mandatory, but <productname>PostgreSQL</>
|
||||
and <productname>Oracle</> allow it to be omitted. SQL:2003 allows
|
||||
only <literal>WORK</>, not <literal>TRANSACTION</>, as a noise word
|
||||
after <literal>ROLLBACK</>. Also, SQL:2003 has an optional clause
|
||||
<literal>AND [ NO ] CHAIN</> which is not currently supported by
|
||||
<productname>PostgreSQL</>. Otherwise, this command is fully
|
||||
conforming.
|
||||
<productname>PostgreSQL</>. Otherwise, this command conforms to
|
||||
the SQL standard.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
<!--
|
||||
$PostgreSQL: pgsql/doc/src/sgml/ref/select.sgml,v 1.77 2004/05/16 23:22:08 neilc Exp $
|
||||
$PostgreSQL: pgsql/doc/src/sgml/ref/select.sgml,v 1.78 2004/11/27 21:27:07 petere Exp $
|
||||
PostgreSQL documentation
|
||||
-->
|
||||
|
||||
@ -1045,7 +1045,7 @@ SELECT distributors.* FROM distributors d, distributors distributors;
|
||||
<title>Namespace Available to <literal>GROUP BY</literal> and <literal>ORDER BY</literal></title>
|
||||
|
||||
<para>
|
||||
In the SQL92 standard, an <literal>ORDER BY</literal> clause may
|
||||
In the SQL-92 standard, an <literal>ORDER BY</literal> clause may
|
||||
only use result column names or numbers, while a <literal>GROUP
|
||||
BY</literal> clause may only use expressions based on input column
|
||||
names. <productname>PostgreSQL</productname> extends each of
|
||||
@ -1058,11 +1058,11 @@ SELECT distributors.* FROM distributors d, distributors distributors;
|
||||
</para>
|
||||
|
||||
<para>
|
||||
SQL99 uses a slightly different definition which is not entirely upward
|
||||
SQL:1999 uses a slightly different definition which is not entirely upward
|
||||
compatible
|
||||
with SQL92. In most cases, however, <productname>PostgreSQL</productname>
|
||||
with SQL-92. In most cases, however, <productname>PostgreSQL</productname>
|
||||
will interpret an <literal>ORDER BY</literal> or <literal>GROUP
|
||||
BY</literal> expression the same way SQL99 does.
|
||||
BY</literal> expression the same way SQL:1999 does.
|
||||
</para>
|
||||
</refsect2>
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
<!--
|
||||
$PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.312 2004/11/22 07:30:22 neilc Exp $
|
||||
$PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.313 2004/11/27 21:27:06 petere Exp $
|
||||
-->
|
||||
|
||||
<appendix id="release">
|
||||
@ -1514,13 +1514,13 @@ $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.312 2004/11/22 07:30:22 neilc E
|
||||
Change <function>ln()</>, <function>log()</>,
|
||||
<function>power()</>, and <function>sqrt()</> to emit the correct
|
||||
<literal>SQLSTATE</> error codes for certain error conditions, as
|
||||
specified by SQL2003 (Neil)
|
||||
specified by SQL:2003 (Neil)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Add <function>width_bucket()</> function as defined by SQL2003 (Neil)
|
||||
Add <function>width_bucket()</> function as defined by SQL:2003 (Neil)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
@ -3706,7 +3706,7 @@ DROP SCHEMA information_schema CASCADE;
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>Make <command>CREATE SEQUENCE</command> grammar more conforming to SQL 2003 (Neil)</para>
|
||||
<para>Make <command>CREATE SEQUENCE</command> grammar more conforming to SQL:2003 (Neil)</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
@ -3781,7 +3781,7 @@ DROP SCHEMA information_schema CASCADE;
|
||||
<listitem>
|
||||
<para>
|
||||
Allow copying table schema using <literal>LIKE
|
||||
<replaceable>subtable</replaceable></literal>, also SQL 2003
|
||||
<replaceable>subtable</replaceable></literal>, also SQL:2003
|
||||
feature <literal>INCLUDING DEFAULTS</literal> (Rod)
|
||||
</para>
|
||||
</listitem>
|
||||
|
@ -4,7 +4,7 @@
|
||||
*
|
||||
* Copyright 2003, PostgreSQL Global Development Group
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/backend/catalog/information_schema.sql,v 1.24 2004/06/22 22:30:32 tgl Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/catalog/information_schema.sql,v 1.25 2004/11/27 21:27:08 petere Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -1181,8 +1181,8 @@ CREATE TABLE sql_languages (
|
||||
sql_language_programming_language character_data
|
||||
) WITHOUT OIDS;
|
||||
|
||||
INSERT INTO sql_languages VALUES ('ISO 9075', '1999', 'CORE', NULL, NULL, 'DIRECT', NULL);
|
||||
INSERT INTO sql_languages VALUES ('ISO 9075', '1999', 'CORE', NULL, NULL, 'EMBEDDED', 'C');
|
||||
INSERT INTO sql_languages VALUES ('ISO 9075', '2003', 'CORE', NULL, NULL, 'DIRECT', NULL);
|
||||
INSERT INTO sql_languages VALUES ('ISO 9075', '2003', 'CORE', NULL, NULL, 'EMBEDDED', 'C');
|
||||
|
||||
GRANT SELECT ON sql_languages TO PUBLIC;
|
||||
|
||||
@ -1209,7 +1209,7 @@ INSERT INTO sql_packages VALUES ('PKG005', 'CLI', 'NO', NULL, 'ODBC is similar.'
|
||||
INSERT INTO sql_packages VALUES ('PKG006', 'Basic object support', 'NO', NULL, '');
|
||||
INSERT INTO sql_packages VALUES ('PKG007', 'Enhanced object support', 'NO', NULL, '');
|
||||
INSERT INTO sql_packages VALUES ('PKG008', 'Active database', 'NO', NULL, '');
|
||||
INSERT INTO sql_packages VALUES ('PKG009', 'SQL/MM support', 'NO', NULL, '');
|
||||
INSERT INTO sql_packages VALUES ('PKG010', 'OLAP', 'NO', NULL, 'NO');
|
||||
|
||||
GRANT SELECT ON sql_packages TO PUBLIC;
|
||||
|
||||
|
@ -53,21 +53,16 @@ F701 Enhanced integrity management
|
||||
F812 Core
|
||||
S011 Core
|
||||
S023 Basic object support
|
||||
S023 SQL/MM support
|
||||
S024 Enhanced object support
|
||||
S024 SQL/MM support
|
||||
S041 Basic object support
|
||||
S043 Enhanced object support
|
||||
S051 Basic object support
|
||||
S071 Enhanced object support
|
||||
S081 Enhanced object support
|
||||
S091 SQL/MM support
|
||||
S092 SQL/MM support
|
||||
S111 Enhanced object support
|
||||
S151 Basic object support
|
||||
S161 Enhanced object support
|
||||
S211 Enhanced object support
|
||||
S211 SQL/MM support
|
||||
S231 Enhanced object support
|
||||
S241 Enhanced object support
|
||||
T041 Basic object support
|
||||
@ -78,5 +73,4 @@ T211 Active database
|
||||
T212 Enhanced integrity management
|
||||
T321 Core
|
||||
T322 PSM
|
||||
T322 SQL/MM support
|
||||
T431 OLAP facilities
|
||||
|
@ -8,9 +8,26 @@ B017 Embedded PL/I NO
|
||||
B021 Direct SQL YES
|
||||
B031 Basic dynamic SQL NO
|
||||
B032 Extended dynamic SQL NO
|
||||
B032 Extended dynamic SQL 01 <describe input> statement NO
|
||||
B032 Extended dynamic SQL 01 <describe input statement> NO
|
||||
B033 Untyped SQL-invoked function arguments NO
|
||||
B034 Dynamic specification of cursor attributes NO
|
||||
B041 Extensions to embedded SQL exception declarations NO
|
||||
B051 Enhanced execution rights NO
|
||||
B111 Module language Ada NO
|
||||
B112 Module language C NO
|
||||
B113 Module language COBOL NO
|
||||
B114 Module language Fortran NO
|
||||
B115 Module language MUMPS NO
|
||||
B116 Module language Pascal NO
|
||||
B117 Module language PL/I NO
|
||||
B121 Routine language Ada NO
|
||||
B122 Routine language C NO
|
||||
B123 Routine language COBOL NO
|
||||
B124 Routine language Fortran NO
|
||||
B125 Routine language MUMPS NO
|
||||
B126 Routine language Pascal NO
|
||||
B127 Routine language PL/I NO
|
||||
B128 Routine language SQL NO
|
||||
E011 Numeric data types YES
|
||||
E011 Numeric data types 01 INTEGER and SMALLINT data types YES
|
||||
E011 Numeric data types 02 REAL, DOUBLE PRECISION, and FLOAT data types YES
|
||||
@ -19,18 +36,18 @@ E011 Numeric data types 04 Arithmetic operators YES
|
||||
E011 Numeric data types 05 Numeric comparison YES
|
||||
E011 Numeric data types 06 Implicit casting among the numeric data types YES
|
||||
E021 Character data types YES
|
||||
E021 Character data types 01 CHARACTER data type YES
|
||||
E021 Character data types 02 CHARACTER VARYING data type YES
|
||||
E021 Character data types 03 Character literals YES
|
||||
E021 Character data types 04 CHARACTER_LENGTH function YES
|
||||
E021 Character data types 05 OCTET_LENGTH function YES
|
||||
E021 Character data types 06 SUBSTRING function YES
|
||||
E021 Character data types 07 Character concatenation YES
|
||||
E021 Character data types 08 UPPER and LOWER functions YES
|
||||
E021 Character data types 09 TRIM function YES
|
||||
E021 Character data types 10 Implicit casting among the character data types YES
|
||||
E021 Character data types 11 POSITION function YES
|
||||
E021 Character data types 12 Character comparison YES
|
||||
E021 Character string types 01 CHARACTER data type YES
|
||||
E021 Character string types 02 CHARACTER VARYING data type YES
|
||||
E021 Character string types 03 Character literals YES
|
||||
E021 Character string types 04 CHARACTER_LENGTH function YES trims trailing spaces from CHARACTER values before counting
|
||||
E021 Character string types 05 OCTET_LENGTH function YES
|
||||
E021 Character string types 06 SUBSTRING function YES
|
||||
E021 Character string types 07 Character concatenation YES
|
||||
E021 Character string types 08 UPPER and LOWER functions YES
|
||||
E021 Character string types 09 TRIM function YES
|
||||
E021 Character string types 10 Implicit casting among the character string types YES
|
||||
E021 Character string types 11 POSITION function YES
|
||||
E021 Character string types 12 Character comparison YES
|
||||
E031 Identifiers YES
|
||||
E031 Identifiers 01 Delimited identifiers YES
|
||||
E031 Identifiers 02 Lower case identifiers YES
|
||||
@ -73,6 +90,8 @@ E081 Basic Privileges 05 UPDATE privilege at the column level NO
|
||||
E081 Basic Privileges 06 REFERENCES privilege at the table level YES
|
||||
E081 Basic Privileges 07 REFERENCES privilege at the column level NO
|
||||
E081 Basic Privileges 08 WITH GRANT OPTION YES
|
||||
E081 Basic Privileges 09 USAGE privilege NO
|
||||
E081 Basic Privileges 10 EXECUTE privilege YES
|
||||
E091 Set functions YES
|
||||
E091 Set functions 01 AVG YES
|
||||
E091 Set functions 02 COUNT YES
|
||||
@ -87,7 +106,7 @@ E101 Basic data manipulation 03 Searched UPDATE statement YES
|
||||
E101 Basic data manipulation 04 Searched DELETE statement YES
|
||||
E111 Single row SELECT statement YES
|
||||
E121 Basic cursor support NO
|
||||
E121 Basic cursor supoprt 01 DECLARE CURSOR YES
|
||||
E121 Basic cursor support 01 DECLARE CURSOR YES
|
||||
E121 Basic cursor support 02 ORDER BY columns need not be in select list YES
|
||||
E121 Basic cursor support 03 Value expressions in ORDER BY clause YES
|
||||
E121 Basic cursor support 04 OPEN statement YES
|
||||
@ -150,16 +169,17 @@ F051 Basic date and time 01 DATE data type (including support of DATE literal) Y
|
||||
F051 Basic date and time 02 TIME data type (including support of TIME literal) with fractional seconds precision of at least 0 YES
|
||||
F051 Basic date and time 03 TIMESTAMP data type (including support of TIMESTAMP literal) with fractional seconds precision of at least 0 and 6 YES
|
||||
F051 Basic date and time 04 Comparison predicate on DATE, TIME, and TIMESTAMP data types YES
|
||||
F051 Basic date and time 05 Explicit CAST between datetime types and character types YES
|
||||
F051 Basic date and time 05 Explicit CAST between datetime types and character string types YES
|
||||
F051 Basic date and time 06 CURRENT_DATE YES
|
||||
F051 Basic date and time 07 LOCALTIME YES
|
||||
F051 Basic date and time 08 LOCALTIMESTAMP YES
|
||||
F052 Intervals and datetime arithmetic YES
|
||||
F053 OVERLAPS predicate YES
|
||||
F081 UNION and EXCEPT in views YES
|
||||
F111 Isolation levels other than SERIALIZABLE YES
|
||||
F111 Isolation levels other than SERIALIZABLE 01 READ UNCOMMITTED isolation level YES behaves like READ COMMITTED
|
||||
F111 Isolation levels other than SERIALIZABLE 01 READ UNCOMMITTED isolation level YES
|
||||
F111 Isolation levels other than SERIALIZABLE 02 READ COMMITTED isolation level YES
|
||||
F111 Isolation levels other than SERIALIZABLE 03 REPEATABLE READ isolation level YES behaves like SERIALIZABLE
|
||||
F111 Isolation levels other than SERIALIZABLE 03 REPEATABLE READ isolation level YES
|
||||
F121 Basic diagnostics management NO
|
||||
F121 Basic diagnostics management 01 GET DIAGNOSTICS statement NO
|
||||
F121 Basic diagnostics management 02 SET TRANSACTION statement: DIAGNOSTICS SIZE clause NO
|
||||
@ -175,16 +195,18 @@ F191 Referential delete actions YES
|
||||
F201 CAST function YES
|
||||
F221 Explicit defaults YES
|
||||
F222 INSERT statement: DEFAULT VALUES clause YES
|
||||
F231 Privilege Tables YES
|
||||
F231 Privilege Tables 01 TABLE_PRIVILEGES view YES
|
||||
F231 Privilege Tables 02 COLUMN_PRIVILEGES view YES
|
||||
F231 Privilege Tables 03 USAGE_PRIVILEGES view YES
|
||||
F231 Privilege tables YES
|
||||
F231 Privilege tables 01 TABLE_PRIVILEGES view YES
|
||||
F231 Privilege tables 02 COLUMN_PRIVILEGES view YES
|
||||
F231 Privilege tables 03 USAGE_PRIVILEGES view YES
|
||||
F251 Domain support YES
|
||||
F261 CASE expression YES
|
||||
F261 CASE expression 01 Simple CASE YES
|
||||
F261 CASE expression 02 Searched CASE YES
|
||||
F261 CASE expression 03 NULLIF YES
|
||||
F261 CASE expression 04 COALESCE YES
|
||||
F262 Extended CASE expression NO
|
||||
F263 Comma-separated predicates in simple CASE expression NO
|
||||
F271 Compound character literals YES
|
||||
F281 LIKE enhancements YES
|
||||
F291 UNIQUE predicate NO
|
||||
@ -199,6 +221,7 @@ F311 Schema definition statement 02 CREATE TABLE for persistent base tables YES
|
||||
F311 Schema definition statement 03 CREATE VIEW YES
|
||||
F311 Schema definition statement 04 CREATE VIEW: WITH CHECK OPTION NO
|
||||
F311 Schema definition statement 05 GRANT statement YES
|
||||
F312 MERGE statement NO
|
||||
F321 User authorization YES
|
||||
F341 Usage tables NO
|
||||
F361 Subprogram support YES
|
||||
@ -207,12 +230,14 @@ F381 Extended schema manipulation 01 ALTER TABLE statement: ALTER COLUMN clause
|
||||
F381 Extended schema manipulation 02 ALTER TABLE statement: ADD CONSTRAINT clause YES
|
||||
F381 Extended schema manipulation 03 ALTER TABLE statement: DROP CONSTRAINT clause YES
|
||||
F391 Long identifiers YES
|
||||
F392 Unicode escapes in identifiers NO
|
||||
F393 Unicode escapes in literals NO
|
||||
F401 Extended joined table YES
|
||||
F401 Extended joined table 01 NATURAL JOIN YES
|
||||
F401 Extended joined table 02 FULL OUTER JOIN YES
|
||||
F401 Extended joined table 03 UNION JOIN YES
|
||||
F401 Extended joined table 04 CROSS JOIN YES
|
||||
F411 Time zone specification YES
|
||||
F402 Named column joins for LOBs, arrays, and multisets NO
|
||||
F411 Time zone specification YES differences regarding literal interpretation
|
||||
F421 National character YES
|
||||
F431 Read-only scrollable cursors YES
|
||||
F431 Read-only scrollable cursors 01 FETCH with explicit NEXT YES
|
||||
@ -222,6 +247,7 @@ F431 Read-only scrollable cursors 04 FETCH PRIOR YES
|
||||
F431 Read-only scrollable cursors 05 FETCH ABSOLUTE YES
|
||||
F431 Read-only scrollable cursors 06 FETCH RELATIVE YES
|
||||
F441 Extended set function support YES
|
||||
F442 Mixed column references in set functions NO
|
||||
F451 Character set definition NO
|
||||
F461 Named character sets NO
|
||||
F471 Scalar subquery values YES
|
||||
@ -235,7 +261,6 @@ F502 Enhanced documentation tables YES
|
||||
F502 Enhanced documentation tables 01 SQL_SIZING_PROFILES view YES
|
||||
F502 Enhanced documentation tables 02 SQL_IMPLEMENTATION_INFO view YES
|
||||
F502 Enhanced documentation tables 03 SQL_PACKAGES view YES
|
||||
F511 BIT data type YES
|
||||
F521 Assertions NO
|
||||
F531 Temporary tables YES
|
||||
F555 Enhanced seconds precision YES
|
||||
@ -247,7 +272,12 @@ F641 Row and table constructors NO
|
||||
F651 Catalog name qualifiers YES
|
||||
F661 Simple tables NO
|
||||
F671 Subqueries in CHECK NO intentionally omitted
|
||||
F672 Retrospective check constraints YES
|
||||
F691 Collation and translation NO
|
||||
F692 Enhanced collation support NO
|
||||
F693 SQL-session and client module collations NO
|
||||
F695 Translation support NO
|
||||
F696 Additional translation documentation NO
|
||||
F701 Referential update actions YES
|
||||
F711 ALTER domain YES
|
||||
F721 Deferrable constraints NO foreign keys only
|
||||
@ -261,7 +291,7 @@ F791 Insensitive cursors YES
|
||||
F801 Full set function YES
|
||||
F811 Extended flagging NO
|
||||
F812 Basic flagging NO
|
||||
F813 Extended flagging for "Core SQL Flagging" and "Catalog Lookup" only NO
|
||||
F813 Extended flagging NO
|
||||
F821 Local table references NO
|
||||
F831 Full cursor update NO
|
||||
F831 Full cursor update 01 Updatable scrollable cursors NO
|
||||
@ -270,6 +300,10 @@ S011 Distinct data types NO
|
||||
S011 Distinct data types 01 USER_DEFINED_TYPES view NO
|
||||
S023 Basic structured types NO
|
||||
S024 Enhanced structured types NO
|
||||
S025 Final structured types NO
|
||||
S026 Self-referencing structured types NO
|
||||
S027 Create method by specific method name NO
|
||||
S028 Permutable UDT options list NO
|
||||
S041 Basic reference types NO
|
||||
S043 Enhanced reference types NO
|
||||
S051 Create table of type NO
|
||||
@ -281,18 +315,31 @@ S091 Basic array support 02 Arrays of distinct types NO
|
||||
S091 Basic array support 03 Array expressions NO
|
||||
S092 Arrays of user-defined types NO
|
||||
S094 Arrays of reference types NO
|
||||
S095 Array constructors by query NO
|
||||
S096 Optional array bounds NO
|
||||
S097 Array element assignment NO
|
||||
S111 ONLY in query expressions YES
|
||||
S151 Type predicate NO
|
||||
S161 Subtype treatment NO
|
||||
S201 SQL routines on arrays NO
|
||||
S201 SQL routines on arrays 01 Array parameters NO
|
||||
S201 SQL routines on arrays 02 Array as result type of functions NO
|
||||
S162 Subtype treatment for references NO
|
||||
S201 SQL-invoked routines on arrays NO
|
||||
S201 SQL-invoked routines on arrays 01 Array parameters NO
|
||||
S201 SQL-invoked routines on arrays 02 Array as result type of functions NO
|
||||
S202 SQL-invoked routines on multisets NO
|
||||
S211 User-defined cast functions YES
|
||||
S231 Structured type locators NO
|
||||
S232 Array locators NO
|
||||
S233 Multiset locators NO
|
||||
S241 Transform functions NO
|
||||
S242 Alter transform statement NO
|
||||
S251 User-defined orderings NO
|
||||
S261 Specific type method NO
|
||||
S271 Basic multiset support NO
|
||||
S272 Multisets of user-defined types NO
|
||||
S274 Multisets of reference types NO
|
||||
S275 Advanced multiset support NO
|
||||
S281 Nested collection types NO
|
||||
S291 Unique constraint on entire row NO
|
||||
T011 Timestamp in Information Schema NO
|
||||
T031 BOOLEAN data type YES
|
||||
T041 Basic LOB data type support NO
|
||||
@ -303,12 +350,24 @@ T041 Basic LOB data type support 04 Concatenation of LOB data types NO
|
||||
T041 Basic LOB data type support 05 LOB locator: non-holdable NO
|
||||
T042 Extended LOB data type support NO
|
||||
T051 Row types NO
|
||||
T052 MAX and MIN for row types NO
|
||||
T053 Explicit aliases for all-fields reference NO
|
||||
T061 UCS support NO
|
||||
T071 BIGINT data type YES
|
||||
T111 Updatable joins, unions, and columns NO
|
||||
T121 WITH (excluding RECURSIVE) in query expression NO
|
||||
T122 WITH (excluding RECURSIVE) in subquery NO
|
||||
T131 Recursive query NO
|
||||
T132 Recursive query in subquery NO
|
||||
T141 SIMILAR predicate YES
|
||||
T151 DISTINCT predicate YES
|
||||
T152 DISTINCT predicate with negation NO
|
||||
T171 LIKE clause in table definition YES
|
||||
T172 AS subquery clause in table definition NO
|
||||
T173 Extended LIKE clause in table definition NO
|
||||
T174 Identity columns NO
|
||||
T175 Generated columns NO
|
||||
T176 Sequence generator support NO
|
||||
T191 Referential action RESTRICT YES
|
||||
T201 Comparable data types for referential constraints YES
|
||||
T211 Basic trigger capability NO
|
||||
@ -319,15 +378,16 @@ T211 Basic trigger capability 04 FOR EACH ROW triggers YES
|
||||
T211 Basic trigger capability 05 Ability to specify a search condition that must be true before the trigger is invoked NO
|
||||
T211 Basic trigger capability 06 Support for run-time rules for the interaction of triggers and constraints NO
|
||||
T211 Basic trigger capability 07 TRIGGER privilege YES
|
||||
T211 Basic trigger capability 08 Multiple triggers for the same event are executed in the order in which they were created NO intentionally omitted
|
||||
T211 Basic trigger capability 08 Multiple triggers for the same event are executed in the order in which they were created in the catalog NO intentionally omitted
|
||||
T212 Enhanced trigger capability YES
|
||||
T231 SENSITIVE cursors YES
|
||||
T231 Sensitive cursors YES
|
||||
T241 START TRANSACTION statement YES
|
||||
T251 SET TRANSACTION statement: LOCAL option NO
|
||||
T261 Chained transactions NO
|
||||
T271 Savepoints YES
|
||||
T272 Enhanced savepoint management NO
|
||||
T281 SELECT privilege with column granularity NO
|
||||
T301 Functional Dependencies NO
|
||||
T301 Functional dependencies NO
|
||||
T312 OVERLAY function YES
|
||||
T321 Basic SQL-invoked routines NO
|
||||
T321 Basic SQL-invoked routines 01 User-defined functions with no overloading YES
|
||||
@ -339,12 +399,18 @@ T321 Basic SQL-invoked routines 06 ROUTINES view YES
|
||||
T321 Basic SQL-invoked routines 07 PARAMETERS view YES
|
||||
T322 Overloading of SQL-invoked functions and procedures YES
|
||||
T323 Explicit security for external routines YES
|
||||
T324 Explicit security for SQL routines NO
|
||||
T325 Qualified SQL parameter references NO
|
||||
T326 Table functions NO
|
||||
T331 Basic roles NO
|
||||
T332 Extended roles NO
|
||||
T351 Bracketed SQL comments (/*...*/ comments) YES
|
||||
T401 INSERT into a cursor NO
|
||||
T411 UPDATE statement: SET ROW option NO
|
||||
T431 CUBE and ROLLUP operations NO
|
||||
T431 Extended grouping capabilities NO
|
||||
T432 Nested and concatenated GROUPING SETS NO
|
||||
T433 Multiargument GROUPING function NO
|
||||
T434 GROUP BY DISINCT NO
|
||||
T441 ABS and MOD functions YES
|
||||
T461 Symmetric BETWEEN predicate NO
|
||||
T471 Result sets return value NO
|
||||
@ -355,6 +421,18 @@ T541 Updatable table references NO
|
||||
T551 Optional key words for default syntax YES
|
||||
T561 Holdable locators NO
|
||||
T571 Array-returning external SQL-invoked functions NO
|
||||
T572 Multiset-returning external SQL-invoked functions NO
|
||||
T581 Regular expression substring function YES
|
||||
T591 UNIQUE constraints of possibly null columns YES
|
||||
T601 Local cursor references NO
|
||||
T611 Elementary OLAP operations NO
|
||||
T612 Advanced OLAP operations NO
|
||||
T613 Sampling NO
|
||||
T621 Enhanced numeric functions NO
|
||||
T631 IN predicate with one list element NO
|
||||
T641 Multiple column assignment NO
|
||||
T651 SQL-schema statements in SQL routines NO
|
||||
T652 SQL-dynamic statements in SQL routines NO
|
||||
T653 SQL-schema statements in external routines NO
|
||||
T654 SQL-dynamic statements in external routines NO
|
||||
T655 Cyclically dependent routines NO
|
||||
|
Loading…
Reference in New Issue
Block a user