~ubuntu-branches/ubuntu/quantal/postgresql-9.1/quantal-proposed

« back to all changes in this revision

Viewing changes to HISTORY

  • Committer: Package Import Robot
  • Author(s): Martin Pitt
  • Date: 2011-12-02 14:39:18 UTC
  • mfrom: (12.1.1 sid)
  • Revision ID: package-import@ubuntu.com-20111202143918-1ftj0oo87w0y8m8d
* New upstream bug fix release:
  - Fix bugs in information_schema.referential_constraints view.
    This view was being insufficiently careful about matching the
    foreign-key constraint to the depended-on primary or unique key
    constraint. That could result in failure to show a foreign key
    constraint at all, or showing it multiple times, or claiming that
    it depends on a different constraint than the one it really does.
    Since the view definition is installed by initdb, merely upgrading
    will not fix the problem. If you need to fix this in an existing
    installation, you can (as a superuser) drop the information_schema
    schema then re-create it by sourcing
    "SHAREDIR/information_schema.sql". (Run pg_config --sharedir if
    you're uncertain where "SHAREDIR" is.) This must be repeated in
    each database to be fixed.
  - Make "contrib/citext"'s upgrade script fix collations of citext
    columns and indexes.
    Existing citext columns and indexes aren't correctly marked as
    being of a collatable data type during pg_upgrade from a pre-9.1
    server. That leads to operations on them failing with errors such
    as "could not determine which collation to use for string
    comparison". This change allows them to be fixed by the same script
    that upgrades the citext module into a proper 9.1 extension during
    CREATE EXTENSION citext FROM unpackaged.
    If you have a previously-upgraded database that is suffering from
    this problem, and you already ran the "CREATE EXTENSION" command,
    you can manually run (as superuser) the "UPDATE" commands found at
    the end of "SHAREDIR/extension/citext--unpackaged--1.0.sql". (Run
    pg_config --sharedir if you're uncertain where "SHAREDIR" is.)
  - Fix possible crash during "UPDATE" or "DELETE" that joins to the
    output of a scalar-returning function.
  - Fix incorrect replay of WAL records for GIN index updates.
  - Fix TOAST-related data corruption during CREATE TABLE dest AS
    SELECT - FROM src or INSERT INTO dest SELECT * FROM src.
  - Fix possible failures during hot standby startup.
  - Start hot standby faster when initial snapshot is incomplete.
  - Fix race condition during toast table access from stale syscache
    entries. The typical symptom was transient errors like "missing chunk
    number 0 for toast value NNNNN in pg_toast_2619", where the cited toast
    table would always belong to a system catalog.
  - Track dependencies of functions on items used in parameter default
    expressions. Previously, a referenced object could be dropped without
    having dropped or modified the function, leading to misbehavior when
    the function was used. Note that merely installing this update will not
    fix the missing dependency entries; to do that, you'd need to
    "CREATE OR REPLACE" each such function afterwards. If you have
    functions whose defaults depend on non-built-in objects, doing so
    is recommended.
  - Fix incorrect management of placeholder variables in nestloop joins.
    This bug is known to lead to "variable not found in subplan target
    list" planner errors, and could possibly result in wrong query
    output when outer joins are involved.
  - Fix window functions that sort by expressions involving aggregates.
  - Fix "MergeAppend child's targetlist doesn't match MergeAppend"
    planner errors.
  - Fix index matching for operators with both collatable and
    noncollatable inputs. In 9.1.0, an indexable operator that has a
    non-collatable left-hand input type and a collatable right-hand input
    type would not be recognized as matching the left-hand column's index.
    An example is the hstore ? text operator.
  - Allow inlining of set-returning SQL functions with multiple OUT
    parameters.
  - Don't trust deferred-unique indexes for join removal.
  - Make DatumGetInetP() unpack inet datums that have a 1-byte header,
    and add a new macro, DatumGetInetPP(), that does not.
  - Improve locale support in money type's input and output.
    Aside from not supporting all standard lc_monetary formatting
    options, the input and output functions were inconsistent, meaning
    there were locales in which dumped money values could not be
    re-read.
  - Don't let transform_null_equals affect CASE foo WHEN NULL ...
    constructs.  transform_null_equals is only supposed to affect foo =
    NULL expressions written directly by the user, not equality checks
    generated internally by this form of CASE.
  - Change foreign-key trigger creation order to better support
    self-referential foreign keys.
  - Fix IF EXISTS to work correctly in "DROP OPERATOR FAMILY".
  - Disallow dropping of an extension from within its own script.
  - Don't mark auto-generated types as extension members.
  - Cope with invalid pre-existing search_path settings during "CREATE
    EXTENSION".
  - Avoid floating-point underflow while tracking buffer allocation
    rate.
  - Prevent autovacuum transactions from running in serializable mode.
    Autovacuum formerly used the cluster-wide default transaction
    isolation level, but there is no need for it to use anything higher
    than READ COMMITTED, and using SERIALIZABLE could result in
    unnecessary delays for other processes.
  - Ensure walsender processes respond promptly to SIGTERM.
  - Exclude "postmaster.opts" from base backups.
  - Fix incorrect field alignment in ecpg's SQLDA area.
  - Preserve blank lines within commands in psql's command history.
    The former behavior could cause problems if an empty line was
    removed from within a string literal, for example.
  - Avoid platform-specific infinite loop in pg_dump.
  - Fix compression of plain-text output format in pg_dump.
    pg_dump has historically understood -Z with no -F switch to mean
    that it should emit a gzip-compressed version of its plain text
    output. Restore that behavior.
  - Fix pg_dump to dump user-defined casts between auto-generated
    types, such as table rowtypes.
  - Fix missed quoting of foreign server names in pg_dump.
  - Assorted fixes for pg_upgrade. Handle exclusion constraints correctly,
    avoid failures on Windows, don't complain about mismatched toast table
    names in 8.4 databases.
  - In PL/pgSQL, allow foreign tables to define row types.
  - Fix up conversions of PL/Perl functions' results.
    Restore the pre-9.1 behavior that PL/Perl functions returning void
    ignore the result value of their last Perl statement; 9.1.0 would
    throw an error if that statement returned a reference. Also, make
    sure it works to return a string value for a composite type, so
    long as the string meets the type's input format. In addition,
    throw errors for attempts to return Perl arrays or hashes when the
    function's declared result type is not an array or composite type,
    respectively. (Pre-9.1 versions rather uselessly returned strings
    like ARRAY(0x221a9a0) or HASH(0x221aa90) in such cases.)
  - Ensure PL/Perl strings are always correctly UTF8-encoded.
  - Use the preferred version of xsubpp to build PL/Perl, not
    necessarily the operating system's main copy.
  - Correctly propagate SQLSTATE in PL/Python exceptions.
  - Do not install PL/Python extension files for Python major versions
    other than the one built against.
  - Change all the "contrib" extension script files to report a useful
    error message if they are fed to psql. This should help teach people
    about the new method of using "CREATE EXTENSION" to load these files.
    In most cases, sourcing the scripts directly would fail anyway, but
    with harder-to-interpret messages.
  - Fix incorrect coding in "contrib/dict_int" and "contrib/dict_xsyn".
  - Remove "contrib/sepgsql" tests from the regular regression test
    mechanism. Since these tests require root privileges for setup, they're
    impractical to run automatically. Switch over to a manual approach
    instead, and provide a testing script to help with that.
  - Fix assorted errors in "contrib/unaccent"'s configuration file
    parsing.
  - Honor query cancel interrupts promptly in pgstatindex().
  - Revert unintentional enabling of WAL_DEBUG. Fortunately, as debugging
    tools go, this one is pretty cheap; but it's not intended to be enabled
    by default, so revert.
  - Ensure VPATH builds properly install all server header files.
  - Shorten file names reported in verbose error messages.
    Regular builds have always reported just the name of the C file
    containing the error message call, but VPATH builds formerly
    reported an absolute path name.
* debian/rules: Fix build failure for binary-indep-only builds.
  (Closes: #646079)

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
   review, so each item is truly a community effort.
18
18
     __________________________________________________________________
19
19
 
 
20
                                Release 9.1.2
 
21
 
 
22
     Release Date: 2011-12-05
 
23
 
 
24
   This release contains a variety of fixes from 9.1.1. For information
 
25
   about new features in the 9.1 major release, see the Section called
 
26
   Release 9.1.
 
27
     __________________________________________________________________
 
28
 
 
29
Migration to Version 9.1.2
 
30
 
 
31
   A dump/restore is not required for those running 9.1.X.
 
32
 
 
33
   However, a longstanding error was discovered in the definition of the
 
34
   information_schema.referential_constraints view. If you rely on correct
 
35
   results from that view, you should replace its definition as explained
 
36
   in the first changelog item below.
 
37
 
 
38
   Also, if your installation was upgraded from a previous major release
 
39
   by running pg_upgrade, and it contains table columns of the citext data
 
40
   type, you should run CREATE EXTENSION citext FROM unpackaged. If you've
 
41
   already done that before upgrading to 9.1.2, you will instead need to
 
42
   do manual catalog updates as explained in the second changelog item.
 
43
     __________________________________________________________________
 
44
 
 
45
Changes
 
46
 
 
47
     * Fix bugs in information_schema.referential_constraints view (Tom
 
48
       Lane)
 
49
       This view was being insufficiently careful about matching the
 
50
       foreign-key constraint to the depended-on primary or unique key
 
51
       constraint. That could result in failure to show a foreign key
 
52
       constraint at all, or showing it multiple times, or claiming that
 
53
       it depends on a different constraint than the one it really does.
 
54
       Since the view definition is installed by initdb, merely upgrading
 
55
       will not fix the problem. If you need to fix this in an existing
 
56
       installation, you can (as a superuser) drop the information_schema
 
57
       schema then re-create it by sourcing
 
58
       "SHAREDIR/information_schema.sql". (Run pg_config --sharedir if
 
59
       you're uncertain where "SHAREDIR" is.) This must be repeated in
 
60
       each database to be fixed.
 
61
     * Make "contrib/citext"'s upgrade script fix collations of citext
 
62
       columns and indexes (Tom Lane)
 
63
       Existing citext columns and indexes aren't correctly marked as
 
64
       being of a collatable data type during pg_upgrade from a pre-9.1
 
65
       server. That leads to operations on them failing with errors such
 
66
       as "could not determine which collation to use for string
 
67
       comparison". This change allows them to be fixed by the same script
 
68
       that upgrades the citext module into a proper 9.1 extension during
 
69
       CREATE EXTENSION citext FROM unpackaged.
 
70
       If you have a previously-upgraded database that is suffering from
 
71
       this problem, and you already ran the "CREATE EXTENSION" command,
 
72
       you can manually run (as superuser) the "UPDATE" commands found at
 
73
       the end of "SHAREDIR/extension/citext--unpackaged--1.0.sql". (Run
 
74
       pg_config --sharedir if you're uncertain where "SHAREDIR" is.)
 
75
     * Fix possible crash during "UPDATE" or "DELETE" that joins to the
 
76
       output of a scalar-returning function (Tom Lane)
 
77
       A crash could only occur if the target row had been concurrently
 
78
       updated, so this problem surfaced only intermittently.
 
79
     * Fix incorrect replay of WAL records for GIN index updates (Tom
 
80
       Lane)
 
81
       This could result in transiently failing to find index entries
 
82
       after a crash, or on a hot-standby server. The problem would be
 
83
       repaired by the next "VACUUM" of the index, however.
 
84
     * Fix TOAST-related data corruption during CREATE TABLE dest AS
 
85
       SELECT * FROM src or INSERT INTO dest SELECT * FROM src (Tom Lane)
 
86
       If a table has been modified by "ALTER TABLE ADD COLUMN", attempts
 
87
       to copy its data verbatim to another table could produce corrupt
 
88
       results in certain corner cases. The problem can only manifest in
 
89
       this precise form in 8.4 and later, but we patched earlier versions
 
90
       as well in case there are other code paths that could trigger the
 
91
       same bug.
 
92
     * Fix possible failures during hot standby startup (Simon Riggs)
 
93
     * Start hot standby faster when initial snapshot is incomplete (Simon
 
94
       Riggs)
 
95
     * Fix race condition during toast table access from stale syscache
 
96
       entries (Tom Lane)
 
97
       The typical symptom was transient errors like "missing chunk number
 
98
       0 for toast value NNNNN in pg_toast_2619", where the cited toast
 
99
       table would always belong to a system catalog.
 
100
     * Track dependencies of functions on items used in parameter default
 
101
       expressions (Tom Lane)
 
102
       Previously, a referenced object could be dropped without having
 
103
       dropped or modified the function, leading to misbehavior when the
 
104
       function was used. Note that merely installing this update will not
 
105
       fix the missing dependency entries; to do that, you'd need to
 
106
       "CREATE OR REPLACE" each such function afterwards. If you have
 
107
       functions whose defaults depend on non-built-in objects, doing so
 
108
       is recommended.
 
109
     * Fix incorrect management of placeholder variables in nestloop joins
 
110
       (Tom Lane)
 
111
       This bug is known to lead to "variable not found in subplan target
 
112
       list" planner errors, and could possibly result in wrong query
 
113
       output when outer joins are involved.
 
114
     * Fix window functions that sort by expressions involving aggregates
 
115
       (Tom Lane)
 
116
       Previously these could fail with "could not find pathkey item to
 
117
       sort" planner errors.
 
118
     * Fix "MergeAppend child's targetlist doesn't match MergeAppend"
 
119
       planner errors (Tom Lane)
 
120
     * Fix index matching for operators with both collatable and
 
121
       noncollatable inputs (Tom Lane)
 
122
       In 9.1.0, an indexable operator that has a non-collatable left-hand
 
123
       input type and a collatable right-hand input type would not be
 
124
       recognized as matching the left-hand column's index. An example is
 
125
       the hstore ? text operator.
 
126
     * Allow inlining of set-returning SQL functions with multiple OUT
 
127
       parameters (Tom Lane)
 
128
     * Don't trust deferred-unique indexes for join removal (Tom Lane and
 
129
       Marti Raudsepp)
 
130
       A deferred uniqueness constraint might not hold intra-transaction,
 
131
       so assuming that it does could give incorrect query results.
 
132
     * Make DatumGetInetP() unpack inet datums that have a 1-byte header,
 
133
       and add a new macro, DatumGetInetPP(), that does not (Heikki
 
134
       Linnakangas)
 
135
       This change affects no core code, but might prevent crashes in
 
136
       add-on code that expects DatumGetInetP() to produce an unpacked
 
137
       datum as per usual convention.
 
138
     * Improve locale support in money type's input and output (Tom Lane)
 
139
       Aside from not supporting all standard lc_monetary formatting
 
140
       options, the input and output functions were inconsistent, meaning
 
141
       there were locales in which dumped money values could not be
 
142
       re-read.
 
143
     * Don't let transform_null_equals affect CASE foo WHEN NULL ...
 
144
       constructs (Heikki Linnakangas)
 
145
       transform_null_equals is only supposed to affect foo = NULL
 
146
       expressions written directly by the user, not equality checks
 
147
       generated internally by this form of CASE.
 
148
     * Change foreign-key trigger creation order to better support
 
149
       self-referential foreign keys (Tom Lane)
 
150
       For a cascading foreign key that references its own table, a row
 
151
       update will fire both the ON UPDATE trigger and the CHECK trigger
 
152
       as one event. The ON UPDATE trigger must execute first, else the
 
153
       CHECK will check a non-final state of the row and possibly throw an
 
154
       inappropriate error. However, the firing order of these triggers is
 
155
       determined by their names, which generally sort in creation order
 
156
       since the triggers have auto-generated names following the
 
157
       convention "RI_ConstraintTrigger_NNNN". A proper fix would require
 
158
       modifying that convention, which we will do in 9.2, but it seems
 
159
       risky to change it in existing releases. So this patch just changes
 
160
       the creation order of the triggers. Users encountering this type of
 
161
       error should drop and re-create the foreign key constraint to get
 
162
       its triggers into the right order.
 
163
     * Fix IF EXISTS to work correctly in "DROP OPERATOR FAMILY" (Robert
 
164
       Haas)
 
165
     * Disallow dropping of an extension from within its own script (Tom
 
166
       Lane)
 
167
       This prevents odd behavior in case of incorrect management of
 
168
       extension dependencies.
 
169
     * Don't mark auto-generated types as extension members (Robert Haas)
 
170
       Relation rowtypes and automatically-generated array types do not
 
171
       need to have their own extension membership entries in pg_depend,
 
172
       and creating such entries complicates matters for extension
 
173
       upgrades.
 
174
     * Cope with invalid pre-existing search_path settings during "CREATE
 
175
       EXTENSION" (Tom Lane)
 
176
     * Avoid floating-point underflow while tracking buffer allocation
 
177
       rate (Greg Matthews)
 
178
       While harmless in itself, on certain platforms this would result in
 
179
       annoying kernel log messages.
 
180
     * Prevent autovacuum transactions from running in serializable mode
 
181
       (Tom Lane)
 
182
       Autovacuum formerly used the cluster-wide default transaction
 
183
       isolation level, but there is no need for it to use anything higher
 
184
       than READ COMMITTED, and using SERIALIZABLE could result in
 
185
       unnecessary delays for other processes.
 
186
     * Ensure walsender processes respond promptly to SIGTERM (Magnus
 
187
       Hagander)
 
188
     * Exclude "postmaster.opts" from base backups (Magnus Hagander)
 
189
     * Preserve configuration file name and line number values when
 
190
       starting child processes under Windows (Tom Lane)
 
191
       Formerly, these would not be displayed correctly in the pg_settings
 
192
       view.
 
193
     * Fix incorrect field alignment in ecpg's SQLDA area (Zoltan
 
194
       Boszormenyi)
 
195
     * Preserve blank lines within commands in psql's command history
 
196
       (Robert Haas)
 
197
       The former behavior could cause problems if an empty line was
 
198
       removed from within a string literal, for example.
 
199
     * Avoid platform-specific infinite loop in pg_dump (Steve Singer)
 
200
     * Fix compression of plain-text output format in pg_dump (Adrian
 
201
       Klaver and Tom Lane)
 
202
       pg_dump has historically understood -Z with no -F switch to mean
 
203
       that it should emit a gzip-compressed version of its plain text
 
204
       output. Restore that behavior.
 
205
     * Fix pg_dump to dump user-defined casts between auto-generated
 
206
       types, such as table rowtypes (Tom Lane)
 
207
     * Fix missed quoting of foreign server names in pg_dump (Tom Lane)
 
208
     * Assorted fixes for pg_upgrade (Bruce Momjian)
 
209
       Handle exclusion constraints correctly, avoid failures on Windows,
 
210
       don't complain about mismatched toast table names in 8.4 databases.
 
211
     * In PL/pgSQL, allow foreign tables to define row types (Alexander
 
212
       Soudakov)
 
213
     * Fix up conversions of PL/Perl functions' results (Alex Hunsaker and
 
214
       Tom Lane)
 
215
       Restore the pre-9.1 behavior that PL/Perl functions returning void
 
216
       ignore the result value of their last Perl statement; 9.1.0 would
 
217
       throw an error if that statement returned a reference. Also, make
 
218
       sure it works to return a string value for a composite type, so
 
219
       long as the string meets the type's input format. In addition,
 
220
       throw errors for attempts to return Perl arrays or hashes when the
 
221
       function's declared result type is not an array or composite type,
 
222
       respectively. (Pre-9.1 versions rather uselessly returned strings
 
223
       like ARRAY(0x221a9a0) or HASH(0x221aa90) in such cases.)
 
224
     * Ensure PL/Perl strings are always correctly UTF8-encoded (Amit
 
225
       Khandekar and Alex Hunsaker)
 
226
     * Use the preferred version of xsubpp to build PL/Perl, not
 
227
       necessarily the operating system's main copy (David Wheeler and
 
228
       Alex Hunsaker)
 
229
     * Correctly propagate SQLSTATE in PL/Python exceptions (Mika Eloranta
 
230
       and Jan Urbanski)
 
231
     * Do not install PL/Python extension files for Python major versions
 
232
       other than the one built against (Peter Eisentraut)
 
233
     * Change all the "contrib" extension script files to report a useful
 
234
       error message if they are fed to psql (Andrew Dunstan and Tom Lane)
 
235
       This should help teach people about the new method of using "CREATE
 
236
       EXTENSION" to load these files. In most cases, sourcing the scripts
 
237
       directly would fail anyway, but with harder-to-interpret messages.
 
238
     * Fix incorrect coding in "contrib/dict_int" and "contrib/dict_xsyn"
 
239
       (Tom Lane)
 
240
       Some functions incorrectly assumed that memory returned by palloc()
 
241
       is guaranteed zeroed.
 
242
     * Remove "contrib/sepgsql" tests from the regular regression test
 
243
       mechanism (Tom Lane)
 
244
       Since these tests require root privileges for setup, they're
 
245
       impractical to run automatically. Switch over to a manual approach
 
246
       instead, and provide a testing script to help with that.
 
247
     * Fix assorted errors in "contrib/unaccent"'s configuration file
 
248
       parsing (Tom Lane)
 
249
     * Honor query cancel interrupts promptly in pgstatindex() (Robert
 
250
       Haas)
 
251
     * Fix incorrect quoting of log file name in Mac OS X start script
 
252
       (Sidar Lopez)
 
253
     * Revert unintentional enabling of WAL_DEBUG (Robert Haas)
 
254
       Fortunately, as debugging tools go, this one is pretty cheap; but
 
255
       it's not intended to be enabled by default, so revert.
 
256
     * Ensure VPATH builds properly install all server header files (Peter
 
257
       Eisentraut)
 
258
     * Shorten file names reported in verbose error messages (Peter
 
259
       Eisentraut)
 
260
       Regular builds have always reported just the name of the C file
 
261
       containing the error message call, but VPATH builds formerly
 
262
       reported an absolute path name.
 
263
     * Fix interpretation of Windows timezone names for Central America
 
264
       (Tom Lane)
 
265
       Map "Central America Standard Time" to CST6, not CST6CDT, because
 
266
       DST is generally not observed anywhere in Central America.
 
267
     * Update time zone data files to tzdata release 2011n for DST law
 
268
       changes in Brazil, Cuba, Fiji, Palestine, Russia, and Samoa; also
 
269
       historical corrections for Alaska and British East Africa.
 
270
     __________________________________________________________________
 
271
 
20
272
                                Release 9.1.1
21
273
 
22
274
     Release Date: 2011-09-26
987
1239
       assumptions about character set.
988
1240
     __________________________________________________________________
989
1241
 
 
1242
                                Release 9.0.6
 
1243
 
 
1244
     Release Date: 2011-12-05
 
1245
 
 
1246
   This release contains a variety of fixes from 9.0.5. For information
 
1247
   about new features in the 9.0 major release, see the Section called
 
1248
   Release 9.0.
 
1249
     __________________________________________________________________
 
1250
 
 
1251
Migration to Version 9.0.6
 
1252
 
 
1253
   A dump/restore is not required for those running 9.0.X.
 
1254
 
 
1255
   However, a longstanding error was discovered in the definition of the
 
1256
   information_schema.referential_constraints view. If you rely on correct
 
1257
   results from that view, you should replace its definition as explained
 
1258
   in the first changelog item below.
 
1259
 
 
1260
   Also, if you are upgrading from a version earlier than 9.0.4, see the
 
1261
   release notes for 9.0.4.
 
1262
     __________________________________________________________________
 
1263
 
 
1264
Changes
 
1265
 
 
1266
     * Fix bugs in information_schema.referential_constraints view (Tom
 
1267
       Lane)
 
1268
       This view was being insufficiently careful about matching the
 
1269
       foreign-key constraint to the depended-on primary or unique key
 
1270
       constraint. That could result in failure to show a foreign key
 
1271
       constraint at all, or showing it multiple times, or claiming that
 
1272
       it depends on a different constraint than the one it really does.
 
1273
       Since the view definition is installed by initdb, merely upgrading
 
1274
       will not fix the problem. If you need to fix this in an existing
 
1275
       installation, you can (as a superuser) drop the information_schema
 
1276
       schema then re-create it by sourcing
 
1277
       "SHAREDIR/information_schema.sql". (Run pg_config --sharedir if
 
1278
       you're uncertain where "SHAREDIR" is.) This must be repeated in
 
1279
       each database to be fixed.
 
1280
     * Fix possible crash during "UPDATE" or "DELETE" that joins to the
 
1281
       output of a scalar-returning function (Tom Lane)
 
1282
       A crash could only occur if the target row had been concurrently
 
1283
       updated, so this problem surfaced only intermittently.
 
1284
     * Fix incorrect replay of WAL records for GIN index updates (Tom
 
1285
       Lane)
 
1286
       This could result in transiently failing to find index entries
 
1287
       after a crash, or on a hot-standby server. The problem would be
 
1288
       repaired by the next "VACUUM" of the index, however.
 
1289
     * Fix TOAST-related data corruption during CREATE TABLE dest AS
 
1290
       SELECT * FROM src or INSERT INTO dest SELECT * FROM src (Tom Lane)
 
1291
       If a table has been modified by "ALTER TABLE ADD COLUMN", attempts
 
1292
       to copy its data verbatim to another table could produce corrupt
 
1293
       results in certain corner cases. The problem can only manifest in
 
1294
       this precise form in 8.4 and later, but we patched earlier versions
 
1295
       as well in case there are other code paths that could trigger the
 
1296
       same bug.
 
1297
     * Fix possible failures during hot standby startup (Simon Riggs)
 
1298
     * Start hot standby faster when initial snapshot is incomplete (Simon
 
1299
       Riggs)
 
1300
     * Fix race condition during toast table access from stale syscache
 
1301
       entries (Tom Lane)
 
1302
       The typical symptom was transient errors like "missing chunk number
 
1303
       0 for toast value NNNNN in pg_toast_2619", where the cited toast
 
1304
       table would always belong to a system catalog.
 
1305
     * Track dependencies of functions on items used in parameter default
 
1306
       expressions (Tom Lane)
 
1307
       Previously, a referenced object could be dropped without having
 
1308
       dropped or modified the function, leading to misbehavior when the
 
1309
       function was used. Note that merely installing this update will not
 
1310
       fix the missing dependency entries; to do that, you'd need to
 
1311
       "CREATE OR REPLACE" each such function afterwards. If you have
 
1312
       functions whose defaults depend on non-built-in objects, doing so
 
1313
       is recommended.
 
1314
     * Allow inlining of set-returning SQL functions with multiple OUT
 
1315
       parameters (Tom Lane)
 
1316
     * Don't trust deferred-unique indexes for join removal (Tom Lane and
 
1317
       Marti Raudsepp)
 
1318
       A deferred uniqueness constraint might not hold intra-transaction,
 
1319
       so assuming that it does could give incorrect query results.
 
1320
     * Make DatumGetInetP() unpack inet datums that have a 1-byte header,
 
1321
       and add a new macro, DatumGetInetPP(), that does not (Heikki
 
1322
       Linnakangas)
 
1323
       This change affects no core code, but might prevent crashes in
 
1324
       add-on code that expects DatumGetInetP() to produce an unpacked
 
1325
       datum as per usual convention.
 
1326
     * Improve locale support in money type's input and output (Tom Lane)
 
1327
       Aside from not supporting all standard lc_monetary formatting
 
1328
       options, the input and output functions were inconsistent, meaning
 
1329
       there were locales in which dumped money values could not be
 
1330
       re-read.
 
1331
     * Don't let transform_null_equals affect CASE foo WHEN NULL ...
 
1332
       constructs (Heikki Linnakangas)
 
1333
       transform_null_equals is only supposed to affect foo = NULL
 
1334
       expressions written directly by the user, not equality checks
 
1335
       generated internally by this form of CASE.
 
1336
     * Change foreign-key trigger creation order to better support
 
1337
       self-referential foreign keys (Tom Lane)
 
1338
       For a cascading foreign key that references its own table, a row
 
1339
       update will fire both the ON UPDATE trigger and the CHECK trigger
 
1340
       as one event. The ON UPDATE trigger must execute first, else the
 
1341
       CHECK will check a non-final state of the row and possibly throw an
 
1342
       inappropriate error. However, the firing order of these triggers is
 
1343
       determined by their names, which generally sort in creation order
 
1344
       since the triggers have auto-generated names following the
 
1345
       convention "RI_ConstraintTrigger_NNNN". A proper fix would require
 
1346
       modifying that convention, which we will do in 9.2, but it seems
 
1347
       risky to change it in existing releases. So this patch just changes
 
1348
       the creation order of the triggers. Users encountering this type of
 
1349
       error should drop and re-create the foreign key constraint to get
 
1350
       its triggers into the right order.
 
1351
     * Avoid floating-point underflow while tracking buffer allocation
 
1352
       rate (Greg Matthews)
 
1353
       While harmless in itself, on certain platforms this would result in
 
1354
       annoying kernel log messages.
 
1355
     * Preserve configuration file name and line number values when
 
1356
       starting child processes under Windows (Tom Lane)
 
1357
       Formerly, these would not be displayed correctly in the pg_settings
 
1358
       view.
 
1359
     * Fix incorrect field alignment in ecpg's SQLDA area (Zoltan
 
1360
       Boszormenyi)
 
