|
1 |
| -<!-- $PostgreSQL: pgsql/doc/src/sgml/release-9.0.sgml,v 2.45 2010/08/0617:56:43 rhaas Exp $ --> |
| 1 | +<!-- $PostgreSQL: pgsql/doc/src/sgml/release-9.0.sgml,v 2.46 2010/08/0618:55:24 tgl Exp $ --> |
2 | 2 |
|
3 | 3 | <sect1 id="release-9-0">
|
4 | 4 | <title>Release 9.0</title>
|
|
91 | 91 | <listitem>
|
92 | 92 | <para>
|
93 | 93 | <link linkend="SQL-CREATETABLE-compatibility">Deferrable
|
94 |
| - unique constraints, now permit mass updates to unique keys.</link> |
| 94 | + unique constraints. Mass updates to unique keys are now possible |
| 95 | + without trickery.</link> |
95 | 96 | </para>
|
96 | 97 | </listitem>
|
97 | 98 |
|
|
1122 | 1123 | </para>
|
1123 | 1124 |
|
1124 | 1125 | <para>
|
1125 |
| - This allows <command>UPDATE tab SET col = col + 1</> to work on |
1126 |
| - columns that have a unique indexes or are marked as primary key, |
1127 |
| - but <literal>DEFERRABLE INITIALLY DEFERRED</> must be used to mark |
1128 |
| - the constraint as deferred. |
| 1126 | + This allows <command>UPDATE tab SET col = col + 1</> to work reliably |
| 1127 | + on columns that have unique indexes or are marked as primary keys. |
| 1128 | + If the constraint is specified as <literal>DEFERRABLE</> it will be |
| 1129 | + checked at the end of the statement, rather than after each row is |
| 1130 | + updated. The constraint check may also be deferred until the end of the |
| 1131 | + current transaction, allowing updates to be spread over multiple SQL |
| 1132 | + commands. |
1129 | 1133 | </para>
|
1130 | 1134 | </listitem>
|
1131 | 1135 |
|
|