summaryrefslogtreecommitdiff
path: root/doc/src
diff options
context:
space:
mode:
authorPeter Eisentraut <peter_e@gmx.net>2004-11-27 21:27:08 +0000
committerPeter Eisentraut <peter_e@gmx.net>2004-11-27 21:27:08 +0000
commit49cbef79479095caa5c8174b5d198265817c7856 (patch)
tree37194a7002c41b93e816d816b56ffccca4de2642 /doc/src
parent90c3ebe4d7cf0bb88193a3d4bfca4b036ef791bb (diff)
Update of conformance information to SQL:2003
by Troels Arvin, Simon Riggs, Elein Mustain Make spelling of SQL standard names uniform.
Diffstat (limited to 'doc/src')
-rw-r--r--doc/src/sgml/array.sgml8
-rw-r--r--doc/src/sgml/datatype.sgml19
-rw-r--r--doc/src/sgml/ddl.sgml4
-rw-r--r--doc/src/sgml/errcodes.sgml4
-rw-r--r--doc/src/sgml/features.sgml116
-rw-r--r--doc/src/sgml/func.sgml41
-rw-r--r--doc/src/sgml/information_schema.sgml6
-rw-r--r--doc/src/sgml/intro.sgml6
-rw-r--r--doc/src/sgml/keywords.sgml8
-rw-r--r--doc/src/sgml/ref/alter_domain.sgml4
-rw-r--r--doc/src/sgml/ref/alter_sequence.sgml21
-rw-r--r--doc/src/sgml/ref/create_cast.sgml6
-rw-r--r--doc/src/sgml/ref/create_function.sgml4
-rw-r--r--doc/src/sgml/ref/create_sequence.sgml12
-rw-r--r--doc/src/sgml/ref/create_table.sgml15
-rw-r--r--doc/src/sgml/ref/create_table_as.sgml6
-rw-r--r--doc/src/sgml/ref/create_trigger.sgml12
-rw-r--r--doc/src/sgml/ref/create_type.sgml4
-rw-r--r--doc/src/sgml/ref/drop_sequence.sgml4
-rw-r--r--doc/src/sgml/ref/release_savepoint.sgml11
-rw-r--r--doc/src/sgml/ref/rollback_to.sgml17
-rw-r--r--doc/src/sgml/ref/select.sgml10
-rw-r--r--doc/src/sgml/release.sgml10
23 files changed, 188 insertions, 160 deletions
diff --git a/doc/src/sgml/array.sgml b/doc/src/sgml/array.sgml
index 2307ad47fd5..ff8d6be531e 100644
--- a/doc/src/sgml/array.sgml
+++ b/doc/src/sgml/array.sgml
@@ -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>
diff --git a/doc/src/sgml/datatype.sgml b/doc/src/sgml/datatype.sgml
index 6e01bfd94b1..dd406e12e07 100644
--- a/doc/src/sgml/datatype.sgml
+++ b/doc/src/sgml/datatype.sgml
@@ -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>
diff --git a/doc/src/sgml/ddl.sgml b/doc/src/sgml/ddl.sgml
index fcae34f4a50..fd18cd2a9ec 100644
--- a/doc/src/sgml/ddl.sgml
+++ b/doc/src/sgml/ddl.sgml
@@ -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
diff --git a/doc/src/sgml/errcodes.sgml b/doc/src/sgml/errcodes.sgml
index bc900283f54..1df05a8b6bd 100644
--- a/doc/src/sgml/errcodes.sgml
+++ b/doc/src/sgml/errcodes.sgml
@@ -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 &mdash; this is also a warning class per SQL99</entry>
+<entry>No Data &mdash; this is also a warning class per SQL:1999</entry>
</row>
<row>
diff --git a/doc/src/sgml/features.sgml b/doc/src/sgml/features.sgml
index bea6aa6f9c8..2e3a4983f1c 100644
--- a/doc/src/sgml/features.sgml
+++ b/doc/src/sgml/features.sgml
@@ -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>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>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.
+ 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>
- <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.
+ 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>
- 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.
+ <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.
diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml
index 2549c516db9..111000086d8 100644
--- a/doc/src/sgml/func.sgml
+++ b/doc/src/sgml/func.sgml
@@ -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
diff --git a/doc/src/sgml/information_schema.sgml b/doc/src/sgml/information_schema.sgml
index 4a2e8f581c5..b617d014e9a 100644
--- a/doc/src/sgml/information_schema.sgml
+++ b/doc/src/sgml/information_schema.sgml
@@ -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>
diff --git a/doc/src/sgml/intro.sgml b/doc/src/sgml/intro.sgml
index 2687fdb0787..ec0e4398da6 100644
--- a/doc/src/sgml/intro.sgml
+++ b/doc/src/sgml/intro.sgml
@@ -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>
diff --git a/doc/src/sgml/keywords.sgml b/doc/src/sgml/keywords.sgml
index 7fdadaddad8..8991140717b 100644
--- a/doc/src/sgml/keywords.sgml
+++ b/doc/src/sgml/keywords.sgml
@@ -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>
diff --git a/doc/src/sgml/ref/alter_domain.sgml b/doc/src/sgml/ref/alter_domain.sgml
index 7ecee65021c..7d5f050196e 100644
--- a/doc/src/sgml/ref/alter_domain.sgml
+++ b/doc/src/sgml/ref/alter_domain.sgml
@@ -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>
diff --git a/doc/src/sgml/ref/alter_sequence.sgml b/doc/src/sgml/ref/alter_sequence.sgml
index 8337e279075..a96b1d722af 100644
--- a/doc/src/sgml/ref/alter_sequence.sgml
+++ b/doc/src/sgml/ref/alter_sequence.sgml
@@ -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>
diff --git a/doc/src/sgml/ref/create_cast.sgml b/doc/src/sgml/ref/create_cast.sgml
index 1687d6bb7f2..c36f12675bd 100644
--- a/doc/src/sgml/ref/create_cast.sgml
+++ b/doc/src/sgml/ref/create_cast.sgml
@@ -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.
diff --git a/doc/src/sgml/ref/create_function.sgml b/doc/src/sgml/ref/create_function.sgml
index a3e266729be..7d8d01f4cd3 100644
--- a/doc/src/sgml/ref/create_function.sgml
+++ b/doc/src/sgml/ref/create_function.sgml
@@ -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.
diff --git a/doc/src/sgml/ref/create_sequence.sgml b/doc/src/sgml/ref/create_sequence.sgml
index d380d32a729..1afaa0ba295 100644
--- a/doc/src/sgml/ref/create_sequence.sgml
+++ b/doc/src/sgml/ref/create_sequence.sgml
@@ -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 &lt;data type&gt;</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>
diff --git a/doc/src/sgml/ref/create_table.sgml b/doc/src/sgml/ref/create_table.sgml
index 8b18d837c96..68cce936db4 100644
--- a/doc/src/sgml/ref/create_table.sgml
+++ b/doc/src/sgml/ref/create_table.sgml
@@ -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>
diff --git a/doc/src/sgml/ref/create_table_as.sgml b/doc/src/sgml/ref/create_table_as.sgml
index 2e0115e87db..8565b13d015 100644
--- a/doc/src/sgml/ref/create_table_as.sgml
+++ b/doc/src/sgml/ref/create_table_as.sgml
@@ -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">
diff --git a/doc/src/sgml/ref/create_trigger.sgml b/doc/src/sgml/ref/create_trigger.sgml
index 46b98ca76e5..f712636f49e 100644
--- a/doc/src/sgml/ref/create_trigger.sgml
+++ b/doc/src/sgml/ref/create_trigger.sgml
@@ -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>
diff --git a/doc/src/sgml/ref/create_type.sgml b/doc/src/sgml/ref/create_type.sgml
index b7d1ac64e0a..ef6f93b0f27 100644
--- a/doc/src/sgml/ref/create_type.sgml
+++ b/doc/src/sgml/ref/create_type.sgml
@@ -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>
diff --git a/doc/src/sgml/ref/drop_sequence.sgml b/doc/src/sgml/ref/drop_sequence.sgml
index 6d8d4084a22..f519ebedee7 100644
--- a/doc/src/sgml/ref/drop_sequence.sgml
+++ b/doc/src/sgml/ref/drop_sequence.sgml
@@ -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>
diff --git a/doc/src/sgml/ref/release_savepoint.sgml b/doc/src/sgml/ref/release_savepoint.sgml
index ca31c8dfd8b..2237aa32dfc 100644
--- a/doc/src/sgml/ref/release_savepoint.sgml
+++ b/doc/src/sgml/ref/release_savepoint.sgml
@@ -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>
diff --git a/doc/src/sgml/ref/rollback_to.sgml b/doc/src/sgml/ref/rollback_to.sgml
index f96baec3985..0b87dc1a6bb 100644
--- a/doc/src/sgml/ref/rollback_to.sgml
+++ b/doc/src/sgml/ref/rollback_to.sgml
@@ -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>
diff --git a/doc/src/sgml/ref/select.sgml b/doc/src/sgml/ref/select.sgml
index 5c6206a303e..06dd5594a00 100644
--- a/doc/src/sgml/ref/select.sgml
+++ b/doc/src/sgml/ref/select.sgml
@@ -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>
diff --git a/doc/src/sgml/release.sgml b/doc/src/sgml/release.sgml
index 70d7dc3c270..d16aa0693bc 100644
--- a/doc/src/sgml/release.sgml
+++ b/doc/src/sgml/release.sgml
@@ -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>