diff --git a/doc/src/sgml/keywords.sgml b/doc/src/sgml/keywords.sgml index 783b401e3f20392053e05eceea5af5ec0aad9c81..26764553f874b2b5b8b1ab32f00804c70f32bed8 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> @@ -872,6 +872,12 @@ <entry>reserved</entry> <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> @@ -1100,6 +1106,12 @@ <entry>reserved</entry> <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> @@ -1394,6 +1406,12 @@ <entry>reserved</entry> <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> diff --git a/doc/src/sgml/ref/alter_sequence.sgml b/doc/src/sgml/ref/alter_sequence.sgml index c6c3a7e33c09b79c0ad09d2aec3d954e3908647a..28a81022aabde3164cbb861c4d7e3b3adb6642a2 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 9a29b645aae843dda0964acd0acf8fe59c9049a5..2a33de6dfb5e209fc571ce83482f929a7ac959bc 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 ] @@ -172,6 +173,26 @@ and <replaceable class="PARAMETER">table_constraint</replaceable> is: </listitem> </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> diff --git a/src/backend/commands/sequence.c b/src/backend/commands/sequence.c index 308ee21310545f50a69beaecee209caaa0c1d20f..cb4948263083b32ba23d7c423874174327259abc 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 */