1361
     * Preserve blank lines within commands in psql's command history
 
1362
       (Robert Haas)
 
1363
       The former behavior could cause problems if an empty line was
 
1364
       removed from within a string literal, for example.
 
1365
     * Fix pg_dump to dump user-defined casts between auto-generated
 
1366
       types, such as table rowtypes (Tom Lane)
 
1367
     * Assorted fixes for pg_upgrade (Bruce Momjian)
 
1368
       Handle exclusion constraints correctly, avoid failures on Windows,
 
1369
       don't complain about mismatched toast table names in 8.4 databases.
 
1370
     * Use the preferred version of xsubpp to build PL/Perl, not
 
1371
       necessarily the operating system's main copy (David Wheeler and
 
1372
       Alex Hunsaker)
 
1373
     * Fix incorrect coding in "contrib/dict_int" and "contrib/dict_xsyn"
 
1374
       (Tom Lane)
 
1375
       Some functions incorrectly assumed that memory returned by palloc()
 
1376
       is guaranteed zeroed.
 
1377
     * Fix assorted errors in "contrib/unaccent"'s configuration file
 
1378
       parsing (Tom Lane)
 
1379
     * Honor query cancel interrupts promptly in pgstatindex() (Robert
 
1380
       Haas)
 
1381
     * Fix incorrect quoting of log file name in Mac OS X start script
 
