summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/src/sgml/keywords.sgml20
-rw-r--r--doc/src/sgml/ref/alter_sequence.sgml8
-rw-r--r--doc/src/sgml/ref/create_table.sgml25
-rw-r--r--src/backend/commands/sequence.c7
4 files changed, 55 insertions, 5 deletions
diff --git a/doc/src/sgml/keywords.sgml b/doc/src/sgml/keywords.sgml
index 783b401e3f2..26764553f87 100644
--- a/doc/src/sgml/keywords.sgml
+++ b/doc/src/sgml/keywords.sgml
@@ -1,4 +1,4 @@
-<!-- $Header: /cvsroot/pgsql/doc/src/sgml/keywords.sgml,v 2.8 2002/11/11 20:14:03 petere Exp $ -->
+<!-- $Header: /cvsroot/pgsql/doc/src/sgml/keywords.sgml,v 2.9 2003/06/12 07:49:43 momjian Exp $ -->
<appendix id="sql-keywords-appendix">
<title><acronym>SQL</acronym> Key Words</title>
@@ -873,6 +873,12 @@
<entry>reserved</entry>
</row>
<row>
+ <entry><token>DEFAULTS</token></entry>
+ <entry>non-reserved</entry>
+ <entry></entry>
+ <entry></entry>
+ </row>
+ <row>
<entry><token>DEFERRABLE</token></entry>
<entry>reserved</entry>
<entry>reserved</entry>
@@ -1101,6 +1107,12 @@
<entry>reserved</entry>
</row>
<row>
+ <entry><token>EXCLUDING</token></entry>
+ <entry>non-reserved</entry>
+ <entry></entry>
+ <entry></entry>
+ </row>
+ <row>
<entry><token>EXCLUSIVE</token></entry>
<entry>non-reserved</entry>
<entry></entry>
@@ -1395,6 +1407,12 @@
<entry>reserved</entry>
</row>
<row>
+ <entry><token>INCLUDING</token></entry>
+ <entry>non-reserved</entry>
+ <entry></entry>
+ <entry></entry>
+ </row>
+ <row>
<entry><token>INCREMENT</token></entry>
<entry>non-reserved</entry>
<entry></entry>
diff --git a/doc/src/sgml/ref/alter_sequence.sgml b/doc/src/sgml/ref/alter_sequence.sgml
index c6c3a7e33c0..28a81022aab 100644
--- a/doc/src/sgml/ref/alter_sequence.sgml
+++ b/doc/src/sgml/ref/alter_sequence.sgml
@@ -1,5 +1,5 @@
<!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/alter_sequence.sgml,v 1.1 2003/03/20 07:02:07 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/alter_sequence.sgml,v 1.2 2003/06/12 07:49:43 momjian Exp $
PostgreSQL documentation
-->
@@ -236,6 +236,12 @@ ALTER SEQUENCE serial RESTART WITH 105;
later aborts. This means that aborted transactions may leave unused "holes" in
the sequence of assigned values. setval operations are never rolled back, either.
</para>
+ <para>
+ <command>ALTER SEQUENCE</command> will not immediately affect backends, other than the
+ current one, which have cached sequence values. They must use up all cached values
+ prior to noticing the changed sequence parameters. The current backend will be
+ immediatly affected.
+ </para>
</refsect1>
diff --git a/doc/src/sgml/ref/create_table.sgml b/doc/src/sgml/ref/create_table.sgml
index 9a29b645aae..2a33de6dfb5 100644
--- a/doc/src/sgml/ref/create_table.sgml
+++ b/doc/src/sgml/ref/create_table.sgml
@@ -1,5 +1,5 @@
<!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_table.sgml,v 1.68 2003/05/04 00:03:55 tgl Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/create_table.sgml,v 1.69 2003/06/12 07:49:43 momjian Exp $
PostgreSQL documentation
-->
@@ -18,7 +18,8 @@ PostgreSQL documentation
<synopsis>
CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } ] TABLE <replaceable class="PARAMETER">table_name</replaceable> (
{ <replaceable class="PARAMETER">column_name</replaceable> <replaceable class="PARAMETER">data_type</replaceable> [ DEFAULT <replaceable>default_expr</> ] [ <replaceable class="PARAMETER">column_constraint</replaceable> [, ... ] ]
- | <replaceable>table_constraint</replaceable> } [, ... ]
+ | <replaceable>table_constraint</replaceable>
+ | LIKE <replaceable>parent_table</replaceable> [ { INCLUDING | EXCLUDING } DEFAULTS ] } [, ... ]
)
[ INHERITS ( <replaceable>parent_table</replaceable> [, ... ] ) ]
[ WITH OIDS | WITHOUT OIDS ]
@@ -173,6 +174,26 @@ and <replaceable class="PARAMETER">table_constraint</replaceable> is:
</varlistentry>
<varlistentry>
+ <term><literal>LIKE <replaceable>parent_table</replaceable> [ { INCLUDING | EXCLUDING } DEFAULTS ]</literal></term>
+ <listitem>
+ <para>
+ The <literal>LIKE</literal> clause specifies a table from which
+ the new table automatically inherits all column names, their datatypes, and
+ <literal>NOT NULL</literal> constraints.
+ </para>
+ <para>
+ Unlike <literal>INHERITS</literal>, the new table and inherited table
+ are complete decoupled after creation has been completed. Data inserted
+ into the new table will not be reflected into the parent table.
+ </para>
+ <para>
+ Default expressions for the inherited column definitions will only be included if
+ <literal>INCLUDING DEFAULTS</literal> is specified. The default is to exclude
+ default expressions.
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
<term><literal>INHERITS ( <replaceable>parent_table</replaceable> [, ... ] )</literal></term>
<listitem>
<para>
diff --git a/src/backend/commands/sequence.c b/src/backend/commands/sequence.c
index 308ee213105..cb494826308 100644
--- a/src/backend/commands/sequence.c
+++ b/src/backend/commands/sequence.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/commands/sequence.c,v 1.95 2003/03/21 03:55:21 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/commands/sequence.c,v 1.96 2003/06/12 07:49:43 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -345,6 +345,11 @@ AlterSequence(AlterSeqStmt *stmt)
seq->log_cnt = 1;
}
+ /* save info in local cache */
+ elm->last = new.last_value; /* last returned number */
+ elm->cached = new.last_value; /* last cached number (forget cached
+ * values) */
+
START_CRIT_SECTION();
/* XLOG stuff */