-<!-- $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>
<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>
<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>
<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>
<!--
-$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
-->
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>
<!--
-$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
-->
<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 ]
</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>
*
*
* 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 $
*
*-------------------------------------------------------------------------
*/
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 */