1382
       (Sidar Lopez)
 
1383
     * Ensure VPATH builds properly install all server header files (Peter
 
1384
       Eisentraut)
 
1385
     * Shorten file names reported in verbose error messages (Peter
 
1386
       Eisentraut)
 
1387
       Regular builds have always reported just the name of the C file
 
1388
       containing the error message call, but VPATH builds formerly
 
1389
       reported an absolute path name.
 
1390
     * Fix interpretation of Windows timezone names for Central America
 
1391
       (Tom Lane)
 
1392
       Map "Central America Standard Time" to CST6, not CST6CDT, because
 
1393
       DST is generally not observed anywhere in Central America.
 
1394
     * Update time zone data files to tzdata release 2011n for DST law
 
1395
       changes in Brazil, Cuba, Fiji, Palestine, Russia, and Samoa; also
 
1396
       historical corrections for Alaska and British East Africa.
 
1397
     __________________________________________________________________
 
1398
 
990
1399
                                Release 9.0.5
991
1400
 
992
1401
     Release Date: 2011-09-26
2796
3205
       Lane)
2797
3206
     __________________________________________________________________
2798
3207
 
 
3208
                               Release 8.4.10
 
3209
 
 
3210
     Release Date: 2011-12-05
 
3211
 
 
3212
   This release contains a variety of fixes from 8.4.9. For information
 
