diff options
-rw-r--r-- | doc/src/sgml/keywords.sgml | 20 | ||||
-rw-r--r-- | doc/src/sgml/ref/alter_sequence.sgml | 8 | ||||
-rw-r--r-- | doc/src/sgml/ref/create_table.sgml | 25 | ||||
-rw-r--r-- | src/backend/commands/sequence.c | 7 |
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 */ |