Merge Tom and my descriptions of new sequence behavior into one entry.

This commit is contained in:
Bruce Momjian 2005-10-03 02:21:16 +00:00
parent 07e74305fe
commit 4361e0d295

View File

@ -1,5 +1,5 @@
<!-- <!--
$PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.382 2005/10/03 01:57:59 momjian Exp $ $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.383 2005/10/03 02:21:16 momjian Exp $
Typical markup: Typical markup:
@ -262,21 +262,6 @@ pg_[A-Za-z0-9_] <application>
<itemizedlist> <itemizedlist>
<listitem>
<para>
<varname>Add proper sequence function dependencies (Tom)
</para>
<para>
In previous releases, <function>nextval()</>,
<function>currval</>, and <function>setval()</> recorded
sequence names as simple text strings, meaning that renaming or
dropping a sequence used in a <command>DEFAULT</> made the
clause invalid. This release stores all newly-created sequence
function arguments using internal oids, allowing them to handle
sequence renaming, and adding dependency information that
</para>
</listitem>
<listitem> <listitem>
<para> <para>
<varname>add_missing_from</> is now false by default (Neil) <varname>add_missing_from</> is now false by default (Neil)
@ -408,22 +393,25 @@ pg_[A-Za-z0-9_] <application>
<listitem> <listitem>
<para> <para>
Sequence arguments of <function>nextval()</> and related functions <varname>Add proper sequence function dependencies for <command>
are now bound early by default (Tom) DEFAULT</> clauses (Tom)
</para> </para>
<para> <para>
When an expression like <literal>nextval('myseq')</> appears in a In previous releases, <function>nextval()</>,
column <command>DEFAULT</> expression or view, the referenced <function>currval</>, and <function>setval()</> recorded
sequence (here <literal>myseq</>) is now looked up immediately, sequence names as simple text strings, meaning that renaming or
and its pg_class OID is placed in the stored expression. This dropping a sequence used in a <command>DEFAULT</> made the
representation will survive renaming of the referenced sequence, clause invalid. This release stores all newly-created sequence
as well as changes in schema search paths. The system also function arguments using internal OIDs, allowing them to handle
understands that the sequence reference represents a dependency, sequence renaming, and adding dependency information that
so the sequence cannot be dropped without dropping the prevents improper sequence removal. It also makes
referencing object. Previous releases stored this information as <command>DEFAULT</> clauses immune to schema search
a simple text string, with none of the benefits outlined above. path changes.
To get the old text-based behavior of run-time lookup of the </para>
sequence name, cast the argument to <type>text</>, for example <para>
Some applications might rely on the old text-based behavior of
run-time lookup of the sequence name. This can still be done by
casting the argument to <type>text</>, for example
<literal>nextval('myseq'::text)</>. <literal>nextval('myseq'::text)</>.
</para> </para>
<para> <para>
@ -13495,3 +13483,4 @@ sgml-local-catalogs:("/usr/lib/sgml/catalog")
sgml-local-ecat-files:nil sgml-local-ecat-files:nil
End: End:
--> -->