3213
   about new features in the 8.4 major release, see the Section called
 
3214
   Release 8.4.
 
3215
     __________________________________________________________________
 
3216
 
 
3217
Migration to Version 8.4.10
 
3218
 
 
3219
   A dump/restore is not required for those running 8.4.X.
 
3220
 
 
3221
   However, a longstanding error was discovered in the definition of the
 
3222
   information_schema.referential_constraints view. If you rely on correct
 
3223
   results from that view, you should replace its definition as explained
 
3224
   in the first changelog item below.
 
3225
 
 
3226
   Also, if you are upgrading from a version earlier than 8.4.8, see the
 
3227
   release notes for 8.4.8.
 
3228
     __________________________________________________________________
 
3229
 
 
3230
Changes
 
3231
 
 
3232
     * Fix bugs in information_schema.referential_constraints view (Tom
 
3233
       Lane)
 
3234
       This view was being insufficiently careful about matching the
 
3235
       foreign-key constraint to the depended-on primary or unique key
 
3236
       constraint. That could result in failure to show a foreign key
 
3237
       constraint at all, or showing it multiple times, or claiming that
 
3238
       it depends on a different constraint than the one it really does.
 
3239
       Since the view definition is installed by initdb, merely upgrading
 
3240
       will not fix the problem. If you need to fix this in an existing
 
3241
       installation, you can (as a superuser) drop the information_schema
 
3242
       schema then re-create it by sourcing
 
3243
       "SHAREDIR/information_schema.sql". (Run pg_config --sharedir if
 
3244
       you're uncertain where "SHAREDIR" is.) This must be repeated in
 
3245
       each database to be fixed.
 
3246
     * Fix incorrect replay of WAL records for GIN index updates (Tom
 
3247
       Lane)
 
3248
       This could result in transiently failing to find index entries
 
3249
       after a crash, or on a hot-standby server. The problem would be
 
3250
       repaired by the next "VACUUM" of the index, however.
 
3251
     * Fix TOAST-related data corruption during CREATE TABLE dest AS
 
3252
       SELECT * FROM src or INSERT INTO dest SELECT * FROM src (Tom Lane)
 
3253
       If a table has been modified by "ALTER TABLE ADD COLUMN", attempts
 
3254
       to copy its data verbatim to another table could produce corrupt
 
3255
       results in certain corner cases. The problem can only manifest in
 
3256
       this precise form in 8.4 and later, but we patched earlier versions
 
3257
       as well in case there are other code paths that could trigger the
 
3258
       same bug.
 
3259
     * Fix race condition during toast table access from stale syscache
 
3260
       entries (Tom Lane)
 
3261
       The typical symptom was transient errors like "missing chunk number
 
3262
       0 for toast value NNNNN in pg_toast_2619", where the cited toast
 
3263
       table would always belong to a system catalog.
 
3264
     * Track dependencies of functions on items used in parameter default
 
3265
       expressions (Tom Lane)
 
3266
       Previously, a referenced object could be dropped without having
 
3267
       dropped or modified the function, leading to misbehavior when the
 
3268
       function was used. Note that merely installing this update will not
 
3269
       fix the missing dependency entries; to do that, you'd need to
 
3270
       "CREATE OR REPLACE" each such function afterwards. If you have
 
3271
       functions whose defaults depend on non-built-in objects, doing so
 
3272
       is recommended.
 
3273
     * Allow inlining of set-returning SQL functions with multiple OUT
 
3274
       parameters (Tom Lane)
 
3275
     * Make DatumGetInetP() unpack inet datums that have a 1-byte header,
 
3276
       and add a new macro, DatumGetInetPP(), that does not (Heikki
 
3277
       Linnakangas)
 
3278
       This change affects no core code, but might prevent crashes in
 
3279
       add-on code that expects DatumGetInetP() to produce an unpacked
 
3280
       datum as per usual convention.
 
3281
     * Improve locale support in money type's input and output (Tom Lane)
 
3282
       Aside from not supporting all standard lc_monetary formatting
 
3283
       options, the input and output functions were inconsistent, meaning
 
3284
       there were locales in which dumped money values could not be
 
3285
       re-read.
 
3286
     * Don't let transform_null_equals affect CASE foo WHEN NULL ...
 
3287
       constructs (Heikki Linnakangas)
 
3288
       transform_null_equals is only supposed to affect foo = NULL
 
3289
       expressions written directly by the user, not equality checks
 
3290
       generated internally by this form of CASE.
 
3291
     * Change foreign-key trigger creation order to better support
 
3292
       self-referential foreign keys (Tom Lane)
 
3293
       For a cascading foreign key that references its own table, a row
 
3294
       update will fire both the ON UPDATE trigger and the CHECK trigger
 
3295
       as one event. The ON UPDATE trigger must execute first, else the
 
3296
       CHECK will check a non-final state of the row and possibly throw an
 
3297
       inappropriate error. However, the firing order of these triggers is
 
3298
       determined by their names, which generally sort in creation order
 
3299
       since the triggers have auto-generated names following the
 
3300
       convention "RI_ConstraintTrigger_NNNN". A proper fix would require
 
3301
       modifying that convention, which we will do in 9.2, but it seems
 
3302
       risky to change it in existing releases. So this patch just changes
 
3303
       the creation order of the triggers. Users encountering this type of
 
3304
       error should drop and re-create the foreign key constraint to get
 
3305
       its triggers into the right order.
 
3306
     * Avoid floating-point underflow while tracking buffer allocation
 
3307
       rate (Greg Matthews)
 
3308
       While harmless in itself, on certain platforms this would result in
 
3309
       annoying kernel log messages.
 
3310
     * Preserve configuration file name and line number values when
 
3311
       starting child processes under Windows (Tom Lane)
 
3312
       Formerly, these would not be displayed correctly in the pg_settings
 
3313
       view.
 
3314
     * Preserve blank lines within commands in psql's command history
 
3315
       (Robert Haas)
 
3316
       The former behavior could cause problems if an empty line was
 
3317
       removed from within a string literal, for example.
 
3318
     * Fix pg_dump to dump user-defined casts between auto-generated
 
3319
       types, such as table rowtypes (Tom Lane)
 
3320
     * Use the preferred version of xsubpp to build PL/Perl, not
 
3321
       necessarily the operating system's main copy (David Wheeler and
 
3322
       Alex Hunsaker)
 
3323
     * Fix incorrect coding in "contrib/dict_int" and "contrib/dict_xsyn"
 
3324
       (Tom Lane)
 
3325
       Some functions incorrectly assumed that memory returned by palloc()
 
3326
       is guaranteed zeroed.
 
3327
     * Honor query cancel interrupts promptly in pgstatindex() (Robert
 
3328
       Haas)
 
3329
     * Ensure VPATH builds properly install all server header files (Peter
 
3330
       Eisentraut)
 
3331
     * Shorten file names reported in verbose error messages (Peter
 
3332
       Eisentraut)
 
3333
       Regular builds have always reported just the name of the C file
 
3334
       containing the error message call, but VPATH builds formerly
 
3335
       reported an absolute path name.
 
3336
     * Fix interpretation of Windows timezone names for Central America
 
3337
       (Tom Lane)
 
3338
       Map "Central America Standard Time" to CST6, not CST6CDT, because
 
3339
       DST is generally not observed anywhere in Central America.
 
3340
     * Update time zone data files to tzdata release 2011n for DST law
 
3341
       changes in Brazil, Cuba, Fiji, Palestine, Russia, and Samoa; also
 
3342
       historical corrections for Alaska and British East Africa.
 
3343
     __________________________________________________________________
 
3344
 
2799
3345
                                Release 8.4.9
2800
3346
 
2801
3347
     Release Date: 2011-09-26
4808
5354
       circular references make a safe ordering impossible, a NOTICE is
4809
5355
       issued.
4810
5356
     * Allow pg_dump, pg_dumpall, and pg_restore to use a specified role
4811
 
       (Benedek L'aszl'o)
 
5357
       (Benedek Laszlo)
4812
5358
     * Allow pg_restore to use multiple concurrent connections to do the
4813
5359
       restore (Andrew)
4814
5360
       The number of concurrent connections is controlled by the option
5030
5576
       unsafe to use a symlink (Simon)
5031
5577
     __________________________________________________________________
5032
5578
 
 
5579
                               Release 8.3.17
 
5580
 
 
5581
     Release Date: 2011-12-05
 
5582
 
 
5583
   This release contains a variety of fixes from 8.3.16. For information
 
5584
   about new features in the 8.3 major release, see the Section called
 
5585
   Release 8.3.
 
5586
     __________________________________________________________________
 
5587
 
 
5588
Migration to Version 8.3.17
 
5589
 
 
5590
   A dump/restore is not required for those running 8.3.X.
 
5591
 
 
5592
   However, a longstanding error was discovered in the definition of the
 
5593
   information_schema.referential_constraints view. If you rely on correct
 
5594
   results from that view, you should replace its definition as explained
 
5595
   in the first changelog item below.
 
5596
 
 
5597
   Also, if you are upgrading from a version earlier than 8.3.8, see the
 
5598
   release notes for 8.3.8.
 
5599
     __________________________________________________________________
 
5600
 
 
5601
Changes
 
5602
 
 
5603
     * Fix bugs in information_schema.referential_constraints view (Tom
 
5604
       Lane)
 
5605
       This view was being insufficiently careful about matching the
 
5606
       foreign-key constraint to the depended-on primary or unique key
 
5607
       constraint. That could result in failure to show a foreign key
 
5608
       constraint at all, or showing it multiple times, or claiming that
 
5609
       it depends on a different constraint than the one it really does.
 
5610
       Since the view definition is installed by initdb, merely upgrading
 
5611
       will not fix the problem. If you need to fix this in an existing
 
5612
       installation, you can (as a superuser) drop the information_schema
 
5613
       schema then re-create it by sourcing
 
5614
       "SHAREDIR/information_schema.sql". (Run pg_config --sharedir if
 
5615
       you're uncertain where "SHAREDIR" is.) This must be repeated in
 
5616
       each database to be fixed.
 
5617
     * Fix TOAST-related data corruption during CREATE TABLE dest AS
 
5618
       SELECT * FROM src or INSERT INTO dest SELECT * FROM src (Tom Lane)
 
5619
       If a table has been modified by "ALTER TABLE ADD COLUMN", attempts
 
5620
       to copy its data verbatim to another table could produce corrupt
 
5621
       results in certain corner cases. The problem can only manifest in
 
5622
       this precise form in 8.4 and later, but we patched earlier versions
 
5623
       as well in case there are other code paths that could trigger the
 
5624
       same bug.
 
5625
     * Fix race condition during toast table access from stale syscache
 
5626
       entries (Tom Lane)
 
5627
       The typical symptom was transient errors like "missing chunk number
 
5628
       0 for toast value NNNNN in pg_toast_2619", where the cited toast
 
5629
       table would always belong to a system catalog.
 
5630
     * Make DatumGetInetP() unpack inet datums that have a 1-byte header,
 
5631
       and add a new macro, DatumGetInetPP(), that does not (Heikki
 
5632
       Linnakangas)
 
5633
       This change affects no core code, but might prevent crashes in
 
5634
       add-on code that expects DatumGetInetP() to produce an unpacked
 
5635
       datum as per usual convention.
 
5636
     * Improve locale support in money type's input and output (Tom Lane)
 
5637
       Aside from not supporting all standard lc_monetary formatting
 
5638
       options, the input and output functions were inconsistent, meaning
 
5639
       there were locales in which dumped money values could not be
 
5640
       re-read.
 
5641
     * Don't let transform_null_equals affect CASE foo WHEN NULL ...
 
5642
       constructs (Heikki Linnakangas)
 
5643
       transform_null_equals is only supposed to affect foo = NULL
 
5644
       expressions written directly by the user, not equality checks
 
5645
       generated internally by this form of CASE.
 
5646
     * Change foreign-key trigger creation order to better support
 
5647
       self-referential foreign keys (Tom Lane)
 
5648
       For a cascading foreign key that references its own table, a row
 
5649
       update will fire both the ON UPDATE trigger and the CHECK trigger
 
5650
       as one event. The ON UPDATE trigger must execute first, else the
 
5651
       CHECK will check a non-final state of the row and possibly throw an
 
5652
       inappropriate error. However, the firing order of these triggers is
 
5653
       determined by their names, which generally sort in creation order
 
5654
       since the triggers have auto-generated names following the
 
5655
       convention "RI_ConstraintTrigger_NNNN". A proper fix would require
 
5656
       modifying that convention, which we will do in 9.2, but it seems
 
5657
       risky to change it in existing releases. So this patch just changes
 
5658
       the creation order of the triggers. Users encountering this type of
 
5659
       error should drop and re-create the foreign key constraint to get
 
5660
       its triggers into the right order.
 
5661
     * Avoid floating-point underflow while tracking buffer allocation
 
5662
       rate (Greg Matthews)
 
5663
       While harmless in itself, on certain platforms this would result in
 
5664
       annoying kernel log messages.
 
5665
     * Preserve blank lines within commands in psql's command history
 
5666
       (Robert Haas)
 
5667
       The former behavior could cause problems if an empty line was
 
5668
       removed from within a string literal, for example.
 
5669
     * Fix pg_dump to dump user-defined casts between auto-generated
 
5670
       types, such as table rowtypes (Tom Lane)
 
5671
     * Use the preferred version of xsubpp to build PL/Perl, not
 
5672
       necessarily the operating system's main copy (David Wheeler and
 
5673
       Alex Hunsaker)
 
5674
     * Fix incorrect coding in "contrib/dict_int" and "contrib/dict_xsyn"
 
5675
       (Tom Lane)
 
5676
       Some functions incorrectly assumed that memory returned by palloc()
 
5677
       is guaranteed zeroed.
 
5678
     * Honor query cancel interrupts promptly in pgstatindex() (Robert
 
5679
       Haas)
 
5680
     * Ensure VPATH builds properly install all server header files (Peter
 
5681
       Eisentraut)
 
5682
     * Shorten file names reported in verbose error messages (Peter
 
5683
       Eisentraut)
 
5684
       Regular builds have always reported just the name of the C file
 
5685
       containing the error message call, but VPATH builds formerly
 
5686
       reported an absolute path name.
 
5687
     * Fix interpretation of Windows timezone names for Central America
 
5688
       (Tom Lane)
 
5689
       Map "Central America Standard Time" to CST6, not CST6CDT, because
 
5690
       DST is generally not observed anywhere in Central America.
 
5691
     * Update time zone data files to tzdata release 2011n for DST law
 
5692
       changes in Brazil, Cuba, Fiji, Palestine, Russia, and Samoa; also
 
5693
       historical corrections for Alaska and British East Africa.
 
5694
     __________________________________________________________________
 
5695
 
5033
5696
                               Release 8.3.16
5034
5697
 
5035
5698
     Release Date: 2011-09-26
7478
8141
       The new XML support in core PostgreSQL supersedes this module.
7479
8142
     __________________________________________________________________
7480
8143
 
 
8144
                               Release 8.2.23
 
8145
 
 
8146
     Release Date: 2011-12-05
 
8147
 
 
8148
   This release contains a variety of fixes from 8.2.22. For information
 
8149
   about new features in the 8.2 major release, see the Section called
 
8150
   Release 8.2.
 
8151
 
 
8152
   This is expected to be the last PostgreSQL release in the 8.2.X series.
 
8153
   Users are encouraged to update to a newer release branch soon.
 
8154
     __________________________________________________________________
 
8155
 
 
8156
Migration to Version 8.2.23
 
8157
 
 
8158
   A dump/restore is not required for those running 8.2.X.
 
8159
 
 
8160
   However, a longstanding error was discovered in the definition of the
 
8161
   information_schema.referential_constraints view. If you rely on correct
 
8162
   results from that view, you should replace its definition as explained
 
8163
   in the first changelog item below.
 
8164
 
 
8165
   Also, if you are upgrading from a version earlier than 8.2.14, see the
 
8166
   release notes for 8.2.14.
 
8167
     __________________________________________________________________
 
8168
 
 
8169
Changes
 
8170
 
 
8171
     * Fix bugs in information_schema.referential_constraints view (Tom
 
8172
       Lane)
 
8173
       This view was being insufficiently careful about matching the
 
8174
       foreign-key constraint to the depended-on primary or unique key
 
8175
       constraint. That could result in failure to show a foreign key
 
8176
       constraint at all, or showing it multiple times, or claiming that
 
8177
       it depends on a different constraint than the one it really does.
 
8178
       Since the view definition is installed by initdb, merely upgrading
 
8179
       will not fix the problem. If you need to fix this in an existing
 
8180
       installation, you can (as a superuser) drop the information_schema
 
8181
       schema then re-create it by sourcing
 
8182
       "SHAREDIR/information_schema.sql". (Run pg_config --sharedir if
 
8183
       you're uncertain where "SHAREDIR" is.) This must be repeated in
 
8184
       each database to be fixed.
 
8185
     * Fix TOAST-related data corruption during CREATE TABLE dest AS
 
8186
       SELECT * FROM src or INSERT INTO dest SELECT * FROM src (Tom Lane)
 
8187
       If a table has been modified by "ALTER TABLE ADD COLUMN", attempts
 
8188
       to copy its data verbatim to another table could produce corrupt
 
8189
       results in certain corner cases. The problem can only manifest in
 
8190
       this precise form in 8.4 and later, but we patched earlier versions
 
8191
       as well in case there are other code paths that could trigger the
 
8192
       same bug.
 
8193
     * Fix race condition during toast table access from stale syscache
 
8194
       entries (Tom Lane)
 
8195
       The typical symptom was transient errors like "missing chunk number
 
8196
       0 for toast value NNNNN in pg_toast_2619", where the cited toast
 
8197
       table would always belong to a system catalog.
 
8198
     * Improve locale support in money type's input and output (Tom Lane)
 
8199
       Aside from not supporting all standard lc_monetary formatting
 
8200
       options, the input and output functions were inconsistent, meaning
 
8201
       there were locales in which dumped money values could not be
 
8202
       re-read.
 
8203
     * Don't let transform_null_equals affect CASE foo WHEN NULL ...
 
8204
       constructs (Heikki Linnakangas)
 
8205
       transform_null_equals is only supposed to affect foo = NULL
 
8206
       expressions written directly by the user, not equality checks
 
8207
       generated internally by this form of CASE.
 
8208
     * Change foreign-key trigger creation order to better support
 
8209
       self-referential foreign keys (Tom Lane)
 
8210
       For a cascading foreign key that references its own table, a row
 
8211
       update will fire both the ON UPDATE trigger and the CHECK trigger
 
8212
       as one event. The ON UPDATE trigger must execute first, else the
 
8213
       CHECK will check a non-final state of the row and possibly throw an
 
8214
       inappropriate error. However, the firing order of these triggers is
 
8215
       determined by their names, which generally sort in creation order
 
8216
       since the triggers have auto-generated names following the
 
8217
       convention "RI_ConstraintTrigger_NNNN". A proper fix would require
 
8218
       modifying that convention, which we will do in 9.2, but it seems
 
8219
       risky to change it in existing releases. So this patch just changes
 
8220
       the creation order of the triggers. Users encountering this type of
 
8221
       error should drop and re-create the foreign key constraint to get
 
8222
       its triggers into the right order.
 
8223
     * Preserve blank lines within commands in psql's command history
 
8224
       (Robert Haas)
 
8225
       The former behavior could cause problems if an empty line was
 
8226
       removed from within a string literal, for example.
 
8227
     * Use the preferred version of xsubpp to build PL/Perl, not
 
8228
       necessarily the operating system's main copy (David Wheeler and
 
8229
       Alex Hunsaker)
 
8230
     * Honor query cancel interrupts promptly in pgstatindex() (Robert
 
8231
       Haas)
 
8232
     * Ensure VPATH builds properly install all server header files (Peter
 
8233
       Eisentraut)
 
8234
     * Shorten file names reported in verbose error messages (Peter
 
8235
       Eisentraut)
 
8236
       Regular builds have always reported just the name of the C file
 
8237
       containing the error message call, but VPATH builds formerly
 
8238
       reported an absolute path name.
 
8239
     * Fix interpretation of Windows timezone names for Central America
 
8240
       (Tom Lane)
 
8241
       Map "Central America Standard Time" to CST6, not CST6CDT, because
 
8242
       DST is generally not observed anywhere in Central America.
 
8243
     * Update time zone data files to tzdata release 2011n for DST law
 
8244
       changes in Brazil, Cuba, Fiji, Palestine, Russia, and Samoa; also
 
8245
       historical corrections for Alaska and British East Africa.
 
8246
     __________________________________________________________________
 
8247
 
7481
8248
                               Release 8.2.22
7482
8249
 
7483
8250
     Release Date: 2011-09-26
9589
10356
PL/Perl Server-Side Language Changes
9590
10357
 
9591
10358
     * Add table_name and table_schema to trigger parameters (Adam
9592
 
       Sjogren)
 
10359
       Sj?gren)
9593
10360
     * Add prepared queries (Dmitry Karasik)
9594
10361
     * Make $_TD trigger data a global variable (Andrew)
9595
10362
       Previously, it was lexical, which caused unexpected sharing
11722
12489
       computation (Bruce)
11723
12490
       In previous releases, modulus for large values sometimes returned
11724
12491
       negative results due to rounding of the quotient.
11725
 
     * Add a function lastval() (Dennis Bj"orklund)
 
12492
     * Add a function lastval() (Dennis Bjorklund)
11726
12493
       lastval() is a simplified version of currval(). It automatically
11727
12494
       determines the proper sequence name based on the most recent
11728
12495
       nextval() or setval() call performed by the current session.
14118
14885
       a function inserts a new row into a table, any nondeferred foreign
14119
14886
       key checks occur before proceeding with the function.
14120
14887
     * Allow function parameters to be declared with names (Dennis
14121
 
       Bj"orklund)
 
14888
       Bjorklund)
14122
14889
       This allows better documentation of functions. Whether the names
14123
14890
       actually do anything depends on the specific function language
14124
14891
       being used.
14125
14892
     * Allow PL/pgSQL parameter names to be referenced in the function
14126
 
       (Dennis Bj"orklund)
 
14893
       (Dennis Bjorklund)
14127
14894
       This basically creates an automatic alias for each named parameter.
14128
14895
     * Do minimal syntax checking of PL/pgSQL functions at creation time
14129
14896
       (Tom)
14174
14941
     * On Windows, use binary mode in psql when reading files so control-Z
14175
14942
       is not seen as end-of-file
14176
14943
     * Have "\dn+" show permissions and description for schemas (Dennis
14177
 
       Bj"orklund)
 
14944
       Bjorklund)
14178
14945
     * Improve tab completion support (Stefan Kaltenbrunn, Greg Sabino
14179
14946
       Mullane)
14180
14947
     * Allow boolean settings to be set using upper or lower case (Michael
16326
17093
     * Make EXTRACT(TIMEZONE) and SET/SHOW TIME ZONE follow the SQL
16327
17094
       convention for the sign of time zone offsets, i.e., positive is
16328
17095
       east from UTC (Tom)
16329
 
     * Fix date_trunc('quarter', ...) (B"ojthe Zolt'an)
 
17096
     * Fix date_trunc('quarter', ...) (Bojthe Zoltan)
16330
17097
       Prior releases returned an incorrect value for this function call.
16331
17098
     * Make initcap() more compatible with Oracle (Mike Nolan)
16332
17099
       initcap() now uppercases a letter appearing after any
16541
17308
     * Improve pgstattuple (Rod)
16542
17309
     * Fix bug in metaphone() in fuzzystrmatch
16543
17310
     * Improve adddepend (Rod)
16544
 
     * Update spi/timetravel (B"ojthe Zolt'an)
 
17311
     * Update spi/timetravel (Bojthe Zoltan)
16545
17312
     * Fix dbase "-s" option and improve non-ASCII handling (Thomas Behr,
16546
 
       M'arcio Smiderle)
 
17313
       Marcio Smiderle)
16547
17314
     * Remove array module because features now included by default (Joe)
16548
17315
     __________________________________________________________________
16549
17316