PostgreSQL 9.0.0 commit log

tag v9.0.0 ... the big day approaches

commit   : 861861edcc04a6e3ebdfe363311f122e2b226196    
  
author   : Marc G. Fournier <[email protected]>    
date     : Fri, 17 Sep 2010 01:18:41 +0000    
  
committer: Marc G. Fournier <[email protected]>    
date     : Fri, 17 Sep 2010 01:18:41 +0000    

Click here for diff

M configure
M configure.in
M doc/bug.template
M src/include/pg_config.h.win32

Treat exit code 128 (ERROR_WAIT_NO_CHILDREN) as non-fatal on Win32, since it can happen when a process fails to start when the system is under high load.

commit   : ec6fca101e81d7bb3a5e2e2df38c1236b26c8698    
  
author   : Magnus Hagander <[email protected]>    
date     : Thu, 16 Sep 2010 20:37:18 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Thu, 16 Sep 2010 20:37:18 +0000    

Click here for diff

Per several bug reports and many peoples investigation.  
  
Back-patch to 8.4, which is as far back as the "deadman-switch"  
for shared memory access exists.  

M src/backend/postmaster/postmaster.c

Translation updates for 9.0.0

commit   : 765b69ddb1a9357b25c4efc3290264b32f757c13    
  
author   : Peter Eisentraut <[email protected]>    
date     : Thu, 16 Sep 2010 19:09:39 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Thu, 16 Sep 2010 19:09:39 +0000    

Click here for diff

M src/backend/po/de.po
M src/backend/po/es.po
M src/backend/po/fr.po
M src/backend/po/pt_BR.po
M src/backend/po/tr.po
M src/bin/initdb/po/es.po
M src/bin/initdb/po/tr.po
M src/bin/pg_config/po/es.po
M src/bin/pg_config/po/ro.po
M src/bin/pg_config/po/ta.po
M src/bin/pg_config/po/tr.po
M src/bin/pg_controldata/nls.mk
M src/bin/pg_controldata/po/es.po
A src/bin/pg_controldata/po/ro.po
M src/bin/pg_controldata/po/tr.po
M src/bin/pg_ctl/po/tr.po
M src/bin/pg_dump/po/es.po
M src/bin/pg_dump/po/pt_BR.po
M src/bin/pg_dump/po/tr.po
M src/bin/pg_resetxlog/po/es.po
M src/bin/pg_resetxlog/po/ro.po
M src/bin/pg_resetxlog/po/tr.po
M src/bin/psql/po/de.po
M src/bin/psql/po/es.po
M src/bin/psql/po/fr.po
M src/bin/psql/po/pt_BR.po
M src/bin/psql/po/tr.po
M src/bin/scripts/po/tr.po
M src/interfaces/ecpg/ecpglib/po/tr.po
M src/interfaces/ecpg/preproc/po/es.po
M src/interfaces/ecpg/preproc/po/pt_BR.po
M src/interfaces/ecpg/preproc/po/tr.po
M src/interfaces/libpq/po/es.po
M src/interfaces/libpq/po/sv.po
M src/interfaces/libpq/po/ta.po
M src/interfaces/libpq/po/tr.po
M src/pl/plperl/nls.mk
M src/pl/plperl/po/es.po
A src/pl/plperl/po/ro.po
M src/pl/plperl/po/tr.po
M src/pl/plpgsql/src/nls.mk
M src/pl/plpgsql/src/po/es.po
A src/pl/plpgsql/src/po/tr.po
M src/pl/plpython/po/es.po
M src/pl/plpython/po/ja.po
M src/pl/plpython/po/pt_BR.po
M src/pl/plpython/po/tr.po

Stamp 9.0 release notes with expected release date; also some last-minute copy-editing.

commit   : 57d115c449d24166b7bb1a2646aa4fba0cd07a02    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 16 Sep 2010 18:15:28 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 16 Sep 2010 18:15:28 +0000    

Click here for diff

M doc/src/sgml/ref/alter_table.sgml
M doc/src/sgml/release-9.0.sgml

Fix bad grammar.

commit   : a59eaf28ccdf5c4ac89cd411b00e71a79067a55a    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 16 Sep 2010 14:31:26 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 16 Sep 2010 14:31:26 +0000    

Click here for diff

M doc/src/sgml/plpgsql.sgml

Fix two new-in-9.0 bugs in hstore.

commit   : c5ed269164f5bff46aaf13d05cd6e23dfd362728    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 16 Sep 2010 02:54:07 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 16 Sep 2010 02:54:07 +0000    

Click here for diff

There was an incorrect Assert in hstoreValidOldFormat(), which would cause  
immediate core dumps when attempting to work with pre-9.0 hstore data,  
but of course only in an assert-enabled build.  
  
Also, ghstore_decompress() incorrectly applied DatumGetHStoreP() to a datum  
that wasn't actually an hstore, but rather a ghstore (ie, a gist signature  
bitstring).  That used to be harmless, but could now result in misbehavior  
if the hstore format conversion code happened to trigger.  In reality,  
since ghstore is not marked toastable (and doesn't need to be), this  
function is useless anyway; we can lobotomize it down to returning the  
passed-in pointer.  
  
Both bugs found by Andrew Gierth, though this isn't exactly his proposed  
patch.  

M contrib/hstore/hstore_compat.c
M contrib/hstore/hstore_gist.c

Add a compatibility note about plpgsql's treatment of SELECT INTO rec.fld when fld is of composite type. Per discussion of bug #5644 from Valentine Gogichashvili.

commit   : e3171be674658f9ce1decaddae51462bfda517aa    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 15 Sep 2010 17:46:02 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 15 Sep 2010 17:46:02 +0000    

Click here for diff

M doc/src/sgml/release-9.0.sgml

Fix join-removal logic for pseudoconstant and outerjoin-delayed quals.

commit   : bab9f1d585b15db59ec2703adaadc3efcf3f1810    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 14 Sep 2010 23:15:37 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 14 Sep 2010 23:15:37 +0000    

Click here for diff

In these cases a qual can get marked with the removable rel in its  
required_relids, but this is just to schedule its evaluation correctly, not  
because it really depends on the rel.  We were assuming that, in effect,  
we could throw away *all* quals so marked, which is nonsense.  Tighten up  
the logic to be a little more paranoid about which quals belong to the  
outer join being considered for removal, and arrange for all quals that  
don't belong to be updated so they will still get evaluated correctly.  
  
Also fix another problem that happened to be exposed by this test case,  
which was that make_join_rel() was failing to notice some cases where  
a constant-false qual could be used to prove a join relation empty.  If it's  
a pushed-down constant false, then the relation is empty even if it's an  
outer join, because the qual applies after the outer join expansion.  
  
Per report from Nathan Grange.  Back-patch into 9.0.  

M src/backend/optimizer/path/joinrels.c
M src/backend/optimizer/plan/analyzejoins.c
M src/backend/optimizer/util/joininfo.c
M src/include/optimizer/joininfo.h
M src/test/regress/expected/join.out
M src/test/regress/sql/join.sql

Don't warn about an in-progress online backup, when we're recovering from an online backup instead of performing one. pg_ctl can detect that by checking if recovery.conf exists.

commit   : 105faeb3569b83a2bb2a6b6e367b77d1c51c1789    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Tue, 14 Sep 2010 08:05:54 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Tue, 14 Sep 2010 08:05:54 +0000    

Click here for diff

Backup label file is renamed away early in recovery, so the window where  
backup label exists during recovery is normally very small, but you can run  
into it e.g if restore_command is set incorrectly and the startup process  
never finds even the first WAL segment containing the checkpoint record to  
start recovery from.  
  
Fujii Masao with comments by me.  

M src/bin/pg_ctl/pg_ctl.c

Elaborate on what gets stored in pg_authid.rolpasswd.

commit   : 3b08e09fe7bc2640930aaa9e6d284700f4920f5f    
  
author   : Robert Haas <[email protected]>    
date     : Mon, 13 Sep 2010 17:03:23 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Mon, 13 Sep 2010 17:03:23 +0000    

Click here for diff

Also, add cross-reference from pg_shadow.passwd to pg_authid.rolpasswd and  
fix a bit of markup I muffed in my previous commit.  
  
Per discussion with Josh Kupershmidt.  

M doc/src/sgml/catalogs.sgml

Remove prototype for non-existent function from walreceiver.h. Tidy up by separating prototypes for functions in walreceiver.c and walreceiverfuncs.c with comments.

commit   : d9ac2fdaa96d85830925151aa5751ee79aa6b01d    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Mon, 13 Sep 2010 10:14:30 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Mon, 13 Sep 2010 10:14:30 +0000    

Click here for diff

M src/include/replication/walreceiver.h

Process options from the startup packed in walsender. Only few options make sense for walsender, but for example application_name and client_encoding do. We still don't apply per-role settings from pg_db_role_setting, because that would require connecting to a database to read the table.

commit   : 035081676b2493bcced7659d8f608305b787d4b2    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Mon, 13 Sep 2010 09:00:35 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Mon, 13 Sep 2010 09:00:35 +0000    

Click here for diff

Fujii Masao  

M src/backend/utils/init/postinit.c

Don't try aligning comments for new archive_command Win32 doc example; it doesn't work.

commit   : 6bb4a7b30563483c646fb0e5bd08465dc8f373d9    
  
author   : Bruce Momjian <[email protected]>    
date     : Mon, 13 Sep 2010 01:35:54 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Mon, 13 Sep 2010 01:35:54 +0000    

Click here for diff

Backpatch to 9.0.X.  

M doc/src/sgml/backup.sgml

commit   : 1cdf188aa66846f2edef5276e85e07ba592aeefb    
  
author   : Robert Haas <[email protected]>    
date     : Mon, 13 Sep 2010 01:25:12 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Mon, 13 Sep 2010 01:25:12 +0000    

Click here for diff

Per discussion with Josh Kupershmidt.  

M doc/src/sgml/catalogs.sgml

Re-add documentation for Win32 copy syntax for archive_command.

commit   : f499c211d85068514ba76bcbbd55e8d7004b9152    
  
author   : Bruce Momjian <[email protected]>    
date     : Sun, 12 Sep 2010 13:47:19 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sun, 12 Sep 2010 13:47:19 +0000    

Click here for diff

Backpatch to 9.0.X.  

M doc/src/sgml/backup.sgml

Remove obsolete claim that gzip is needed while installing PG's documentation. It isn't, now that we ship the docs as loose files rather than a sub-tarball.

commit   : e266be9110717a6901823de2126c8fce5fe30370    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 9 Sep 2010 17:19:46 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 9 Sep 2010 17:19:46 +0000    

Click here for diff

Also adjust the wording in a couple of places to make the lists of required  
software read more consistently.  

M doc/src/sgml/installation.sgml

Doc fixes:

commit   : a8745a9afda01a29a4dd573b194b0abb1b439a28    
  
author   : Bruce Momjian <[email protected]>    
date     : Thu, 9 Sep 2010 00:48:29 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Thu, 9 Sep 2010 00:48:29 +0000    

Click here for diff

- remove excessive table cells  
- moving function parameters into function tags rather than having  
  them being considered separate  
- add return type column on XML2 contrib module functions list and  
  removing return types from function  
- add table header to XML2 contrib parameter table  
  
Thom Brown  
  
Backpatch to 9.0.X.  

M doc/src/sgml/datatype.sgml
M doc/src/sgml/func.sgml
M doc/src/sgml/monitoring.sgml
M doc/src/sgml/plperl.sgml
M doc/src/sgml/sources.sgml
M doc/src/sgml/xml2.sgml

commit   : 83756a241a087a18f180526bde94703516c87f1c    
  
author   : Peter Eisentraut <[email protected]>    
date     : Wed, 8 Sep 2010 20:35:53 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Wed, 8 Sep 2010 20:35:53 +0000    

Click here for diff

M doc/src/sgml/installation.sgml
M doc/src/sgml/plpython.sgml

Clarify that surrogate pairs are not encoded in UTF-8 directly

commit   : f48fb5d823d1b62e57ab6a41928baccc10f4b559    
  
author   : Peter Eisentraut <[email protected]>    
date     : Tue, 7 Sep 2010 18:54:08 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Tue, 7 Sep 2010 18:54:08 +0000    

Click here for diff

M doc/src/sgml/syntax.sgml

commit   : d3581d3161208ed975ee23e826d7872ef4ee4795    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 7 Sep 2010 14:10:39 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 7 Sep 2010 14:10:39 +0000    

Click here for diff

Backpatch to 9.0.X.  

M contrib/pg_upgrade/controldata.c
M src/port/unsetenv.c

Pad the ps_status display with nulls, not blanks, on Darwin.

commit   : b74f7751420bae9e47961ad08e92b1fb5879fc6d    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 4 Sep 2010 17:46:03 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 4 Sep 2010 17:46:03 +0000    

Click here for diff

A long time ago, this didn't work nicely, but it seems to work on all recent  
versions of OS X.  The blank-pad method is less desirable since it results  
in lots of extra space in ps' output.  Per Alexey Klyukin.  

M src/backend/utils/misc/ps_status.c

Clean up description of ecpg's dtcvfmtasc function. Per KOIZUMI Satoru.

commit   : a2145a5b4331be788d5391eb4636751e0033d68f    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 2 Sep 2010 14:57:09 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 2 Sep 2010 14:57:09 +0000    

Click here for diff

M doc/src/sgml/ecpg.sgml

Clean up some bad grammar and punctuation in description of ecpg's decimal type. Per KOIZUMI Satoru.

commit   : ec3747f77e2be3bffcc0ad8ffa65af7c5ec31e90    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 2 Sep 2010 14:46:51 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 2 Sep 2010 14:46:51 +0000    

Click here for diff

M doc/src/sgml/ecpg.sgml

Fix up flushing of composite-type typcache entries to be driven directly by SI invalidation events, rather than indirectly through the relcache.

commit   : 7c18d3f1e0d51ab903962cf0bc88138fddb230bf    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 2 Sep 2010 03:16:52 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 2 Sep 2010 03:16:52 +0000    

Click here for diff

In the previous coding, we had to flush a composite-type typcache entry  
whenever we discarded the corresponding relcache entry.  This caused problems  
at least when testing with RELCACHE_FORCE_RELEASE, as shown in recent report  
from Jeff Davis, and might result in real-world problems given the kind of  
unexpected relcache flush that that test mechanism is intended to model.  
  
The new coding decouples relcache and typcache management, which is a good  
thing anyway from a structural perspective.  The cost is that we have to  
search the typcache linearly to find entries that need to be flushed.  There  
are a couple of ways we could avoid that, but at the moment it's not clear  
it's worth any extra trouble, because the typcache contains very few entries  
in typical operation.  
  
Back-patch to 8.2, the same as some other recent fixes in this general area.  
The patch could be carried back to 8.0 with some additional work, but given  
that it's only hypothetical whether we're fixing any problem observable in  
the field, it doesn't seem worth the work now.  

M src/backend/utils/cache/relcache.c
M src/backend/utils/cache/typcache.c
M src/include/utils/typcache.h

Clarify documentation of handling of null arguments for aggregates. Per discussion.

commit   : 43e48de4a51257a0fcf697825fe008031c9241b4    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 1 Sep 2010 18:22:35 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 1 Sep 2010 18:22:35 +0000    

Click here for diff

M doc/src/sgml/func.sgml
M doc/src/sgml/syntax.sgml

Improve release notes' description of Teodor's fixes for polygon overlaps and contains operators.

commit   : 41c8287de0d3c8942aa4842fff4af41091e0d90e    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 1 Sep 2010 15:14:48 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 1 Sep 2010 15:14:48 +0000    

Click here for diff

M doc/src/sgml/release-9.0.sgml

Add missing markup for translatability

commit   : 9602630f40d13f17178d0b7846871b242204c574    
  
author   : Alvaro Herrera <[email protected]>    
date     : Tue, 31 Aug 2010 05:57:56 +0000    
  
committer: Alvaro Herrera <[email protected]>    
date     : Tue, 31 Aug 2010 05:57:56 +0000    

Click here for diff

M doc/src/sgml/ref/create_aggregate.sgml

Cosmetic fixes for KnownAssignedXidsGetOldestXmin, per Fujii Masao.

commit   : bdf6b6a573e6409e1a0ed7201b2f9c0c19a5f332    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 30 Aug 2010 17:30:49 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 30 Aug 2010 17:30:49 +0000    

Click here for diff

M src/backend/storage/ipc/procarray.c

Fix misleading DEBUG2 issued during RemoveOldXlogFiles()

commit   : 34a7ee82c40d596b053456a14c7b8dffc2828762    
  
author   : Simon Riggs <[email protected]>    
date     : Mon, 30 Aug 2010 15:38:17 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Mon, 30 Aug 2010 15:38:17 +0000    

Click here for diff

M src/backend/access/transam/xlog.c

Truncate subtrans after each restartpoint. Issue reported by Harald Kolb, patch by Fujii Masao, review by me.

commit   : 4c5fb76c39da3ceba1a86ece576cab112470a878    
  
author   : Simon Riggs <[email protected]>    
date     : Mon, 30 Aug 2010 15:21:18 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Mon, 30 Aug 2010 15:21:18 +0000    

Click here for diff

M src/backend/access/transam/xlog.c

Teach GetOldestXmin() about KnownAssignedXids during recovery. Very minor issue, though this is required for a later patch. Reported by Heikki Linnakangas.

commit   : 7ab02365000045605b63920ec761fee172e8c346    
  
author   : Simon Riggs <[email protected]>    
date     : Mon, 30 Aug 2010 15:20:31 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Mon, 30 Aug 2010 15:20:31 +0000    

Click here for diff

M src/backend/storage/ipc/procarray.c

Fix typo in comment.

commit   : e123939e8b14561de13caeeb37d22e48a17e381b    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Mon, 30 Aug 2010 06:33:26 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Mon, 30 Aug 2010 06:33:26 +0000    

Click here for diff

M src/backend/storage/ipc/procsignal.c

Reduce PANIC to ERROR in some occasionally-reported btree failure cases.

commit   : b39bec1ac410b4e7ff5bcd3fd342d89ead29c2e6    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 29 Aug 2010 19:33:21 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 29 Aug 2010 19:33:21 +0000    

Click here for diff

This patch changes _bt_split() and _bt_pagedel() to throw a plain ERROR,  
rather than PANIC, for several cases that are reported from the field  
from time to time:  
* right sibling's left-link doesn't match;  
* PageAddItem failure during _bt_split();  
* parent page's next child isn't right sibling during _bt_pagedel().  
In addition the error messages for these cases have been made a bit  
more verbose, with additional values included.  
  
The original motivation for PANIC here was to capture core dumps for  
subsequent analysis.  But with so many users whose platforms don't capture  
core dumps by default, or who are unprepared to analyze them anyway, it's hard  
to justify a forced database restart when we can fairly easily detect the  
problems before we've reached the critical sections where PANIC would be  
necessary.  It is not currently known whether the reports of these messages  
indicate well-hidden bugs in Postgres, or are a result of storage-level  
malfeasance; the latter possibility suggests that we ought to try to be more  
robust even if there is a bug here that's ultimately found.  
  
Backpatch to 8.2.  The code before that is sufficiently different that  
it doesn't seem worth the trouble to back-port further.  

M src/backend/access/nbtree/nbtinsert.c
M src/backend/access/nbtree/nbtpage.c

Remove obsolete remark that PQprepare() is more flexible than PREPARE.

commit   : 0808cb109b3b5f270aa73ccfad8341d2da401976    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 29 Aug 2010 15:19:12 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 29 Aug 2010 15:19:12 +0000    

Click here for diff

Spotted by Dmitriy Igrishin.  Back-patch to 8.2, which is when the PREPARE  
statement was improved to allow parameter types to be omitted.  

M doc/src/sgml/libpq.sgml

tag rc1 ... final stretch ...

commit   : ee48d27e34f8c2c6a410b7265d8ac11dd8368e77    
  
author   : Marc G. Fournier <[email protected]>    
date     : Fri, 27 Aug 2010 03:04:41 +0000    
  
committer: Marc G. Fournier <[email protected]>    
date     : Fri, 27 Aug 2010 03:04:41 +0000    

Click here for diff

M configure
M configure.in
M doc/bug.template
M src/include/pg_config.h.win32

Document the existence of the socket lock file under unix_socket_directory, which is perhaps not a terribly good spot for it but there doesn't seem to be a better place. Also add a source-code comment pointing out a couple reasons for having a separate lock file. Per suggestion from Greg Smith.

commit   : d7a1feba67c3b1fbe47a186a5749c47034966a38    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 26 Aug 2010 22:00:32 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 26 Aug 2010 22:00:32 +0000    

Click here for diff

M doc/src/sgml/config.sgml
M src/backend/libpq/pqcomm.c

Explain automatic creation (or lack of it) of indexes for the various types of constraints.

commit   : cf95e921ff4957bed08ac94e3a9d0b91e00cc95f    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 26 Aug 2010 21:08:43 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 26 Aug 2010 21:08:43 +0000    

Click here for diff

Kevin Grittner  

M doc/src/sgml/ddl.sgml

Update time zone data files to tzdata release 2010l: DST law changes in Egypt and Palestine. Added new names for two Micronesian timezones: Pacific/Chuuk is now preferred over Pacific/Truk (and the preferred abbreviation is CHUT not TRUT) and Pacific/Pohnpei is preferred over Pacific/Ponape. Historical corrections for Finland.

commit   : 4ad4b95be26f6677d80cd744036b5e73c89406c7    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 26 Aug 2010 19:58:50 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 26 Aug 2010 19:58:50 +0000    

Click here for diff

M src/timezone/data/africa
M src/timezone/data/asia
M src/timezone/data/australasia
M src/timezone/data/backward
M src/timezone/data/europe
M src/timezone/data/leapseconds
M src/timezone/data/northamerica
M src/timezone/data/zone.tab
M src/timezone/tznames/Default
M src/timezone/tznames/Pacific.txt

Improve wording for privilege description on certain failure messages; the original misleadingly suggests that only access is meant, causing confusion. Per recent trouble report by Robert McGehee on pgsql-admin.

commit   : 2b9a93a21ad7d139df56441b049bc633025107c7    
  
author   : Alvaro Herrera <[email protected]>    
date     : Thu, 26 Aug 2010 19:49:41 +0000    
  
committer: Alvaro Herrera <[email protected]>    
date     : Thu, 26 Aug 2010 19:49:41 +0000    

Click here for diff

M src/backend/catalog/pg_shdepend.c
M src/test/regress/expected/dependency.out
M src/test/regress/expected/foreign_data.out

Remove duplicate translatable phrase

commit   : 803250e97bff07c56b3df517b0e05654aefe9d47    
  
author   : Alvaro Herrera <[email protected]>    
date     : Thu, 26 Aug 2010 19:24:40 +0000    
  
committer: Alvaro Herrera <[email protected]>    
date     : Thu, 26 Aug 2010 19:24:40 +0000    

Click here for diff

M src/backend/access/transam/xlog.c

Translation updates for 9.0rc1

commit   : d97ccb83ba1da7b366c27f2650b024286778d582    
  
author   : Peter Eisentraut <[email protected]>    
date     : Thu, 26 Aug 2010 19:23:10 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Thu, 26 Aug 2010 19:23:10 +0000    

Click here for diff

M src/backend/po/de.po
M src/backend/po/fr.po
M src/bin/pg_dump/po/pt_BR.po
M src/pl/plpython/po/de.po
M src/pl/plpython/po/fr.po

Fix ExecMakeTableFunctionResult to verify that all rows returned by a SRF returning "record" actually do have the same rowtype. This is needed because the parser can't realistically enforce that they will all have the same typmod, as seen in a recent example from David Wheeler.

commit   : 62275d55c44fb72d6e1102ef5e5b7d014fff8293    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 26 Aug 2010 18:54:44 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 26 Aug 2010 18:54:44 +0000    

Click here for diff

Back-patch to 8.0, which is as far back as we have the notion of RECORD  
subtypes being distinguished by typmod.  Wheeler's example depends on  
8.4-and-up features, but I suspect there may be ways to provoke similar  
failures before 8.4.  

M src/backend/executor/execQual.c

Don't auto-create the subdirectories holding built documentation in a VPATH build tree. If we actually build the docs in the VPATH tree, those dirs will get created then; but if they're present and empty, they capture the vpathsearch searches in "make install", preventing installation of prebuilt docs that might exist in the source tree. Per bug #5595 from Dmtiriy Igrishin. Fix based on idea from Peter Eisentraut.

commit   : b98317c8aa8b5ff900319dc4721f73669ea40870    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 26 Aug 2010 18:34:44 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 26 Aug 2010 18:34:44 +0000    

Click here for diff

M config/prep_buildtree

Remove docs for "Incrementally Updated Backups" because it was of questionable reliability; information moved to a wiki:

commit   : 2d685d4ec0b2b6c1e810a784f1d5ed9f9b2739e5    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 25 Aug 2010 23:56:03 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 25 Aug 2010 23:56:03 +0000    

Click here for diff

	http://wiki.postgresql.org/wiki/Incrementally_Updated_Backups  
  
Backpatch to 9.0.  

M doc/src/sgml/high-availability.sgml

Document filtering dictionaries in textsearch.sgml.

commit   : 6a167730e34f9658dd256deacb1f7965dca5178c    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 25 Aug 2010 21:43:01 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 25 Aug 2010 21:43:01 +0000    

Click here for diff

While at it, copy-edit the description of prefix-match marker support in  
synonym dictionaries, and clarify the description of the default unaccent  
dictionary a bit more.  

M doc/src/sgml/textsearch.sgml
M doc/src/sgml/unaccent.sgml

Improve hint message for ENOMEM failure from shmget().

commit   : b5cf172d2cb7daf930d43aba91897e0b1ae57ee0    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 25 Aug 2010 20:10:59 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 25 Aug 2010 20:10:59 +0000    

Click here for diff

It turns out that some platforms return ENOMEM for a request that violates  
SHMALL, whereas we were assuming that ENOSPC would always be used for that.  
Apparently the latter is a Linuxism while ENOMEM is the BSD tradition.  
Extend the ENOMEM hint to suggest that raising SHMALL might be needed.  
Per gripe from A.M.  
  
Backpatch to 9.0, but not further, because this doesn't seem important  
enough to warrant creating extra translation work in the stable branches.  
(If it were, we'd have figured this out years ago.)  

M src/backend/port/sysv_shmem.c

Update release notes, per comments from Simon Riggs.

commit   : 167557b47675088b5f62ec7b1b0374f4fa82b9e5    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 25 Aug 2010 19:41:51 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 25 Aug 2010 19:41:51 +0000    

Click here for diff

M doc/src/sgml/release-9.0.sgml

Catch null pointer returns from PyCObject_AsVoidPtr and PyCObject_FromVoidPtr

commit   : 7bc59f7cec26e16ee087bb0a9ab39c70af2f59d7    
  
author   : Peter Eisentraut <[email protected]>    
date     : Wed, 25 Aug 2010 19:37:52 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Wed, 25 Aug 2010 19:37:52 +0000    

Click here for diff

This is reproducibly possible in Python 2.7 if the user turned  
PendingDeprecationWarning into an error, but it's theoretically also possible  
in earlier versions in case of exceptional conditions.  
  
backpatched to 8.0  

M src/pl/plpython/plpython.c

Add missing description of reloftype field

commit   : a60d2000920de45e6c2c6055ea7f900645402616    
  
author   : Peter Eisentraut <[email protected]>    
date     : Wed, 25 Aug 2010 18:18:38 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Wed, 25 Aug 2010 18:18:38 +0000    

Click here for diff

M doc/src/sgml/catalogs.sgml

Docs review for unaccent: fix grammar, markup, etc.

commit   : 0d495e3412b4b7155a3004034db6de6e5c77e785    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 25 Aug 2010 02:12:11 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 25 Aug 2010 02:12:11 +0000    

Click here for diff

M doc/src/sgml/unaccent.sgml

Update 9.0 release notes for changes since beta4.

commit   : 5b9399f0a12f8ac76478611a7b610779894ba0b2    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 25 Aug 2010 00:48:06 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 25 Aug 2010 00:48:06 +0000    

Click here for diff

Note: as usual, bug fixes that were also applied in back branches are not  
considered material to include in a new major release's notes.  

M doc/src/sgml/release-9.0.sgml

Further editing of release notes.

commit   : 84cc6717bc34c4acc969fd7c1e05765112dcb3dc    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 24 Aug 2010 23:45:37 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 24 Aug 2010 23:45:37 +0000    

Click here for diff

M doc/src/sgml/release-9.0.sgml

Fix awkward wording in Incrementally Updated Backups docs.

commit   : 7946e1a71bf4e953551a5686e2d3d2dfd81aba4e    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 24 Aug 2010 15:22:19 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 24 Aug 2010 15:22:19 +0000    

Click here for diff

Backpatch to 9.0.X.  

M doc/src/sgml/high-availability.sgml

Clarifications for 9.0 release notes

commit   : bbc0d041fb8eca2055d6a3380d19aba66843c904    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 24 Aug 2010 14:46:35 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 24 Aug 2010 14:46:35 +0000    

Click here for diff

Josh Berkus  

M doc/src/sgml/release-9.0.sgml

Update autovacuum_freeze_max_age documentation to mention that the default is low because of pg_clog file removal.

commit   : fad4b0013de408852af6d0dcb906742d0b41553e    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 24 Aug 2010 13:32:32 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 24 Aug 2010 13:32:32 +0000    

Click here for diff

Backpatch to 9.0.X.  

M doc/src/sgml/config.sgml

Marginal code cleanup for streaming replication.

commit   : 914a2f6e987632bc6c5567e87d006459c38a423c    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 23 Aug 2010 17:20:08 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 23 Aug 2010 17:20:08 +0000    

Click here for diff

There is no reason that proc.c should have to get involved in this dirty hack  
for letting the postmaster know which children are walsenders.  Revert that  
file to the way it was, and confine the kluge to pmsignal.c and postmaster.c.  

M src/backend/storage/ipc/pmsignal.c
M src/backend/storage/lmgr/proc.c
M src/include/storage/pmsignal.h

Make pg_archivecleanup log messages more consistent.

commit   : 738df2f475c67743e2a8995f3a2cf914396e84ae    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 23 Aug 2010 02:56:29 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 23 Aug 2010 02:56:29 +0000    

Click here for diff

Erik Rijkers  

M contrib/pg_archivecleanup/pg_archivecleanup.c

Make an editorial pass over the 9.0 release notes.

commit   : 1be6be8f11f6fce171b9c5b9b5ce3ee5054f1484    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 23 Aug 2010 02:43:35 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 23 Aug 2010 02:43:35 +0000    

Click here for diff

This is mostly about grammar, style, and presentation, though I did find  
a few small factual errors.  

M doc/src/sgml/config.sgml
M doc/src/sgml/ddl.sgml
M doc/src/sgml/release-9.0.sgml

Document that autovacuum_freeze_max_age is used for pg_clog recycling. We already mentioned xid wraparound.

commit   : 84d30267c590ee5b82070dbc852dabf6369b507b    
  
author   : Bruce Momjian <[email protected]>    
date     : Sun, 22 Aug 2010 02:37:38 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sun, 22 Aug 2010 02:37:38 +0000    

Click here for diff

M doc/src/sgml/config.sgml

Use a non-locale-dependent definition of isspace() in array_in/array_out.

commit   : 0804734d9144f5a6010e8f395542c11533b5a1c1    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 21 Aug 2010 16:55:58 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 21 Aug 2010 16:55:58 +0000    

Click here for diff

array_in discards unquoted leading and trailing whitespace in array values,  
while array_out is careful to quote array elements that contain whitespace.  
This is problematic when the definition of "whitespace" varies between  
locales: array_in could drop characters that were meant to be part of the  
value.  To avoid that, lock down "whitespace" to mean only the traditional  
six ASCII space characters.  
  
This change also works around a bug in OS X and some older BSD systems, in  
which isspace() could return true for character fragments in UTF8 locales.  
(There may be other places in PG where that bug could cause problems, but  
this is the only one complained of so far; see recent report from Steven  
Schlansker.)  
  
Back-patch to 9.0, but not further.  Given the lack of previous reports  
of trouble, changing this behavior in stable branches seems to offer  
more risk of breaking applications than reward of avoiding problems.  

M src/backend/utils/adt/arrayfuncs.c

Improve parallel restore's ability to cope with selective restore (-L option).

commit   : 510034ac83a219c499486dc40793ecc6e6a9e539    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 21 Aug 2010 13:59:50 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 21 Aug 2010 13:59:50 +0000    

Click here for diff

The original coding tended to break down in the face of modified restore  
orders, as shown in bug #5626 from Albert Ullrich, because it would flip over  
into parallel-restore operation too soon.  That causes problems because we  
don't have sufficient dependency information in dump archives to allow safe  
parallel processing of SECTION_PRE_DATA items.  Even if we did, it's probably  
undesirable to allow that to override the commanded restore order.  
  
To fix the problem of omitted items causing unexpected changes in restore  
order, tweak SortTocFromFile so that omitted items end up at the head of  
the list not the tail.  This ensures that they'll be examined and their  
dependencies will be marked satisfied before we get to any interesting  
items.  
  
In HEAD and 9.0, we can easily change restore_toc_entries_parallel so that  
all SECTION_PRE_DATA items are guaranteed to be processed in the initial  
serial-restore loop, and hence in commanded order.  Only DATA and POST_DATA  
items are candidates for parallel processing.  For them there might be  
variations from the commanded order because of parallelism, but we should  
do it in a safe order thanks to dependencies.  
  
In 8.4 it's much harder to make such a guarantee.  I settled for not  
letting the initial loop break out into parallel processing mode if  
it sees a DATA/POST_DATA item that's not to be restored; this at least  
prevents a non-restorable item from causing premature exit from the loop.  
This means that 8.4 will be more likely to fail given a badly-ordered -L  
list than 9.x, but we don't really promise any such thing will work anyway.  

M src/bin/pg_dump/pg_backup_archiver.c

Bring some sanity to the trace_recovery_messages code and docs. Per gripe from Fujii Masao, though this is not exactly his proposed patch. Categorize as DEVELOPER_OPTIONS and set context PGC_SIGHUP, as per Fujii, but set the default to LOG because higher values aren't really sensible (see the code for trace_recovery()). Fix the documentation to agree with the code and to try to explain what the variable actually does. Get rid of no-op calls trace_recovery(LOG), which accomplish nothing except to demonstrate that this option confuses even its author.

commit   : f333f69d1919399e07a08d06f4bb7ffc5fae49b6    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 19 Aug 2010 22:55:10 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 19 Aug 2010 22:55:10 +0000    

Click here for diff

M doc/src/sgml/config.sgml
M src/backend/storage/ipc/standby.c
M src/backend/utils/error/elog.c
M src/backend/utils/misc/guc.c

Allow USING and INTO clauses of plpgsql's EXECUTE to appear in either order.

commit   : 4a1989ffd5bb7c93c7ccf860061a5142d5935268    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 19 Aug 2010 18:58:04 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 19 Aug 2010 18:58:04 +0000    

Click here for diff

Aside from being more forgiving, this prevents a rather surprising misbehavior  
when the "wrong" order was used: the old code didn't throw a syntax error,  
but absorbed the INTO clause into the last USING expression, which then did  
strange things downstream.  
  
Intentionally not changing the documentation; we'll continue to advertise  
only the "standard" clause order.  
  
Backpatch to 8.4, where the USING clause was added to EXECUTE.  

M src/pl/plpgsql/src/gram.y

Keep exec_simple_check_plan() from thinking "SELECT foo INTO bar" is simple.

commit   : f5c496b7f55fbe054d299cdbbac225bfdd47c848    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 19 Aug 2010 18:10:56 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 19 Aug 2010 18:10:56 +0000    

Click here for diff

It's not clear if this situation can occur in plpgsql other than via the  
EXECUTE USING case Heikki illustrated, which I will shortly close off.  
However, ignoring the intoClause if it's there is surely wrong, so let's  
patch it for safety.  
  
Backpatch to 8.3, which is as far back as this code has a PlannedStmt  
to deal with.  There might be another way to make an equivalent test  
before that, but since this is just preventing hypothetical bugs,  
I'm not going to obsess about it.  

M src/pl/plpgsql/src/pl_exec.c

Be a bit less cavalier with both the code and the comment for UNKNOWN fix.

commit   : 3d7feba4b36d67d5fd21231c43524de2ec33fbef    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 19 Aug 2010 17:31:50 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 19 Aug 2010 17:31:50 +0000    

Click here for diff

M src/pl/plpgsql/src/pl_exec.c

Revert patch to coerce 'unknown' type parameters in the backend. As Tom pointed out, it would need a 2nd pass after the whole query is processed to correctly check that an unknown Param is coerced to the same target type everywhere. Adding the 2nd pass would add a lot more code, which doesn't seem worth the risk given that there isn't much of a use case for passing unknown Params in the first place. The code would work without that check, but it might be confusing and the behavior would be different from the varparams case.

commit   : cc46c4e862214217e5901c2ea4573840a15dc2f4    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Thu, 19 Aug 2010 16:54:48 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Thu, 19 Aug 2010 16:54:48 +0000    

Click here for diff

Instead, just coerce all unknown params in a PL/pgSQL USING clause to text.  
That's simple, and is usually what users expect.  
  
Revert the patch in CVS HEAD and master, and backpatch the new solution to  
8.4. Unlike the previous solution, this applies easily to 8.4 too.  

M src/backend/parser/parse_param.c
M src/pl/plpgsql/src/pl_exec.c

Allocate local buffers in a context of their own, rather than dumping them into TopMemoryContext. This makes no functional difference, but makes it easier to see what the space is being used for in MemoryContextStats dumps. Per a recent example in which I was surprised by the size of TopMemoryContext.

commit   : 67b4fcf80689da2bc89fcacea7bb80c871fa3429    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 19 Aug 2010 16:16:27 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 19 Aug 2010 16:16:27 +0000    

Click here for diff

M src/backend/storage/buffer/localbuf.c

Fix possible corruption of AfterTriggerEventLists in subtransaction rollback.

commit   : 780a7dcb69bd9f48dc4656861ff6c75843544eb7    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 19 Aug 2010 15:46:24 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 19 Aug 2010 15:46:24 +0000    

Click here for diff

afterTriggerInvokeEvents failed to adjust events->tailfree when truncating  
the last chunk of an event list.  This could result in the data being  
"de-truncated" by afterTriggerRestoreEventList during a subsequent  
subtransaction abort.  Even that wouldn't kill us, because the re-added data  
would just be events marked DONE --- unless the data had been partially  
overwritten by new events.  Then we might crash, or in any case misbehave  
(perhaps fire triggers twice, or fire triggers with the wrong event data).  
Per bug #5622 from Thue Janus Kristensen.  
  
Back-patch to 8.4 where the current trigger list representation was introduced.  

M src/backend/commands/trigger.c

Reset the per-output-tuple exprcontext each time through the main loop in ExecModifyTable(). This avoids memory leakage when trigger functions leave junk behind in that context (as they more or less must). Problem and solution identified by Dean Rasheed.

commit   : 205fc921d727dbe547c6306ee0368f4b2a54d3aa    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 18 Aug 2010 21:52:32 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 18 Aug 2010 21:52:32 +0000    

Click here for diff

I'm a bit concerned about the longevity of this solution --- once a plan can  
have multiple ModifyTable nodes, we are very possibly going to have to do  
something different.  But it should hold up for 9.0.  

M src/backend/executor/nodeModifyTable.c

Fix failure of "ALTER TABLE t ADD COLUMN c serial" when done by non-owner.

commit   : 2eba69addcd716bb159fce6766182c2f667e5b1c    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 18 Aug 2010 18:35:30 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 18 Aug 2010 18:35:30 +0000    

Click here for diff

The implicitly created sequence was created as owned by the current user,  
who could be different from the table owner, eg if current user is a  
superuser or some member of the table's owning role.  This caused sanity  
checks in the SEQUENCE OWNED BY code to spit up.  Although possibly we  
don't need those sanity checks, the safest fix seems to be to make sure  
the implicit sequence is assigned the same owner role as the table has.  
(We still do all permissions checks as the current user, however.)  
Per report from Josh Berkus.  
  
Back-patch to 9.0.  The bug goes back to the invention of SEQUENCE OWNED BY  
in 8.2, but the fix requires an API change for DefineRelation(), which seems  
to have potential for breaking third-party code if done in a minor release.  
Given the lack of prior complaints, it's probably not worth fixing in the  
stable branches.  

M src/backend/commands/sequence.c
M src/backend/commands/tablecmds.c
M src/backend/commands/typecmds.c
M src/backend/commands/view.c
M src/backend/nodes/copyfuncs.c
M src/backend/nodes/equalfuncs.c
M src/backend/parser/gram.y
M src/backend/parser/parse_utilcmd.c
M src/backend/tcop/utility.c
M src/include/commands/tablecmds.h
M src/include/nodes/parsenodes.h

Add missing handling of PlannedStmt.transientPlan in copyfuncs/outfuncs.

commit   : 0321d031b51f35567947e4a478b157293c4a38c6    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 18 Aug 2010 15:22:00 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 18 Aug 2010 15:22:00 +0000    

Click here for diff

_outPlannedStmt is only debug support, so the omission there was not very  
serious, but the omission in _copyPlannedStmt is a real bug.  The consequence  
would be that a copied plan tree would never be marked as a transient plan,  
so that we would forget we ought to replan it after some not-yet-ready index  
becomes ready for use.  This might explain some past complaints about indexes  
created with CREATE INDEX CONCURRENTLY not being used right away.  Problem  
spotted by Yeb Havinga.  
  
Back-patch to 8.3, where the field was added.  

M src/backend/nodes/copyfuncs.c
M src/backend/nodes/outfuncs.c

Coerce 'unknown' type parameters to the right type in the fixed-params parse_analyze() function. That case occurs e.g with PL/pgSQL EXECUTE ... USING 'stringconstant'.

commit   : dbc466917383d66ca921224b7bb7b7b0f72e4920    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Wed, 18 Aug 2010 12:20:22 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Wed, 18 Aug 2010 12:20:22 +0000    

Click here for diff

The coercion with a CoerceViaIO node. The result is similar to the coercion  
via input function performed for unknown constants in coerce_type(),  
except that this happens at runtime.  
  
Backpatch to 9.0. The issue is present in 8.4 as well, but the coerce param  
hook infrastructure this patch relies on was introduced in 9.0. Given the  
lack of user reports and harmlessness of the bug, it's not worth attempting  
a different fix just for 8.4.  

M src/backend/parser/parse_param.c

Applied Zoltan's patch to fix a few memleaks in ecpg's pgtypeslib.

commit   : 277633b7e85167646a4fbd09aa3d0679fef154d6    
  
author   : Michael Meskes <[email protected]>    
date     : Tue, 17 Aug 2010 11:06:26 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Tue, 17 Aug 2010 11:06:26 +0000    

Click here for diff

M src/interfaces/ecpg/pgtypeslib/numeric.c
M src/interfaces/ecpg/test/compat_informix/dec_test.pgc
M src/interfaces/ecpg/test/expected/compat_informix-dec_test.c
M src/interfaces/ecpg/test/expected/pgtypeslib-dt_test.c
M src/interfaces/ecpg/test/expected/pgtypeslib-dt_test.stderr
M src/interfaces/ecpg/test/expected/pgtypeslib-dt_test2.c
M src/interfaces/ecpg/test/expected/pgtypeslib-nan_test.c
M src/interfaces/ecpg/test/expected/pgtypeslib-nan_test.stderr
M src/interfaces/ecpg/test/expected/pgtypeslib-num_test.c
M src/interfaces/ecpg/test/expected/pgtypeslib-num_test.stderr
M src/interfaces/ecpg/test/expected/pgtypeslib-num_test2.c
M src/interfaces/ecpg/test/expected/sql-array.c
M src/interfaces/ecpg/test/pgtypeslib/dt_test.pgc
M src/interfaces/ecpg/test/pgtypeslib/dt_test2.pgc
M src/interfaces/ecpg/test/pgtypeslib/nan_test.pgc
M src/interfaces/ecpg/test/pgtypeslib/num_test.pgc
M src/interfaces/ecpg/test/pgtypeslib/num_test2.pgc
M src/interfaces/ecpg/test/sql/array.pgc

Revert: looks like Binary Large OBject[sic] wasn't a misspelling

commit   : db7fe0de6280ea71c0ce949ee4a00da2af4bf2d8    
  
author   : Peter Eisentraut <[email protected]>    
date     : Tue, 17 Aug 2010 04:47:03 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Tue, 17 Aug 2010 04:47:03 +0000    

Click here for diff

M doc/src/sgml/lo.sgml

Spell and markup checking

commit   : f71145d0ec163439805d0433acb2e44a782e01f7    
  
author   : Peter Eisentraut <[email protected]>    
date     : Tue, 17 Aug 2010 04:37:19 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Tue, 17 Aug 2010 04:37:19 +0000    

Click here for diff

M doc/src/sgml/arch-dev.sgml
M doc/src/sgml/bki.sgml
M doc/src/sgml/btree-gin.sgml
M doc/src/sgml/btree-gist.sgml
M doc/src/sgml/catalogs.sgml
M doc/src/sgml/chkpass.sgml
M doc/src/sgml/citext.sgml
M doc/src/sgml/client-auth.sgml
M doc/src/sgml/config.sgml
M doc/src/sgml/contrib-spi.sgml
M doc/src/sgml/cube.sgml
M doc/src/sgml/cvs.sgml
M doc/src/sgml/datatype.sgml
M doc/src/sgml/dblink.sgml
M doc/src/sgml/diskusage.sgml
M doc/src/sgml/docguide.sgml
M doc/src/sgml/earthdistance.sgml
M doc/src/sgml/ecpg.sgml
M doc/src/sgml/external-projects.sgml
M doc/src/sgml/func.sgml
M doc/src/sgml/fuzzystrmatch.sgml
M doc/src/sgml/gin.sgml
M doc/src/sgml/gist.sgml
M doc/src/sgml/high-availability.sgml
M doc/src/sgml/hstore.sgml
M doc/src/sgml/indexam.sgml
M doc/src/sgml/indices.sgml
M doc/src/sgml/installation.sgml
M doc/src/sgml/intarray.sgml
M doc/src/sgml/isn.sgml
M doc/src/sgml/libpq.sgml
M doc/src/sgml/lo.sgml
M doc/src/sgml/ltree.sgml
M doc/src/sgml/monitoring.sgml
M doc/src/sgml/oid2name.sgml
M doc/src/sgml/pageinspect.sgml
M doc/src/sgml/pgarchivecleanup.sgml
M doc/src/sgml/pgbench.sgml
M doc/src/sgml/pgcrypto.sgml
M doc/src/sgml/pgfreespacemap.sgml
M doc/src/sgml/pgstandby.sgml
M doc/src/sgml/pgstattuple.sgml
M doc/src/sgml/pgtrgm.sgml
M doc/src/sgml/pgupgrade.sgml
M doc/src/sgml/planstats.sgml
M doc/src/sgml/plperl.sgml
M doc/src/sgml/plpgsql.sgml
M doc/src/sgml/ref/alter_opfamily.sgml
M doc/src/sgml/ref/alter_role.sgml
M doc/src/sgml/ref/create_opclass.sgml
M doc/src/sgml/ref/create_table.sgml
M doc/src/sgml/ref/create_trigger.sgml
M doc/src/sgml/ref/pg_ctl-ref.sgml
M doc/src/sgml/ref/pg_dumpall.sgml
M doc/src/sgml/ref/pg_restore.sgml
M doc/src/sgml/ref/psql-ref.sgml
M doc/src/sgml/regress.sgml
M doc/src/sgml/release-9.0.sgml
M doc/src/sgml/release.sgml
M doc/src/sgml/seg.sgml
M doc/src/sgml/spi.sgml
M doc/src/sgml/storage.sgml
M doc/src/sgml/tablefunc.sgml
M doc/src/sgml/trigger.sgml
M doc/src/sgml/unaccent.sgml
M doc/src/sgml/vacuumlo.sgml
M doc/src/sgml/wal.sgml
M doc/src/sgml/xindex.sgml
M doc/src/sgml/xml2.sgml
M doc/src/sgml/xoper.sgml

Arrange to fsync the contents of lockfiles (both postmaster.pid and the socket lockfile) when writing them. The lack of an fsync here may well explain two different reports we've seen of corrupted lockfile contents, which doesn't particularly bother the running server but can prevent a new server from starting if the old one crashes. Per suggestion from Alvaro.

commit   : c93b652c2dbafa6b5d3e59ca8c68814c0b03f502    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 16 Aug 2010 17:32:53 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 16 Aug 2010 17:32:53 +0000    

Click here for diff

Back-patch to all supported versions.  

M src/backend/utils/init/miscinit.c

Fix psql's copy of utf2ucs() to match the backend's copy exactly; in particular, propagate a fix in the test to see whether a UTF8 character has length 4 bytes. This is likely of little real-world consequence because 5-or-more-byte UTF8 sequences are not supported by Postgres nor seen anywhere in the wild, but still we may as well get it right. Problem found by Joseph Adams.

commit   : 59ea02a108908e5814e5bda21a86b126b849a837    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 16 Aug 2010 00:06:24 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 16 Aug 2010 00:06:24 +0000    

Click here for diff

Bug is aboriginal, so back-patch all the way.  

M src/bin/psql/mbprint.c

Assorted improvements to backup/restore documentation, per Thom Brown.

commit   : 5e25b70b232c0a59b0045704964ecba95191d07e    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 15 Aug 2010 23:04:54 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 15 Aug 2010 23:04:54 +0000    

Click here for diff

M doc/src/sgml/backup.sgml

Clarify bit numbering in get_bit/set_bit etc. Per gripe from Boszormenyi Zoltan.

commit   : 799743b792dc4c651c9d533b5ca50a0d9bcca39a    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 15 Aug 2010 21:26:42 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 15 Aug 2010 21:26:42 +0000    

Click here for diff

M doc/src/sgml/func.sgml

Improve pgarchivecleanup documentation, per comments from Satoshi Nagayasu.

commit   : 95139e6e66c19c27dd989c07a1f913d8d4eb3ec6    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 15 Aug 2010 20:20:35 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 15 Aug 2010 20:20:35 +0000    

Click here for diff

M doc/src/sgml/pgarchivecleanup.sgml

commit   : 7562423eb19ce874d0f2b237b091e7a9fbee84ba    
  
author   : Robert Haas <[email protected]>    
date     : Sun, 15 Aug 2010 01:57:12 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Sun, 15 Aug 2010 01:57:12 +0000    

Click here for diff

Kevin Grittner, with markup adjustments.  

M doc/src/sgml/pgcrypto.sgml
M doc/src/sgml/runtime.sgml

Fix planner to make a reasonable assumption about the amount of memory space used by array_agg(), string_agg(), and similar aggregate functions that use "internal" as their transition datatype. The previous coding thought this took *no* extra space, since "internal" is pass-by-value; but actually these aggregates typically consume a great deal of space. Per bug #5608 from Itagaki Takahiro, and fix suggestion from Hitoshi Harada.

commit   : a5955f4a652054bb00c11de96f90300b01ccbe27    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 14 Aug 2010 15:47:21 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 14 Aug 2010 15:47:21 +0000    

Click here for diff

Back-patch to 8.4, where array_agg was introduced.  

M src/backend/optimizer/util/clauses.c

Fix Assert failure in PushOverrideSearchPath when trying to restore a search path that specifies useTemp, but there is no active temp schema in the current session. (This can happen if the path was saved during a transaction that created a temp schema and was later rolled back.) For existing callers it's sufficient to ignore the useTemp flag in this case, though we might later want to offer an option to create a fresh temp schema. So far as I can tell this is just an Assert failure: in a non-assert build, the code would push a zero onto the new search path, which is useless but not very harmful. Per bug report from Heikki.

commit   : d2945deefb9a491cd2d015aeb893f24beb5e97cb    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 13 Aug 2010 16:27:18 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 13 Aug 2010 16:27:18 +0000    

Click here for diff

Back-patch to 8.3; prior versions don't have this code.  

M src/backend/catalog/namespace.c
M src/backend/utils/cache/plancache.c

Make RecordTransactionCommit() respect wal_level.

commit   : 361cadb224ffdd99ade5b9c4c21c042c3cd24059    
  
author   : Robert Haas <[email protected]>    
date     : Fri, 13 Aug 2010 15:45:17 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Fri, 13 Aug 2010 15:45:17 +0000    

Click here for diff

Since the only purpose of WAL-loggin SharedInvalidationMessages is to support  
Hot Standby operation, they needn't be included when wal_level < hot_standby.  
  
Back-patch to 9.0.  
  
Review by Heikki Linnakanagas and Fujii Masao.  

M src/backend/access/transam/xact.c

Fix pg_restore to complain if any arguments remain after parsing the switches and input file name, per bug #5617 from Leo Shklovskii. Rearrange the corresponding code in pg_dump and pg_dumpall so that all three programs handle this in a consistent, straightforward fashion.

commit   : e507a3ee7b47185a8f8fe28dc22c0ed94d5b218f    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 13 Aug 2010 14:38:12 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 13 Aug 2010 14:38:12 +0000    

Click here for diff

Back-patch to 9.0, but no further.  Although this is certainly a bug, it's  
possible that people have scripts that will be broken by the added error  
check, so it seems better not to change the behavior in stable branches.  

M src/bin/pg_dump/pg_dump.c
M src/bin/pg_dump/pg_dumpall.c
M src/bin/pg_dump/pg_restore.c

Reorder docs on lexical structure slightly for clarity.

commit   : 5be77ca563e8dce4fbaa15387186de8448a7a413    
  
author   : Robert Haas <[email protected]>    
date     : Fri, 13 Aug 2010 01:12:51 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Fri, 13 Aug 2010 01:12:51 +0000    

Click here for diff

Thom Brown  

M doc/src/sgml/syntax.sgml

commit   : ed3ea3fa0c02a88753c5a162a1fe94e67604b627    
  
author   : Robert Haas <[email protected]>    
date     : Thu, 12 Aug 2010 23:25:45 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Thu, 12 Aug 2010 23:25:45 +0000    

Click here for diff

Fujii Masao  

M src/backend/access/transam/xact.c
M src/backend/storage/ipc/procarray.c
M src/backend/storage/ipc/standby.c
M src/backend/tcop/postgres.c
M src/include/access/xlog.h
M src/include/catalog/pg_control.h

Back out syntax case changes --- seems they were intentional.

commit   : 8cc3c67c245e3df61db053dc16e8dad26f253f4a    
  
author   : Bruce Momjian <[email protected]>    
date     : Thu, 12 Aug 2010 02:04:07 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Thu, 12 Aug 2010 02:04:07 +0000    

Click here for diff

M doc/src/sgml/syntax.sgml

Properly lowercase identifiers, uppercase keywords, in doc examples

commit   : f483b02041aaa5e1df055706296096ef00dac47f    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 11 Aug 2010 21:49:01 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 11 Aug 2010 21:49:01 +0000    

Click here for diff

M doc/src/sgml/syntax.sgml

The sanity check added to array_recv() wa a bit too tight; we must continue to accept an empty array with dimension information. array_send() can output such arrays.

commit   : e286b85c90d2197b9eaa2dc6d0b2b67795ba7ab9    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Wed, 11 Aug 2010 19:12:36 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Wed, 11 Aug 2010 19:12:36 +0000    

Click here for diff

Per report from Vladimir Shakhov.  

M src/backend/utils/adt/arrayfuncs.c

Fix one more incorrect errno definition in the ECPG manual.

commit   : 101096013e47fcfd75be42142ebeeb69c035d8af    
  
author   : Robert Haas <[email protected]>    
date     : Wed, 11 Aug 2010 19:03:25 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Wed, 11 Aug 2010 19:03:25 +0000    

Click here for diff

Again, back-patch all the way to 7.4.  

M doc/src/sgml/ecpg.sgml

Fix incorrect errno definitions in ECPG manual.

commit   : 5eac6a9ac0108f988bc10b3303318a7335d0c7c7    
  
author   : Robert Haas <[email protected]>    
date     : Wed, 11 Aug 2010 18:52:12 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Wed, 11 Aug 2010 18:52:12 +0000    

Click here for diff

ecpgerrno.h hasn't materially changed since PostgreSQL 7.4, so this has  
been wrong for a very long time.  Back-patch all the way.  
  
Satoshi Nagayasu  

M doc/src/sgml/ecpg.sgml

commit   : efb49d5bea3630c66150e10dda4e9d5a48553de4    
  
author   : Peter Eisentraut <[email protected]>    
date     : Tue, 10 Aug 2010 20:42:02 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Tue, 10 Aug 2010 20:42:02 +0000    

Click here for diff

M doc/src/sgml/isn.sgml
M doc/src/sgml/pgcrypto.sgml
M doc/src/sgml/pgstattuple.sgml
M doc/src/sgml/seg.sgml
M doc/src/sgml/tablefunc.sgml
M doc/src/sgml/uuid-ossp.sgml
M doc/src/sgml/xml2.sgml

<example> is a floating element, so it's use is inappropriate when the surrounding text refers to the example inline.

commit   : e0e08d3c80cb0db98cd1710f35fd52b6274ef88e    
  
author   : Peter Eisentraut <[email protected]>    
date     : Tue, 10 Aug 2010 20:41:28 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Tue, 10 Aug 2010 20:41:28 +0000    

Click here for diff

M doc/src/sgml/datatype.sgml

Use double quotes rather than double quotes for libpq target anchors.

commit   : 65559c385d1ffb7e7744bd501ef216fa7348638d    
  
author   : Robert Haas <[email protected]>    
date     : Tue, 10 Aug 2010 02:57:03 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Tue, 10 Aug 2010 02:57:03 +0000    

Click here for diff

Per observation from Tom Lane that the previous patch to these files was  
not consistent with what is done elsewhere in the docs.  

M doc/src/sgml/libpq.sgml
M doc/src/sgml/lobj.sgml

Add EXPLAIN documentation example.

commit   : 4798e2144770969ea3436933bbfe6e0367b3bdca    
  
author   : Bruce Momjian <[email protected]>    
date     : Mon, 9 Aug 2010 23:49:33 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Mon, 9 Aug 2010 23:49:33 +0000    

Click here for diff

gabrielle <[email protected]>  
  
Backpatch to 9.0.X.  

M doc/src/sgml/ref/explain.sgml

Fix incorrect logic in plpgsql for cleanup after evaluation of non-simple expressions. We need to deal with this when handling subscripts in an array assignment, and also when catching an exception. In an Assert-enabled build these omissions led to Assert failures, but I think in a normal build the only consequence would be short-term memory leakage; which may explain why this wasn't reported from the field long ago.

commit   : 6d301d938f7d7cb19f730eff44e65bc8addde68a    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 9 Aug 2010 18:50:20 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 9 Aug 2010 18:50:20 +0000    

Click here for diff

Back-patch to all supported versions.  7.4 doesn't have exceptions, but  
otherwise these bugs go all the way back.  
  
Heikki Linnakangas and Tom Lane  

M src/pl/plpgsql/src/pl_exec.c
M src/test/regress/expected/plpgsql.out
M src/test/regress/sql/plpgsql.sql

Provide stable target anchors for libpq functions.

commit   : 6d8ae3fa081540fbae447e6250d02f152396eb8c    
  
author   : Robert Haas <[email protected]>    
date     : Mon, 9 Aug 2010 12:00:39 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Mon, 9 Aug 2010 12:00:39 +0000    

Click here for diff

Daniele Varrazzo  

M doc/src/sgml/libpq.sgml
M doc/src/sgml/lobj.sgml

Fix indexterm spelling

commit   : d720567f2112ecc4a572248a9dde3ca7a6c293a6    
  
author   : Peter Eisentraut <[email protected]>    
date     : Fri, 6 Aug 2010 20:09:01 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Fri, 6 Aug 2010 20:09:01 +0000    

Click here for diff

M doc/src/sgml/xfunc.sgml

commit   : d92ca54d0ae8d6d47ad7bfdea687bcac43e3788d    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 6 Aug 2010 19:13:18 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 6 Aug 2010 19:13:18 +0000    

Click here for diff

M doc/src/sgml/release-9.0.sgml

Fix inaccurate description of deferrable unique constraints, per Dean Rasheed.

commit   : 9a299eee03a509488ef25cf7b2330f51c0638500    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 6 Aug 2010 18:55:30 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 6 Aug 2010 18:55:30 +0000    

Click here for diff

M doc/src/sgml/release-9.0.sgml

Rearrange "big features" section of the release notes.

commit   : 00d9d5964eb2c5ce2f22836524beb9631f3c064a    
  
author   : Robert Haas <[email protected]>    
date     : Fri, 6 Aug 2010 17:57:03 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Fri, 6 Aug 2010 17:57:03 +0000    

Click here for diff

Josh Berkus  

M doc/src/sgml/release-9.0.sgml

Add a very specific hint for the case that we're unable to locate a function matching a call like f(x, ORDER BY y,z). It could be that what the user really wants is f(x,z ORDER BY y). We now have pretty conclusive evidence that many people won't understand this problem without concrete guidance, so give it to them. Per further discussion of the string_agg() problem.

commit   : 331c3c218b369d2f919c800654e4ca6e5f209aac    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 5 Aug 2010 21:45:45 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 5 Aug 2010 21:45:45 +0000    

Click here for diff

M src/backend/parser/parse_func.c

Document which Python environment variables affect PL/Python

commit   : 5f5f19366229215eb10109c8e24cb665b27be994    
  
author   : Peter Eisentraut <[email protected]>    
date     : Thu, 5 Aug 2010 18:36:31 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Thu, 5 Aug 2010 18:36:31 +0000    

Click here for diff

M doc/src/sgml/plpython.sgml

Remove the single-argument form of string_agg(). It added nothing much in functionality, while creating an ambiguity in usage with ORDER BY that at least two people have already gotten seriously confused by. Also, add an opr_sanity test to check that we don't in future violate the newly minted policy of not having built-in aggregates with the same name and different numbers of parameters. Per discussion of a complaint from Thom Brown.

commit   : bdd538c571ff6712b9c17b179791592629ad5207    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 5 Aug 2010 18:21:31 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 5 Aug 2010 18:21:31 +0000    

Click here for diff

M doc/src/sgml/func.sgml
M doc/src/sgml/syntax.sgml
M src/backend/utils/adt/varlena.c
M src/include/catalog/catversion.h
M src/include/catalog/pg_aggregate.h
M src/include/catalog/pg_proc.h
M src/include/utils/builtins.h
M src/test/regress/expected/aggregates.out
M src/test/regress/expected/opr_sanity.out
M src/test/regress/sql/aggregates.sql
M src/test/regress/sql/opr_sanity.sql

Forgot to back-patch earlier change to documentation for aggregate ORDER BY clauses.

commit   : 6a366113e6f9661fa270197807dadde55e69b5ed    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 4 Aug 2010 22:31:55 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 4 Aug 2010 22:31:55 +0000    

Click here for diff

M doc/src/sgml/syntax.sgml

Fix sloppy mistakes in documentation of PQescapeLiteral and PQescapeIdentifier. Noted by Dmitriy Igrishin.

commit   : 5e84e1ac05ab325b6c9b2f035d8cd28b2f84e036    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 4 Aug 2010 16:27:13 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 4 Aug 2010 16:27:13 +0000    

Click here for diff

M doc/src/sgml/libpq.sgml

Fix inheritance count tracking in ALTER TABLE .. ADD CONSTRAINT.

commit   : e4a5dc7b8e78b206253982ca06311af1b33f79ae    
  
author   : Robert Haas <[email protected]>    
date     : Tue, 3 Aug 2010 15:47:09 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Tue, 3 Aug 2010 15:47:09 +0000    

Click here for diff

Without this patch, constraints inherited by children of a parent  
table which itself has multiple inheritance parents can end up with  
the wrong coninhcount.  After dropping the constraint, the children  
end up with a leftover copy of the constraint that is not dumped  
and cannot be dropped.  There is a similar problem with ALTER TABLE  
.. ADD COLUMN, but that looks significantly more difficult to  
resolve, so I'm committing this fix separately.  
  
Back-patch to 8.4, which is the first release that has coninhcount.  
  
Report by Hank Enting.  

M src/backend/commands/tablecmds.c

Fix core dump in QTNodeCompare when tsquery_cmp() is applied to two empty tsqueries. CompareTSQ has to have a guard for the case rather than blindly applying QTNodeCompare to random data past the end of the datums. Also, change QTNodeCompare to be a little less trusting: use an actual test rather than just Assert'ing that the input is sane. Problem encountered while investigating another issue (I saw a core dump in autoanalyze on a table containing multiple empty tsquery values).

commit   : 2f203642f817e596bdfab2158cf32ce2e5c0eca5    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 3 Aug 2010 00:10:44 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 3 Aug 2010 00:10:44 +0000    

Click here for diff

Back-patch to all branches with tsquery support.  
  
In HEAD, also fix some bizarre (though not outright wrong) coding in  
tsq_mcontains().  

M src/backend/utils/adt/tsquery_op.c
M src/backend/utils/adt/tsquery_util.c

Don't try to force use of -no-cpp-precomp on OS X. It's been five years since Apple shipped a compiler that needed this switch, and there's increasing interest in using other compilers that won't accept the switch at all. Better to let anybody who still needs the switch inject it via CPPFLAGS. Per gripe from Neil Conway.

commit   : 3e3ee1dfc35b4b2449f36bc31a32388951142f61    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 2 Aug 2010 04:51:25 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 2 Aug 2010 04:51:25 +0000    

Click here for diff

M src/template/darwin

Fix an ancient typo that prevented the detection of conflicting fields when interval input "invalid" was specified together with other fields. Spotted by Neil Conway with the help of a clang warning. Although this has been wrong since the interval code was written more than 10 years ago, it doesn't affect anything beyond which error message you get for a wrong input, so not worth back-patching very far.

commit   : 12dbe763f31af809731a0cc2493a08091bebd4ea    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 2 Aug 2010 01:25:02 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 2 Aug 2010 01:25:02 +0000    

Click here for diff

M src/backend/utils/adt/datetime.c
M src/interfaces/ecpg/pgtypeslib/interval.c

Back-patch fix for renaming asyncCommitLSN to asyncXactLSN. AIUI this was supposed to go into 9.0 as well as HEAD.

commit   : 727117fe4e170ae860fe18d01377d0a46c4d94f2    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 1 Aug 2010 23:07:05 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 1 Aug 2010 23:07:05 +0000    

Click here for diff

M src/backend/access/transam/xact.c
M src/backend/access/transam/xlog.c
M src/include/access/xlog.h

Fix ANALYZE's ancient deficiency of not trying to collect stats for expression indexes when the index column type (the opclass opckeytype) is different from the expression's datatype. When coded, this limitation wasn't worth worrying about because we had no intelligence to speak of in stats collection for the datatypes used by such opclasses. However, now that there's non-toy estimation capability for tsvector queries, it amounts to a bug that ANALYZE fails to do this.

commit   : 2fa68e2a351b44b01a30c8f72bedbe8e93b4fd46    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 1 Aug 2010 22:38:20 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 1 Aug 2010 22:38:20 +0000    

Click here for diff

The fix changes struct VacAttrStats, and therefore constitutes an API break  
for custom typanalyze functions.  Therefore we can't back-patch it into  
released branches, but it was agreed that 9.0 isn't yet frozen hard enough  
to make such a change unacceptable.  Ergo, back-patch to 9.0 but no further.  
The API break had better be mentioned in 9.0 release notes.  

M src/backend/commands/analyze.c
M src/include/commands/vacuum.h

Fix an additional set of problems in GIN's handling of lossy page pointers. Although the key-combining code claimed to work correctly if its input contained both lossy and exact pointers for a single page in a single TID stream, in fact this did not work, and could not work without pretty fundamental redesign. Modify keyGetItem so that it will not return such a stream, by handling lossy-pointer cases a bit more explicitly than we did before.

commit   : 7354dbfa8c2f88dfea1a93960e04d1d7544d38c3    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 1 Aug 2010 19:16:47 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 1 Aug 2010 19:16:47 +0000    

Click here for diff

Per followup investigation of a gripe from Artur Dabrowski.  
An example of a query that failed given his data set is  
select count(*) from search_tab where  
(to_tsvector('german', keywords ) @@ to_tsquery('german', 'ee:* | dd:*')) and  
(to_tsvector('german', keywords ) @@ to_tsquery('german', 'aa:*'));  
  
Back-patch to 8.4 where the lossy pointer code was introduced.  

M src/backend/access/gin/ginget.c
M src/include/access/gin.h

Rewrite the rbtree routines so that an RBNode is the first field of the struct representing a tree entry, rather than being a separately allocated piece of storage. This API is at least as clean as the old one (if not more so --- there were some bizarre choices in there) and it permits a very substantial memory savings, on the order of 2X in ginbulk.c's usage.

commit   : 538cb94db8ca507803d22a3c0ee1649822ec1c03    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 1 Aug 2010 02:12:51 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 1 Aug 2010 02:12:51 +0000    

Click here for diff

Also, fix minor memory leaks in code called by ginEntryInsert, in  
particular in ginInsertValue and entryFillRoot, as well as ginEntryInsert  
itself.  These leaks resulted in the GIN index build context continuing  
to bloat even after we'd filled it to maintenance_work_mem and started  
to dump data out to the index.  
  
In combination these fixes restore the GIN index build code to honoring  
the maintenance_work_mem limit about as well as it did in 8.4.  Speed  
seems on par with 8.4 too, maybe even a bit faster, for a non-pathological  
case in which HEAD was formerly slower.  
  
Back-patch to 9.0 so we don't have a performance regression from 8.4.  

M src/backend/access/gin/ginbtree.c
M src/backend/access/gin/ginbulk.c
M src/backend/access/gin/ginentrypage.c
M src/backend/access/gin/ginfast.c
M src/backend/access/gin/gininsert.c
M src/backend/utils/misc/rbtree.c
M src/include/access/gin.h
M src/include/utils/rbtree.h

Tweak tsmatchsel() so that it examines the structure of the tsquery whenever possible (ie, whenever the tsquery is a constant), even when no statistics are available for the tsvector. For example, foo @@ 'a & b'::tsquery can be expected to be more selective than foo @@ 'a'::tsquery, whether or not we know anything about foo. We use DEFAULT_TS_MATCH_SEL as the assumed selectivity of individual query terms when no stats are available, then combine the terms according to the query's AND/OR structure as usual.

commit   : c9e845f82ae03887aa435be4804def62a1b3479c    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 31 Jul 2010 03:27:48 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 31 Jul 2010 03:27:48 +0000    

Click here for diff

Per experimentation with Artur Dabrowski's example.  (The fact that there  
are no stats available in that example is a problem in itself, but  
nonetheless tsmatchsel should be smarter about the case.)  
  
Back-patch to 8.4 to keep all versions of tsmatchsel() in sync.  

M src/backend/tsearch/ts_selfuncs.c

Rewrite the key-combination logic in GIN's keyGetItem() and scanGetItem() routines to make them behave better in the presence of "lossy" index pointers. The previous coding was outright incorrect for some cases, as recently reported by Artur Dabrowski: scanGetItem would fail to return index entries in cases where one index key had multiple exact pointers on the same page as another key had a lossy pointer. Also, keyGetItem was extremely inefficient for cases where a single index key generates multiple "entry" streams, such as an @@ operator with a multiple-clause tsquery. The presence of a lossy page pointer in any one stream defeated its ability to use the opclass consistentFn, resulting in probing many heap pages that didn't really need to be visited. In Artur's example case, a query like WHERE tsvector @@ to_tsquery('a & b') was about 50X slower than the theoretically equivalent WHERE tsvector @@ to_tsquery('a') AND tsvector @@ to_tsquery('b') The way that I chose to fix this was to have GIN call the consistentFn twice with both TRUE and FALSE values for the in-doubt entry stream, returning a hit if either call produces TRUE, but not if they both return FALSE. The code handles this for the case of a single in-doubt entry stream, but punts (falling back to the stupid behavior) if there's more than one lossy reference to the same page. The idea could be scaled up to deal with multiple lossy references, but I think that would probably be wasted complexity. At least to judge by Artur's example, such cases don't occur often enough to be worth trying to optimize.

commit   : ed34833c572e64930ef5412ea68274064e0052e0    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 31 Jul 2010 00:31:04 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 31 Jul 2010 00:31:04 +0000    

Click here for diff

Back-patch to 8.4.  8.3 did not have lossy GIN index pointers, so not  
subject to these problems.  

M src/backend/access/gin/ginget.c
M src/backend/access/gin/ginscan.c
M src/include/access/gin.h

tag for beta4

commit   : 5f3c54a3a6c771980fe7c55b747e8bea7199ae77    
  
author   : Marc G. Fournier <[email protected]>    
date     : Fri, 30 Jul 2010 03:31:41 +0000    
  
committer: Marc G. Fournier <[email protected]>    
date     : Fri, 30 Jul 2010 03:31:41 +0000    

Click here for diff

M configure
M configure.in
M doc/bug.template
M src/include/pg_config.h.win32

Improved version of patch to protect pg_get_expr() against misuse: look through join alias Vars to avoid breaking join queries, and move the test to someplace where it will catch more possible ways of calling a function. We still ought to throw away the whole thing in favor of a data-type-based solution, but that's not feasible in the back branches.

commit   : c902ad9ca950fa1e6577ee3d13d96d4e78e84606    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 29 Jul 2010 23:16:41 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 29 Jul 2010 23:16:41 +0000    

Click here for diff

This needs to be back-patched further than 9.0, but I don't have time  
to do so today.  Committing now so that the fix gets into 9.0beta4.  

M src/backend/parser/parse_expr.c
M src/backend/parser/parse_func.c
M src/backend/parser/parse_oper.c
M src/include/parser/parse_func.h

Update release notes for 9.0 beta 4. Back-patch some changes that were made only in HEAD.

commit   : a0194371a8b037b6c9c189df73a420e0dfae6041    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 29 Jul 2010 21:18:16 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 29 Jul 2010 21:18:16 +0000    

Click here for diff

M doc/src/sgml/release-9.0.sgml

commit   : 33e142ec32e31810e92a61c91f355f38783b0bb9    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 29 Jul 2010 20:09:34 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 29 Jul 2010 20:09:34 +0000    

Click here for diff

Back-patch to 9.0, along with an earlier fix to correctly mark cash_in  
and cash_out as stable not immutable (since they depend on lc_monetary).  
  
No catversion bump --- the implications of this are not currently  
severe enough to justify a forced initdb.  

M src/include/catalog/pg_proc.h

Translation updates for 9.0beta4

commit   : a6c243ed9c3b9686e802107d8365ac69a1d62949    
  
author   : Peter Eisentraut <[email protected]>    
date     : Thu, 29 Jul 2010 19:39:47 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Thu, 29 Jul 2010 19:39:47 +0000    

Click here for diff

M src/backend/po/de.po
M src/backend/po/fr.po
M src/backend/po/ja.po
M src/bin/initdb/po/ja.po
M src/bin/initdb/po/sv.po
M src/bin/pg_config/po/fr.po
M src/bin/pg_config/po/ja.po
M src/bin/pg_config/po/pt_BR.po
M src/bin/pg_config/po/sv.po
M src/bin/pg_controldata/po/ja.po
M src/bin/pg_controldata/po/pt_BR.po
M src/bin/pg_ctl/po/ja.po
M src/bin/pg_dump/po/ja.po
M src/bin/pg_resetxlog/po/ja.po
M src/bin/pg_resetxlog/po/pt_BR.po
M src/bin/psql/po/ja.po
M src/bin/scripts/po/ja.po
M src/interfaces/ecpg/ecpglib/po/ja.po
M src/interfaces/ecpg/preproc/po/ja.po
M src/interfaces/libpq/po/de.po
M src/interfaces/libpq/po/fr.po
M src/interfaces/libpq/po/ja.po
M src/interfaces/libpq/po/pt_BR.po
M src/interfaces/libpq/po/sv.po
M src/pl/plperl/po/ja.po
M src/pl/plperl/po/pt_BR.po
M src/pl/plpgsql/src/nls.mk
M src/pl/plpgsql/src/po/ja.po
A src/pl/plpgsql/src/po/pt_BR.po
M src/pl/plpython/po/de.po
M src/pl/plpython/po/fr.po
M src/pl/plpython/po/ja.po
M src/pl/plpython/po/pt_BR.po
M src/pl/tcl/po/ja.po

Fix indentation of verbatim block elements

commit   : 85084020be03b93f8c54e8491fdd34aa4265145f    
  
author   : Peter Eisentraut <[email protected]>    
date     : Thu, 29 Jul 2010 19:34:37 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Thu, 29 Jul 2010 19:34:37 +0000    

Click here for diff

Block elements with verbatim formatting (literallayout, programlisting,  
screen, synopsis) should be aligned at column 0 independent of the surrounding  
SGML, because whitespace is significant, and indenting them creates erratic  
whitespace in the output.  The CSS stylesheets already take care of indenting  
the output.  
  
Assorted markup improvements to go along with it.  

M doc/src/sgml/auto-explain.sgml
M doc/src/sgml/citext.sgml
M doc/src/sgml/client-auth.sgml
M doc/src/sgml/config.sgml
M doc/src/sgml/cube.sgml
M doc/src/sgml/datatype.sgml
M doc/src/sgml/dblink.sgml
M doc/src/sgml/ddl.sgml
M doc/src/sgml/dict-xsyn.sgml
M doc/src/sgml/ecpg.sgml
M doc/src/sgml/func.sgml
M doc/src/sgml/fuzzystrmatch.sgml
M doc/src/sgml/hstore.sgml
M doc/src/sgml/indexam.sgml
M doc/src/sgml/install-win32.sgml
M doc/src/sgml/intagg.sgml
M doc/src/sgml/intarray.sgml
M doc/src/sgml/isn.sgml
M doc/src/sgml/libpq.sgml
M doc/src/sgml/lo.sgml
M doc/src/sgml/ltree.sgml
M doc/src/sgml/monitoring.sgml
M doc/src/sgml/oid2name.sgml
M doc/src/sgml/pageinspect.sgml
M doc/src/sgml/pgarchivecleanup.sgml
M doc/src/sgml/pgbench.sgml
M doc/src/sgml/pgbuffercache.sgml
M doc/src/sgml/pgcrypto.sgml
M doc/src/sgml/pgfreespacemap.sgml
M doc/src/sgml/pgrowlocks.sgml
M doc/src/sgml/pgstandby.sgml
M doc/src/sgml/pgstatstatements.sgml
M doc/src/sgml/pgstattuple.sgml
M doc/src/sgml/pgtrgm.sgml
M doc/src/sgml/plperl.sgml
M doc/src/sgml/plpgsql.sgml
M doc/src/sgml/ref/alter_domain.sgml
M doc/src/sgml/ref/alter_sequence.sgml
M doc/src/sgml/ref/alter_type.sgml
M doc/src/sgml/ref/create_index.sgml
M doc/src/sgml/ref/grant.sgml
M doc/src/sgml/release-8.1.sgml
M doc/src/sgml/release-old.sgml
M doc/src/sgml/seg.sgml
M doc/src/sgml/sql.sgml
M doc/src/sgml/sslinfo.sgml
M doc/src/sgml/stylesheet.css
M doc/src/sgml/tablefunc.sgml
M doc/src/sgml/textsearch.sgml
M doc/src/sgml/unaccent.sgml
M doc/src/sgml/uuid-ossp.sgml
M doc/src/sgml/vacuumlo.sgml
M doc/src/sgml/xaggr.sgml
M doc/src/sgml/xfunc.sgml
M doc/src/sgml/xml2.sgml

Fix another longstanding problem in copy_relation_data: it was blithely assuming that a local char[] array would be aligned on at least a word boundary. There are architectures on which that is pretty much guaranteed to NOT be the case ... and those arches also don't like non-aligned memory accesses, meaning that log_newpage() would crash if it ever got invoked. Even on Intel-ish machines there's a potential for a large performance penalty from doing I/O to an inadequately aligned buffer. So palloc it instead.

commit   : c04b3f45b9f9c963d8d008d93651fec6a4abf66e    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 29 Jul 2010 19:23:28 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 29 Jul 2010 19:23:28 +0000    

Click here for diff

Backpatch to 8.0 --- 7.4 doesn't have this code.  

M src/backend/commands/tablecmds.c

Work around a documentation toolchain problem by replacing the "AIX-fixlevels" table with a <variablelist> carrying the same information. Previously the 9.0 documentation was failing to build as a US-size PDF file. It's quite obscure what the real problem is or why this avoids it, but we need a hack now so we can build docs for beta4.

commit   : 19600de6389a6dbfcf5d4b6bb457782c2e94745a    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 29 Jul 2010 18:29:57 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 29 Jul 2010 18:29:57 +0000    

Click here for diff

In passing do a bit of editing in the AIX installation docs, in particular  
remove a long-obsolete claim that the regression tests are likely to fail.  

M doc/src/sgml/installation.sgml

Fix possible page corruption by ALTER TABLE .. SET TABLESPACE.

commit   : 7958520d2c54abd5efbcf5f664193cb5a6a99fd7    
  
author   : Robert Haas <[email protected]>    
date     : Thu, 29 Jul 2010 16:14:45 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Thu, 29 Jul 2010 16:14:45 +0000    

Click here for diff

If a zeroed page is present in the heap, ALTER TABLE .. SET TABLESPACE will  
set the LSN and TLI while copying it, which is wrong, and heap_xlog_newpage()  
will do the same thing during replay, so the corruption propagates to any  
standby.  Note, however, that the bug can't be demonstrated unless archiving  
is enabled, since in that case we skip WAL logging altogether, and the LSN/TLI  
are not set.  
  
Back-patch to 8.0; prior releases do not have tablespaces.  
  
Analysis and patch by Jeff Davis.  Adjustments for back-branches and minor  
wordsmithing by me.  

M src/backend/access/heap/heapam.c

Remove wildly obsolete type attribute externallength from chkpass

commit   : 40cacbb376a7a5ec3f4de54d8bb510527dd2b246    
  
author   : Peter Eisentraut <[email protected]>    
date     : Wed, 28 Jul 2010 20:34:12 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Wed, 28 Jul 2010 20:34:12 +0000    

Click here for diff

M contrib/chkpass/chkpass.sql.in

Fix oversight in new EvalPlanQual logic: the second loop over the ExecRowMark list in ExecLockRows() forgot to allow for the possibility that some of the rowmarks are for child tables that aren't relevant to the current row. Per report from Kenichiro Tanaka.

commit   : e4d495a20b0aa1b9f88df07e6011003a2c2ad700    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 28 Jul 2010 17:22:03 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 28 Jul 2010 17:22:03 +0000    

Click here for diff

M src/backend/executor/nodeLockRows.c

Fix potential failure when hashing the output of a subplan that produces a pass-by-reference datatype with a nontrivial projection step. We were using the same memory context for the projection operation as for the temporary context used by the hashtable routines in execGrouping.c. However, the hashtable routines feel free to reset their temp context at any time, which'd lead to destroying input data that was still needed. Report and diagnosis by Tao Ma.

commit   : a2164c285bde3bd31d9faff6ae993aac3a8085b8    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 28 Jul 2010 04:50:59 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 28 Jul 2010 04:50:59 +0000    

Click here for diff

Back-patch to 8.1, where the problem was introduced by the changes that  
allowed us to work with "virtual" tuples instead of materializing intermediate  
tuple values everywhere.  The earlier code looks quite similar, but it doesn't  
suffer the problem because the data gets copied into another context as a  
result of having to materialize ExecProject's output tuple.  

M src/backend/executor/nodeSubplan.c
M src/include/nodes/execnodes.h
M src/test/regress/expected/subselect.out
M src/test/regress/sql/subselect.sql

Show psql timing output even in quiet mode

commit   : d8c546c35e91af90183da60b5618a1232640d4d5    
  
author   : Peter Eisentraut <[email protected]>    
date     : Wed, 28 Jul 2010 04:39:15 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Wed, 28 Jul 2010 04:39:15 +0000    

Click here for diff

These two settings ought to be independent of each other.  

M src/bin/psql/common.c

Fix typo in PL/pgsql code example.

commit   : 43d3d2a5fdc55b1e066aff71c7f26ce07a5bc970    
  
author   : Robert Haas <[email protected]>    
date     : Tue, 27 Jul 2010 20:02:17 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Tue, 27 Jul 2010 20:02:17 +0000    

Click here for diff

Backpatch to 8.4.  
  
Marc Cousin.  Review by Kevin Grittner.  

M doc/src/sgml/plpgsql.sgml

Spelling fixes

commit   : b8174bcd703c9484fdec56c47b96ab0601208611    
  
author   : Peter Eisentraut <[email protected]>    
date     : Tue, 27 Jul 2010 19:01:04 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Tue, 27 Jul 2010 19:01:04 +0000    

Click here for diff

M doc/src/sgml/config.sgml
M doc/src/sgml/datatype.sgml
M doc/src/sgml/install-win32.sgml
M doc/src/sgml/installation.sgml
M doc/src/sgml/libpq.sgml
M doc/src/sgml/release-9.0.sgml
M doc/src/sgml/wal.sgml
M doc/src/sgml/xml2.sgml

Ensure $_SHARED is declared in the main:: namespace, per bugs #5570 and #5571.

commit   : 4aa14fe901184c73880895921ef7d37c51ed7791    
  
author   : Alvaro Herrera <[email protected]>    
date     : Tue, 27 Jul 2010 04:18:31 +0000    
  
committer: Alvaro Herrera <[email protected]>    
date     : Tue, 27 Jul 2010 04:18:31 +0000    

Click here for diff

Author: Alex Hunsaker  

M src/pl/plperl/expected/plperl_shared.out
M src/pl/plperl/plc_perlboot.pl
M src/pl/plperl/sql/plperl_shared.sql

Fix grammar

commit   : 65ad4e31578f35f37920475ca80484f821e3309b    
  
author   : Peter Eisentraut <[email protected]>    
date     : Mon, 26 Jul 2010 20:28:35 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Mon, 26 Jul 2010 20:28:35 +0000    

Click here for diff

backpatched to 8.1  

M doc/src/sgml/perform.sgml

Add table creation and population to example

commit   : 478a890f376049dc985db706cd192e1d9f0b4423    
  
author   : Peter Eisentraut <[email protected]>    
date     : Mon, 26 Jul 2010 20:14:06 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Mon, 26 Jul 2010 20:14:06 +0000    

Click here for diff

from John Gage  

M doc/src/sgml/xfunc.sgml

Add INSERT statement to example so that it can be reproduced

commit   : c12c561ba05610a680bb3d58f1ec5c98575ae0c7    
  
author   : Peter Eisentraut <[email protected]>    
date     : Sun, 25 Jul 2010 08:30:41 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Sun, 25 Jul 2010 08:30:41 +0000    

Click here for diff

from John Gage  

M doc/src/sgml/xfunc.sgml

Adjust check_for_isn_and_int8_passing_mismatch() so it is called for all migrations.

commit   : 8dad931f4e9433b74f1a6e40ff24bbc766e1a17f    
  
author   : Bruce Momjian <[email protected]>    
date     : Sun, 25 Jul 2010 03:47:33 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sun, 25 Jul 2010 03:47:33 +0000    

Click here for diff

Backpatch to 9.0.  

M contrib/pg_upgrade/check.c
M contrib/pg_upgrade/pg_upgrade.h
M contrib/pg_upgrade/version_old_8_3.c

Prevent pg_upgrade from migrating databases that use reg* data types where the oid is not preserved by pg_upgrade (everything but pg_type). Update documentation.

commit   : ca2901c144d9db2393b2725a9d6bdeca1cecbf5a    
  
author   : Bruce Momjian <[email protected]>    
date     : Sun, 25 Jul 2010 03:28:39 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sun, 25 Jul 2010 03:28:39 +0000    

Click here for diff

Per bug report from [email protected].  

M contrib/pg_upgrade/check.c
M contrib/pg_upgrade/function.c
M contrib/pg_upgrade/version_old_8_3.c
M doc/src/sgml/pgupgrade.sgml

Fix typo

commit   : 417718dbc866a098f71f632e8cb6bdada7107905    
  
author   : Peter Eisentraut <[email protected]>    
date     : Sat, 24 Jul 2010 16:46:43 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Sat, 24 Jul 2010 16:46:43 +0000    

Click here for diff

M doc/src/sgml/datatype.sgml

Tidy up boolean data type page

commit   : 730fba4bc8fca784b6e078e5120ff551b6c55490    
  
author   : Peter Eisentraut <[email protected]>    
date     : Sat, 24 Jul 2010 12:17:34 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Sat, 24 Jul 2010 12:17:34 +0000    

Click here for diff

by Thom Brown  

M doc/src/sgml/datatype.sgml

Add more checks against altering typed tables

commit   : 3d903da124e5d121fd1f571cdb0021a357bbe4d6    
  
author   : Peter Eisentraut <[email protected]>    
date     : Fri, 23 Jul 2010 20:04:09 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Fri, 23 Jul 2010 20:04:09 +0000    

Click here for diff

- Prohibit altering column type  
- Prohibit changing inheritance  
- Move checks from Exec to Prep phases in ALTER TABLE code  
  
backpatched to 9.0  

M src/backend/commands/tablecmds.c
M src/test/regress/expected/typed_table.out
M src/test/regress/sql/typed_table.sql

Avoid deep recursion when assigning XIDs to multiple levels of subxacts.

commit   : f53eeec2343fbb66c996b98e3006818fdc393f30    
  
author   : Robert Haas <[email protected]>    
date     : Fri, 23 Jul 2010 00:43:09 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Fri, 23 Jul 2010 00:43:09 +0000    

Click here for diff

Backpatch to 8.0.  
  
Andres Freund, with cleanup and adjustment for older branches by me.  

M src/backend/access/transam/xact.c

commit   : db64a9d20eeb0d3a52b7fb520a88bc68b73b374b    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 20 Jul 2010 18:14:25 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 20 Jul 2010 18:14:25 +0000    

Click here for diff

Report from Tom Lane.  
  
Backpatch to 9.0.  

M src/backend/commands/dbcommands.c
M src/backend/commands/tablespace.c

Remove unnecessary "Not safe to send CSV data" complaint from elog.c's fallback path when CSV logging is configured but not yet operational. It's sufficient to send the message to stderr, as we were already doing, and the "Not safe" gripe has already confused at least two core members ...

commit   : ee9324b68052af3d8fee3774c8d8a4ada5f2e8d2    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 18 Jul 2010 23:43:37 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 18 Jul 2010 23:43:37 +0000    

Click here for diff

Backpatch to 9.0, but not further --- doesn't seem appropriate to change  
this behavior in stable branches.  

M src/backend/utils/error/elog.c

Allow ORDER BY/GROUP BY/etc items to match targetlist items regardless of any implicit casting previously applied to the targetlist item. This is reasonable because the implicit cast, by definition, wasn't written by the user; so we are preserving the expected behavior that ORDER BY items match textually equivalent tlist items. The case never arose before because there couldn't be any implicit casting of a top-level SELECT item before we process ORDER BY etc. But now it can arise in the context of aggregates containing ORDER BY clauses, since the "targetlist" is the already-casted list of arguments for the aggregate. The net effect is that the datatype used for ORDER BY/DISTINCT purposes is the aggregate's declared input type, not that of the original input column; which is a bit debatable but not horrendous, and to do otherwise would require major rework that doesn't seem justified.

commit   : e6dff0a14b495ed3f17d8b66bedf06d7c2e66336    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 18 Jul 2010 19:37:57 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 18 Jul 2010 19:37:57 +0000    

Click here for diff

Per bug #5564 from Daniel Grace.  Back-patch to 9.0 where aggregate ORDER BY  
was implemented.  

M src/backend/parser/parse_clause.c
M src/test/regress/expected/aggregates.out
M src/test/regress/sql/aggregates.sql

Fix typo spotted by Thom Brown.

commit   : 10519586643cdb6e6b25880b8aad1c5df8e04da7    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Fri, 16 Jul 2010 11:36:10 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Fri, 16 Jul 2010 11:36:10 +0000    

Click here for diff

M doc/src/sgml/wal.sgml

Add a paragraph explaining what restartpoints are. Mention that wal_keep_segments does not take effect during recovery.

commit   : 1dc124e7c87e55fba45be39c7ff7594b3af6e1b9    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Fri, 16 Jul 2010 11:21:46 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Fri, 16 Jul 2010 11:21:46 +0000    

Click here for diff

Fujii Masao  

M doc/src/sgml/config.sgml
M doc/src/sgml/wal.sgml

Use an <xref> for restore_command reference. Marko Tiikkaja

commit   : d3cf0b6e01467274688a9a1e648cebe47ba73e7a    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 14 Jul 2010 22:04:28 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 14 Jul 2010 22:04:28 +0000    

Click here for diff

M doc/src/sgml/high-availability.sgml

Fix several problems in pg_dump's handling of SQL/MED objects, notably failure to dump a PUBLIC user mapping correctly, as per bug #5560 from Shigeru Hanada. Use the pg_user_mappings view rather than trying to access pg_user_mapping directly, so that the code doesn't fail when run by a non-superuser. And clean up some minor carelessness such as unsafe usage of fmtId().

commit   : fa2dbb6800f974372399e58b1b405b57acf37547    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 14 Jul 2010 21:21:16 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 14 Jul 2010 21:21:16 +0000    

Click here for diff

Back-patch to 8.4 where this code was added.  

M src/bin/pg_dump/pg_dump.c

Allow full SSL certificate verification (wherein libpq checks its host name parameter against server cert's CN field) to succeed in the case where both host and hostaddr are specified. As with the existing precedents for Kerberos, GSSAPI, SSPI, it is the calling application's responsibility that host and hostaddr match up --- we just use the host name as given. Per bug #5559 from Christopher Head.

commit   : 89ddf54fe5d6a374ffdd6f1eab74beb286ba0d23    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 14 Jul 2010 17:09:54 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 14 Jul 2010 17:09:54 +0000    

Click here for diff

In passing, make the error handling and messages for the no-host-name-given  
failure more consistent among these four cases, and correct a lie in the  
documentation: we don't attempt to reverse-lookup host from hostaddr  
if host is missing.  
  
Back-patch to 8.4 where SSL cert verification was introduced.  

M doc/src/sgml/libpq.sgml
M src/interfaces/libpq/fe-auth.c
M src/interfaces/libpq/fe-secure.c
M src/interfaces/libpq/libpq-int.h

Backpatch pg_upgrade fixes to 9.0:

commit   : f53bc2e78d206290c2b40b6aac0b208f4d115e20    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 13 Jul 2010 20:15:51 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 13 Jul 2010 20:15:51 +0000    

Click here for diff

 In pg_upgrade, prevent psql AUTOCOMMIT=off by not loading .psqlrc.  
  
 In pg_upgrade, report /bin directory checks independent of /data checks.  
  
 Remove incorrect email address for pg_upgrade bug reports.  
  
 On Win32, pg_upgrade cannot sent any server log output to the log file  
 because of file access limitations on that platform.  

M contrib/pg_upgrade/TESTING
M contrib/pg_upgrade/check.c
M contrib/pg_upgrade/exec.c
M contrib/pg_upgrade/file.c
M contrib/pg_upgrade/option.c
M contrib/pg_upgrade/pg_upgrade.c
M contrib/pg_upgrade/server.c

Oops, in the previous fix to prevent a cursor that's being used in a FOR loop from being dropped, I missed subtransaction cleanup. Pinned portals must be dropped at subtransaction cleanup just as they are at main transaction cleanup.

commit   : 41252a12d6d5bdd5fc75ea1bf411f8903f7c14ac    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Tue, 13 Jul 2010 09:02:35 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Tue, 13 Jul 2010 09:02:35 +0000    

Click here for diff

Per bug #5556 by Robert Walker. Backpatch to 8.0, 7.4 didn't have  
subtransactions.  

M src/backend/utils/mmgr/portalmem.c

Clarify that "psql -c" ignores psqlrc files.

commit   : 913f902089c03ec32accf141c73310c58d47822e    
  
author   : Robert Haas <[email protected]>    
date     : Sat, 10 Jul 2010 00:50:37 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Sat, 10 Jul 2010 00:50:37 +0000    

Click here for diff

Tim Landscheidt  

M doc/src/sgml/ref/psql-ref.sgml

Avoid an Assert failure in deconstruct_array() by making get_attstatsslot() use the actual element type of the array it's disassembling, rather than trusting the type OID passed in by its caller. This is needed because sometimes the planner passes in a type OID that's only binary-compatible with the target column's type, rather than being an exact match. Per an example from Bernd Helmle.

commit   : 8e60c2423acd31fd0507059b025a13efe69d02cd    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 9 Jul 2010 22:57:47 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 9 Jul 2010 22:57:47 +0000    

Click here for diff

Possibly we should refactor get_attstatsslot/free_attstatsslot to not expect  
the caller to supply type ID data at all, but for now I'll just do the  
minimum-change fix.  
  
Back-patch to 7.4.  Bernd's test case only crashes back to 8.0, but since  
these subroutines are the same in 7.4, I suspect there may be variant  
cases that would crash 7.4 as well.  

M src/backend/utils/cache/lsyscache.c

Fix ruleutils' get_variable() to print something useful for Vars referencing resjunk outputs of subquery tlists, instead of throwing an error. Per bug #5548 from Daniel Grace.

commit   : e5b8e868cd3b59660490b660627bdc1507fdda86    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 9 Jul 2010 21:11:57 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 9 Jul 2010 21:11:57 +0000    

Click here for diff

We might at some point find we ought to back-patch this further than 9.0,  
but I think that such Vars can only occur as resjunk members of upper-level  
tlists, in which case the problem can't arise because prior versions didn't  
print resjunk tlist items in EXPLAIN VERBOSE.  

M src/backend/utils/adt/ruleutils.c

Properly report errno/out-of-disk-space error from pg_upgrade when in copy mode, per report from [email protected].

commit   : beed55dff7e39553db94a8760862b5d8a3a92f4a    
  
author   : Bruce Momjian <[email protected]>    
date     : Fri, 9 Jul 2010 16:51:29 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Fri, 9 Jul 2010 16:51:29 +0000    

Click here for diff

Patch suggestion from Magnus.  
  
Backpatch to 9.0.X.  

M contrib/pg_upgrade/TESTING
M contrib/pg_upgrade/file.c

tag beta3

commit   : 1084f317702e1a039696ab8a37caf900e55ec8f2    
  
author   : Marc G. Fournier <[email protected]>    
date     : Fri, 9 Jul 2010 02:43:12 +0000    
  
committer: Marc G. Fournier <[email protected]>    
date     : Fri, 9 Jul 2010 02:43:12 +0000    

Click here for diff

M configure
M configure.in
M doc/bug.template
M src/include/pg_config.h.win32

Update release notes for 9.0 beta 3.

commit   : c4314e150dcda40bbffa3b22863733bf57f4ba33    
  
author   : Bruce Momjian <[email protected]>    
date     : Thu, 8 Jul 2010 22:26:14 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Thu, 8 Jul 2010 22:26:14 +0000    

Click here for diff

M doc/src/sgml/release-9.0.sgml

Some small changes for plperl.sgml: - wrapped long code-lines, for pdf - typo

commit   : 4b7f50eb815b242b68ce958c1a86ee26730f4c06    
  
author   : Peter Eisentraut <[email protected]>    
date     : Thu, 8 Jul 2010 21:35:33 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Thu, 8 Jul 2010 21:35:33 +0000    

Click here for diff

Erik Rijkers  

M doc/src/sgml/plperl.sgml

Translation updates for 9.0beta3

commit   : 0544c8cd57c0b371d803c06b8ecf70290beb2c5c    
  
author   : Peter Eisentraut <[email protected]>    
date     : Thu, 8 Jul 2010 21:32:28 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Thu, 8 Jul 2010 21:32:28 +0000    

Click here for diff

M src/backend/po/de.po
M src/backend/po/fr.po
M src/bin/pg_config/po/de.po
M src/bin/pg_controldata/po/fr.po
M src/bin/pg_controldata/po/pt_BR.po
M src/bin/pg_ctl/po/sv.po
M src/bin/pg_dump/po/de.po
M src/bin/pg_dump/po/fr.po
M src/bin/pg_dump/po/sv.po
M src/bin/pg_resetxlog/po/sv.po
M src/bin/psql/po/sv.po
M src/interfaces/libpq/po/de.po
M src/interfaces/libpq/po/fr.po
M src/interfaces/libpq/po/pt_BR.po
M src/interfaces/libpq/po/sv.po
M src/pl/plperl/po/de.po
M src/pl/plperl/po/fr.po
M src/pl/plpgsql/src/po/de.po
M src/pl/plpgsql/src/po/fr.po

Minor kibitzing on previous patch: no need to run check more than once. (_PG_init should be called only once anyway, but as long as it's got an internal guard against repeat calls, that should be in front of the version check.)

commit   : 6d297e0551a2a3cc048655796230cdff5e559952    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 8 Jul 2010 19:00:11 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 8 Jul 2010 19:00:11 +0000    

Click here for diff

M src/pl/plpython/plpython.c

Install safeguard against running PL/Python 2 and 3 in the same session

commit   : 803716013dc1350f8cd97fdfca4bdffc9a52021c    
  
author   : Peter Eisentraut <[email protected]>    
date     : Thu, 8 Jul 2010 18:42:12 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Thu, 8 Jul 2010 18:42:12 +0000    

Click here for diff

M doc/src/sgml/plpython.sgml
M src/pl/plpython/plpython.c

Doc change: effected -> affected, per correction from Matthew Wakeling

commit   : c9b142d96577c0a37a62215b99c98d52c8fbc4e1    
  
author   : Bruce Momjian <[email protected]>    
date     : Thu, 8 Jul 2010 16:44:12 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Thu, 8 Jul 2010 16:44:12 +0000    

Click here for diff

M doc/src/sgml/wal.sgml

Add a cross-reference to precedence information to CREATE OPERATOR's documentation. Per suggestion from Marc Cousin.

commit   : 7f882768dc8f85e915ce437dc3e688ca64ef4cca    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 8 Jul 2010 16:30:13 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 8 Jul 2010 16:30:13 +0000    

Click here for diff

M doc/src/sgml/ref/create_operator.sgml

Make the Windows tcp keepalive support depend on the existance of the SIO_KEEPALIVE_VALS define instead of just WIN32, since MingW doesn't support this API (yet?).

commit   : a64bf0afb702583d8f20367522e147ee692f2084    
  
author   : Magnus Hagander <[email protected]>    
date     : Thu, 8 Jul 2010 16:19:50 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Thu, 8 Jul 2010 16:19:50 +0000    

Click here for diff

M src/backend/libpq/pqcomm.c
M src/interfaces/libpq/fe-connect.c

Update obsolete comment. Noted by Josh Tolley.

commit   : 672efc08654e5744b42d2809f903cb7528898620    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 8 Jul 2010 16:08:30 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 8 Jul 2010 16:08:30 +0000    

Click here for diff

M src/backend/access/transam/xlogutils.c

Fix variant float8 expected files to have exactly the expected spacing. This wasn't important when we used diff's -w (--ignore-all-space) option to compare regression result files, but it is now. Per buildfarm member canary, which evidently has been offline since we did that in November, but came to life again today.

commit   : 7b81782be36230bb8a698744995f2c9360ba891f    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 8 Jul 2010 15:15:05 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 8 Jul 2010 15:15:05 +0000    

Click here for diff

M src/test/regress/expected/float8-small-is-zero.out
M src/test/regress/expected/float8-small-is-zero_1.out

Add support for TCP keepalives on Windows, both for backend and the new libpq support.

commit   : 44b0d1671a16cd2700eb7983b511a185bdb1b791    
  
author   : Magnus Hagander <[email protected]>    
date     : Thu, 8 Jul 2010 10:20:14 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Thu, 8 Jul 2010 10:20:14 +0000    

Click here for diff

M doc/src/sgml/config.sgml
M doc/src/sgml/libpq.sgml
M src/backend/libpq/pqcomm.c
M src/interfaces/libpq/fe-connect.c

Fix "cannot handle unplanned sub-select" error that can occur when a sub-select contains a join alias reference that expands into an expression containing another sub-select. Per yesterday's report from Merlin Moncure and subsequent off-list investigation.

commit   : d4d32eefdf3df4eb9aadea08e3d07af753457fbb    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 8 Jul 2010 00:14:04 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 8 Jul 2010 00:14:04 +0000    

Click here for diff

Back-patch to 7.4.  Older versions didn't attempt to flatten sub-selects in  
ways that would trigger this problem.  

M src/backend/optimizer/util/var.c
M src/test/regress/expected/subselect.out
M src/test/regress/sql/subselect.sql

Adjust mbutils.c so it won't get broken by future pgindent runs. To do that, replace L'\0' by (WCHAR) 0. Perhaps someday we should teach pgindent about wide-character literals, but so long as this is the only use-case in the entire Postgres sources, a workaround seems easier.

commit   : 5b1b3ef742723009e5f9b7a009aa8eda3578305a    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 7 Jul 2010 15:13:21 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 7 Jul 2010 15:13:21 +0000    

Click here for diff

M src/backend/utils/mb/mbutils.c

Document the interaction of write-barrier-enabled file systems, and BBU caches, per June email thread.

commit   : e3243488b06aa17a4ce14a5c4e3234284a3789b8    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 7 Jul 2010 14:42:09 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 7 Jul 2010 14:42:09 +0000    

Click here for diff

M doc/src/sgml/wal.sgml

Make log_temp_files based on kB, and revert docs & comments to match.

commit   : 20be0d480a167c86b505d9a3b477441446c4e999    
  
author   : Robert Haas <[email protected]>    
date     : Tue, 6 Jul 2010 22:55:26 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Tue, 6 Jul 2010 22:55:26 +0000    

Click here for diff

Per extensive discussion on pgsql-hackers.  We are deliberately not  
back-patching this even though the behavior of 8.3 and 8.4 is  
unquestionably broken, for fear of breaking existing users of this  
parameter.  This incompatibility should be release-noted.  

M doc/src/sgml/config.sgml
M src/backend/storage/file/fd.c
M src/backend/utils/misc/guc.c

Accept slightly grotty coding in Makefile.global in order to keep the -L flag for src/port/ in front of any -L flags placed in LDFLAGS by configure. This undoes an L-flag-ordering change that I had thought would be safe, but seems to be making at least one buildfarm member fail --- the only theory for orca's failure that I can think of is that it's got an old copy of libpgport.a in /usr/lib. Also allow for LDFLAGS_SL to be set by contrib makefiles before they invoke Makefile.global.

commit   : 458474d9d7ff552d697f8a85a61113582c86ae3a    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 6 Jul 2010 22:03:05 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 6 Jul 2010 22:03:05 +0000    

Click here for diff

M src/Makefile.global.in

Add note that using PL/Python 2 and 3 in the same session will probably crash

commit   : 46ee42b8162efe29bb38f07f694aafd992bcf4b1    
  
author   : Peter Eisentraut <[email protected]>    
date     : Tue, 6 Jul 2010 21:37:31 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Tue, 6 Jul 2010 21:37:31 +0000    

Click here for diff

M doc/src/sgml/plpython.sgml

Support setting the keepalive idle time on MacOS X.

commit   : 5acd417c8f0f720418560360d9b3e543d593e4f0    
  
author   : Robert Haas <[email protected]>    
date     : Tue, 6 Jul 2010 21:14:25 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Tue, 6 Jul 2010 21:14:25 +0000    

Click here for diff

MacOS X uses TCP_KEEPALIVE rather than TCP_KEEPIDLE for this purpose.  
  
Thanks to Fujii Masao for the review.  

M doc/src/sgml/config.sgml
M doc/src/sgml/libpq.sgml
M src/backend/libpq/pqcomm.c
M src/interfaces/libpq/fe-connect.c

Undo pgindent breakage (again). Per buildfarm.

commit   : 3f12653b73f8f2ffdfecfde3272caebdbdd4262f    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 6 Jul 2010 21:09:00 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 6 Jul 2010 21:09:00 +0000    

Click here for diff

M src/backend/utils/mb/mbutils.c

Mention why one C file fails pgindent.

commit   : 9e15b476de303118c0a9301f94ce718f7a826ef0    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 6 Jul 2010 19:26:28 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 6 Jul 2010 19:26:28 +0000    

Click here for diff

M src/tools/pgindent/README

pgindent run for 9.0, second run

commit   : 239d769e7e05e0a5ef3bd6828e93e22ef3962780    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 6 Jul 2010 19:19:02 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 6 Jul 2010 19:19:02 +0000    

Click here for diff

M contrib/dblink/dblink.c
M contrib/fuzzystrmatch/dmetaphone.c
M contrib/pg_archivecleanup/pg_archivecleanup.c
M contrib/pg_upgrade/check.c
M contrib/pg_upgrade/controldata.c
M contrib/pg_upgrade/dump.c
M contrib/pg_upgrade/exec.c
M contrib/pg_upgrade/file.c
M contrib/pg_upgrade/info.c
M contrib/pg_upgrade/option.c
M contrib/pg_upgrade/pg_upgrade.c
M contrib/pg_upgrade/pg_upgrade.h
M contrib/pg_upgrade/relfilenode.c
M contrib/pg_upgrade/server.c
M contrib/pg_upgrade/tablespace.c
M contrib/pg_upgrade/util.c
M contrib/pg_upgrade_support/pg_upgrade_support.c
M contrib/pgbench/pgbench.c
M contrib/pgcrypto/sha2.c
M contrib/xml2/xpath.c
M contrib/xml2/xslt_proc.c
M src/backend/access/heap/heapam.c
M src/backend/access/heap/pruneheap.c
M src/backend/access/nbtree/nbtpage.c
M src/backend/access/nbtree/nbtxlog.c
M src/backend/access/transam/twophase.c
M src/backend/access/transam/xact.c
M src/backend/access/transam/xlog.c
M src/backend/catalog/aclchk.c
M src/backend/catalog/pg_proc.c
M src/backend/catalog/pg_shdepend.c
M src/backend/commands/indexcmds.c
M src/backend/commands/opclasscmds.c
M src/backend/commands/operatorcmds.c
M src/backend/commands/tablecmds.c
M src/backend/commands/tablespace.c
M src/backend/commands/vacuumlazy.c
M src/backend/executor/execUtils.c
M src/backend/executor/functions.c
M src/backend/executor/nodeMergejoin.c
M src/backend/lib/stringinfo.c
M src/backend/libpq/auth.c
M src/backend/libpq/be-secure.c
M src/backend/libpq/hba.c
M src/backend/optimizer/path/costsize.c
M src/backend/optimizer/plan/analyzejoins.c
M src/backend/optimizer/plan/planagg.c
M src/backend/optimizer/plan/planmain.c
M src/backend/optimizer/prep/prepjointree.c
M src/backend/optimizer/prep/prepunion.c
M src/backend/optimizer/util/placeholder.c
M src/backend/parser/parse_expr.c
M src/backend/parser/scansup.c
M src/backend/port/sysv_shmem.c
M src/backend/port/win32/socket.c
M src/backend/port/win32/timer.c
M src/backend/postmaster/pgstat.c
M src/backend/postmaster/postmaster.c
M src/backend/postmaster/syslogger.c
M src/backend/replication/libpqwalreceiver/libpqwalreceiver.c
M src/backend/replication/walreceiver.c
M src/backend/replication/walreceiverfuncs.c
M src/backend/replication/walsender.c
M src/backend/storage/file/copydir.c
M src/backend/storage/ipc/ipc.c
M src/backend/storage/ipc/procarray.c
M src/backend/storage/ipc/shmem.c
M src/backend/storage/ipc/standby.c
M src/backend/storage/lmgr/proc.c
M src/backend/tcop/fastpath.c
M src/backend/tcop/postgres.c
M src/backend/tsearch/ts_typanalyze.c
M src/backend/utils/adt/formatting.c
M src/backend/utils/adt/like_match.c
M src/backend/utils/adt/oid.c
M src/backend/utils/adt/pg_locale.c
M src/backend/utils/adt/xml.c
M src/backend/utils/cache/catcache.c
M src/backend/utils/cache/relcache.c
M src/backend/utils/init/postinit.c
M src/backend/utils/mb/mbutils.c
M src/backend/utils/misc/guc.c
M src/backend/utils/misc/ps_status.c
M src/backend/utils/mmgr/portalmem.c
M src/bin/pg_dump/pg_backup_archiver.c
M src/bin/pg_dump/pg_backup_custom.c
M src/bin/pg_dump/pg_dump.c
M src/bin/psql/command.c
M src/bin/psql/common.c
M src/bin/psql/describe.c
M src/bin/psql/print.c
M src/bin/psql/print.h
M src/bin/psql/tab-complete.c
M src/include/access/nbtree.h
M src/include/nodes/relation.h
M src/include/port/win32.h
M src/include/replication/walprotocol.h
M src/include/replication/walreceiver.h
M src/include/storage/pmsignal.h
M src/include/storage/proc.h
M src/include/storage/procarray.h
M src/include/utils/builtins.h
M src/interfaces/ecpg/ecpglib/connect.c
M src/interfaces/ecpg/ecpglib/error.c
M src/interfaces/ecpg/ecpglib/execute.c
M src/interfaces/ecpg/ecpglib/misc.c
M src/interfaces/ecpg/preproc/ecpg.c
M src/interfaces/ecpg/preproc/type.c
M src/interfaces/ecpg/test/expected/preproc-outofscope.c
M src/interfaces/ecpg/test/expected/preproc-strings.c
M src/interfaces/ecpg/test/preproc/strings.h
M src/interfaces/ecpg/test/preproc/struct.h
M src/interfaces/libpq/fe-connect.c
M src/interfaces/libpq/fe-misc.c
M src/interfaces/libpq/fe-secure.c
M src/interfaces/libpq/libpq-int.h
M src/pl/plperl/plperl.c
M src/pl/plpgsql/src/pl_exec.c
M src/pl/plpython/plpython.c
M src/pl/tcl/pltcl.c
M src/port/crypt.c
M src/port/dirmod.c
M src/port/pipe.c
M src/port/snprintf.c
M src/test/examples/testlibpq2.c
M src/timezone/pgtz.c
M src/tools/fsync/test_fsync.c

Update pgindent testing instructions.

commit   : 52783b212c7c0ef5ab2ee6bda17c8db0ed13d4ab    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 6 Jul 2010 19:18:19 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 6 Jul 2010 19:18:19 +0000    

Click here for diff

M src/tools/pgindent/README
M src/tools/pgindent/typedefs.list

commit   : 8307b092b78c514ca1ca09d5cc9900bc2b672095    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 6 Jul 2010 03:55:33 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 6 Jul 2010 03:55:33 +0000    

Click here for diff

M src/Makefile.shlib

Allow for LDFLAGS_SL already having a value in Makefile.aix. Per buildfarm results.

commit   : 0a4ecfe77e3e355bed00e2bd8130c192fe8f1c4e    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 6 Jul 2010 03:41:02 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 6 Jul 2010 03:41:02 +0000    

Click here for diff

M src/makefiles/Makefile.aix

Dept. of third thoughts: PG_LIBS may contain a -L switch, so it had better stay in front of LDFLAGS.

commit   : f6af1435d98bbd15809c86c8846c15051ee2d6e8    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 5 Jul 2010 23:40:13 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 5 Jul 2010 23:40:13 +0000    

Click here for diff

M src/makefiles/pgxs.mk

Make sure LDFLAGS come before LIBS when linking contrib programs. Solaris, at least, seems to be sensitive to the relative order of -L and -l switches, so this is needed. Per buildfarm results.

commit   : bdf00543c2a645b7a773cdcd81fbd4e38e64ee1c    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 5 Jul 2010 23:30:50 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 5 Jul 2010 23:30:50 +0000    

Click here for diff

M src/makefiles/pgxs.mk

commit   : f9e9da666423f38d9c0f97277cf4e21973608baf    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 5 Jul 2010 23:15:56 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 5 Jul 2010 23:15:56 +0000    

Click here for diff

M contrib/earthdistance/Makefile
M contrib/spi/Makefile
M contrib/tablefunc/Makefile
M src/makefiles/Makefile.aix
M src/makefiles/Makefile.cygwin
M src/makefiles/Makefile.darwin
M src/makefiles/Makefile.win32

commit   : 291a9577454a63f99b5537e48a3dceae6d35ea8d    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 5 Jul 2010 18:54:38 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 5 Jul 2010 18:54:38 +0000    

Click here for diff

Per gripe from Aaron Swenson and subsequent investigation.  

M configure
M configure.in
M doc/src/sgml/installation.sgml
M doc/src/sgml/ref/pg_config-ref.sgml
M src/Makefile.global.in
M src/Makefile.shlib
M src/backend/Makefile
M src/backend/port/Makefile
M src/bin/initdb/Makefile
M src/bin/pg_config/Makefile
M src/bin/pg_config/pg_config.c
M src/bin/pg_controldata/Makefile
M src/bin/pg_ctl/Makefile
M src/bin/pg_dump/Makefile
M src/bin/pg_resetxlog/Makefile
M src/bin/psql/Makefile
M src/bin/scripts/Makefile
M src/interfaces/ecpg/preproc/Makefile
M src/interfaces/ecpg/test/Makefile
M src/interfaces/ecpg/test/Makefile.regress
M src/makefiles/Makefile.aix
M src/makefiles/Makefile.bsdi
M src/makefiles/Makefile.cygwin
M src/makefiles/Makefile.darwin
M src/makefiles/Makefile.dgux
M src/makefiles/Makefile.freebsd
M src/makefiles/Makefile.hpux
M src/makefiles/Makefile.irix
M src/makefiles/Makefile.linux
M src/makefiles/Makefile.netbsd
M src/makefiles/Makefile.openbsd
M src/makefiles/Makefile.osf
M src/makefiles/Makefile.sco
M src/makefiles/Makefile.solaris
M src/makefiles/Makefile.sunos4
M src/makefiles/Makefile.svr4
M src/makefiles/Makefile.ultrix4
M src/makefiles/Makefile.univel
M src/makefiles/Makefile.unixware
M src/makefiles/Makefile.win32
M src/makefiles/pgxs.mk
M src/template/cygwin
M src/template/win32
M src/test/regress/GNUmakefile
M src/test/thread/Makefile
M src/timezone/Makefile
M src/tools/findoidjoins/Makefile
M src/tools/fsync/Makefile
M src/tools/ifaddrs/Makefile

The previous fix in CVS HEAD and 8.4 for handling the case where a cursor being used in a PL/pgSQL FOR loop is closed was inadequate, as Tom Lane pointed out. The bug affects FOR statement variants too, because you can close an implicitly created cursor too by guessing the "<unnamed portal X>" name created for it.

commit   : eb81b6509f4c9109ecf8839d8c482cc597270687    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Mon, 5 Jul 2010 09:27:18 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Mon, 5 Jul 2010 09:27:18 +0000    

Click here for diff

To fix that, "pin" the portal to prevent it from being dropped while it's  
being used in a PL/pgSQL FOR loop. Backpatch all the way to 7.4 which is  
the oldest supported version.  

M src/backend/utils/mmgr/portalmem.c
M src/include/utils/portal.h
M src/pl/plpgsql/src/pl_exec.c

Simplify test_fsync duration computation.

commit   : 2330d9c1475a70385b116fda6cc54ac2cc2939c4    
  
author   : Bruce Momjian <[email protected]>    
date     : Sun, 4 Jul 2010 13:42:51 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sun, 4 Jul 2010 13:42:51 +0000    

Click here for diff

M src/tools/fsync/test_fsync.c

Report test_fynsc times in tests per second, instead of total seconds.

commit   : 7341a8cab23f473dfc129fc277076b8df6e838c4    
  
author   : Bruce Momjian <[email protected]>    
date     : Sun, 4 Jul 2010 01:50:29 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sun, 4 Jul 2010 01:50:29 +0000    

Click here for diff

M src/tools/fsync/test_fsync.c

Remove SGML tab.

commit   : a520b78f3ef098d488f98a55dffbb311a68f2e36    
  
author   : Bruce Momjian <[email protected]>    
date     : Sat, 3 Jul 2010 22:52:25 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sat, 3 Jul 2010 22:52:25 +0000    

Click here for diff

M doc/src/sgml/config.sgml

Don't set recoveryLastXTime when replaying a checkpoint --- that was a bogus idea from the start since the variable is only meant to track commit/abort events. This patch reverts the logic around the variable to what it was in 8.4, except that the value is now kept in shared memory rather than a static variable, so that it can be reported correctly by CreateRestartPoint (which is executed in the bgwriter).

commit   : 8771634666252b5d679cb8701d50e2540f073d1e    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 3 Jul 2010 22:15:45 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 3 Jul 2010 22:15:45 +0000    

Click here for diff

M src/backend/access/transam/xlog.c

Make vacuum_defer_cleanup_age be PGC_SIGHUP level, since it's not sensible to have different values in different processes of the primary server. Also put it into the "Streaming Replication" GUC category; it doesn't belong in "Standby Servers" because you use it on the master not the standby. In passing also correct guc.c's idea of wal_keep_segments' category.

commit   : aceedd88f612472dae447fb59077abe8ed22f1f6    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 3 Jul 2010 21:23:58 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 3 Jul 2010 21:23:58 +0000    

Click here for diff

M doc/src/sgml/config.sgml
M src/backend/storage/ipc/procarray.c
M src/backend/utils/misc/guc.c
M src/backend/utils/misc/postgresql.conf.sample

Replace max_standby_delay with two parameters, max_standby_archive_delay and max_standby_streaming_delay, and revise the implementation to avoid assuming that timestamps found in WAL records can meaningfully be compared to clock time on the standby server. Instead, the delay limits are compared to the elapsed time since we last obtained a new WAL segment from archive or since we were last "caught up" to WAL data arriving via streaming replication. This avoids problems with clock skew between primary and standby, as well as other corner cases that the original coding would misbehave in, such as the primary server having significant idle time between transactions. Per my complaint some time ago and considerable ensuing discussion.

commit   : e76c1a0f4d2127f11c72c02b3d73a5dcb4517173    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 3 Jul 2010 20:43:58 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 3 Jul 2010 20:43:58 +0000    

Click here for diff

Do some desultory editing on the hot standby documentation, too.  

M doc/src/sgml/config.sgml
M doc/src/sgml/high-availability.sgml
M src/backend/access/transam/xlog.c
M src/backend/replication/walreceiver.c
M src/backend/replication/walreceiverfuncs.c
M src/backend/storage/ipc/standby.c
M src/backend/storage/lmgr/proc.c
M src/backend/utils/misc/guc.c
M src/backend/utils/misc/postgresql.conf.sample
M src/include/access/xlog.h
M src/include/replication/walreceiver.h
M src/include/storage/standby.h

Document more clearly on XML namespaces inside xpath function

commit   : e6a7416e28bacef6311be20375c8498b23faeb65    
  
author   : Bruce Momjian <[email protected]>    
date     : Sat, 3 Jul 2010 17:21:48 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sat, 3 Jul 2010 17:21:48 +0000    

Click here for diff

Nikolay Samokhvalov  

M doc/src/sgml/func.sgml

Make pg_upgrade copyrights just 2010, not 2010-2010.

commit   : da254e3d16678d648a1f4514dc182f334bf5c3fd    
  
author   : Bruce Momjian <[email protected]>    
date     : Sat, 3 Jul 2010 16:33:15 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sat, 3 Jul 2010 16:33:15 +0000    

Click here for diff

M contrib/pg_upgrade/check.c
M contrib/pg_upgrade/controldata.c
M contrib/pg_upgrade/dump.c
M contrib/pg_upgrade/exec.c
M contrib/pg_upgrade/file.c
M contrib/pg_upgrade/function.c
M contrib/pg_upgrade/info.c
M contrib/pg_upgrade/option.c
M contrib/pg_upgrade/page.c
M contrib/pg_upgrade/pg_upgrade.c
M contrib/pg_upgrade/pg_upgrade.h
M contrib/pg_upgrade/relfilenode.c
M contrib/pg_upgrade/server.c
M contrib/pg_upgrade/tablespace.c
M contrib/pg_upgrade/util.c
M contrib/pg_upgrade/version.c
M contrib/pg_upgrade/version_old_8_3.c
M contrib/pg_upgrade_support/pg_upgrade_support.c

Add copyrights to pg_upgrade and pg_upgrade_tools files, per Tom.

commit   : de255a6eb15812312ed5ac14a146f1a8f6a97d56    
  
author   : Bruce Momjian <[email protected]>    
date     : Sat, 3 Jul 2010 16:25:01 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sat, 3 Jul 2010 16:25:01 +0000    

Click here for diff

M contrib/pg_upgrade/check.c
M contrib/pg_upgrade/controldata.c
M contrib/pg_upgrade/dump.c
M contrib/pg_upgrade/exec.c
M contrib/pg_upgrade/file.c
M contrib/pg_upgrade/function.c
M contrib/pg_upgrade/info.c
M contrib/pg_upgrade/option.c
M contrib/pg_upgrade/page.c
M contrib/pg_upgrade/pg_upgrade.c
M contrib/pg_upgrade/pg_upgrade.h
M contrib/pg_upgrade/relfilenode.c
M contrib/pg_upgrade/server.c
M contrib/pg_upgrade/tablespace.c
M contrib/pg_upgrade/util.c
M contrib/pg_upgrade/version.c
M contrib/pg_upgrade/version_old_8_3.c
M contrib/pg_upgrade_support/pg_upgrade_support.c

Add CVS tags to pg_upgrade and pg_upgrade_support files, per request from Tom.

commit   : ccbe0c14e6ada848201fd94bd23c72e488482043    
  
author   : Bruce Momjian <[email protected]>    
date     : Sat, 3 Jul 2010 14:23:14 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sat, 3 Jul 2010 14:23:14 +0000    

Click here for diff

M contrib/pg_upgrade/IMPLEMENTATION
M contrib/pg_upgrade/Makefile
M contrib/pg_upgrade/TESTING
M contrib/pg_upgrade/check.c
M contrib/pg_upgrade/controldata.c
M contrib/pg_upgrade/dump.c
M contrib/pg_upgrade/exec.c
M contrib/pg_upgrade/file.c
M contrib/pg_upgrade/function.c
M contrib/pg_upgrade/info.c
M contrib/pg_upgrade/option.c
M contrib/pg_upgrade/page.c
M contrib/pg_upgrade/pg_upgrade.c
M contrib/pg_upgrade/pg_upgrade.h
M contrib/pg_upgrade/relfilenode.c
M contrib/pg_upgrade/server.c
M contrib/pg_upgrade/tablespace.c
M contrib/pg_upgrade/util.c
M contrib/pg_upgrade/version.c
M contrib/pg_upgrade/version_old_8_3.c
M contrib/pg_upgrade_support/Makefile
M contrib/pg_upgrade_support/pg_upgrade_support.c

Allow REASSIGNED OWNED to handle opclasses and opfamilies.

commit   : b3b7d603fb397219ada12a8044e6a51aa351958d    
  
author   : Robert Haas <[email protected]>    
date     : Sat, 3 Jul 2010 13:53:13 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Sat, 3 Jul 2010 13:53:13 +0000    

Click here for diff

Backpatch to 8.3, which is as far back as we have opfamilies.  
The opclass portion could probably be backpatched to 8.2, when  
REASSIGN OWNED was added, but for now I have not done that.  
  
Asko Tiidumaa, with minor adjustments by me.  

M src/backend/catalog/pg_shdepend.c
M src/backend/commands/opclasscmds.c
M src/include/commands/defrem.h

Fix assorted misstatements and poor wording in the descriptions of the I/O formats for geometric types. Per bug #5536 from Jon Strait, and my own testing.

commit   : 4b200a27693ebdfb2cc281682adb627069c7d6e1    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 3 Jul 2010 04:03:06 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 3 Jul 2010 04:03:06 +0000    

Click here for diff

Back-patch to all supported branches, since this doco has been wrong right  
along -- we certainly haven't changed the I/O behavior of these types in  
many years.  

M doc/src/sgml/datatype.sgml

Additional cross-references to window functions documentation.

commit   : 276a8f4e99188f0307cd747c2e2575f95626d893    
  
author   : Robert Haas <[email protected]>    
date     : Sat, 3 Jul 2010 02:57:46 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Sat, 3 Jul 2010 02:57:46 +0000    

Click here for diff

Erik Rijkers  

M doc/src/sgml/advanced.sgml
M doc/src/sgml/queries.sgml
M doc/src/sgml/syntax.sgml

Unbreak MSVC builds by removing copydir.c from list of libpgport files

commit   : 97301ab1899328462d772108f9cd70547a9ab03d    
  
author   : Andrew Dunstan <[email protected]>    
date     : Fri, 2 Jul 2010 23:25:27 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Fri, 2 Jul 2010 23:25:27 +0000    

Click here for diff

M src/tools/msvc/Mkvcbuild.pm

Remove hstore % text[] operator; use slice() function instead.

commit   : ce5174767370d25535f800c3b0a9bdb37b66a95c    
  
author   : Robert Haas <[email protected]>    
date     : Fri, 2 Jul 2010 20:36:49 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Fri, 2 Jul 2010 20:36:49 +0000    

Click here for diff

David Wheeler, with one small correction by me.  

M contrib/hstore/expected/hstore.out
M contrib/hstore/hstore.sql.in
M contrib/hstore/sql/hstore.sql
M contrib/hstore/uninstall_hstore.sql
M doc/src/sgml/hstore.sgml

Move copydir.c from src/port to src/backend/storage/file

commit   : bb0fe9feb9fd75a6aaa960028a9f810c883b0fc4    
  
author   : Robert Haas <[email protected]>    
date     : Fri, 2 Jul 2010 17:03:30 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Fri, 2 Jul 2010 17:03:30 +0000    

Click here for diff

The previous commit to make copydir() interruptible prevented  
postgres.exe from linking on MinGW and Cygwin, because on those  
platforms libpgport_srv.a can't freely reference symbols defined  
by the backend.  Since that code is already backend-specific anyway,  
just move the whole file into the backend rather than adding further  
kludges to deal with the symbols needed by CHECK_FOR_INTERRUPTS().  
  
This probably needs some further cleanup, but this commit just moves  
the file as-is, which should hopefully be enough to turn the  
buildfarm green again.  

M src/backend/storage/file/Makefile
R098 src/port/copydir.c src/backend/storage/file/copydir.c
M src/port/Makefile

Issue 'mkdir' hint when replying CREATE TABLESPACE in recovery mode.

commit   : 621cf1462072fa27ef541cdcb5dd69483329cb3d    
  
author   : Bruce Momjian <[email protected]>    
date     : Fri, 2 Jul 2010 02:44:32 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Fri, 2 Jul 2010 02:44:32 +0000    

Click here for diff

Per idea from Fujii Masao  

M src/backend/commands/tablespace.c

Allow copydir() to be interrupted.

commit   : 71d6d0750d8115b646417b62cc97bab7f9872cf5    
  
author   : Robert Haas <[email protected]>    
date     : Thu, 1 Jul 2010 20:12:40 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Thu, 1 Jul 2010 20:12:40 +0000    

Click here for diff

This makes ALTER DATABASE .. SET TABLESPACE and CREATE DATABASE more  
sensitive to interrupts.  Backpatch to 8.4, where ALTER DATABASE .. SET  
TABLESPACE was introduced.  We could go back further, but in the absence  
of complaints about the CREATE DATABASE case it doesn't seem worth it.  
  
Guillaume Lelarge, with a small correction by me.  

M src/port/copydir.c

Get rid of some more stuff that duplicates c.h or port.h.

commit   : 600fc1dc9d6bbb66a76975ea6b431b44c76e7e83    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 1 Jul 2010 15:52:52 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 1 Jul 2010 15:52:52 +0000    

Click here for diff

M contrib/pg_upgrade/controldata.c
M contrib/pg_upgrade/file.c
M contrib/pg_upgrade/pg_upgrade.h

Remove port.h prototypes from pg_upgrade.h, per report from Robert Haas.

commit   : 14bd1c3d9e76e4a9e207082cdd45cb4002d48e5e    
  
author   : Bruce Momjian <[email protected]>    
date     : Thu, 1 Jul 2010 14:37:53 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Thu, 1 Jul 2010 14:37:53 +0000    

Click here for diff

M contrib/pg_upgrade/pg_upgrade.h

Allow ALTER TABLE .. SET TABLESPACE to be interrupted.

commit   : c6cf3060d69dc65b9f6b4f6d3ea712b7a1a0604f    
  
author   : Robert Haas <[email protected]>    
date     : Thu, 1 Jul 2010 14:10:21 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Thu, 1 Jul 2010 14:10:21 +0000    

Click here for diff

Backpatch to 8.0, where tablespaces were introduced.  
  
Guillaume Lelarge  

M src/backend/commands/tablecmds.c

Update 9.0 release notes so streaming replication and hot standby is not assumed to require continuous archiving.

commit   : c37e0096787cc83b7f40aaff390238ae4662c0c4    
  
author   : Bruce Momjian <[email protected]>    
date     : Thu, 1 Jul 2010 02:33:21 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Thu, 1 Jul 2010 02:33:21 +0000    

Click here for diff

Per report from Fujii Masao  

M doc/src/sgml/release-9.0.sgml

stringToNode() and deparse_expression_pretty() crash on invalid input, but we have nevertheless exposed them to users via pg_get_expr(). It would be too much maintenance effort to rigorously check the input, so put a hack in place instead to restrict pg_get_expr() so that the argument must come from one of the system catalog columns known to contain valid expressions.

commit   : 350ab443beba3ce8a7ddf2090a3694de330f6bb3    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Wed, 30 Jun 2010 18:10:23 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Wed, 30 Jun 2010 18:10:23 +0000    

Click here for diff

Per report from Rushabh Lathia. Backpatch to 7.4 which is the oldest  
supported version at the moment.  

M src/backend/parser/parse_expr.c
M src/backend/tcop/fastpath.c

Correct missing/misspelled surname.

commit   : 71a4d5c642bf378bf85e5b6e352db3d6e47578e5    
  
author   : Andrew Dunstan <[email protected]>    
date     : Wed, 30 Jun 2010 14:25:24 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Wed, 30 Jun 2010 14:25:24 +0000    

Click here for diff

M doc/src/sgml/release-9.0.sgml

Document that /bin/true on Windows is implemented by 'REM'.

commit   : 67bc0b2b9052f62b78559edf5a10a384ad9ea670    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 30 Jun 2010 02:43:10 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 30 Jun 2010 02:43:10 +0000    

Click here for diff

M doc/src/sgml/config.sgml

In documentation, use "lower case"/"upper case" consistently (use space between words).

commit   : e1f8d97e49db3cc7bbcd4869213aba6942c38756    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 29 Jun 2010 22:29:14 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 29 Jun 2010 22:29:14 +0000    

Click here for diff

M doc/src/sgml/citext.sgml
M doc/src/sgml/client-auth.sgml
M doc/src/sgml/config.sgml
M doc/src/sgml/func.sgml
M doc/src/sgml/installation.sgml
M doc/src/sgml/libpq.sgml
M doc/src/sgml/pgcrypto.sgml
M doc/src/sgml/plpgsql.sgml

Document that shared_preload_libraries and local_preload_libraries lowercase the library names, unless double-quoted.

commit   : 5016b69cf1302b941ee3a0c5daa66fd1e920e091    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 29 Jun 2010 22:23:02 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 29 Jun 2010 22:23:02 +0000    

Click here for diff

M doc/src/sgml/config.sgml

commit   : 5dbf48986840c3148933ea8ef584f77fd5da8c1a    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 29 Jun 2010 21:20:19 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 29 Jun 2010 21:20:19 +0000    

Click here for diff

M doc/src/sgml/release-9.0.sgml

Add C comment about why synchronous_commit=off behavior can lose committed transactions in a postmaster crash.

commit   : b57ddccf05039bc511e7c4eb3b23933126441bac    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 29 Jun 2010 18:44:58 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 29 Jun 2010 18:44:58 +0000    

Click here for diff

M src/backend/access/transam/xact.c

Message tuning

commit   : 89474cc321bc7af4f02884a9f69539db38dc12c2    
  
author   : Peter Eisentraut <[email protected]>    
date     : Tue, 29 Jun 2010 04:12:47 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Tue, 29 Jun 2010 04:12:47 +0000    

Click here for diff

M src/backend/libpq/auth.c
M src/pl/plperl/plperl.c

Use different function names for plpython3 handlers, to avoid clashes in pg_pltemplate

commit   : a3401bea9cf74053610be900ba5773687c59045d    
  
author   : Peter Eisentraut <[email protected]>    
date     : Tue, 29 Jun 2010 00:18:11 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Tue, 29 Jun 2010 00:18:11 +0000    

Click here for diff

This should have a catversion bump, but it's still being debated whether  
it's worth it during beta.  

M src/include/catalog/pg_pltemplate.h
M src/pl/plpython/plpython.c

Add note clarifying that XML fragments don't accept DTDs

commit   : e849b49406c04e371da2289da31f2e63044cd32a    
  
author   : Peter Eisentraut <[email protected]>    
date     : Tue, 29 Jun 2010 00:03:39 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Tue, 29 Jun 2010 00:03:39 +0000    

Click here for diff

per complaint from Craig Ringer  

M doc/src/sgml/datatype.sgml

Fix doc double-wording in non-durable patch.

commit   : 93c81c68310e0065caabada5d4cea87d2dfc2897    
  
author   : Bruce Momjian <[email protected]>    
date     : Mon, 28 Jun 2010 22:46:11 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Mon, 28 Jun 2010 22:46:11 +0000    

Click here for diff

Report from Thom Brown  

M doc/src/sgml/config.sgml
M doc/src/sgml/perform.sgml

Add new Non-Durable Settings documentation section.

commit   : c65f29989493fccd7e0a08ead2435d57c5751dfe    
  
author   : Bruce Momjian <[email protected]>    
date     : Mon, 28 Jun 2010 21:57:17 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Mon, 28 Jun 2010 21:57:17 +0000    

Click here for diff

Document that synchronous_commit can lose transactions in a db crash,  
not just a OS crash.  

M doc/src/sgml/config.sgml
M doc/src/sgml/perform.sgml

emode_for_corrupt_record shouldn't reduce LOG messages to WARNING.

commit   : 400916b6d7cf140b46ba03cc8aeec7f5ccecc8ad    
  
author   : Robert Haas <[email protected]>    
date     : Mon, 28 Jun 2010 19:46:19 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Mon, 28 Jun 2010 19:46:19 +0000    

Click here for diff

In non-interactive sessions, WARNING sorts below LOG.  

M src/backend/access/transam/xlog.c

Add guidelines for formatting errcontext strings

commit   : ee37fb57c02afcfe6b2b2c75b39aeb86c28f7ac8    
  
author   : Peter Eisentraut <[email protected]>    
date     : Mon, 28 Jun 2010 17:48:26 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Mon, 28 Jun 2010 17:48:26 +0000    

Click here for diff

M doc/src/sgml/sources.sgml

Remove tab from SGML.

commit   : 7bfc0e5e79f2ab280b58f1f53e5115e70548f6fc    
  
author   : Bruce Momjian <[email protected]>    
date     : Mon, 28 Jun 2010 12:30:32 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Mon, 28 Jun 2010 12:30:32 +0000    

Click here for diff

M doc/src/sgml/high-availability.sgml

commit   : 04d9f4dab4723a0736157542b1d1a24ad2b8aa1d    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 28 Jun 2010 02:07:02 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 28 Jun 2010 02:07:02 +0000    

Click here for diff

Back-patch to 8.4.  In earlier releases it's not that important whether  
we get the hasSeek test right, but with parallel restore it matters.  

M src/bin/pg_dump/pg_backup_archiver.c
M src/bin/pg_dump/pg_backup_custom.c

Fix pg_restore so parallel restore doesn't fail when the input file doesn't contain data offsets (which it won't, if pg_dump thought its output wasn't seekable). To do that, remove an unnecessarily aggressive error check, and instead fail if we get to the end of the archive without finding the desired data item. Also improve the error message to be more specific about the cause of the problem. Per discussion of recent report from Igor Neyman.

commit   : b779ea8a9a2dc3a089b3ac152b1ec4568bfeb26f    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 27 Jun 2010 19:07:24 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 27 Jun 2010 19:07:24 +0000    

Click here for diff

Back-patch to 8.4 where parallel restore was introduced.  

M src/bin/pg_dump/pg_backup_custom.c

Rewrite docs for new libpq keepalive parameters.

commit   : e351593922cd82231b8ef5fbb780757a9ba0f18a    
  
author   : Robert Haas <[email protected]>    
date     : Fri, 25 Jun 2010 17:08:09 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Fri, 25 Jun 2010 17:08:09 +0000    

Click here for diff

The revised documentation makes it more clear that these are client-side  
parameters, rather than server side parameters.  It also puts the main  
point of each parameter first, and consolidates the conditions under which  
it might be ignored in a single list at the end.  

M doc/src/sgml/libpq.sgml

Make AIX suggestions about disabling ipv6 more version-sensitive.

commit   : 7c49bf9d5d66f2103d1e76a8474888e5e7447a03    
  
author   : Robert Haas <[email protected]>    
date     : Fri, 25 Jun 2010 16:55:49 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Fri, 25 Jun 2010 16:55:49 +0000    

Click here for diff

Chris Browne, based on a report from John Pierce.  

M doc/src/sgml/installation.sgml

Fix thinko in tok_is_keyword(): it was looking at the wrong union variant of YYSTYPE, and hence returning the wrong answer for cases where a plpgsql "unreserved keyword" really does conflict with a variable name. Obviously I didn't test this enough :-(. Per bug #5524 from Peter Gagarinov.

commit   : 399da7d882dff22b7ad926fb07aafeda2feab999    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 25 Jun 2010 16:40:13 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 25 Jun 2010 16:40:13 +0000    

Click here for diff

M src/pl/plpgsql/src/gram.y
M src/test/regress/expected/plpgsql.out
M src/test/regress/sql/plpgsql.sql

Fix log_temp_files docs and comments to say bytes not kilobytes. stat(2) field st_size returns bytes not kilobytes. Bug found during recent performance tuning for PostgreSQL user.

commit   : 3bdd23932b2a1d0dcae5b10e639108c2430ca9f0    
  
author   : Simon Riggs <[email protected]>    
date     : Fri, 25 Jun 2010 13:11:25 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Fri, 25 Jun 2010 13:11:25 +0000    

Click here for diff

M doc/src/sgml/config.sgml
M src/backend/utils/misc/guc.c

Some copy-editing of the Hot Standby documentation.

commit   : fd3499be2fde05a7773a6e01b114765f7aa06736    
  
author   : Robert Haas <[email protected]>    
date     : Thu, 24 Jun 2010 19:50:25 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Thu, 24 Jun 2010 19:50:25 +0000    

Click here for diff

Thanks to Joshua Tolley for the review.  

M doc/src/sgml/high-availability.sgml

Further 9.0 release notes updates.

commit   : dedb500e8a27b02675c6e79cc5a4a594b48c5c8b    
  
author   : Robert Haas <[email protected]>    
date     : Thu, 24 Jun 2010 18:33:05 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Thu, 24 Jun 2010 18:33:05 +0000    

Click here for diff

Josh Berkus  

M doc/src/sgml/release-9.0.sgml

Add stray "else" that seems to have gone missing.

commit   : 243bbe6ed85d97ed32afeb3a09c6064159af2cde    
  
author   : Robert Haas <[email protected]>    
date     : Thu, 24 Jun 2010 16:40:45 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Thu, 24 Jun 2010 16:40:45 +0000    

Click here for diff

M src/backend/postmaster/postmaster.c

Mention that when alter rewrites a table, indexes are also rebuilt.

commit   : f5dc03dc69d70372d4c6d8fe731b570e926085c3    
  
author   : Bruce Momjian <[email protected]>    
date     : Thu, 24 Jun 2010 14:57:21 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Thu, 24 Jun 2010 14:57:21 +0000    

Click here for diff

M doc/src/sgml/ref/alter_table.sgml

Add TCP keepalive support to libpq.

commit   : d8cd283a08fe87579e3603eaa8fba4d1eca6a8ca    
  
author   : Robert Haas <[email protected]>    
date     : Wed, 23 Jun 2010 21:54:13 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Wed, 23 Jun 2010 21:54:13 +0000    

Click here for diff

This adds four additional connection parameters to libpq: keepalives,  
keepalives_idle, keepalives_count, and keepalives_interval.  
keepalives default to on, per discussion, but can be turned off by  
specifying keepalives=0.  The remaining parameters, where supported,  
can be used to adjust how often keepalives are sent and how many  
can be lost before the connection is broken.  
  
The immediate motivation for this patch is to make sure that  
walreceiver will eventually notice if the master reboots without  
closing the connection cleanly, but it should be helpful in other  
cases as well.  
  
Tollef Fog Heen, Fujii Masao, and me.  

M doc/src/sgml/libpq.sgml
M src/interfaces/libpq/fe-connect.c
M src/interfaces/libpq/libpq-int.h

Add username designations to all pg_upgrade utility calls that support it.

commit   : c1b617987d51ab244b07c9cbd01baee6ea3e786a    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 23 Jun 2010 20:04:50 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 23 Jun 2010 20:04:50 +0000    

Click here for diff

M contrib/pg_upgrade/check.c
M contrib/pg_upgrade/pg_upgrade.c
M contrib/pg_upgrade/server.c

Fix pg_upgrade's use of pg_ctl on Win32 to not send command and sever output to the same file, because it is impossible.

commit   : 601d1eeddc974fbde230c2159e6b95200cfb355f    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 22 Jun 2010 16:45:10 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 22 Jun 2010 16:45:10 +0000    

Click here for diff

Also set user name for pg_dumpall in pg_upgrade.  

M contrib/pg_upgrade/dump.c
M contrib/pg_upgrade/option.c
M contrib/pg_upgrade/pg_upgrade.h
M contrib/pg_upgrade/server.c

Update pg_ctl docs to explain server output behavior differences on win32 and non-win32 platforms.

commit   : 7b6f29006ec5a4e8d9d78c5184940aee31ff40e0    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 22 Jun 2010 16:19:36 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 22 Jun 2010 16:19:36 +0000    

Click here for diff

M doc/src/sgml/ref/pg_ctl-ref.sgml

Updated expected-output file for hstore.

commit   : 8327060dc2dbca8c2220bbdaa0c86342473ad63f    
  
author   : Robert Haas <[email protected]>    
date     : Tue, 22 Jun 2010 12:54:22 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Tue, 22 Jun 2010 12:54:22 +0000    

Click here for diff

This is an oversight in my previous patch to deprecate => as an operator  
name.  Per buildfarm.  

M contrib/hstore/expected/hstore.out

Deprecate the use of => as an operator name.

commit   : f974212320960452950921d68c6fea275c2257da    
  
author   : Robert Haas <[email protected]>    
date     : Tue, 22 Jun 2010 11:36:16 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Tue, 22 Jun 2010 11:36:16 +0000    

Click here for diff

In HEAD, emit a warning when an operator named => is defined.  
In both HEAD and the backbranches (except in 8.2, where contrib  
modules do not have documentation), document that hstore's text =>  
text operator may be removed in a future release, and encourage the  
use of the hstore(text, text) function instead.  This function only  
exists in HEAD (previously, it was called tconvert), so backpatch  
it back to 8.2, when hstore was added.  Per discussion.  

M doc/src/sgml/hstore.sgml
M doc/src/sgml/ref/create_operator.sgml
M src/backend/commands/operatorcmds.c

Minor markup improvements for Hot Standby documentation.

commit   : 9b2c14cf115452fa595fa01c7943f4e532b8c86c    
  
author   : Robert Haas <[email protected]>    
date     : Tue, 22 Jun 2010 02:57:50 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Tue, 22 Jun 2010 02:57:50 +0000    

Click here for diff

M doc/src/sgml/config.sgml
M doc/src/sgml/high-availability.sgml

In a PL/pgSQL "FOR cursor" statement, the statements executed in the loop might close the cursor, rendering the Portal pointer to it invalid. Closing the cursor in the middle of the loop is not a very sensible thing to do, but we must handle it gracefully and throw an error instead of crashing.

commit   : 2e8a832dd6e2e75626d59565fbe9029be12771f7    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Mon, 21 Jun 2010 09:47:29 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Mon, 21 Jun 2010 09:47:29 +0000    

Click here for diff

M src/pl/plpgsql/src/pl_exec.c

Fix mishandling of whole-row Vars referencing a view or sub-select. If such a Var appeared within a nested sub-select, we failed to translate it correctly during pullup of the view, because the recursive call to replace_rte_variables_mutator was looking for the wrong sublevels_up value. Bug was introduced during the addition of the PlaceHolderVar mechanism. Per bug #5514 from Marcos Castedo.

commit   : f685cbbac849064a170375e41fc36ad517f6210c    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 21 Jun 2010 00:14:48 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 21 Jun 2010 00:14:48 +0000    

Click here for diff

M src/backend/optimizer/prep/prepjointree.c
M src/test/regress/expected/subselect.out
M src/test/regress/sql/subselect.sql

Rename hstore => text[] operator to %

commit   : 31c47e53aa4b951bdd54eb6b47590e6c9124e427    
  
author   : Robert Haas <[email protected]>    
date     : Fri, 18 Jun 2010 03:52:03 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Fri, 18 Jun 2010 03:52:03 +0000    

Click here for diff

This is not yet in any released version, so we still have the option to  
change the name.  We may want to reserve the token => in a future release.  

M contrib/hstore/expected/hstore.out
M contrib/hstore/hstore.sql.in
M contrib/hstore/sql/hstore.sql
M contrib/hstore/uninstall_hstore.sql
M doc/src/sgml/hstore.sgml

Clean up some randomness associated with trace_recovery_messages: don't put the variable declaration in the middle of a bunch of externs, and do use extern where it should be used.

commit   : 78e8f0025e3f18855dc0af5916223f9fcfda5706    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 17 Jun 2010 17:44:40 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 17 Jun 2010 17:44:40 +0000    

Click here for diff

M src/backend/utils/misc/guc.c
M src/include/miscadmin.h

Make RemoveOldXlogFiles's debug printout match style used elsewhere: log and seg aren't an XLogRecPtr and shouldn't be printed like one. Fujii Masao

commit   : 09698bb5fb20a069f84ddbfab0bff9ae0d0f7c8a    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 17 Jun 2010 17:37:23 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 17 Jun 2010 17:37:23 +0000    

Click here for diff

M src/backend/access/transam/xlog.c

Clean up pg_archivecleanup's error and logging output: put newlines in sane places, make messages follow project's message style guidelines.

commit   : 449c73f4668ef08ddaecf74834015d3d780d5da0    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 17 Jun 2010 17:31:27 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 17 Jun 2010 17:31:27 +0000    

Click here for diff

Also, avoid closedir(NULL).  
  
Fujii Masao and Tom Lane  

M contrib/pg_archivecleanup/pg_archivecleanup.c

Add missing close brackets in old-style COPY syntax diagram. Spotted by Evan Carroll.

commit   : f826f8fc6971261fdf21ee14b069510628f3fb80    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 17 Jun 2010 17:03:57 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 17 Jun 2010 17:03:57 +0000    

Click here for diff

M doc/src/sgml/ref/copy.sgml

Don't allow walsender to send WAL data until it's been safely fsync'd on the master. Otherwise a subsequent crash could cause the master to lose WAL that has already been applied on the slave, resulting in the slave being out of sync and soon corrupt. Per recent discussion and an example from Robert Haas.

commit   : 07e8b6aabcca3ad9a67681694d955f607e29ce7b    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 17 Jun 2010 16:41:25 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 17 Jun 2010 16:41:25 +0000    

Click here for diff

Fujii Masao  

M src/backend/access/transam/xlog.c
M src/backend/replication/walsender.c
M src/include/access/xlog.h

Fix typo, init => int, per KOIZUMI Satoru.

commit   : 8f4e1218458d0d34825d41b50aabadacbdf93697    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 17 Jun 2010 16:03:30 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 17 Jun 2010 16:03:30 +0000    

Click here for diff

M doc/src/sgml/libpq.sgml

Document that receive location can rewind if replication restarts.

commit   : 5c5184c04397b65e551ddf0250484eb381f50f9f    
  
author   : Robert Haas <[email protected]>    
date     : Thu, 17 Jun 2010 01:32:09 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Thu, 17 Jun 2010 01:32:09 +0000    

Click here for diff

Fujii Masao, with some further wordsmithing by me.  

M doc/src/sgml/func.sgml

Remove prototype of GetOldestWALSendPointer(), that is marked as NOT_USED.

commit   : 147c665d01002193a161a34f0e646d7c85d00c15    
  
author   : Itagaki Takahiro <[email protected]>    
date     : Thu, 17 Jun 2010 00:06:34 +0000    
  
committer: Itagaki Takahiro <[email protected]>    
date     : Thu, 17 Jun 2010 00:06:34 +0000    

Click here for diff

M src/include/replication/walsender.h

Fix pg_upgrade to remove malloc(0) call.

commit   : 1aa117506df38e2ea4efcdffd9ac18b93399aa6b    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 16 Jun 2010 19:43:11 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 16 Jun 2010 19:43:11 +0000    

Click here for diff

M contrib/pg_upgrade/tablespace.c

Update doc description for 9.0 release note item:

commit   : f25e5e5d475f42fa8a52f9941c08286fc2bbfb4a    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 16 Jun 2010 18:46:18 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 16 Jun 2010 18:46:18 +0000    

Click here for diff

      Have <command>SELECT</> and <command>CREATE TABLE AS</> return  
      row counts to the client  

M doc/src/sgml/release-9.0.sgml

9.0 release notes updates.

commit   : a7b592722a062673b7237ad12e5a4a2c2c79da0c    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 16 Jun 2010 18:31:39 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 16 Jun 2010 18:31:39 +0000    

Click here for diff

Josh Berkus  

M doc/src/sgml/release-9.0.sgml

Remove perl symbol table additions for plperl functions, and mention of it in the release notes, as it is not apparently providing anything useful.

commit   : 3659c62350c9f362007b21c5cc1677c401cc3a33    
  
author   : Andrew Dunstan <[email protected]>    
date     : Wed, 16 Jun 2010 14:50:34 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Wed, 16 Jun 2010 14:50:34 +0000    

Click here for diff

M doc/src/sgml/release-9.0.sgml
M src/pl/plperl/plperl.c

Add notes that CREATE/DROP CONVERSION is similar to CREATE/DROP TRANSLATION in the SQL standard.

commit   : 0c88e559d1169b3038bbdb087c06362161e2e03c    
  
author   : Peter Eisentraut <[email protected]>    
date     : Wed, 16 Jun 2010 02:12:51 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Wed, 16 Jun 2010 02:12:51 +0000    

Click here for diff

M doc/src/sgml/ref/create_conversion.sgml
M doc/src/sgml/ref/drop_conversion.sgml

Refactor sprintf calls with computed format strings into multiple calls with constant format strings, so that the compiler can more easily check the formats for correctness.

commit   : 418e1d82fd113ac8d7ec20f7aeeefc0a4e563ebb    
  
author   : Peter Eisentraut <[email protected]>    
date     : Wed, 16 Jun 2010 00:54:16 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Wed, 16 Jun 2010 00:54:16 +0000    

Click here for diff

M src/backend/postmaster/postmaster.c
M src/interfaces/ecpg/pgtypeslib/dt_common.c

Fix storage of getopt() return, should be 'int', for pg_upgrade.

commit   : 24cb6ab9af0350ca7c3703bf3b314206dd1405c0    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 15 Jun 2010 23:25:01 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 15 Jun 2010 23:25:01 +0000    

Click here for diff

Steve Singer  

M contrib/pg_upgrade/option.c

commit   : c0989c67fa8fcc53f8475bbc918e330588628cff    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 15 Jun 2010 20:29:01 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 15 Jun 2010 20:29:01 +0000    

Click here for diff

M contrib/dblink/dblink.c
M contrib/dblink/expected/dblink.out
M contrib/dblink/sql/dblink.sql
M doc/src/sgml/dblink.sgml

Clarify SELECT FOR UPDATE behavior in docs.

commit   : 77a4c51af80819c3bcd581d9237f5c47e68393a6    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 15 Jun 2010 20:04:53 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 15 Jun 2010 20:04:53 +0000    

Click here for diff

M doc/src/sgml/ref/select.sgml

Remove hstore's text[] => text[] operator.

commit   : b17129b5891a385ff2cd5dc4a1fa631366951d29    
  
author   : Robert Haas <[email protected]>    
date     : Tue, 15 Jun 2010 19:48:30 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Tue, 15 Jun 2010 19:48:30 +0000    

Click here for diff

This is not yet in any released version, so we still have the option to  
backtrack.  Instead, document hstore(text[], text[]).  Per discussion.  

M contrib/hstore/expected/hstore.out
M contrib/hstore/hstore.sql.in
M contrib/hstore/sql/hstore.sql
M doc/src/sgml/hstore.sgml

commit   : 3b3706d2cfb6d7a29ee5adb2fb6f2bf363256508    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 15 Jun 2010 19:04:15 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 15 Jun 2010 19:04:15 +0000    

Click here for diff

Per bug report from Robert Voinea.  

M contrib/dblink/dblink.c
M contrib/dblink/expected/dblink.out
M contrib/dblink/sql/dblink.sql

Document new 9.0 behavior of ANALYZE on inheritance hierarchies.

commit   : 4a969085753d4e6586e60e613f160bf3a956b75d    
  
author   : Robert Haas <[email protected]>    
date     : Tue, 15 Jun 2010 18:43:35 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Tue, 15 Jun 2010 18:43:35 +0000    

Click here for diff

In particular, note that autovacuum does not yet understand that it might  
need to vacuum inheritance parents as a result of changes to the child  
tables.  

M doc/src/sgml/ref/analyze.sgml

commit   : 48a7245391687cefd21ffe7597eff553f6b29960    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 15 Jun 2010 16:22:19 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 15 Jun 2010 16:22:19 +0000    

Click here for diff

This patch replaces Joe's patch of 2010-02-03, which handled only some aspects  
of the problem.  

M contrib/dblink/dblink.c
M contrib/dblink/expected/dblink.out

Unbreak MSVC builds for pg_archivecleanup by linking with libpgport

commit   : 540113dc9634bbcd5960be02116a27c2c102e133    
  
author   : Andrew Dunstan <[email protected]>    
date     : Tue, 15 Jun 2010 12:48:36 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Tue, 15 Jun 2010 12:48:36 +0000    

Click here for diff

M src/tools/msvc/Mkvcbuild.pm

Add new GUC categories corresponding to sections in docs, and move description for vacuum_defer_cleanup_age to the correct category. Sections in postgresql.conf are also sorted in the same order with docs.

commit   : 41f302b52a2f0388a9e9b084d42f18d1904db7ff    
  
author   : Itagaki Takahiro <[email protected]>    
date     : Tue, 15 Jun 2010 07:52:11 +0000    
  
committer: Itagaki Takahiro <[email protected]>    
date     : Tue, 15 Jun 2010 07:52:11 +0000    

Click here for diff

Per gripe by Fujii Masao, suggestion by Heikki Linnakangas, and patch by me.  

M doc/src/sgml/config.sgml
M src/backend/utils/misc/guc.c
M src/backend/utils/misc/postgresql.conf.sample
M src/include/utils/guc_tables.h

Properly define pg_upgrade global variable, per bug report from Chris Ruprecht on Mac (64 bit).

commit   : 8141523e35fd0c5c069abd0403b5c99770abd6fb    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 15 Jun 2010 02:08:01 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 15 Jun 2010 02:08:01 +0000    

Click here for diff

M contrib/pg_upgrade/pg_upgrade.h
M contrib/pg_upgrade/relfilenode.c

commit   : 6bbaa3148d65b3bed987c40b78e2b9a55bdfab58    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 14 Jun 2010 20:49:33 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 14 Jun 2010 20:49:33 +0000    

Click here for diff

Problem noted while investigating a trouble report from Robert Voinea --- his  
problem is still to be fixed, though.  

M contrib/dblink/dblink.c

Fix doc plperl doc with is -> are change.

commit   : cbb0dcff4f37714b7ba80f2d2b05d647f7b53b47    
  
author   : Bruce Momjian <[email protected]>    
date     : Mon, 14 Jun 2010 18:47:05 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Mon, 14 Jun 2010 18:47:05 +0000    

Click here for diff

M doc/src/sgml/plperl.sgml

Docs for pg_archivecleanup

commit   : 24bfbb5857a1e7ae227b526e64e540752c3b1fe3    
  
author   : Simon Riggs <[email protected]>    
date     : Mon, 14 Jun 2010 17:25:24 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Mon, 14 Jun 2010 17:25:24 +0000    

Click here for diff

M doc/src/sgml/contrib.sgml
M doc/src/sgml/filelist.sgml
A doc/src/sgml/pgarchivecleanup.sgml

Files for pg_archivecleanup

commit   : ca65f2190ae20b8bba9aa66e4cab1982b95d109f    
  
author   : Simon Riggs <[email protected]>    
date     : Mon, 14 Jun 2010 16:19:24 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Mon, 14 Jun 2010 16:19:24 +0000    

Click here for diff

A contrib/pg_archivecleanup/Makefile
A contrib/pg_archivecleanup/pg_archivecleanup.c

New contrib module for use as an archive_cleanup_command, or as a standalone utility for removing files from archive.

commit   : 25fee5cfbdcbc8cbc2d1a31f6546d9fc4663c203    
  
author   : Simon Riggs <[email protected]>    
date     : Mon, 14 Jun 2010 16:17:56 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Mon, 14 Jun 2010 16:17:56 +0000    

Click here for diff

M contrib/Makefile

Fix typo in Japanese translation for psql "Use \d+ to list them."

commit   : 72e1d3d6e4e2cb859d771ae8617ea37d46db7d56    
  
author   : Itagaki Takahiro <[email protected]>    
date     : Mon, 14 Jun 2010 08:54:35 +0000    
  
committer: Itagaki Takahiro <[email protected]>    
date     : Mon, 14 Jun 2010 08:54:35 +0000    

Click here for diff

M src/bin/psql/po/ja.po

If a corrupt WAL record is received by streaming replication, disconnect and retry. If the record is genuinely corrupt in the master database, there's little hope of recovering, but it's better than simply retrying to apply the corrupt WAL record in a tight loop without even trying to retransmit it, which is what we used to do.

commit   : 6da07cd80dba3324feec2ee422b325d544e1be55    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Mon, 14 Jun 2010 06:04:21 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Mon, 14 Jun 2010 06:04:21 +0000    

Click here for diff

M src/backend/access/transam/xlog.c

Fix misplaced modifier.

commit   : 38736e22762e721306496c3713bf34c3c6ea3ae9    
  
author   : Robert Haas <[email protected]>    
date     : Mon, 14 Jun 2010 02:18:43 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Mon, 14 Jun 2010 02:18:43 +0000    

Click here for diff

As suggested by Ian Barwick.  

M doc/src/sgml/release-9.0.sgml

Fix typo.

commit   : dd6c1080d069e69ec4f47ac797467f3af60043ac    
  
author   : Robert Haas <[email protected]>    
date     : Mon, 14 Jun 2010 01:07:41 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Mon, 14 Jun 2010 01:07:41 +0000    

Click here for diff

M doc/src/sgml/release-9.0.sgml

Remove max_standby_delay message from ps display of recovery process in waiting status. The parameter is not so interesting in ps display because it is referable in postgresql.conf.

commit   : 9e3cd37576fdc1b10126194256c8ba7e63f760de    
  
author   : Itagaki Takahiro <[email protected]>    
date     : Mon, 14 Jun 2010 00:49:24 +0000    
  
committer: Itagaki Takahiro <[email protected]>    
date     : Mon, 14 Jun 2010 00:49:24 +0000    

Click here for diff

M src/backend/storage/ipc/standby.c

Fix ALTER LARGE OBJECT and GRANT ... ON LARGE OBJECT for large OIDs.

commit   : 26b7abfa32b657e21911e82b38eeb8fc81c9dc77    
  
author   : Robert Haas <[email protected]>    
date     : Sun, 13 Jun 2010 17:43:13 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Sun, 13 Jun 2010 17:43:13 +0000    

Click here for diff

The previous coding failed for OIDs too large to be represented by  
a signed integer.  

M src/backend/catalog/aclchk.c
M src/backend/commands/alter.c
M src/backend/commands/comment.c
M src/backend/parser/gram.y
M src/backend/utils/adt/oid.c
M src/include/utils/builtins.h

postgres.txt should get cleaned by 'make clean'.

commit   : a079efa641fbfa0ad32c6218e8dc6d949989a247    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 12 Jun 2010 21:40:31 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 12 Jun 2010 21:40:31 +0000    

Click here for diff

M doc/src/sgml/Makefile

Update pg_upgrade C comment about cwd.

commit   : 785c2acc1265aa26042dd60bd38dd8d5a5e19061    
  
author   : Bruce Momjian <[email protected]>    
date     : Sat, 12 Jun 2010 17:45:28 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sat, 12 Jun 2010 17:45:28 +0000    

Click here for diff

M contrib/pg_upgrade/pg_upgrade.h

Add missing --use-existing --help mention from regression binary.

commit   : f904c797d62f1d1231718967734c7997c49a4029    
  
author   : Bruce Momjian <[email protected]>    
date     : Sat, 12 Jun 2010 17:21:29 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sat, 12 Jun 2010 17:21:29 +0000    

Click here for diff

Jan Urba?ski  

M src/test/regress/pg_regress.c

Remove lynx -stdin flag for postgres.text.

commit   : 4c7d48bffb3765a2b0f1735c9deb319a1091c173    
  
author   : Bruce Momjian <[email protected]>    
date     : Sat, 12 Jun 2010 17:17:25 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sat, 12 Jun 2010 17:17:25 +0000    

Click here for diff

M doc/src/sgml/Makefile

Have pg_upgrade create its output files in the current directory, rather than in a subdirectory of the $HOME directory, or $TMP in Windows.

commit   : 1dc7c796c982f97fa93ddba530db3b15f1fba676    
  
author   : Bruce Momjian <[email protected]>    
date     : Sat, 12 Jun 2010 17:05:29 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sat, 12 Jun 2010 17:05:29 +0000    

Click here for diff

M contrib/pg_upgrade/check.c
M contrib/pg_upgrade/dump.c
M contrib/pg_upgrade/function.c
M contrib/pg_upgrade/option.c
M contrib/pg_upgrade/pg_upgrade.c
M contrib/pg_upgrade/pg_upgrade.h
M contrib/pg_upgrade/version.c
M contrib/pg_upgrade/version_old_8_3.c

Add SGML Makefile rule for single-page text, postgres.txt.

commit   : 99fdb4a9eae673c7697485241bf6062aa6bf26fa    
  
author   : Bruce Momjian <[email protected]>    
date     : Sat, 12 Jun 2010 15:58:38 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sat, 12 Jun 2010 15:58:38 +0000    

Click here for diff

M doc/src/sgml/Makefile

Add space between after ">" in ">$@" in SGML Makefile, for clarity.

commit   : 7d7780f40d1a06d443da9f61af24a8a8fbad2171    
  
author   : Bruce Momjian <[email protected]>    
date     : Sat, 12 Jun 2010 15:42:44 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sat, 12 Jun 2010 15:42:44 +0000    

Click here for diff

M doc/src/sgml/Makefile

Add target to build HTML documentation as single page

commit   : 7de38696c440a10dffce545f9d0e0d0d3716c136    
  
author   : Peter Eisentraut <[email protected]>    
date     : Sat, 12 Jun 2010 09:55:12 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Sat, 12 Jun 2010 09:55:12 +0000    

Click here for diff

M doc/src/sgml/Makefile
M doc/src/sgml/docguide.sgml

Fix typo/bug, found by Clang compiler

commit   : c86efdde5f803b72e9655a75ebf3b8d6083df1ea    
  
author   : Peter Eisentraut <[email protected]>    
date     : Sat, 12 Jun 2010 09:14:52 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Sat, 12 Jun 2010 09:14:52 +0000    

Click here for diff

M src/backend/access/transam/xlog.c

Update Python version information

commit   : cc3c4a2407a52fb0262ec5fe50441e30dbfa2418    
  
author   : Peter Eisentraut <[email protected]>    
date     : Sat, 12 Jun 2010 06:05:48 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Sat, 12 Jun 2010 06:05:48 +0000    

Click here for diff

M src/pl/plpython/expected/README

Add a regression test case for bug #5497

commit   : 6b72aa515498d76eb9459d989843eed6e8b3b219    
  
author   : Peter Eisentraut <[email protected]>    
date     : Sat, 12 Jun 2010 06:05:20 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Sat, 12 Jun 2010 06:05:20 +0000    

Click here for diff

M src/pl/plpython/expected/plpython_types.out
M src/pl/plpython/expected/plpython_types_3.out
M src/pl/plpython/sql/plpython_types.sql

Add missing 'Z' letter to getopt_long call --- the newly added --analyze-only switch did not work in its short form -Z.

commit   : bc325d843235803356eb9e67cc4c7622df33c02d    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 11 Jun 2010 23:58:24 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 11 Jun 2010 23:58:24 +0000    

Click here for diff

Josh Berkus  

M src/bin/scripts/vacuumdb.c

Use "replication" as the database name when constructing a connection string for a streaming replication connection. It's ignored by the server, but allows libpq to pick up the password from .pgpass where "replication" is specified as the database name.

commit   : e751b71b56f1ba6fa3bb277059f9d5a8ea7b84af    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Fri, 11 Jun 2010 10:13:09 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Fri, 11 Jun 2010 10:13:09 +0000    

Click here for diff

Patch by Fujii Masao per Tom's suggestion, with some wording changes by me.  

M doc/src/sgml/high-availability.sgml
M doc/src/sgml/libpq.sgml
M doc/src/sgml/recovery-config.sgml
M src/backend/replication/libpqwalreceiver/libpqwalreceiver.c

Update text of 9.0 release notes

commit   : c46f861c0dde5813b8c472a65dfc4e76d093ad0f    
  
author   : Bruce Momjian <[email protected]>    
date     : Thu, 10 Jun 2010 21:48:28 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Thu, 10 Jun 2010 21:48:28 +0000    

Click here for diff

Josh Berkus  

M doc/src/sgml/release-9.0.sgml

Rename restartpoint_command to archive_cleanup_command.

commit   : 56834fc759d74d7be645186c09ca65757f12e96a    
  
author   : Itagaki Takahiro <[email protected]>    
date     : Thu, 10 Jun 2010 08:13:50 +0000    
  
committer: Itagaki Takahiro <[email protected]>    
date     : Thu, 10 Jun 2010 08:13:50 +0000    

Click here for diff

M doc/src/sgml/high-availability.sgml
M doc/src/sgml/recovery-config.sgml
M src/backend/access/transam/recovery.conf.sample
M src/backend/access/transam/xlog.c

Make TriggerFile variable static. It's not used outside xlog.c.

commit   : 0a7cb8553180d3525c37a324a0cc5fcc2a2e9d03    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Thu, 10 Jun 2010 07:49:23 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Thu, 10 Jun 2010 07:49:23 +0000    

Click here for diff

Fujii Masao  

M src/backend/access/transam/xlog.c
M src/include/access/xlog.h

Return NULL instead of 0/0 in pg_last_xlog_receive_location() and pg_last_xlog_replay_location(). Per Robert Haas's suggestion, after Itagaki Takahiro pointed out an issue in the docs. Also, some wording changes in the docs by me.

commit   : 346d7cd7fa5723d45b52b1e61c0cb0ba41a8ce99    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Thu, 10 Jun 2010 07:00:27 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Thu, 10 Jun 2010 07:00:27 +0000    

Click here for diff

M doc/src/sgml/func.sgml
M src/backend/access/transam/xlog.c

Fix quite-bogus handling of arrays in plpython datum-to-PyObject conversion. Per bug #5497 from David Gardner.

commit   : 4ddf151c49b5ed3524ececc42226bf456cd8beaf    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 10 Jun 2010 04:05:01 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 10 Jun 2010 04:05:01 +0000    

Click here for diff

M src/pl/plpython/plpython.c

Quote all string values in EXPLAIN (FORMAT YAML) output.

commit   : 932de8916fa2ff84c30e396b3e91442c4629e964    
  
author   : Robert Haas <[email protected]>    
date     : Thu, 10 Jun 2010 01:26:30 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Thu, 10 Jun 2010 01:26:30 +0000    

Click here for diff

While my previous attempt seems to always produce valid YAML, it  
doesn't always produce YAML that means what it appears to mean,  
because of tokens like "0xa" and "true", which without quotes will  
be interpreted as integer or Boolean literals.  So, instead, just  
quote everything that's not known to be a number, as we do for  
JSON.  
  
Dean Rasheed, with some changes to the comments by me.  

M src/backend/commands/explain.c

Remove stray word from comment.

commit   : f383083305dbc387bef240fe345f22d9133ecfc3    
  
author   : Robert Haas <[email protected]>    
date     : Wed, 9 Jun 2010 21:14:28 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Wed, 9 Jun 2010 21:14:28 +0000    

Click here for diff

M src/backend/catalog/pg_largeobject.c

Update ALTER TABLE docs to account for exclusion and deferrable uniqueness constraints

commit   : a5ec2986b3d9b241f9aef56877bc63d63638f925    
  
author   : Alvaro Herrera <[email protected]>    
date     : Wed, 9 Jun 2010 17:48:10 +0000    
  
committer: Alvaro Herrera <[email protected]>    
date     : Wed, 9 Jun 2010 17:48:10 +0000    

Click here for diff

Dean Rasheed  

M doc/src/sgml/ref/alter_table.sgml

Add index entry for ::, per complaint from John Gage.

commit   : 09811eff2ef0665b0cf57d83223fb719292ca15b    
  
author   : Alvaro Herrera <[email protected]>    
date     : Wed, 9 Jun 2010 16:43:47 +0000    
  
committer: Alvaro Herrera <[email protected]>    
date     : Wed, 9 Jun 2010 16:43:47 +0000    

Click here for diff

M doc/src/sgml/syntax.sgml

In standby mode, respect checkpoint_segments in addition to checkpoint_timeout to trigger restartpoints. We used to deliberately only do time-based restartpoints, because if checkpoint_segments is small we would spend time doing restartpoints more often than really necessary. But now that restartpoints are done in bgwriter, they're not as disruptive as they used to be. Secondly, because streaming replication stores the streamed WAL files in pg_xlog, we want to clean it up more often to avoid running out of disk space when checkpoint_timeout is large and checkpoint_segments small.

commit   : 71815306e9e1ba7e95752779d2ad51d0c2b9c747    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Wed, 9 Jun 2010 15:04:07 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Wed, 9 Jun 2010 15:04:07 +0000    

Click here for diff

Patch by Fujii Masao, with some minor changes by me.  

M src/backend/access/transam/xlog.c
M src/backend/replication/walreceiver.c

Make the walwriter close it's handle to an old xlog segment if it's no longer the current one. Not doing this would leave the walwriter with a handle to a deleted file if there was nothing for it to do for a long period of time, preventing the file from being completely removed.

commit   : 8c873bbfa723e4d035847a488adbd0aa21c595b9    
  
author   : Magnus Hagander <[email protected]>    
date     : Wed, 9 Jun 2010 10:54:45 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Wed, 9 Jun 2010 10:54:45 +0000    

Click here for diff

Reported by Tollef Fog Heen, and thanks to Heikki for some hand-holding with  
the patch.  

M src/backend/access/transam/xlog.c

commit   : 5a41c317c58603e1beff5f2f31e157a30f41a3bf    
  
author   : Itagaki Takahiro <[email protected]>    
date     : Wed, 9 Jun 2010 03:39:26 +0000    
  
committer: Itagaki Takahiro <[email protected]>    
date     : Wed, 9 Jun 2010 03:39:26 +0000    

Click here for diff

M contrib/dblink/dblink.c

Attempt to fix EXPLAIN (FORMAT YAML) quoting to behave sanely.

commit   : d6e503a493d2a54221531654d48a62fddc8ae9a2    
  
author   : Robert Haas <[email protected]>    
date     : Wed, 9 Jun 2010 02:39:34 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Wed, 9 Jun 2010 02:39:34 +0000    

Click here for diff

The previous code failed to quote in many cases where quoting was necessary -  
YAML has loads of special characters, including -:[]{},"'|*& - so quote much  
more aggressively, and only refrain from quoting things where it seems fairly  
clear that it isn't necessary.  
  
Per report from Dean Rasheed.  

M src/backend/commands/explain.c

commit   : a62435607252f7286023fe38e39f57e6581790c9    
  
author   : Itagaki Takahiro <[email protected]>    
date     : Wed, 9 Jun 2010 00:56:02 +0000    
  
committer: Itagaki Takahiro <[email protected]>    
date     : Wed, 9 Jun 2010 00:56:02 +0000    

Click here for diff

Backported to release 7.4.  

M contrib/dblink/dblink.c

Fix typo in the header comment. Per request from Masao Fujii.

commit   : 016212e0eb056f6c635b946fa6c1a572c89171a8    
  
author   : Tatsuo Ishii <[email protected]>    
date     : Wed, 9 Jun 2010 00:54:39 +0000    
  
committer: Tatsuo Ishii <[email protected]>    
date     : Wed, 9 Jun 2010 00:54:39 +0000    

Click here for diff

M src/backend/replication/walreceiver.c

Make procedural language handler reference C-language function docs.

commit   : 8de14adc5f28a7eaa47d92896cf1797728902857    
  
author   : Robert Haas <[email protected]>    
date     : Tue, 8 Jun 2010 20:12:59 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Tue, 8 Jun 2010 20:12:59 +0000    

Click here for diff

Based on suggestions from Jonathan Leto and Joshua Tolley.  

M doc/src/sgml/plhandler.sgml

Avoid useless snprintf() call when update_process_title is turned off. Fujii Masao

commit   : 36614006e15e2a9d2d866ee57af9320bf482aa7c    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 7 Jun 2010 15:49:30 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 7 Jun 2010 15:49:30 +0000    

Click here for diff

M src/backend/replication/walreceiver.c

commit   : 3e7451a6dfa1f734ee7f09d73baf5c8dd8a6adfe    
  
author   : Teodor Sigaev <[email protected]>    
date     : Mon, 7 Jun 2010 15:14:36 +0000    
  
committer: Teodor Sigaev <[email protected]>    
date     : Mon, 7 Jun 2010 15:14:36 +0000    

Click here for diff

M contrib/dblink/uninstall_dblink.sql

Ensure default-only storage parameters for TOAST relations to be initialized with proper values. Affected parameters are fillfactor, analyze_threshold, and analyze_scale_factor.

commit   : b5faba1284c4e5108c6fbe577daa33f933e7a4e0    
  
author   : Itagaki Takahiro <[email protected]>    
date     : Mon, 7 Jun 2010 02:59:02 +0000    
  
committer: Itagaki Takahiro <[email protected]>    
date     : Mon, 7 Jun 2010 02:59:02 +0000    

Click here for diff

Especially uninitialized fillfactor caused inefficient page usage  
because we built a StdRdOptions struct in which fillfactor is zero  
if any reloption is set for the toast table.  
  
In addition, we disallow toast.autovacuum_analyze_threshold and  
toast.autovacuum_analyze_scale_factor because we didn't actually  
support them; they are always ignored.  
  
Report by Rumko on pgsql-bugs on 12 May 2010.  
Analysis by Tom Lane and Alvaro Herrera. Patch by me.  
  
Backpatch to 8.4.  

M doc/src/sgml/ref/create_table.sgml
M src/backend/access/common/reloptions.c
M src/bin/psql/tab-complete.c

Replace "slave" to "standby" in documentation for consistent terminology. Almost all of the terms in docs and messages were replaced, but still remains in a few comments and README files in codes.

commit   : 3fd839950a33a7d36ac83edf1f9cc6fb929d7649    
  
author   : Itagaki Takahiro <[email protected]>    
date     : Mon, 7 Jun 2010 02:01:09 +0000    
  
committer: Itagaki Takahiro <[email protected]>    
date     : Mon, 7 Jun 2010 02:01:09 +0000    

Click here for diff

M doc/src/sgml/backup.sgml
M doc/src/sgml/dblink.sgml
M doc/src/sgml/external-projects.sgml
M doc/src/sgml/high-availability.sgml
M doc/src/sgml/protocol.sgml
M doc/src/sgml/release-9.0.sgml
M doc/src/sgml/release-alpha.sgml

Improve our explanation of the OVERLAPS operator. Per gripe from Frank van Vugt.

commit   : 2944e6ecb6af1c7b54d8f683b247578bc579f5e0    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 5 Jun 2010 14:56:36 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 5 Jun 2010 14:56:36 +0000    

Click here for diff

M doc/src/sgml/func.sgml

Added variable handling for RETURNING clause to ecpg.

commit   : 98e4005efb1941c6422d6b8fbb5de27004149f7e    
  
author   : Michael Meskes <[email protected]>    
date     : Fri, 4 Jun 2010 10:09:58 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Fri, 4 Jun 2010 10:09:58 +0000    

Click here for diff

While the values were correctly returned they were not moved into C variables  
as they should be.  
  
Closes: #5489  

M src/interfaces/ecpg/preproc/parse.pl
M src/interfaces/ecpg/test/expected/sql-insupd.c
M src/interfaces/ecpg/test/expected/sql-insupd.stderr
M src/interfaces/ecpg/test/expected/sql-insupd.stdout
M src/interfaces/ecpg/test/sql/insupd.pgc

tag 9.0beta2

commit   : dcd52a64bd9d3baa252a8bea662b08f7780035a1    
  
author   : Marc G. Fournier <[email protected]>    
date     : Fri, 4 Jun 2010 07:28:30 +0000    
  
committer: Marc G. Fournier <[email protected]>    
date     : Fri, 4 Jun 2010 07:28:30 +0000    

Click here for diff

M configure
M configure.in
M doc/bug.template
M src/include/pg_config.h.win32

Adjust misleading comment in walsender.c. We try to send all WAL data that's been written out from shared memory, but the previous phrasing might be read to say that we send only what's been fsync'd.

commit   : 3ceb44fa0a96231202b8192dff2f0e517ad534fc    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 3 Jun 2010 23:00:14 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 3 Jun 2010 23:00:14 +0000    

Click here for diff

M src/backend/replication/walsender.c

Add current WAL end (as seen by walsender, ie, GetWriteRecPtr() result) and current server clock time to SR data messages. These are not currently used on the slave side but seem likely to be useful in future, and it'd be better not to change the SR protocol after release. Per discussion. Also do some minor code review and cleanup on walsender.c, and improve the protocol documentation.

commit   : 0cc59cc1f38d91587d52b14789e20bdd4c1af70a    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 3 Jun 2010 22:17:32 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 3 Jun 2010 22:17:32 +0000    

Click here for diff

M doc/src/sgml/protocol.sgml
M src/backend/replication/walreceiver.c
M src/backend/replication/walsender.c
A src/include/replication/walprotocol.h
M src/include/replication/walreceiver.h

commit   : 572ec5a2760dfa12b74001428431a5f7d9027e27    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 3 Jun 2010 21:23:02 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 3 Jun 2010 21:23:02 +0000    

Click here for diff

M doc/src/sgml/release-9.0.sgml

Translation updates for 9.0beta2

commit   : 1eca1b7a6871d0c90acc51d7dc21ddb3909fafa2    
  
author   : Peter Eisentraut <[email protected]>    
date     : Thu, 3 Jun 2010 21:12:05 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Thu, 3 Jun 2010 21:12:05 +0000    

Click here for diff

M src/backend/po/de.po
M src/backend/po/fr.po
M src/bin/pg_controldata/po/de.po
M src/bin/pg_resetxlog/po/de.po
M src/bin/psql/po/de.po
M src/bin/psql/po/fr.po
M src/interfaces/libpq/po/de.po
M src/interfaces/libpq/po/fr.po
M src/pl/plperl/po/de.po
M src/pl/plperl/po/fr.po
M src/pl/plpgsql/src/po/de.po

Fix some inconsistent quoting of wal_level values in messages

commit   : cb6038c168cac4fea81175787f3a928cddb7a42e    
  
author   : Peter Eisentraut <[email protected]>    
date     : Thu, 3 Jun 2010 21:02:12 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Thu, 3 Jun 2010 21:02:12 +0000    

Click here for diff

When referring to postgresql.conf syntax, then it's without quotes  
(wal_level=archive); in narrative it's with double quotes.  But never  
single quotes.  

M src/backend/access/transam/xlog.c
M src/backend/postmaster/postmaster.c
M src/backend/replication/walsender.c

Add comments about definitions that may affect PG_CONTROL_VERSION, per recent unintended-initdb-forcing fiasco

commit   : 667440162cc20ac7d8f67cb8830d10eeeeeb8ff7    
  
author   : Alvaro Herrera <[email protected]>    
date     : Thu, 3 Jun 2010 20:37:13 +0000    
  
committer: Alvaro Herrera <[email protected]>    
date     : Thu, 3 Jun 2010 20:37:13 +0000    

Click here for diff

M src/include/catalog/pg_control.h

Fix CREATE TRIGGER release mention, WHERE -> WHEN.

commit   : 58028240bbfe6ccdfa1a8ffa55bb65290480aada    
  
author   : Bruce Momjian <[email protected]>    
date     : Thu, 3 Jun 2010 19:38:39 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Thu, 3 Jun 2010 19:38:39 +0000    

Click here for diff

M doc/src/sgml/release-9.0.sgml

Fix reference to nonexistent configure option

commit   : af3c7e60eef07edfe90de58c80103fd780124954    
  
author   : Peter Eisentraut <[email protected]>    
date     : Thu, 3 Jun 2010 19:29:38 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Thu, 3 Jun 2010 19:29:38 +0000    

Click here for diff

--enable-ssl -> --with-openssl  

M src/backend/libpq/hba.c

Update 9.0 release notes to current.

commit   : a68055eab65c97c8019e987255d8d4d7e6490a42    
  
author   : Bruce Momjian <[email protected]>    
date     : Thu, 3 Jun 2010 16:33:36 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Thu, 3 Jun 2010 16:33:36 +0000    

Click here for diff

M doc/src/sgml/release-9.0.sgml

Bump PG_CONTROL_VERSION to account for the incompatible change committed earlier.

commit   : 34e543763ce8a4bab650331bab298534efef644a    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 3 Jun 2010 14:50:30 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 3 Jun 2010 14:50:30 +0000    

Click here for diff

M src/include/catalog/pg_control.h

Markup fix.

commit   : 319baeab214201957644568e7a68e5dbb961a785    
  
author   : Bruce Momjian <[email protected]>    
date     : Thu, 3 Jun 2010 14:41:25 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Thu, 3 Jun 2010 14:41:25 +0000    

Click here for diff

M doc/src/sgml/extend.sgml

Document regexp_matches() better and show example of single-row usage.

commit   : 0562820097800c05a89dcdbcd61d7cf262a305af    
  
author   : Bruce Momjian <[email protected]>    
date     : Thu, 3 Jun 2010 14:40:42 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Thu, 3 Jun 2010 14:40:42 +0000    

Click here for diff

M doc/src/sgml/func.sgml

Document use of C++ for extension use.

commit   : 3b19a459645738bffcf979a42d65350726a3c649    
  
author   : Bruce Momjian <[email protected]>    
date     : Thu, 3 Jun 2010 14:39:58 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Thu, 3 Jun 2010 14:39:58 +0000    

Click here for diff

M doc/src/sgml/extend.sgml

commit   : 7dff7260aff06dfac48951898631950ba32602cf    
  
author   : Itagaki Takahiro <[email protected]>    
date     : Thu, 3 Jun 2010 09:38:33 +0000    
  
committer: Itagaki Takahiro <[email protected]>    
date     : Thu, 3 Jun 2010 09:38:33 +0000    

Click here for diff

Backported to release 8.0.  

M contrib/dblink/dblink.c

On clean shutdown during recovery, don't warn about possible corruption.

commit   : d561430b660a79ca20c2e335f56e4dc68f8848b4    
  
author   : Robert Haas <[email protected]>    
date     : Thu, 3 Jun 2010 03:20:00 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Thu, 3 Jun 2010 03:20:00 +0000    

Click here for diff

Fujii Masao.  Review by Heikki Linnakangas and myself.  

M src/backend/access/transam/xlog.c
M src/bin/pg_controldata/pg_controldata.c
M src/include/catalog/pg_control.h

Document that citext operators must be in the current search path.

commit   : f0c437cf548bf80bc2bd203a745f379052a1bda9    
  
author   : Bruce Momjian <[email protected]>    
date     : Thu, 3 Jun 2010 03:04:55 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Thu, 3 Jun 2010 03:04:55 +0000    

Click here for diff

M doc/src/sgml/citext.sgml

Clarify array generate_subscripts() documentation example.

commit   : 356e4dbf9afbcdd61a35581c5bb43404d75fc305    
  
author   : Bruce Momjian <[email protected]>    
date     : Thu, 3 Jun 2010 02:06:10 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Thu, 3 Jun 2010 02:06:10 +0000    

Click here for diff

Tim Landscheidt  

M doc/src/sgml/func.sgml

Document that && geometric operator is true even if only a point overlaps.

commit   : 9b5c3611d74d973e316b416da8a0b15dc3f6128d    
  
author   : Bruce Momjian <[email protected]>    
date     : Thu, 3 Jun 2010 01:34:02 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Thu, 3 Jun 2010 01:34:02 +0000    

Click here for diff

David Fetter  

M doc/src/sgml/func.sgml

Fix obsolete comments that I neglected to update in a previous patch.

commit   : 6b2403636501070324b6462e8ba73d895933c0ce    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Wed, 2 Jun 2010 09:28:44 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Wed, 2 Jun 2010 09:28:44 +0000    

Click here for diff

Fujii Masao  

M src/backend/access/transam/xlog.c

Update C++ release note item wording.

commit   : 2681c51ecad633e997d1a978ecac221ebd4406dc    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 1 Jun 2010 13:43:39 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 1 Jun 2010 13:43:39 +0000    

Click here for diff

M doc/src/sgml/release-9.0.sgml

Comment out C++ docs for later user. Tone down C++ compatibility in 9.0 release notes.

commit   : 1f152c656b46f276863b443e80f566dadb57cdc5    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 1 Jun 2010 03:19:36 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 1 Jun 2010 03:19:36 +0000    

Click here for diff

M doc/src/sgml/extend.sgml
M doc/src/sgml/release-9.0.sgml

Mention palloc/pfree for C++ memory allocation in docs.

commit   : d149fbf4111ad30192ebae8e328dc7d790b2d5ee    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 1 Jun 2010 02:54:37 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 1 Jun 2010 02:54:37 +0000    

Click here for diff

M doc/src/sgml/extend.sgml

Fix SGML markup for tag title.

commit   : 06625abeef3bdc7219cf9e2dc2bcd8311211ad40    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 1 Jun 2010 02:35:37 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 1 Jun 2010 02:35:37 +0000    

Click here for diff

M doc/src/sgml/extend.sgml

Add documentation section "Using C++ for Extensibility".

commit   : b67fbb6c57c366762c23f6957a256ffce33815ce    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 1 Jun 2010 02:31:36 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 1 Jun 2010 02:31:36 +0000    

Click here for diff

Craig Ringer  

M doc/src/sgml/extend.sgml

Show schema name for REINDEX.

commit   : 309193bbd348bd368476106ba3ca66e754a13770    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 1 Jun 2010 00:33:23 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 1 Jun 2010 00:33:23 +0000    

Click here for diff

Greg Sabino Mullane  

M src/backend/commands/indexcmds.c

Overflow box is on page after listed page number, per Alvaro.

commit   : a128991705e20fe4bd0e038cd3ed1e450f9e6f99    
  
author   : Bruce Momjian <[email protected]>    
date     : Mon, 31 May 2010 22:42:59 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Mon, 31 May 2010 22:42:59 +0000    

Click here for diff

M doc/src/sgml/docguide.sgml

Update TeX overflow documentation page pattern mask, in docs.

commit   : 0b4150323b622833a52b9b2755ba5a26198501f4    
  
author   : Bruce Momjian <[email protected]>    
date     : Mon, 31 May 2010 22:15:25 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Mon, 31 May 2010 22:15:25 +0000    

Click here for diff

M doc/src/sgml/docguide.sgml

Document how to find TeX overflow boxes in our documentation build, per details from Alvaro Herrera.

commit   : 66dd05056085cc836929830b4d5dd148bf59d412    
  
author   : Bruce Momjian <[email protected]>    
date     : Mon, 31 May 2010 22:14:20 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Mon, 31 May 2010 22:14:20 +0000    

Click here for diff

M doc/src/sgml/docguide.sgml

Add error hint that PL/pgSQL "EXECUTE of SELECT ... INTO" can be performed by "EXECUTE ... INTO".

commit   : 763129e04f4d4e00015a274e02841beedfa42fdc    
  
author   : Bruce Momjian <[email protected]>    
date     : Mon, 31 May 2010 20:02:30 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Mon, 31 May 2010 20:02:30 +0000    

Click here for diff

Jaime Casanova  

M src/pl/plpgsql/src/pl_exec.c

Add note about database ownership to REASSIGN OWNED command documentation, per Josh Berkus. Add ALTER DATABASE to the "see also" section, too.

commit   : a7b2f694e76859c9a6e61b75c12c73e9e93cfd38    
  
author   : Alvaro Herrera <[email protected]>    
date     : Mon, 31 May 2010 18:47:35 +0000    
  
committer: Alvaro Herrera <[email protected]>    
date     : Mon, 31 May 2010 18:47:35 +0000    

Click here for diff

M doc/src/sgml/ref/reassign_owned.sgml

Reword fsync and full_page_writes docs to be clearer about when to turn them off.

commit   : 6f1932c2490c35e763e147534dd32ca543683471    
  
author   : Bruce Momjian <[email protected]>    
date     : Mon, 31 May 2010 15:50:48 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Mon, 31 May 2010 15:50:48 +0000    

Click here for diff

Josh Berkus, with slight wording changes by me.  

M doc/src/sgml/config.sgml

Send all outstanding WAL before exiting when smart shutdown is requested. This was broken by my previous patch to send WAL in smaller batches.

commit   : e0b581acd2def7d3e237f73e953d1fd4d1ed428f    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Mon, 31 May 2010 10:44:37 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Mon, 31 May 2010 10:44:37 +0000    

Click here for diff

Patch by Fujii Masao.  

M src/backend/replication/walsender.c

Fix misuse of Lossy Counting (LC) algorithm in compute_tsvector_stats().

commit   : bc0f080928e7476e668a848286ba596a70d2f5c2    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 30 May 2010 21:59:02 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 30 May 2010 21:59:02 +0000    

Click here for diff

We must filter out hashtable entries with frequencies less than those  
specified by the algorithm, else we risk emitting junk entries whose  
actual frequency is much less than other lexemes that did not get  
tabulated.  This is bad enough by itself, but even worse is that  
tsquerysel() believes that the minimum frequency seen in pg_statistic is a  
hard upper bound for lexemes not included, and was thus underestimating  
the frequency of non-MCEs.  
  
Also, set the threshold frequency to something with a little bit of theory  
behind it, to wit assume that the input distribution is approximately  
Zipfian.  This might need adjustment in future, but some preliminary  
experiments suggest that it's not too unreasonable.  
  
Back-patch to 8.4, where this code was introduced.  
  
Jan Urbanski, with some editorialization by Tom  

M src/backend/tsearch/ts_typanalyze.c

Change the notation for calling functions with named parameters from "val AS name" to "name := val", as per recent discussion.

commit   : b12b7a9038259967098159cf0ccce0e77327a4d1    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 30 May 2010 18:10:41 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 30 May 2010 18:10:41 +0000    

Click here for diff

This patch catches everything in the original named-parameters patch,  
but I'm not certain that no other dependencies snuck in later (grepping  
the source tree for all uses of AS soon proved unworkable).  
  
In passing I note that we've dropped the ball at least once on keeping  
ecpg's lexer (as opposed to parser) in sync with the backend.  It would  
be a good idea to go through all of pgc.l and see if it's in sync now.  
I didn't attempt that at the moment.  

M doc/src/sgml/syntax.sgml
M doc/src/sgml/xfunc.sgml
M src/backend/parser/gram.y
M src/backend/parser/parse_func.c
M src/backend/parser/scan.l
M src/backend/utils/adt/ruleutils.c
M src/bin/psql/psqlscan.l
M src/interfaces/ecpg/preproc/parse.pl
M src/interfaces/ecpg/preproc/pgc.l
M src/test/regress/expected/polymorphism.out
M src/test/regress/sql/polymorphism.sql

Clarify the meaning of "trusted language" in the documentation.

commit   : 2bde07c198a4995a4a756c58ee65d030a0e6ee02    
  
author   : Bruce Momjian <[email protected]>    
date     : Sun, 30 May 2010 02:23:09 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sun, 30 May 2010 02:23:09 +0000    

Click here for diff

M doc/src/sgml/ref/create_language.sgml
M doc/src/sgml/xplang.sgml

Add text to "Populating a Database" pointing out that bulk data load into a table with foreign key constraints eats memory. Per off-line discussion of bug #5480 with its reporter. Also do some minor wordsmithing elsewhere in the same section.

commit   : 63f591e9695160bce80c77714970213cf8ca3318    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 29 May 2010 21:08:04 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 29 May 2010 21:08:04 +0000    

Click here for diff

M doc/src/sgml/perform.sgml

Document that NOT NULL domain constraints are not always honored.

commit   : d800b036d2e7c7dddf3114f1f02ca16824c13769    
  
author   : Bruce Momjian <[email protected]>    
date     : Sat, 29 May 2010 19:06:16 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sat, 29 May 2010 19:06:16 +0000    

Click here for diff

M doc/src/sgml/ref/create_domain.sgml

Fix typos in recent doc patch. Fujii Masao

commit   : 23e9fe039172ea751223c44a2732a75979ed018b    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Sat, 29 May 2010 09:01:10 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Sat, 29 May 2010 09:01:10 +0000    

Click here for diff

M doc/src/sgml/high-availability.sgml

Add C comment that we will have to remove an exclusion constraint check if we ever implement '<>' index opclasses.

commit   : 7190220555f25ec1e4a64b4fc4679a1931b2cd35    
  
author   : Bruce Momjian <[email protected]>    
date     : Sat, 29 May 2010 02:32:08 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sat, 29 May 2010 02:32:08 +0000    

Click here for diff

Jeff Davis  

M src/backend/executor/execUtils.c

Abort a FETCH_COUNT-controlled query if we observe any I/O error on the output stream. This typically indicates that the user quit out of $PAGER, or that we are writing to a file and ran out of disk space. In either case we shouldn't bother to continue fetching data.

commit   : 47d6d4485bca56900dee8ae6f7ad82fa98efcc21    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 28 May 2010 20:02:32 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 28 May 2010 20:02:32 +0000    

Click here for diff

Stephen Frost  

M src/bin/psql/common.c

Fix oversight in the previous patch that made LIKE throw error for \ at the end of the pattern: the code path that handles \ just after % should throw error too. As in the previous patch, not back-patching for fear of breaking apps that worked before.

commit   : ece869b11eedd082ccd0bbd73ab9013c9ad9fa13    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 28 May 2010 18:18:19 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 28 May 2010 18:18:19 +0000    

Click here for diff

M src/backend/utils/adt/like_match.c

Document use of VPATH builds.

commit   : 9b94e3696e7b6c7c13db3e593d0fa471c3bce9bc    
  
author   : Bruce Momjian <[email protected]>    
date     : Fri, 28 May 2010 18:04:36 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Fri, 28 May 2010 18:04:36 +0000    

Click here for diff

David Fetter  

M doc/src/sgml/installation.sgml

Rewrite LIKE's %-followed-by-_ optimization so it really works (this time for sure ;-)). It now also optimizes more cases, such as %_%_. Improve comments too. Per bug #5478.

commit   : dbde97cdde4afbd0a175880446e301f1bfb8994c    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 28 May 2010 17:35:23 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 28 May 2010 17:35:23 +0000    

Click here for diff

In passing, also rename the TCHAR macro to GETCHAR, because pgindent is  
messing with the formatting of the former (apparently it now thinks TCHAR  
is a typedef name).  
  
Back-patch to 8.3, where the bug was introduced.  

M src/backend/utils/adt/like_match.c
M src/test/regress/expected/strings.out
M src/test/regress/sql/strings.sql

PGDLLEXPORT is __declspec (dllexport) only on MSVC, but is __declspec (dllimport) on other compilers because cygwin and mingw don't like dllexport.

commit   : e54b0cba96683ae9a33458a9cbd5ea53c479754d    
  
author   : Itagaki Takahiro <[email protected]>    
date     : Fri, 28 May 2010 16:34:15 +0000    
  
committer: Itagaki Takahiro <[email protected]>    
date     : Fri, 28 May 2010 16:34:15 +0000    

Click here for diff

M src/include/port/cygwin.h
M src/include/port/win32.h

Update High Availability docs. Clarify terms master/primary standby/slave, move two paragraphs that apply to log shipping in general from the "Alternative method for log shipping" section to the earlier sections. Add varname tags where missing. Some small wording changes.

commit   : fe76f93d11a21bc851747433ac70c04ab3797483    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Fri, 28 May 2010 14:03:31 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Fri, 28 May 2010 14:03:31 +0000    

Click here for diff

M doc/src/sgml/high-availability.sgml

Rejigger mergejoin logic so that a tuple with a null in the first merge column is treated like end-of-input, if nulls sort last in that column and we are not doing outer-join filling for that input. In such a case, the tuple cannot join to anything from the other input (because we assume mergejoinable operators are strict), and neither can any tuple following it in the sort order. If we're not interested in doing outer-join filling we can just pretend the tuple and its successors aren't there at all. This can save a great deal of time in situations where there are many nulls in the join column, as in a recent example from Scott Marlowe. Also, since the planner tends to not count nulls in its mergejoin scan selectivity estimates, this is an important fix to make the runtime behavior more like the estimate.

commit   : f39d57b83c823439ebb3b680f94eaf396f02520e    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 28 May 2010 01:14:03 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 28 May 2010 01:14:03 +0000    

Click here for diff

I regard this as an omission in the patch I wrote years ago to teach mergejoin  
that tuples containing nulls aren't joinable, so I'm back-patching it.  But  
only to 8.3 --- in older versions, we didn't have a solid notion of whether  
nulls sort high or low, so attempting to apply this optimization could break  
things.  

M src/backend/executor/nodeMergejoin.c

commit   : ede50726762a6d331d87e1e2d3fd504646d185e8    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 27 May 2010 19:19:38 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 27 May 2010 19:19:38 +0000    

Click here for diff

Back-patch to 8.0.  7.4 doesn't have %i and its version of get_ps_display()  
makes no pretense of avoiding pad junk anyhow.  

M src/backend/utils/misc/ps_status.c

Small correction/clarification in discussion of Unicode literals

commit   : 2175d4fa59ece12afc62320ae84cf5e59b0667de    
  
author   : Peter Eisentraut <[email protected]>    
date     : Thu, 27 May 2010 18:23:47 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Thu, 27 May 2010 18:23:47 +0000    

Click here for diff

M doc/src/sgml/syntax.sgml

Fix the volatility marking of textanycat() and anytextcat(): they were marked immutable, but that is wrong in general because the cast from the polymorphic argument to text could be stable or even volatile. Mark them volatile for safety. In the typical case where the cast isn't volatile, the planner will deduce the correct expression volatility after inlining the function, so performance is not lost. The just-committed fix in CREATE INDEX also ensures this won't break any indexing cases that ought to be allowed.

commit   : c82d931dd180965a9a0c06acc764404f91de8170    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 27 May 2010 16:20:11 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 27 May 2010 16:20:11 +0000    

Click here for diff

Per discussion, I'm not bumping catversion for this change, as it doesn't  
seem critical enough to force an initdb on beta testers.  

M src/include/catalog/pg_proc.h

Make CREATE INDEX run expression preprocessing on a proposed index expression before it checks whether the expression is immutable. This covers two cases that were previously handled poorly:

commit   : 5a86e5e1930d95f495a134000512d6ca22064338    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 27 May 2010 15:59:10 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 27 May 2010 15:59:10 +0000    

Click here for diff

1. SQL function inlining could reduce the apparent volatility of the  
expression, allowing an expression to be accepted where it previously would  
not have been.  As an example, polymorphic functions must be marked with the  
worst-case volatility they have for any argument type, but for specific  
argument types they might not be so volatile, so indexing could be allowed.  
(Since the planner will refuse to inline functions in cases where the  
apparent volatility of the expression would increase, this won't break  
any cases that were accepted before.)  
  
2. A nominally immutable function could have default arguments that are  
volatile expressions.  In such a case insertion of the defaults will increase  
both the apparent and actual volatility of the expression, so it is  
*necessary* to check this before allowing the expression to be indexed.  
  
Back-patch to 8.4, where default arguments were introduced.  

M src/backend/commands/indexcmds.c

Mark PG_MODULE_MAGIC and PG_FUNCTION_INFO_V1 with PGDLLEXPORT independently from BUILDING_DLL. It is always __declspec(dllexport).

commit   : 77e50a61ffff34aae8cb3ffa5a7333c1049e5f37    
  
author   : Itagaki Takahiro <[email protected]>    
date     : Thu, 27 May 2010 07:59:48 +0000    
  
committer: Itagaki Takahiro <[email protected]>    
date     : Thu, 27 May 2010 07:59:48 +0000    

Click here for diff

M src/include/c.h
M src/include/fmgr.h
M src/include/port/cygwin.h
M src/include/port/win32.h

Make it more clear that you need to release savepoint with RELEASE SAVEPOINT to make an older savepoint with the same name accessible. It's also possible to implicitly release the savepoint by rolling back to an earlier savepoint, but mentioning that too would make the note just more verbose and confusing.

commit   : aa5bec67dee9bbd9929a468211d004c448859635    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Thu, 27 May 2010 06:25:32 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Thu, 27 May 2010 06:25:32 +0000    

Click here for diff

M doc/src/sgml/ref/savepoint.sgml

Avoid starting walreceiver in states where it shouldn't be running.

commit   : 5e85315ea7a4040b5faeddeebbbadb81fed234c9    
  
author   : Robert Haas <[email protected]>    
date     : Thu, 27 May 2010 02:01:37 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Thu, 27 May 2010 02:01:37 +0000    

Click here for diff

In particular, it's bad to start walreceiver when in state  
PM_WAIT_BACKENDS, because we have no provision to kill walreceiver  
when in that state.  
  
Fujii Masao  

M src/backend/postmaster/postmaster.c

Adjust comment to reflect that we now have Hot Standby. Pointed out by Robert Haas.

commit   : c5bd8feac65c5189cce070b841ad02bef70f419c    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Thu, 27 May 2010 00:38:39 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Thu, 27 May 2010 00:38:39 +0000    

Click here for diff

M src/backend/access/transam/xlog.c

Fix SGML markup

commit   : f495020ede2753b7ea675b62e7ce93edfbf34b63    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 26 May 2010 23:55:51 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 26 May 2010 23:55:51 +0000    

Click here for diff

M doc/src/sgml/maintenance.sgml

commit   : 1e6b654edcdcf0db75d1c086fff4124ea8bb39b5    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 26 May 2010 23:49:19 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 26 May 2010 23:49:19 +0000    

Click here for diff

M doc/src/sgml/client-auth.sgml
M doc/src/sgml/config.sgml
M doc/src/sgml/libpq.sgml
M doc/src/sgml/runtime.sgml

Document pgFouine and check_postgres as log analysis options.

commit   : 092c38a2a8ae5e67065263bfa6bce048a31fb0c9    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 26 May 2010 23:29:45 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 26 May 2010 23:29:45 +0000    

Click here for diff

M doc/src/sgml/maintenance.sgml

Thinko in previous commit: ensure that MAX_SEND_SIZE is always greater than XLOG_BLCKSZ, by defining it as 16 * XLOG_BLCKSZ rather than directly as 128k bytes.

commit   : fbcdff39bd09b5d8fc085e4653d7ad1b8e087dfd    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Wed, 26 May 2010 22:34:49 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Wed, 26 May 2010 22:34:49 +0000    

Click here for diff

M src/backend/replication/walsender.c

In walsender, don't sleep if there's outstanding WAL waiting to be sent, otherwise we effectively rate-limit the streaming as pointed out by Simon Riggs. Also, send the WAL in smaller chunks, to respond to signals more promptly.

commit   : ea5516081dcbdc146ae0b3314a88cda2c48b0ca5    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Wed, 26 May 2010 22:21:33 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Wed, 26 May 2010 22:21:33 +0000    

Click here for diff

M src/backend/replication/walsender.c

Rearrange libpq's SSL initialization to simplify it and make it handle some additional cases correctly. The original coding failed to load additional (chain) certificates from the client cert file, meaning that indirectly signed client certificates didn't work unless one hacked the server's root.crt file to include intermediate CAs (not the desired approach). Another problem was that everything got loaded into the shared SSL_context object, which meant that concurrent connections trying to use different sslcert settings could well fail due to conflicting over the single available slot for a keyed certificate.

commit   : 4ed4b6c54e5fab24ab2624d80e26f7546edc88ad    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 26 May 2010 21:39:27 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 26 May 2010 21:39:27 +0000    

Click here for diff

To fix, get rid of the use of SSL_CTX_set_client_cert_cb(), which is  
deprecated anyway in the OpenSSL documentation, and instead just  
unconditionally load the client cert and private key during connection  
initialization.  This lets us use SSL_CTX_use_certificate_chain_file(),  
which does the right thing with additional certs, and is lots simpler than  
the previous hacking about with BIO-level access.  A small disadvantage is  
that we have to load the primary client cert a second time with  
SSL_use_certificate_file, so that that one ends up in the correct slot  
within the connection's SSL object where it can get paired with the key.  
Given the other overhead of making an SSL connection, that doesn't seem  
worth worrying about.  
  
Per discussion ensuing from bug #5468.  

M src/interfaces/libpq/fe-connect.c
M src/interfaces/libpq/fe-secure.c

Fix bogus error message for SSL-cert authentication, due to lack of a uaCert entry in auth_failed(). Put the switch entries into a sane order, namely the one the enum is declared in.

commit   : 0d046a4d7248543fcdfd1d5883a2ff6258786db7    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 26 May 2010 20:47:13 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 26 May 2010 20:47:13 +0000    

Click here for diff

M src/backend/libpq/auth.c

HS Defer buffer pin deadlock check until deadlock_timeout has expired. During Hot Standby we need to check for buffer pin deadlocks when the Startup process begins to wait, in case it never wakes up again. We previously made the deadlock check immediately on the basis it was cheap, though clearer thinking and prima facie evidence shows that was too simple. Refactor existing code to make it easy to add in deferral of deadlock check until deadlock_timeout allowing a good reduction in deadlock checks since far few buffer pins are held for that duration. It's worth doing anyway, though major goal is to prevent further reports of context switching with high numbers of users on occasional tests.

commit   : f9dbac94767d64f6a1174506b6e61db34729e015    
  
author   : Simon Riggs <[email protected]>    
date     : Wed, 26 May 2010 19:52:52 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Wed, 26 May 2010 19:52:52 +0000    

Click here for diff

M src/backend/storage/ipc/standby.c
M src/backend/storage/lmgr/proc.c
M src/include/storage/proc.h

Fix psql help: \da+ is same as \da, but \daS is not.

commit   : 5234a9524510bdff3a339f204d2655e7ce2eb3b5    
  
author   : Robert Haas <[email protected]>    
date     : Wed, 26 May 2010 19:29:22 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Wed, 26 May 2010 19:29:22 +0000    

Click here for diff

Noted by Stephen Frost.  

M src/bin/psql/help.c

The message style police pay a visit to hba.c.

commit   : af5be8bd40c3ce223abaed68dfc0dad3241dd08f    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 26 May 2010 16:43:13 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 26 May 2010 16:43:13 +0000    

Click here for diff

M src/backend/libpq/hba.c

Minor editorialization for be-secure.c: fix comments and some formatting infelicities.

commit   : b1993a6108bf0c9f64e739d2b093fa25ccebe023    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 26 May 2010 16:15:57 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 26 May 2010 16:15:57 +0000    

Click here for diff

M src/backend/libpq/be-secure.c

Tell openssl to include the names of the root certs the server trusts in requests for client certs. This lets a client with a keystore select the appropriate client certificate to send. In particular, this is necessary to get Java clients to work in all but the most trivial configurations. Per discussion of bug #5468.

commit   : c3bf3bf2aa0998876fd219fbfcc771fb83594539    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 26 May 2010 15:52:37 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 26 May 2010 15:52:37 +0000    

Click here for diff

Craig Ringer  

M src/backend/libpq/be-secure.c

More fixes for shutdown during recovery.

commit   : 615704af1e5868c6fc9001ee5daef68db6d10f76    
  
author   : Robert Haas <[email protected]>    
date     : Wed, 26 May 2010 12:32:41 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Wed, 26 May 2010 12:32:41 +0000    

Click here for diff

1. If we receive a fast shutdown request while in the PM_STARTUP state,  
process it just as we would in PM_RECOVERY, PM_HOT_STANDBY, or PM_RUN.  
Without this change, an early fast shutdown followed by Hot Standby causes  
the database to get stuck in a state where a shutdown is pending (so no new  
connections are allowed) but the shutdown request is never processed unless  
we end Hot Standby and enter normal running.  
  
2. Avoid removing the backup label file when a smart or fast shutdown occurs  
during recovery.  It makes sense to do this once we've reached normal running,  
since we must be taking a backup which now won't be valid.  But during  
recovery we must be recovering from a previously taken backup, and any backup  
label file is needed to restart recovery from the right place.  
  
Fujii Masao and Robert Haas  

M src/backend/postmaster/postmaster.c

commit   : 20d629320b8ccc899a763155d85cbc0e87b0982b    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 25 May 2010 22:03:27 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 25 May 2010 22:03:27 +0000    

Click here for diff

M src/interfaces/libpq/fe-secure.c

Fix oversight in construction of sort/unique plans for UniquePaths. If the original IN operator is cross-type, for example int8 = int4, we need to use int4 < int4 to sort the inner data and int4 = int4 to unique-ify it. We got the first part of that right, but tried to use the original IN operator for the equality checks. Per bug #5472 from Vlad Romascanu.

commit   : b486e7f3827fec8caa6aaeae29334405feb14b88    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 25 May 2010 17:44:41 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 25 May 2010 17:44:41 +0000    

Click here for diff

Backpatch to 8.4, where the bug was introduced by the patch that unified  
SortClause and GroupClause.  I was able to take out a whole lot of on-the-fly  
calls of get_equality_op_for_ordering_op(), but failed to realize that  
I needed to put one back in right here :-(  

M src/backend/optimizer/plan/createplan.c

Replace self written 'long long int' configure test by standard 'AC_TYPE_LONG_LONG_INT' macro call.

commit   : 29259531c7b48384dba863124aff79e05980b329    
  
author   : Michael Meskes <[email protected]>    
date     : Tue, 25 May 2010 17:28:20 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Tue, 25 May 2010 17:28:20 +0000    

Click here for diff

M config/c-compiler.m4
M configure
M configure.in
M src/include/pg_config.h.in
M src/interfaces/ecpg/ecpglib/data.c
M src/interfaces/ecpg/ecpglib/descriptor.c
M src/interfaces/ecpg/ecpglib/execute.c
M src/interfaces/ecpg/ecpglib/misc.c
M src/interfaces/ecpg/include/ecpg_config.h.in
M src/interfaces/ecpg/preproc/ecpg.trailer

Remove IMPLEMENTATION.jp file from pg_upgrade docs; still in pgFoundry for pg_migrator, per suggestion from Magnus.

commit   : 9b6dba119349475f12d2a909ca265770156c4667    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 25 May 2010 16:53:24 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 25 May 2010 16:53:24 +0000    

Click here for diff

D contrib/pg_upgrade/IMPLEMENTATION.jp

Update pg_upgrade IMPLEMENTATION doc file to match current 9.0 behavior.

commit   : 02265f06b73b4209ba0f718d5dd316942f2b5cb7    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 25 May 2010 16:09:29 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 25 May 2010 16:09:29 +0000    

Click here for diff

M contrib/pg_upgrade/IMPLEMENTATION

Modify pg_standby, pgbench, and pg_upgrade manual pages to be consistent in their display of command-line options with other client applications.

commit   : 238d21d7d28612bfebc2989ba649a1b137c29cbe    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 25 May 2010 15:55:28 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 25 May 2010 15:55:28 +0000    

Click here for diff

M contrib/pg_upgrade/option.c
M doc/src/sgml/oid2name.sgml
M doc/src/sgml/pgbench.sgml
M doc/src/sgml/pgstandby.sgml
M doc/src/sgml/pgupgrade.sgml

Add pg_upgrade docs about binary compatibility, per Robert Haas.

commit   : 7ff79fa42578ba711c73bfd6bf712f828bf479e1    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 25 May 2010 14:50:56 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 25 May 2010 14:50:56 +0000    

Click here for diff

M doc/src/sgml/pgupgrade.sgml

Added a configure test for "long long" datatypes. So far this is only used in ecpg and replaces the old test that was kind of hackish.

commit   : 555a02f910490b94c48c1c479e9da2e4759ad25f    
  
author   : Michael Meskes <[email protected]>    
date     : Tue, 25 May 2010 14:32:55 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Tue, 25 May 2010 14:32:55 +0000    

Click here for diff

M config/c-compiler.m4
M configure
M configure.in
M src/include/pg_config.h.in
M src/interfaces/ecpg/ecpglib/extern.h
M src/interfaces/ecpg/include/ecpg_config.h.in
M src/interfaces/ecpg/preproc/ecpg.header

Add Japanese Implementation file to CVS.

commit   : f4e9436026455f7118de094696ca33e86555979e    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 25 May 2010 02:56:36 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 25 May 2010 02:56:36 +0000    

Click here for diff

A contrib/pg_upgrade/IMPLEMENTATION.jp

Re-order pg_upgrade 'help' options to be alphabetical.

commit   : 7a74d70e71c079677561bc9ecc4a3ef503ac3abc    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 25 May 2010 02:55:58 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 25 May 2010 02:55:58 +0000    

Click here for diff

M contrib/pg_upgrade/option.c

In pg_upgrade, test for datallowconn instead of hardcoding template0.

commit   : 6368682788b95e76db7e8f44e62eae53b20b783a    
  
author   : Bruce Momjian <[email protected]>    
date     : Mon, 24 May 2010 19:52:33 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Mon, 24 May 2010 19:52:33 +0000    

Click here for diff

M contrib/pg_upgrade/info.c

Update pg_upgrade docs to show options in alphabetical order, and improve 8.3 doc limitations paragraph.

commit   : 4b9904a0f81c4755ac5b2cf0403bfd3e7acec95c    
  
author   : Bruce Momjian <[email protected]>    
date     : Mon, 24 May 2010 17:43:39 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Mon, 24 May 2010 17:43:39 +0000    

Click here for diff

M doc/src/sgml/pgupgrade.sgml

Split apart pg_upgrade user lookup and root check so '--help' shows proper default username.

commit   : 00be75415c3cd306088f3c6676f7e5805ed22bba    
  
author   : Bruce Momjian <[email protected]>    
date     : Mon, 24 May 2010 16:34:35 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Mon, 24 May 2010 16:34:35 +0000    

Click here for diff

M contrib/pg_upgrade/option.c

issue_warnings() has no business freeing its parameter, especially not when its sole caller does that too. Jan Matousek, via Pavel Stehule

commit   : add8044778a9f158eafb65b66fb1c0cd3f2c6718    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 23 May 2010 16:54:13 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 23 May 2010 16:54:13 +0000    

Click here for diff

M contrib/pg_upgrade/check.c

Fix oversight in join removal patch: we have to delete the removed relation from SpecialJoinInfo relid sets as well. Per example from Vaclav Novotny.

commit   : 7df4cf7fd3aff6a3ebc4a223bb98c768e9bbe821    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 23 May 2010 16:34:38 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 23 May 2010 16:34:38 +0000    

Click here for diff

M src/backend/optimizer/plan/analyzejoins.c
M src/test/regress/expected/join.out
M src/test/regress/sql/join.sql

Unbreak \h; can't do strlen(NULL).

commit   : c8518845de62e64eec3d863d4e149da72cacdd9f    
  
author   : Robert Haas <[email protected]>    
date     : Fri, 21 May 2010 17:37:44 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Fri, 21 May 2010 17:37:44 +0000    

Click here for diff

This was broken by the following commmit.  Although the original commit was  
backpatched all the way to 7.4, this particular bug exists only in the version  
applied to HEAD.  
  
http://archives.postgresql.org/pgsql-committers/2010-05/msg00058.php  

M src/bin/psql/command.c

Ecpg now accepts "long long" datatypes even if "long" is 64bit wide. This used to cover the equally long "long long" type. This patch closes bug #5464.

commit   : 15ab0e9a6051ff5b6c88a729ddd9d57ac44f7a11    
  
author   : Michael Meskes <[email protected]>    
date     : Thu, 20 May 2010 22:10:46 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Thu, 20 May 2010 22:10:46 +0000    

Click here for diff

M src/interfaces/ecpg/ecpglib/data.c
M src/interfaces/ecpg/ecpglib/descriptor.c
M src/interfaces/ecpg/ecpglib/execute.c
M src/interfaces/ecpg/ecpglib/extern.h
M src/interfaces/ecpg/ecpglib/misc.c
M src/interfaces/ecpg/preproc/ecpg.header
M src/interfaces/ecpg/preproc/ecpg.trailer

Fix index entry for lo_compat_privileges, per bug #5467 from KOIZUMI Satoru.

commit   : de98ef62c7fe7a2bf02fafab6a95ae2e138ed075    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 20 May 2010 20:32:27 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 20 May 2010 20:32:27 +0000    

Click here for diff

M doc/src/sgml/config.sgml

Change the "N. Central Asia Standard Time" timezone to map to Asia/Novosibirsk on Windows.

commit   : ef01b235f830536cc8d38ed76a80fc182ef985f8    
  
author   : Magnus Hagander <[email protected]>    
date     : Thu, 20 May 2010 14:13:11 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Thu, 20 May 2010 14:13:11 +0000    

Click here for diff

Microsoft changed the behaviour of this zone in the timezone update  
from KB976098. The zones differ in handling of DST, and the old  
zone was just removed.  
  
Noted by Dmitry Funk  

M src/timezone/pgtz.c

Show oid2name command-line arguments in documentation like we do for non-contrib command-line tools (no longer in a single table display).

commit   : 47671aae774f067a173f99ef096d66991ebfd340    
  
author   : Bruce Momjian <[email protected]>    
date     : Thu, 20 May 2010 03:45:38 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Thu, 20 May 2010 03:45:38 +0000    

Click here for diff

M doc/src/sgml/oid2name.sgml

SGML markup cleanup for pg_upgrade.

commit   : 9974a460040677c3e20cca73bad7f40007d4e502    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 19 May 2010 20:47:18 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 19 May 2010 20:47:18 +0000    

Click here for diff

M doc/src/sgml/pgupgrade.sgml

Doc change: Rename of directory no longer required for pg_migrator 9.0.

commit   : 5add506838501f6968824c00942a9f4ed3edc6a7    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 19 May 2010 20:40:33 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 19 May 2010 20:40:33 +0000    

Click here for diff

Alvaro  

M doc/src/sgml/pgupgrade.sgml

pg_upgrade doc cleanup

commit   : 5eae7e17567f4ec7116e36729c1ca1ecde3801e1    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 19 May 2010 20:37:03 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 19 May 2010 20:37:03 +0000    

Click here for diff

Stefan Kaltenbrunner  

M doc/src/sgml/pgupgrade.sgml

Restore oid2name doc change.

commit   : 2963d8228100487bcf3db1c8c13a2b8b4f542755    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 19 May 2010 20:22:05 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 19 May 2010 20:22:05 +0000    

Click here for diff

M doc/src/sgml/oid2name.sgml

Add command-line documentation for pg_upgrade.

commit   : 67fd5f3c85a4d48414435e1f5d1b4566c5643440    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 19 May 2010 20:20:38 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 19 May 2010 20:20:38 +0000    

Click here for diff

M doc/src/sgml/oid2name.sgml
M doc/src/sgml/pgupgrade.sgml

Simplify pg_upgrade queries by using IN instead of multiple OR clauses comparing the same column to multiple values.

commit   : 3245bd524034911a0013388db23a86c0093a7d97    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 19 May 2010 18:56:47 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 19 May 2010 18:56:47 +0000    

Click here for diff

M contrib/pg_upgrade/info.c

For pg_upgrade, update template0's datfrozenxid and its relfrozenxids to match the behavior of autovacuum, which does this as the xid advances even if autovacuum is turned off.

commit   : 573e446f6f5963a0edad575130743eb75887d087    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 19 May 2010 18:27:43 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 19 May 2010 18:27:43 +0000    

Click here for diff

M contrib/pg_upgrade/pg_upgrade.c

Refer to pg_ident.conf as config file for username mapping, as it's now used for other things than just ident authentication.

commit   : 3ef95741026384e97a4adfd24f6dc7b2db9aafc8    
  
author   : Magnus Hagander <[email protected]>    
date     : Tue, 18 May 2010 19:05:17 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Tue, 18 May 2010 19:05:17 +0000    

Click here for diff

Noted by Stephen Frost  

M doc/src/sgml/config.sgml

Use a 'datallowconn' check for avoiding 'template0', rather than hardcoding a 'template0' check, per suggestion from Alvaro.

commit   : 64719a18dbe36871635bbebd718a1267b9447bcd    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 18 May 2010 18:40:51 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 18 May 2010 18:40:51 +0000    

Click here for diff

This might fix a problem where someone has allowed 'template0'  
connections, but it is a cleaner approach even if doesn't fix the  
bug.  

M contrib/pg_upgrade/pg_upgrade.c

Make pg_upgrade documentation refer to 9.0 instead of 8.4.

commit   : 60e7f45966b3a95c7e5c13ee783c96c0860c14f1    
  
author   : Magnus Hagander <[email protected]>    
date     : Tue, 18 May 2010 15:41:36 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Tue, 18 May 2010 15:41:36 +0000    

Click here for diff

Fujii Masao  

M doc/src/sgml/pgupgrade.sgml

Fix regression tests to match error message change

commit   : 2627d5bd0dfeab3c773d9458e7fe4b264bf98009    
  
author   : Andrew Dunstan <[email protected]>    
date     : Tue, 18 May 2010 03:35:34 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Tue, 18 May 2010 03:35:34 +0000    

Click here for diff

M src/pl/plperl/expected/plperl_init.out

Add pg_upgrade TESTING files explaining a testing method.

commit   : 37953b2d202d878b235df886875aa51bb299ce17    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 18 May 2010 03:26:12 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 18 May 2010 03:26:12 +0000    

Click here for diff

A contrib/pg_upgrade/TESTING

Move pg_notify() details to a subsection within the NOTIFY reference page.

commit   : 11f2efd12ac134d82d75255750c6bad685f05686    
  
author   : Robert Haas <[email protected]>    
date     : Tue, 18 May 2010 02:28:53 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Tue, 18 May 2010 02:28:53 +0000    

Click here for diff

This allows the index to reference the pg_notify() subsection specifically,  
rather than Notes section of the NOTIFY reference page more generally.  
  
Fujii Masao  

M doc/src/sgml/ref/notify.sgml

Make table in example less wide.

commit   : 91e01e21a2b40b748d49c53d85b0206f2aac8b4c    
  
author   : Alvaro Herrera <[email protected]>    
date     : Mon, 17 May 2010 20:50:44 +0000    
  
committer: Alvaro Herrera <[email protected]>    
date     : Mon, 17 May 2010 20:50:44 +0000    

Click here for diff

M doc/src/sgml/ref/show.sgml

Follow up a visit from the style police.

commit   : a6eeb8c10ddb153515cb98c72481693e817c4d2f    
  
author   : Andrew Dunstan <[email protected]>    
date     : Mon, 17 May 2010 19:43:04 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Mon, 17 May 2010 19:43:04 +0000    

Click here for diff

M src/pl/plperl/plperl.c

Clarify plperl subroutine name release notes item, remove now redundant Safe.pm item.

commit   : 99ad9236bc6fee829017b8d93a96dfb2e16b8f3c    
  
author   : Andrew Dunstan <[email protected]>    
date     : Mon, 17 May 2010 17:46:13 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Mon, 17 May 2010 17:46:13 +0000    

Click here for diff

M doc/src/sgml/release-9.0.sgml

Insert line breaks in two places in SQL functions documentation.

commit   : 6d932df652300e4f7966f3d77d665f1228b214e0    
  
author   : Robert Haas <[email protected]>    
date     : Sun, 16 May 2010 04:35:04 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Sun, 16 May 2010 04:35:04 +0000    

Click here for diff

This avoids a formatting problem in the PDF output.  In the HTML output this  
isn't necessary, but we've done similar things elsewhere in the documentation  
so I think it's OK to do it here, too.  I've refrained from breaking a longish  
error message which also causes problems for the PDF output, because that would  
make the HTML output look wrong.  
  
Erik Rijkers  

M doc/src/sgml/xfunc.sgml

Fix longstanding typo in V1 calling conventions documentation.

commit   : 4384a95a57dade91c4a169b711001c3acdcc219c    
  
author   : Robert Haas <[email protected]>    
date     : Sun, 16 May 2010 03:55:41 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Sun, 16 May 2010 03:55:41 +0000    

Click here for diff

Erik Rijkers  

M doc/src/sgml/xfunc.sgml

Ensure that pg_restore -l will output DATABASE entries whether or not -C is specified. Per bug report from Russell Smith and ensuing discussion. Since this is a corner case behavioral change, I'm going to be conservative and not back-patch it.

commit   : bd823e11fa52a79f6116e1538f861cccd8823f3f    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 15 May 2010 21:41:16 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 15 May 2010 21:41:16 +0000    

Click here for diff

In passing, also rename the RestoreOptions field for the -C switch to  
something less generic than "create".  

M src/bin/pg_dump/pg_backup.h
M src/bin/pg_dump/pg_backup_archiver.c
M src/bin/pg_dump/pg_dump.c
M src/bin/pg_dump/pg_restore.c

Rename PM_RECOVERY_CONSISTENT and PMSIGNAL_RECOVERY_CONSISTENT.

commit   : ea9968c331ab913d07b0a7eb2c28f29915e39893    
  
author   : Robert Haas <[email protected]>    
date     : Sat, 15 May 2010 20:01:32 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Sat, 15 May 2010 20:01:32 +0000    

Click here for diff

The new names PM_HOT_STANDBY and PMSIGNAL_BEGIN_HOT_STANDBY more accurately  
reflect their actual function.  

M src/backend/access/transam/xlog.c
M src/backend/postmaster/postmaster.c
M src/include/storage/pmsignal.h

Improve documentation of pg_restore's -l and -L switches to point out their interactions with filtering switches, such as -n and -t. Per a complaint from Russell Smith.

commit   : d7b6c8c0a5ae2616ca3518cc27bbb0fc5ce3af74    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 15 May 2010 18:11:07 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 15 May 2010 18:11:07 +0000    

Click here for diff

M doc/src/sgml/ref/pg_restore.sgml

Spell __NetBSD__ the same way everywhere. Per Giles Lean.

commit   : c453569f0d52f2289dbbc8719215b342d85903f5    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 15 May 2010 14:44:13 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 15 May 2010 14:44:13 +0000    

Click here for diff

M src/include/port.h

Adjust pg_upgrade BSD defines for scandir(), per report from Giles Lean

commit   : 5c337fb45ceaffc77b88fe7d519c4c62aff0ea7d    
  
author   : Bruce Momjian <[email protected]>    
date     : Sat, 15 May 2010 10:21:54 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sat, 15 May 2010 10:21:54 +0000    

Click here for diff

M contrib/pg_upgrade/file.c

Use __bsdi__ consistently.

commit   : 5b79fdadda71cad77bdb127d046b785bdd8332ec    
  
author   : Bruce Momjian <[email protected]>    
date     : Sat, 15 May 2010 10:14:20 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sat, 15 May 2010 10:14:20 +0000    

Click here for diff

M src/include/port.h
M src/port/fseeko.c

Change bsdi define to __bsdi__

commit   : 5781d96dc3bd1bf8f7cb9c07a9927627e72aeaa7    
  
author   : Bruce Momjian <[email protected]>    
date     : Sat, 15 May 2010 10:08:28 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sat, 15 May 2010 10:08:28 +0000    

Click here for diff

M contrib/pg_upgrade/file.c

Fix typos in comments, spotted by Josh Kupershmidt.

commit   : de4e18a34d92ccd5779a7d4625e2029c6829f5e7    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Sat, 15 May 2010 09:31:57 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Sat, 15 May 2010 09:31:57 +0000    

Click here for diff

M contrib/pg_standby/pg_standby.c

Fix bug in processing of checkpoint time for max_standby_delay. Latest log time was incorrectly set, typically leading to dates in the past, which would cause more cancellations in Hot Standby on a quiet server.

commit   : 4a24c9a06325fe18a5aa96b116bd85ab58172ac8    
  
author   : Simon Riggs <[email protected]>    
date     : Sat, 15 May 2010 07:14:43 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Sat, 15 May 2010 07:14:43 +0000    

Click here for diff

M src/backend/access/transam/xlog.c

We now accept read-only connections in state PM_RECOVERY_CONSISTENT.

commit   : a724584735db27663163f3c45df77218764e6669    
  
author   : Robert Haas <[email protected]>    
date     : Fri, 14 May 2010 18:08:33 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Fri, 14 May 2010 18:08:33 +0000    

Click here for diff

M src/backend/postmaster/postmaster.c

Remove CRs.

commit   : 0b38f3b19219328edb68be775d8f057b8e280e86    
  
author   : Itagaki Takahiro <[email protected]>    
date     : Fri, 14 May 2010 10:37:02 +0000    
  
committer: Itagaki Takahiro <[email protected]>    
date     : Fri, 14 May 2010 10:37:02 +0000    

Click here for diff

M src/backend/po/ja.po

commit   : fd34374b17842dc5a02a72fa612a51922ca6a9de    
  
author   : Simon Riggs <[email protected]>    
date     : Fri, 14 May 2010 07:11:49 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Fri, 14 May 2010 07:11:49 +0000    

Click here for diff

M src/backend/access/transam/xlog.c
M src/backend/storage/ipc/procarray.c
M src/backend/storage/ipc/standby.c

Fix another obvious bug pointed out by a compiler warning.

commit   : 88fba7089edb6091dd2f848ed69e05cef609b5ad    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 14 May 2010 00:43:42 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 14 May 2010 00:43:42 +0000    

Click here for diff

M contrib/pg_upgrade/info.c

Remove another unsafe use of random data as a format string.

commit   : 0546906064cead624981855ac6c7e7869dbe96ac    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 14 May 2010 00:39:51 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 14 May 2010 00:39:51 +0000    

Click here for diff

M contrib/pg_upgrade/controldata.c

Get rid of unsafe sprintf and snprintf usages. Per compiler warnings.

commit   : 8eac39780d5bfab5f51274081094e1913ecf4722    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 14 May 2010 00:32:21 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 14 May 2010 00:32:21 +0000    

Click here for diff

M contrib/pg_upgrade/controldata.c
M contrib/pg_upgrade/info.c
M contrib/pg_upgrade/server.c

Spell __darwin__ correctly, to suppress compiler warning on OSX.

commit   : adf6b8edfbc4a286ac779261685c36f42b664325    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 14 May 2010 00:19:46 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 14 May 2010 00:19:46 +0000    

Click here for diff

M contrib/pg_upgrade/file.c

Use NAMEDATALEN instead of local define.

commit   : e9ad14f9f4a8b3eb2c7497e5cee7a444c3469784    
  
author   : Bruce Momjian <[email protected]>    
date     : Fri, 14 May 2010 00:13:38 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Fri, 14 May 2010 00:13:38 +0000    

Click here for diff

Modify path separators for Win32.  
  
Per ideas from Takahiro Itagaki  

M contrib/pg_upgrade/exec.c
M contrib/pg_upgrade/file.c
M contrib/pg_upgrade/option.c
M contrib/pg_upgrade/pg_upgrade.h
M contrib/pg_upgrade/version_old_8_3.c

Remove all mentions of EnterpriseDB Advanced Server from pg_upgrade; EDB must maintain their own patch set for this.

commit   : 36d3afd2d42da4c81c22b8cad3e8312368b9823e    
  
author   : Bruce Momjian <[email protected]>    
date     : Thu, 13 May 2010 22:51:00 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Thu, 13 May 2010 22:51:00 +0000    

Click here for diff

M contrib/pg_upgrade/check.c
M contrib/pg_upgrade/controldata.c
M contrib/pg_upgrade/exec.c
M contrib/pg_upgrade/file.c
M contrib/pg_upgrade/info.c
M contrib/pg_upgrade/pg_upgrade.c
M contrib/pg_upgrade/pg_upgrade.h
M contrib/pg_upgrade/relfilenode.c
M doc/src/sgml/pgupgrade.sgml

Fix up lame idea of not using autoconf to determine if platform has scandir(). Should fix buildfarm failures.

commit   : 382ff21203ae1c13c2c93a483b098608f35a7251    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 13 May 2010 22:07:43 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 13 May 2010 22:07:43 +0000    

Click here for diff

M configure
M configure.in
M contrib/pg_upgrade/file.c
M src/include/pg_config.h.in

Fix MSVC builds for recent plperl changes. Go back to version 8.2, which is where we started supporting MSVC builds.

commit   : 2a73ee59dbdeb7bf05ff1b3fadb28992245904e0    
  
author   : Andrew Dunstan <[email protected]>    
date     : Thu, 13 May 2010 21:33:00 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Thu, 13 May 2010 21:33:00 +0000    

Click here for diff

Security: CVE-2010-1169  

M src/tools/msvc/Mkvcbuild.pm

Update release notes with security issues.

commit   : 20db9591b241281b0bcc5871418befffca4095a6    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 13 May 2010 21:26:59 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 13 May 2010 21:26:59 +0000    

Click here for diff

Security: CVE-2010-1169, CVE-2010-1170  

M doc/src/sgml/release-7.4.sgml
M doc/src/sgml/release-8.0.sgml
M doc/src/sgml/release-8.1.sgml
M doc/src/sgml/release-8.2.sgml
M doc/src/sgml/release-8.3.sgml
M doc/src/sgml/release-8.4.sgml

Use an entity instead of non-ASCII letter. Thom Brown

commit   : 4b8c969c74af8c4407d56bafecf19335f411ef77    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 13 May 2010 19:16:14 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 13 May 2010 19:16:14 +0000    

Click here for diff

M doc/src/sgml/rules.sgml

Use "TOAST table" in place of the vague, not-used-elsewhere phrase "supplementary storage table".

commit   : a4bbfb1aac27daa8bf4c533c213c18982f65e0b8    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 13 May 2010 18:54:18 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 13 May 2010 18:54:18 +0000    

Click here for diff

M doc/src/sgml/ref/alter_table.sgml
M doc/src/sgml/ref/create_table.sgml

Prevent PL/Tcl from loading the "unknown" module from pltcl_modules unless that is a regular table or view owned by a superuser. This prevents a trojan horse attack whereby any unprivileged SQL user could create such a table and insert code into it that would then get executed in other users' sessions whenever they call pltcl functions.

commit   : 9ead05b7c3d0fb48a2d5ac6ec0f51c4f276d581d    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 13 May 2010 18:29:12 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 13 May 2010 18:29:12 +0000    

Click here for diff

Worse yet, because the code was automatically loaded into both the "normal"  
and "safe" interpreters at first use, the attacker could execute unrestricted  
Tcl code in the "normal" interpreter without there being any pltclu functions  
anywhere, or indeed anyone else using pltcl at all: installing pltcl is  
sufficient to open the hole.  Change the initialization logic so that the  
"unknown" code is only loaded into an interpreter when the interpreter is  
first really used.  (That doesn't add any additional security in this  
particular context, but it seems a prudent change, and anyway the former  
behavior violated the principle of least astonishment.)  
  
Security: CVE-2010-1170  

M doc/src/sgml/pltcl.sgml
M src/pl/tcl/pltcl.c

Abandon the use of Perl's Safe.pm to enforce restrictions in plperl, as it is fundamentally insecure. Instead apply an opmask to the whole interpreter that imposes restrictions on unsafe operations. These restrictions are much harder to subvert than is Safe.pm, since there is no container to be broken out of. Backported to release 7.4.

commit   : 1f474d299d02c398fa627d09d23a7a6a1079a310    
  
author   : Andrew Dunstan <[email protected]>    
date     : Thu, 13 May 2010 16:39:43 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Thu, 13 May 2010 16:39:43 +0000    

Click here for diff

In releases 7.4, 8.0 and 8.1 this also includes the necessary backporting of  
the two interpreters model for plperl and plperlu adopted in release 8.2.  
  
In versions 8.0 and up, the use of Perl's POSIX module to undo its locale  
mangling on Windows has become insecure with these changes, so it is  
replaced by our own routine, which is also faster.  
  
Nice side effects of the changes include that it is now possible to use perl's  
"strict" pragma in a natural way in plperl, and that perl's $a and  
$b variables now work as expected in sort routines, and that function  
compilation is significantly faster.  
  
Tim Bunce and Andrew Dunstan, with reviews from Alex Hunsaker and  
Alexey Klyukin.  
  
Security: CVE-2010-1169  

M doc/src/sgml/plperl.sgml
M src/pl/plperl/GNUmakefile
M src/pl/plperl/expected/plperl.out
M src/pl/plperl/expected/plperl_init.out
M src/pl/plperl/expected/plperl_plperlu.out
M src/pl/plperl/plc_perlboot.pl
D src/pl/plperl/plc_safe_bad.pl
D src/pl/plperl/plc_safe_ok.pl
A src/pl/plperl/plc_trusted.pl
M src/pl/plperl/plperl.c
A src/pl/plperl/plperl_opmask.pl
M src/pl/plperl/sql/plperl.sql
M src/pl/plperl/sql/plperl_init.sql
M src/pl/plperl/sql/plperl_plperlu.sql

Assorted fixes to make pg_upgrade build on MSVC.

commit   : 2b61b3e5074d7f55df82c199b87671334741b4e1    
  
author   : Magnus Hagander <[email protected]>    
date     : Thu, 13 May 2010 15:58:15 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Thu, 13 May 2010 15:58:15 +0000    

Click here for diff

* There is no chmod() on Windows.  
* Must always use the 3-parameter version of open()  
* There is no dynloader.h - but it also appears unnecessary on all platforms  
* Don't include shlobj.h because it causes compile errors, and from what I can  
  see it's not actually used. This may need to be added back for mingw  
  and/or cygwin in the worst case.  

M contrib/pg_upgrade/check.c
M contrib/pg_upgrade/exec.c
M contrib/pg_upgrade/page.c
M contrib/pg_upgrade/pg_upgrade.h

Translation update

commit   : f1ac08daeef0b9417b2dff801c10fcc027697453    
  
author   : Peter Eisentraut <[email protected]>    
date     : Thu, 13 May 2010 15:56:43 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Thu, 13 May 2010 15:56:43 +0000    

Click here for diff

M src/backend/po/de.po
M src/backend/po/fr.po
M src/backend/po/ja.po
M src/bin/initdb/nls.mk
M src/bin/initdb/po/it.po
M src/bin/initdb/po/pt_BR.po
A src/bin/initdb/po/zh_CN.po
M src/bin/pg_config/nls.mk
M src/bin/pg_config/po/de.po
M src/bin/pg_config/po/it.po
M src/bin/pg_config/po/pt_BR.po
A src/bin/pg_config/po/zh_CN.po
M src/bin/pg_controldata/nls.mk
M src/bin/pg_controldata/po/de.po
M src/bin/pg_controldata/po/es.po
M src/bin/pg_controldata/po/fr.po
M src/bin/pg_controldata/po/it.po
M src/bin/pg_controldata/po/pt_BR.po
A src/bin/pg_controldata/po/zh_CN.po
M src/bin/pg_ctl/nls.mk
M src/bin/pg_ctl/po/es.po
M src/bin/pg_ctl/po/it.po
M src/bin/pg_ctl/po/pt_BR.po
A src/bin/pg_ctl/po/zh_CN.po
M src/bin/pg_dump/nls.mk
M src/bin/pg_dump/po/de.po
M src/bin/pg_dump/po/fr.po
M src/bin/pg_dump/po/it.po
M src/bin/pg_dump/po/pt_BR.po
A src/bin/pg_dump/po/zh_CN.po
M src/bin/pg_resetxlog/nls.mk
M src/bin/pg_resetxlog/po/de.po
M src/bin/pg_resetxlog/po/fr.po
M src/bin/pg_resetxlog/po/it.po
M src/bin/pg_resetxlog/po/pt_BR.po
A src/bin/pg_resetxlog/po/zh_CN.po
M src/bin/psql/po/de.po
M src/bin/psql/po/fr.po
M src/bin/psql/po/ja.po
M src/bin/scripts/nls.mk
M src/bin/scripts/po/de.po
M src/bin/scripts/po/es.po
M src/bin/scripts/po/fr.po
M src/bin/scripts/po/it.po
M src/bin/scripts/po/pt_BR.po
A src/bin/scripts/po/zh_CN.po
M src/interfaces/ecpg/ecpglib/nls.mk
M src/interfaces/ecpg/ecpglib/po/de.po
M src/interfaces/ecpg/ecpglib/po/es.po
M src/interfaces/ecpg/ecpglib/po/fr.po
M src/interfaces/ecpg/ecpglib/po/it.po
M src/interfaces/ecpg/ecpglib/po/pt_BR.po
A src/interfaces/ecpg/ecpglib/po/zh_CN.po
M src/interfaces/ecpg/preproc/nls.mk
M src/interfaces/ecpg/preproc/po/de.po
M src/interfaces/ecpg/preproc/po/fr.po
M src/interfaces/ecpg/preproc/po/it.po
M src/interfaces/ecpg/preproc/po/pt_BR.po
A src/interfaces/ecpg/preproc/po/zh_CN.po
M src/interfaces/libpq/nls.mk
M src/interfaces/libpq/po/de.po
M src/interfaces/libpq/po/fr.po
M src/interfaces/libpq/po/it.po
M src/interfaces/libpq/po/pt_BR.po
A src/interfaces/libpq/po/zh_CN.po
M src/pl/plperl/po/de.po
M src/pl/plperl/po/es.po
M src/pl/plperl/po/fr.po
M src/pl/plpgsql/src/po/de.po
M src/pl/plpgsql/src/po/es.po
M src/pl/plpgsql/src/po/fr.po
M src/pl/plpgsql/src/po/it.po
M src/pl/plpython/po/es.po
M src/pl/plpython/po/it.po
M src/pl/plpython/po/ja.po
M src/pl/tcl/po/it.po

Properly support multi-line entires (such as OBJS=) when building PROGRAM, not just MODULE, in contrib.

commit   : 12bc72db6053987bb39f781b7952d02a795d5e9b    
  
author   : Magnus Hagander <[email protected]>    
date     : Thu, 13 May 2010 15:56:22 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Thu, 13 May 2010 15:56:22 +0000    

Click here for diff

M src/tools/msvc/Mkvcbuild.pm

Comment out EnterpriseDB Advanced Server mention in SGML docs.

commit   : 10d66ac8f67023ea60da49994be1fb6020e25fb6    
  
author   : Bruce Momjian <[email protected]>    
date     : Thu, 13 May 2010 15:03:24 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Thu, 13 May 2010 15:03:24 +0000    

Click here for diff

M doc/src/sgml/pgupgrade.sgml

Avoid error from mkdir if no languages are to be installed

commit   : 74d770a895569cc2c8e6e5745249d3124b9f7fb2    
  
author   : Peter Eisentraut <[email protected]>    
date     : Thu, 13 May 2010 14:35:28 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Thu, 13 May 2010 14:35:28 +0000    

Click here for diff

mkinstalldirs used to handle no arguments, but mkdir doesn't.  
  
Also remove the .SILENT setting, that was previously removed from  
Makefile.global as well.  

M src/nls-global.mk

Fix some spelling errors.

commit   : 4cb7536c6bdaae698706eb57f5a282907e475e5d    
  
author   : Magnus Hagander <[email protected]>    
date     : Thu, 13 May 2010 14:16:41 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Thu, 13 May 2010 14:16:41 +0000    

Click here for diff

Thom Brown  

M doc/src/sgml/ecpg.sgml
M doc/src/sgml/high-availability.sgml
M doc/src/sgml/libpq.sgml

Add missing library and include support for pg_upgrade to MSVC build system.

commit   : 52d0b49f5e04af3ea36eeadcd3a0859277a7d292    
  
author   : Andrew Dunstan <[email protected]>    
date     : Thu, 13 May 2010 13:40:03 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Thu, 13 May 2010 13:40:03 +0000    

Click here for diff

M src/tools/msvc/Mkvcbuild.pm

commit   : 092c36ef990209c37192bf8269d083c6a45beefd    
  
author   : Bruce Momjian <[email protected]>    
date     : Thu, 13 May 2010 12:47:50 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Thu, 13 May 2010 12:47:50 +0000    

Click here for diff

M doc/src/sgml/release-9.0.sgml

Fix vpath installation from distribution tarball (bug #5447)

commit   : 3393551d541ce949e20725dca6366a97b142ef5d    
  
author   : Peter Eisentraut <[email protected]>    
date     : Thu, 13 May 2010 11:49:48 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Thu, 13 May 2010 11:49:48 +0000    

Click here for diff

M doc/src/sgml/Makefile
M src/Makefile.global.in
M src/backend/catalog/Makefile

commit   : 463f151a23242c531890589db3692077aadb05ca    
  
author   : Simon Riggs <[email protected]>    
date     : Thu, 13 May 2010 11:39:30 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Thu, 13 May 2010 11:39:30 +0000    

Click here for diff

M src/backend/access/transam/xact.c

Cleanup initialization of Hot Standby. Clarify working with reanalysis of requirements and documentation on LogStandbySnapshot(). Fixes two minor bugs reported by Tom Lane that would lead to an incorrect snapshot after transaction wraparound. Also fix two other problems discovered that would give incorrect snapshots in certain cases. ProcArrayApplyRecoveryInfo() substantially rewritten. Some minor refactoring of xact_redo_apply() and ExpireTreeKnownAssignedTransactionIds().

commit   : 8431e296ea4cfc8dd30053f89b6970ef16ddbc61    
  
author   : Simon Riggs <[email protected]>    
date     : Thu, 13 May 2010 11:15:38 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Thu, 13 May 2010 11:15:38 +0000    

Click here for diff

M src/backend/access/transam/xact.c
M src/backend/access/transam/xlog.c
M src/backend/storage/ipc/procarray.c
M src/backend/storage/ipc/standby.c
M src/include/storage/procarray.h
M src/include/storage/standby.h

Fix wrong subdir. Per buildfarm.

commit   : c2e7f78abed4cdc447067fbbdf1f0161f103b55c    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 13 May 2010 05:17:16 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 13 May 2010 05:17:16 +0000    

Click here for diff

M contrib/pg_upgrade_support/Makefile

Update release notes to current.

commit   : d8c311c3797a18d0e073a9959d6f557be5be10d7    
  
author   : Bruce Momjian <[email protected]>    
date     : Thu, 13 May 2010 01:57:01 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Thu, 13 May 2010 01:57:01 +0000    

Click here for diff

M doc/src/sgml/release-9.0.sgml

Move pg_upgrade shared library out into its own /contrib directory (pg_upgrade_support).

commit   : 9885206caba98bf0cb57d1c27d1a352c60c08496    
  
author   : Bruce Momjian <[email protected]>    
date     : Thu, 13 May 2010 01:03:01 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Thu, 13 May 2010 01:03:01 +0000    

Click here for diff

M contrib/Makefile
M contrib/pg_upgrade/Makefile
M contrib/pg_upgrade/check.c
M contrib/pg_upgrade/function.c
A contrib/pg_upgrade_support/Makefile
R100 contrib/pg_upgrade/pg_upgrade_sysoids.c contrib/pg_upgrade_support/pg_upgrade_support.c
M doc/src/sgml/pgupgrade.sgml

Update comment about why postmaster doesn't get an icon.

commit   : c7c012ce56ac419439a7cbcb0520f3a9740ca2d6    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 12 May 2010 23:48:36 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 12 May 2010 23:48:36 +0000    

Click here for diff

M src/backend/Makefile

Preliminary release notes for releases 8.4.4, 8.3.11, 8.2.17, 8.1.21, 8.0.25, 7.4.29.

commit   : 8aad797362fbba1f2f613c12bbc6a4a06bd58f75    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 12 May 2010 23:20:49 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 12 May 2010 23:20:49 +0000    

Click here for diff

M doc/src/sgml/release-7.4.sgml
M doc/src/sgml/release-8.0.sgml
M doc/src/sgml/release-8.1.sgml
M doc/src/sgml/release-8.2.sgml
M doc/src/sgml/release-8.3.sgml
M doc/src/sgml/release-8.4.sgml

Remove Makefile PGFILEDESC tag that the postmaster is an executable.

commit   : 0c6b9308de6e2381b357f0d6710109827e199d47    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 12 May 2010 21:42:21 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 12 May 2010 21:42:21 +0000    

Click here for diff

M src/backend/Makefile

Give most recovery conflict errors a retryable error code. From recent requests and discussions with Yeb Havinga and Kevin Grittner.

commit   : 66035734ec36e56e36d94f413f5eb7d498993b6d    
  
author   : Simon Riggs <[email protected]>    
date     : Wed, 12 May 2010 19:45:02 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Wed, 12 May 2010 19:45:02 +0000    

Click here for diff

M src/backend/tcop/postgres.c

Hook pg_upgrade into the contrib makefile structure so it gets built on the buildfarm.

commit   : 44e55690fde08b725cf8e8fee5a402f26b3f6db7    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 12 May 2010 16:50:58 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 12 May 2010 16:50:58 +0000    

Click here for diff

M contrib/Makefile
M contrib/README

Update config.guess and config.sub

commit   : 087b393dabc5309bfdcdfb57ee7bb91debcc6ed5    
  
author   : Peter Eisentraut <[email protected]>    
date     : Wed, 12 May 2010 16:50:57 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Wed, 12 May 2010 16:50:57 +0000    

Click here for diff

M config/config.guess
M config/config.sub

Clean up unnecessary unportability and compiler warnings by removing the cmp parameter for pg_scandir(). The code failed to support this anyway for Sun/Windows, so pretending we could accept a parameter other than NULL was just asking for trouble.

commit   : c9c25a982c621320d699bf7c9055aaa4015dcad2    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 12 May 2010 16:50:00 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 12 May 2010 16:50:00 +0000    

Click here for diff

M contrib/pg_upgrade/file.c
M contrib/pg_upgrade/pg_upgrade.h
M contrib/pg_upgrade/relfilenode.c

Move pg_upgrade TODO to TODO wiki.

commit   : b460b5cd1117167d505239e9081f4f7a526914a7    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 12 May 2010 13:59:21 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 12 May 2010 13:59:21 +0000    

Click here for diff

D contrib/pg_upgrade/TODO

Add PGFILEDESC description to Makefiles for all /contrib executables.

commit   : 395d1259ad7481ef19c1d425ba399c861c667129    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 12 May 2010 11:33:10 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 12 May 2010 11:33:10 +0000    

Click here for diff

Add PGAPPICON to all executable makefiles.  

M contrib/oid2name/Makefile
M contrib/pg_standby/Makefile
M contrib/pg_upgrade/Makefile
M contrib/pgbench/Makefile
M contrib/vacuumlo/Makefile
M src/backend/Makefile
M src/bin/initdb/Makefile
M src/bin/pg_config/Makefile
M src/bin/pg_controldata/Makefile
M src/bin/pg_ctl/Makefile
M src/bin/pg_dump/Makefile
M src/bin/pg_resetxlog/Makefile
M src/bin/pgevent/Makefile
M src/bin/psql/Makefile
M src/bin/scripts/Makefile
M src/interfaces/ecpg/preproc/Makefile

Small formatting adjustment.

commit   : 561afa534d0ee9ae8db19a3132a2185ba930c0e6    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 12 May 2010 11:07:24 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 12 May 2010 11:07:24 +0000    

Click here for diff

M contrib/pg_upgrade/info.c

Add pg_upgrade IMPLEMENTATION file to CVS.

commit   : a898199df5c70eb864d8951ce7838810df6516f3    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 12 May 2010 02:24:43 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 12 May 2010 02:24:43 +0000    

Click here for diff

A contrib/pg_upgrade/IMPLEMENTATION

Add TODO file to CVS.

commit   : 6c4a98d99cc5700fa8e1e4aa5cb7f859eb2a9970    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 12 May 2010 02:23:56 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 12 May 2010 02:23:56 +0000    

Click here for diff

A contrib/pg_upgrade/TODO

Add pg_upgrade to /contrib; will be in 9.0 beta2.

commit   : c2e9b2f288185a8569f6391ea250c7eeafa6c14b    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 12 May 2010 02:19:11 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 12 May 2010 02:19:11 +0000    

Click here for diff

Add documentation.  
  
Supports migration from PG 8.3 and 8.4.  

A contrib/pg_upgrade/Makefile
A contrib/pg_upgrade/check.c
A contrib/pg_upgrade/controldata.c
A contrib/pg_upgrade/dump.c
A contrib/pg_upgrade/exec.c
A contrib/pg_upgrade/file.c
A contrib/pg_upgrade/function.c
A contrib/pg_upgrade/info.c
A contrib/pg_upgrade/option.c
A contrib/pg_upgrade/page.c
A contrib/pg_upgrade/pg_upgrade.c
A contrib/pg_upgrade/pg_upgrade.h
A contrib/pg_upgrade/pg_upgrade_sysoids.c
A contrib/pg_upgrade/relfilenode.c
A contrib/pg_upgrade/server.c
A contrib/pg_upgrade/tablespace.c
A contrib/pg_upgrade/util.c
A contrib/pg_upgrade/version.c
A contrib/pg_upgrade/version_old_8_3.c
M doc/src/sgml/contrib.sgml
M doc/src/sgml/filelist.sgml
A doc/src/sgml/pgupgrade.sgml

Update time zone data files to tzdata release 2010j: DST law changes in Argentina, Australian Antarctic, Bangladesh, Mexico, Morocco, Pakistan, Palestine, Russia, Syria, Tunisia. Historical corrections for Taiwan.

commit   : 28e1742217716076da0700094a369eae5766974c    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 11 May 2010 23:01:27 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 11 May 2010 23:01:27 +0000    

Click here for diff

M src/timezone/data/africa
M src/timezone/data/antarctica
M src/timezone/data/asia
M src/timezone/data/australasia
M src/timezone/data/europe
M src/timezone/data/northamerica
M src/timezone/data/southamerica
M src/timezone/data/zone.tab

Add PKST to the default set of timezone abbreviations. Per discussion, if we have PKT in there then PKST should be too. Also, fix mistaken claim that these abbrevs are not known to zic.

commit   : af9a54b6638a47b191ba0d3f383e771987966eea    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 11 May 2010 22:36:52 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 11 May 2010 22:36:52 +0000    

Click here for diff

M src/timezone/tznames/Asia.txt
M src/timezone/tznames/Default

Change typedef for rb_appendator to avoid conflict with C++ reserved words.

commit   : dd6fcd35e33fa19144ceb69292c497b1f7b61388    
  
author   : Robert Haas <[email protected]>    
date     : Tue, 11 May 2010 18:14:01 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Tue, 11 May 2010 18:14:01 +0000    

Click here for diff

Fixes a complaint from src/tools/pginclude/cpluspluscheck reported by  
Peter Eisentraut.  

M src/include/utils/rbtree.h

Cause the archiver process to adopt new postgresql.conf settings (particularly archive_command) as soon as possible, namely just before issuing a new call of archive_command, even when there is a backlog of files to be archived. The original coding would only absorb new settings after clearing the backlog and returning to the outer loop. Per discussion.

commit   : 4a69624f495363810371a9178b0c5a5f5336e70e    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 11 May 2010 16:42:28 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 11 May 2010 16:42:28 +0000    

Click here for diff

Back-patch to 8.3.  The logic in prior versions is a bit different and it  
doesn't seem worth taking any risks of breaking it.  

M src/backend/postmaster/pgarch.c

commit   : 8b8009a20dbc26a75cc1d5b79490cf64d802e2a7    
  
author   : Robert Haas <[email protected]>    
date     : Tue, 11 May 2010 16:07:42 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Tue, 11 May 2010 16:07:42 +0000    

Click here for diff

As suggested by Andy Lester.  

M doc/src/sgml/ref/cluster.sgml

Fix incorrect patch that removed permission checks on inheritance child tables --- the parent table no longer got checked, either. Per bug #5458 from Takahiro Itagaki.

commit   : b7987f8a942d48ecfbcb20fac6da57a4b784983d    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 11 May 2010 15:31:37 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 11 May 2010 15:31:37 +0000    

Click here for diff

M src/backend/optimizer/prep/prepunion.c

Set per-function GUC settings during validating the function. Now validators work properly even when the settings contain parameters that affect behavior of the function, like search_path.

commit   : 5d6d037822ccfae697f0a530e37a70ae1cd7e420    
  
author   : Itagaki Takahiro <[email protected]>    
date     : Tue, 11 May 2010 04:52:28 +0000    
  
committer: Itagaki Takahiro <[email protected]>    
date     : Tue, 11 May 2010 04:52:28 +0000    

Click here for diff

Reported by Erwin Brandstetter.  

M src/backend/catalog/pg_proc.c

commit   : ed83f6e38209016ae75832ae8997f190ea4a0c8e    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 10 May 2010 16:25:46 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 10 May 2010 16:25:46 +0000    

Click here for diff

M src/backend/optimizer/plan/planagg.c

Suppress signed-vs-unsigned-char warning.

commit   : 7fdbb8e3537c6baee61ff26e52e0923de15c6b3f    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 9 May 2010 18:17:47 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 9 May 2010 18:17:47 +0000    

Click here for diff

M src/bin/psql/print.c

Fix missing static declaration for XLogRead().

commit   : 2ea56cbda6ae67dc8d17085b52fafd16542918ad    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 9 May 2010 18:11:55 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 9 May 2010 18:11:55 +0000    

Click here for diff

M src/backend/replication/walsender.c

Fix typo: PGTYPES_NUM_OVERFLOW should be PGTYPES_NUM_UNDERFLOW. Noted by KOIZUMI Satoru.

commit   : 4768fd3fd8176173a9e5d1d716cf48c2f91087be    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 9 May 2010 16:30:31 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 9 May 2010 16:30:31 +0000    

Click here for diff

M doc/src/sgml/ecpg.sgml

Adjust comments about avoiding use of printf's %.*s. My initial impression that glibc was measuring the precision in characters (which is what the Linux man page says it does) was incorrect. It does take the precision to be in bytes, but it also tries to truncate the string at a character boundary. The bottom line remains the same: it will mess up if the string is not in the encoding it expects, so we need to avoid %.*s anytime there's a significant risk of that. Previous code changes are still good, but adjust the comments to reflect this knowledge. Per research by Hernan Gonzalez.

commit   : ed437e2b27c48219a78f3504b0d05c17c2082d02    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 9 May 2010 02:16:00 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 9 May 2010 02:16:00 +0000    

Click here for diff

M src/backend/parser/scansup.c
M src/backend/tsearch/wparser_def.c
M src/backend/utils/adt/datetime.c
M src/bin/psql/print.c
M src/interfaces/ecpg/pgtypeslib/dt_common.c
M src/interfaces/libpq/fe-misc.c

Work around a subtle portability problem in use of printf %s format. Depending on which spec you read, field widths and precisions in %s may be counted either in bytes or characters. Our code was assuming bytes, which is wrong at least for glibc's implementation, and in any case libc might have a different idea of the prevailing encoding than we do. Hence, for portable results we must avoid using anything more complex than just "%s" unless the string to be printed is known to be all-ASCII.

commit   : 54cd4f04576833abc394e131288bf3dd7dcf4806    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 8 May 2010 16:39:53 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 8 May 2010 16:39:53 +0000    

Click here for diff

This patch fixes the cases I could find, including the psql formatting  
failure reported by Hernan Gonzalez.  In HEAD only, I also added comments  
to some places where it appears safe to continue using "%.*s".  

M src/backend/lib/stringinfo.c
M src/backend/parser/scansup.c
M src/backend/tsearch/wparser_def.c
M src/backend/utils/adt/datetime.c
M src/backend/utils/error/elog.c
M src/bin/psql/command.c
M src/bin/psql/help.c
M src/bin/psql/print.c
M src/interfaces/ecpg/ecpglib/error.c
M src/interfaces/ecpg/pgtypeslib/dt_common.c
M src/interfaces/libpq/fe-misc.c

ECPG connect routine only checked for NULL to find empty parameters, but user and password can also be "".

commit   : 71a185a24d573dc1449777ff9fa8f3020af6f13c    
  
author   : Michael Meskes <[email protected]>    
date     : Fri, 7 May 2010 19:35:03 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Fri, 7 May 2010 19:35:03 +0000    

Click here for diff

M src/interfaces/ecpg/ecpglib/connect.c

On Linux, use --enable-new-dtags when specifying -rpath to linker. This should allow LD_LIBRARY_PATH to work as desired. Per trouble report from Andy Colson.

commit   : cd86869a9a56715a4143aff460f58ad9b4750475    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 6 May 2010 19:28:25 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 6 May 2010 19:28:25 +0000    

Click here for diff

M src/makefiles/Makefile.linux

Code page for EUC-KR is surely 51949.

commit   : 72ee6703232fd21757613ab4889fab58de62144d    
  
author   : Itagaki Takahiro <[email protected]>    
date     : Thu, 6 May 2010 02:12:38 +0000    
  
committer: Itagaki Takahiro <[email protected]>    
date     : Thu, 6 May 2010 02:12:38 +0000    

Click here for diff

M src/port/chklocale.c

Fix psql to not go into infinite recursion when expanding a variable that refers to itself (directly or indirectly). Instead, print a message when recursion is detected, and don't expand the repeated reference. Per bug #5448 from Francis Markham.

commit   : 93dc6a1b394f8b0ea6719a40a61a81c262ea2103    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 5 May 2010 22:18:56 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 5 May 2010 22:18:56 +0000    

Click here for diff

Back-patch to 8.0.  Although the issue exists in 7.4 as well, it seems  
impractical to fix there because of the lack of any state stack that  
could be used to track active expansions.  

M src/bin/psql/psqlscan.l

Fix incorrect parameter tag in docs, spotted by KOIZUMI Satoru.

commit   : 1ba23f767bad48c77a90ead05db62d83d24d9763    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Wed, 5 May 2010 15:10:25 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Wed, 5 May 2010 15:10:25 +0000    

Click here for diff

M doc/src/sgml/intarray.sgml

Remove spurious dot, per bug #5446 reported by [email protected]

commit   : d64e81c07e804108069f4d69e5ceb1ad641c3d7f    
  
author   : Alvaro Herrera <[email protected]>    
date     : Mon, 3 May 2010 15:35:30 +0000    
  
committer: Alvaro Herrera <[email protected]>    
date     : Mon, 3 May 2010 15:35:30 +0000    

Click here for diff

M doc/src/sgml/mvcc.sgml

Need to hold ControlFileLock while updating control file. Update minRecoveryPoint in control file when replaying a parameter change record, to ensure that we don't allow hot standby on WAL generated without wal_level='hot_standby' after a standby restart.

commit   : ffe8c7c677197ef8062a71309b14a1847841118c    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Mon, 3 May 2010 11:17:52 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Mon, 3 May 2010 11:17:52 +0000    

Click here for diff

M src/backend/access/transam/xlog.c

Change wording so that you don't need to understand that wal_levels form a hierarchy. Per Simon's suggestion.

commit   : c0de88c4152a239cb4df00b538770afbf422adf8    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Mon, 3 May 2010 10:31:29 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Mon, 3 May 2010 10:31:29 +0000    

Click here for diff

M doc/src/sgml/config.sgml

Change "literal" tag to the more appropriate "firstterm", when describing what "eventually consistent" means.

commit   : 1b6c7b1c0b951b1b41c3c4539d99360c28c98cb6    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Mon, 3 May 2010 09:15:17 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Mon, 3 May 2010 09:15:17 +0000    

Click here for diff

M doc/src/sgml/high-availability.sgml

Add cross-reference from wal_level to hot_standby setting. Update the PITR documentation to mention that you need to set wal_level to 'archive' or 'hot_standby', to enable WAL archiving. Per Simon's request.

commit   : f35951619c921442061f788548c14fd5e039b786    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Mon, 3 May 2010 09:14:17 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Mon, 3 May 2010 09:14:17 +0000    

Click here for diff

M doc/src/sgml/backup.sgml
M doc/src/sgml/config.sgml

Improve printing of XLOG_HEAP_NEWPAGE records to include the forknum.

commit   : 609a63fd853e9924a46a4556605644cd40aafa19    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 2 May 2010 22:37:43 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 2 May 2010 22:37:43 +0000    

Click here for diff

M src/backend/access/heap/heapam.c

Fix replay of XLOG_HEAP_NEWPAGE WAL records to pay attention to the forknum field of the WAL record. The previous coding always wrote to the main fork, resulting in data corruption if the page was meant to go into a non-default fork.

commit   : e55e6ecfe4e00ecb3f316b7b41d586ea2f12cd48    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 2 May 2010 22:28:05 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 2 May 2010 22:28:05 +0000    

Click here for diff

At present, the only operation that can produce such WAL records is  
ALTER TABLE/INDEX SET TABLESPACE when executed with archive_mode = on.  
Data corruption would be observed on standby slaves, and could occur on the  
master as well if a database crash and recovery occurred after committing  
the ALTER and before the next checkpoint.  Per report from Gordon Shannon.  
  
Back-patch to 8.4; the problem doesn't exist in earlier branches because  
we didn't have a concept of multiple relation forks then.  

M src/backend/access/heap/heapam.c

Update standbycheck test output with new ERROR message changes. No changes to tests and no changes in accepted server behaviour.

commit   : 3a0939eda264ec153f0f5db88b7b7273a0b04046    
  
author   : Simon Riggs <[email protected]>    
date     : Sun, 2 May 2010 12:28:43 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Sun, 2 May 2010 12:28:43 +0000    

Click here for diff

M src/test/regress/expected/hs_standby_disallowed.out
M src/test/regress/expected/hs_standby_functions.out

Docs for standbycheck regression tests.

commit   : abeb17cdaef1a6f058cd8c0ebb8e37a8a73f558f    
  
author   : Simon Riggs <[email protected]>    
date     : Sun, 2 May 2010 12:22:40 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Sun, 2 May 2010 12:22:40 +0000    

Click here for diff

M doc/src/sgml/regress.sgml

Mention that max_standby_delay has units of milliseconds. Units are mentioned for all other parameters where the default is expressed in a different unit.

commit   : 98bbab47bcff25734660505066bffb612bb99eb6    
  
author   : Simon Riggs <[email protected]>    
date     : Sun, 2 May 2010 11:32:53 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Sun, 2 May 2010 11:32:53 +0000    

Click here for diff

M doc/src/sgml/config.sgml

Clean up some awkward, inaccurate, and inefficient processing around MaxStandbyDelay. Use the GUC units mechanism for the value, and choose more appropriate timestamp functions for performing tests with it. Make the ps_activity manipulation in ResolveRecoveryConflictWithVirtualXIDs have behavior similar to ps_activity code elsewhere, notably not updating the display when update_process_title is off and not truncating the display contents at an arbitrarily-chosen length. Improve the docs to be explicit about what MaxStandbyDelay actually measures, viz the difference between primary and standby servers' clocks, and the possible hazards if their clocks aren't in sync.

commit   : f9ed327f760e7794faecfda54b19515a95ba901d    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 2 May 2010 02:10:33 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 2 May 2010 02:10:33 +0000    

Click here for diff

M doc/src/sgml/config.sgml
M doc/src/sgml/high-availability.sgml
M src/backend/access/transam/xlog.c
M src/backend/storage/ipc/standby.c
M src/backend/utils/misc/guc.c
M src/backend/utils/misc/postgresql.conf.sample

Add code to InternalIpcMemoryCreate() to handle the case where shmget() returns EINVAL for an existing shared memory segment. Although it's not terribly sensible, that behavior does meet the POSIX spec because EINVAL is the appropriate error code when the existing segment is smaller than the requested size, and the spec explicitly disclaims any particular ordering of error checks. Moreover, it does in fact happen on OS X and probably other BSD-derived kernels. (We were able to talk NetBSD into changing their code, but purging that behavior from the wild completely seems unlikely to happen.) We need to distinguish collision with a pre-existing segment from invalid size request in order to behave sensibly, so it's worth some extra code here to get it right. Per report from Gavin Kistner and subsequent investigation.

commit   : 154163238e933988a9876aac88848258c2da7380    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 1 May 2010 22:46:30 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 1 May 2010 22:46:30 +0000    

Click here for diff

Back-patch to all supported versions, since any of them could get used  
with a kernel having the debatable behavior.  

M src/backend/port/sysv_shmem.c

Install hack workaround for failure of 'make all' in VPATH builds. It appears that gmake gets confused if postgres.sgml is not present in the working directory, and instantiates some default rule or other that would let postgres.sgml be built from postgres.xml. I haven't been able to track down exactly where that's coming from, but the problem can be dodged by specifying srcdir explicitly in the rule for postgres.xml. Per report from Vladimir Kokovic.

commit   : 170456c9d86688ee79363699aa51331f60e8b59e    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 1 May 2010 21:31:17 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 1 May 2010 21:31:17 +0000    

Click here for diff

M doc/src/sgml/Makefile

Adjust postgres.xml rule so that make will notice a failure exit from osx. The previous coding had it in a pipe, which on most shells won't report the error. Per experimentation with a bug report from Vladimir Kokovic. This doesn't actually fix his problem, but it does explain why make didn't report that there was a problem.

commit   : f856fad80b0d8607e20774d7326f76f27ac04cec    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 1 May 2010 18:15:07 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 1 May 2010 18:15:07 +0000    

Click here for diff

M doc/src/sgml/Makefile

commit   : f5c23ca20811c62c87c35c0b45f74572b0b77955    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 1 May 2010 17:04:38 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 1 May 2010 17:04:38 +0000    

Click here for diff

M src/pl/plpython/plpython.c

Update our information about OS X shared memory configuration: it's now possible to set most of the SHM kernel parameters without a reboot. Also, reorder the paragraph to explain the modern configuration method first. There are probably not too many people who still care about how to do it on OS X 10.3 or older.

commit   : 05f030837ce2b84cce6511dfba03f0f921866580    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 30 Apr 2010 22:24:50 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 30 Apr 2010 22:24:50 +0000    

Click here for diff

M doc/src/sgml/runtime.sgml

Improve COPY documentation to clarify that it doesn't copy data to or from child tables. Per gripe from Jaime Casanova.

commit   : 854b5eb510f09ce55a6abd8ac3caf72b2eb36a5c    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 30 Apr 2010 19:49:06 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 30 Apr 2010 19:49:06 +0000    

Click here for diff

M doc/src/sgml/ref/copy.sgml

Fix multiple memory leaks in PLy_spi_execute_fetch_result: it would leak memory if the result had zero rows, and also if there was any sort of error while converting the result tuples into Python data. Reported and partially fixed by Andres Freund.

commit   : b1bc2f042523e1d192a924484d6a83b7cb6d7465    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 30 Apr 2010 19:15:45 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 30 Apr 2010 19:15:45 +0000    

Click here for diff

Back-patch to all supported versions.  Note: I haven't tested the 7.4 fix.  
7.4's configure check for python is so obsolete it doesn't work on my  
current machines :-(.  The logic change is pretty straightforward though.  

M src/pl/plpython/plpython.c

Fix a couple of places where the result of fgets() wasn't checked. This is mostly to suppress compiler warnings, although in principle the cases could result in undesirable behavior.

commit   : 09543580471182ecab3b73c982485397edabbce2    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 30 Apr 2010 17:09:13 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 30 Apr 2010 17:09:13 +0000    

Click here for diff

Martin Pitt  

M src/bin/psql/prompt.c
M src/interfaces/libpq/fe-connect.c

Fix handling of b-tree reuse WAL records when hot standby is disabled, and add missing code in btree_desc for them. This fixes the bug with "tree_redo: unknown op code 208" error reported by Jaime Casanova.

commit   : 21992dd4f5165692dcf039b3ed192a759dcc4f2c    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Fri, 30 Apr 2010 06:34:29 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Fri, 30 Apr 2010 06:34:29 +0000    

Click here for diff

M src/backend/access/nbtree/nbtxlog.c

tag for 9.0beta1

commit   : f9d9b2b34a094b94fda39231c16ab5f2e6bfbbe4    
  
author   : Marc G. Fournier <[email protected]>    
date     : Fri, 30 Apr 2010 03:16:58 +0000    
  
committer: Marc G. Fournier <[email protected]>    
date     : Fri, 30 Apr 2010 03:16:58 +0000    

Click here for diff

M configure
M configure.in
M doc/bug.template
M src/include/pg_config.h.win32

Documentation fix: CREATE TRIGGER 'WHERE' -> 'WHEN'

commit   : 616a3b2df4ecf064b8a40929cd0a594f119bb61c    
  
author   : Bruce Momjian <[email protected]>    
date     : Thu, 29 Apr 2010 22:03:41 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Thu, 29 Apr 2010 22:03:41 +0000    

Click here for diff

Selena Deckelmann  

M doc/src/sgml/release-9.0.sgml

Adjust error checks in pg_start_backup and pg_stop_backup to make it possible to perform a backup without archive_mode being enabled. This gives up some user-error protection in order to improve usefulness for streaming-replication scenarios. Per discussion.

commit   : 69f7a4d8e322f7f93d1c6d91c7eabd9d5925a401    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 29 Apr 2010 21:49:03 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 29 Apr 2010 21:49:03 +0000    

Click here for diff

M doc/src/sgml/backup.sgml
M src/backend/access/transam/xlog.c

Rename the parameter recovery_connections to hot_standby, to reduce possible confusion with streaming-replication settings. Also, change its default value to "off", because of concern about executing new and poorly-tested code during ordinary non-replicating operation. Per discussion.

commit   : f0488bd57c3745b5dbed80e884ee5452e77314c9    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 29 Apr 2010 21:36:19 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 29 Apr 2010 21:36:19 +0000    

Click here for diff

In passing do some minor editing of related documentation.  

M doc/src/sgml/config.sgml
M doc/src/sgml/high-availability.sgml
M src/backend/access/transam/xlog.c
M src/backend/storage/ipc/procarray.c
M src/backend/utils/misc/guc.c
M src/backend/utils/misc/postgresql.conf.sample
M src/include/access/xlog.h

Doc fix -- last major item should not be a bullet.

commit   : 72e316e4c832d6388414b5c7e14751c423e39a08    
  
author   : Bruce Momjian <[email protected]>    
date     : Thu, 29 Apr 2010 21:02:50 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Thu, 29 Apr 2010 21:02:50 +0000    

Click here for diff

M doc/src/sgml/release-9.0.sgml

Move alpha release notes into a separate file; re-align sgml tags.

commit   : fbb68396bb51ee26a6e2b476019506c0acba1063    
  
author   : Bruce Momjian <[email protected]>    
date     : Thu, 29 Apr 2010 20:54:28 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Thu, 29 Apr 2010 20:54:28 +0000    

Click here for diff

M doc/src/sgml/release-9.0.sgml
A doc/src/sgml/release-alpha.sgml

Update 9.0 release notes to current; add major items and introductory text.

commit   : ca2c61caacdcc0f590a27bb15bf93d6685e7ab46    
  
author   : Bruce Momjian <[email protected]>    
date     : Thu, 29 Apr 2010 20:43:22 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Thu, 29 Apr 2010 20:43:22 +0000    

Click here for diff

M doc/src/sgml/release-9.0.sgml

Install a workaround for 'TeX capacity exceeded' problem when building PDF output for recent versions of the documentation. There is probably a better answer out there somewhere, but we need something now so we can build beta releases.

commit   : a5ec86a7c787832d28d5e50400ec96a5190f2555    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 29 Apr 2010 16:32:41 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 29 Apr 2010 16:32:41 +0000    

Click here for diff

A doc/src/sgml/jadetex.cfg

Fix typo, per Thom Brown.

commit   : fa171dd8e5dcf364b8b3ffc90b8488111e990117    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 28 Apr 2010 21:23:29 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 28 Apr 2010 21:23:29 +0000    

Click here for diff

M doc/src/sgml/perform.sgml

Modify information_schema._pg_keysequal() to avoid search path risk when contrib/intarray is loaded. Per bug #5417 from Kenaniah Cerny.

commit   : f4ec2fabbff3fd603f17c3750e0e3a17ef685366    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 28 Apr 2010 21:18:07 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 28 Apr 2010 21:18:07 +0000    

Click here for diff

Not forcing initdb since backend doesn't directly depend on this,  
and few people have run into it.  

M src/backend/catalog/information_schema.sql

Minor editorializing on pg_controldata and pg_resetxlog: adjust some message wording, deal explicitly with some fields that were being silently left zero.

commit   : c80a85e3cd4136320ad6e1087ecbe7592edf4e6b    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 28 Apr 2010 19:38:49 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 28 Apr 2010 19:38:49 +0000    

Click here for diff

M src/bin/pg_controldata/pg_controldata.c
M src/bin/pg_resetxlog/pg_resetxlog.c

pg_controldata needs #define FRONTEND, same as pg_resetxlog. Per buildfarm results from dawn_bat.

commit   : 82e38abaf12b041a8679af61df6513eaa4299505    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 28 Apr 2010 17:35:35 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 28 Apr 2010 17:35:35 +0000    

Click here for diff

M src/bin/pg_controldata/pg_controldata.c

Modify ShmemInitStruct and ShmemInitHash to throw errors internally, rather than returning NULL for some-but-not-all failures as they used to. Remove now-redundant tests for NULL from call sites.

commit   : 77acab75dfe2e4741c25c0cf550266caef1eebd2    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 28 Apr 2010 16:54:16 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 28 Apr 2010 16:54:16 +0000    

Click here for diff

We had to do something about this because many call sites were failing to  
check for NULL; and changing it like this seems a lot more useful and  
mistake-proof than adding checks to the call sites without them.  

M contrib/pg_stat_statements/pg_stat_statements.c
M doc/src/sgml/xfunc.sgml
M src/backend/access/transam/slru.c
M src/backend/commands/async.c
M src/backend/postmaster/autovacuum.c
M src/backend/postmaster/bgwriter.c
M src/backend/replication/walreceiverfuncs.c
M src/backend/replication/walsender.c
M src/backend/storage/buffer/buf_table.c
M src/backend/storage/ipc/shmem.c
M src/backend/storage/lmgr/lock.c
M src/backend/storage/lmgr/proc.c

Make pg_stats example query result a bit less wide, and add comment about pg_stats.inherited

commit   : 5f70a04c56b69fff0f356abae3091eaa54038a5b    
  
author   : Alvaro Herrera <[email protected]>    
date     : Wed, 28 Apr 2010 16:48:21 +0000    
  
committer: Alvaro Herrera <[email protected]>    
date     : Wed, 28 Apr 2010 16:48:21 +0000    

Click here for diff

M doc/src/sgml/perform.sgml

Introduce wal_level GUC to explicitly control if information needed for archival or hot standby should be WAL-logged, instead of deducing that from other options like archive_mode. This replaces recovery_connections GUC in the primary, where it now has no effect, but it's still used in the standby to enable/disable hot standby.

commit   : 9b8a73326e99821caf33c36c081cb307e17422d4    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Wed, 28 Apr 2010 16:10:43 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Wed, 28 Apr 2010 16:10:43 +0000    

Click here for diff

Remove the WAL-logging of "unlogged operations", like creating an index  
without WAL-logging and fsyncing it at the end. Instead, we keep a copy of  
the wal_mode setting and the settings that affect how much shared memory a  
hot standby server needs to track master transactions (max_connections,  
max_prepared_xacts, max_locks_per_xact) in pg_control. Whenever the settings  
change, at server restart, write a WAL record noting the new settings and  
update pg_control. This allows us to notice the change in those settings in  
the standby at the right moment, they used to be included in checkpoint  
records, but that meant that a changed value was not reflected in the  
standby until the first checkpoint after the change.  
  
Bump PG_CONTROL_VERSION and XLOG_PAGE_MAGIC. Whack XLOG_PAGE_MAGIC back to  
the sequence it used to follow, before hot standby and subsequent patches  
changed it to 0x9003.  

M doc/src/sgml/backup.sgml
M doc/src/sgml/config.sgml
M doc/src/sgml/high-availability.sgml
M doc/src/sgml/perform.sgml
M src/backend/access/heap/rewriteheap.c
M src/backend/access/nbtree/nbtsort.c
M src/backend/access/transam/xlog.c
M src/backend/commands/cluster.c
M src/backend/commands/copy.c
M src/backend/commands/tablecmds.c
M src/backend/executor/execMain.c
M src/backend/postmaster/postmaster.c
M src/backend/replication/walsender.c
M src/backend/storage/ipc/standby.c
M src/backend/utils/misc/guc.c
M src/backend/utils/misc/postgresql.conf.sample
M src/bin/pg_controldata/pg_controldata.c
M src/bin/pg_resetxlog/pg_resetxlog.c
M src/include/access/xlog.h
M src/include/access/xlog_internal.h
M src/include/catalog/pg_control.h
M src/include/replication/walsender.h

Fix contrib/tsearch2 expected results to match recent changes in URL parsing.

commit   : a2de4826e912057a9a3c44e6c4c204dfa3b753a9    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 28 Apr 2010 15:07:59 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 28 Apr 2010 15:07:59 +0000    

Click here for diff

M contrib/tsearch2/expected/tsearch2.out
M contrib/tsearch2/expected/tsearch2_1.out

Fix typo that had the code check the same thing twice.

commit   : 81fb51732e97decb32f94ca46319440e612c9dfb    
  
author   : Magnus Hagander <[email protected]>    
date     : Wed, 28 Apr 2010 13:46:23 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Wed, 28 Apr 2010 13:46:23 +0000    

Click here for diff

Fujii Masao  

M src/interfaces/libpq/fe-protocol3.c

Add recovery.conf parameters to the documentation index, per suggestion by Fujii Masao.

commit   : 8f9fe24b105d31a80a506cd7bfa963a43ee6c916    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Wed, 28 Apr 2010 07:34:11 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Wed, 28 Apr 2010 07:34:11 +0000    

Click here for diff

M doc/src/sgml/recovery-config.sgml

Modify the built-in text search parser to handle URLs more nearly according to RFC 3986. In particular, these characters now terminate the path part of a URL: '"', '<', '>', '\', '^', '`', '{', '|', '}'. The previous behavior was inconsistent and depended on whether a "?" was present in the path. Per gripe from Donald Fraser and spec research by Kevin Grittner.

commit   : 2c265adea3129c917296b46a82786d67988ece2c    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 28 Apr 2010 02:04:16 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 28 Apr 2010 02:04:16 +0000    

Click here for diff

This is a pre-existing bug, but not back-patching since the risks of  
breaking existing applications seem to outweigh the benefits.  

M src/backend/tsearch/wparser_def.c
M src/test/regress/expected/tsearch.out
M src/test/regress/sql/tsearch.sql

Fix stupid typo in refnameRangeTblEntry() --- mea maxima culpa. Per report from Josh.

commit   : d64b110a64c407ca8f4b3d885a62c05b51711d14    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 28 Apr 2010 00:46:33 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 28 Apr 2010 00:46:33 +0000    

Click here for diff

M src/backend/parser/parse_relation.c

Add CP949 as an alias for UHC encoding. pg_get_encoding_from_locale() with kor locale on Windows can use the path.

commit   : 7780c4124b57cffc106936af96916ade78059f86    
  
author   : Itagaki Takahiro <[email protected]>    
date     : Wed, 28 Apr 2010 00:29:16 +0000    
  
committer: Itagaki Takahiro <[email protected]>    
date     : Wed, 28 Apr 2010 00:29:16 +0000    

Click here for diff

Reported by Hiroshi Inoue.  

M src/port/chklocale.c

Replace the KnownAssignedXids hash table with a sorted-array data structure, and be more tense about the locking requirements for it, to improve performance in Hot Standby mode. In passing fix a few bugs and improve a number of comments in the existing HS code.

commit   : 2871b4618af1acc85665eec0912c48f8341504c4    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 28 Apr 2010 00:09:05 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 28 Apr 2010 00:09:05 +0000    

Click here for diff

Simon Riggs, with some editorialization by Tom  

M src/backend/access/transam/twophase.c
M src/backend/storage/ipc/procarray.c

Reformat code examples in plpgsql docs for better readability in PDF output

commit   : 871e73bb276506ca591083f0b343951ba0db6989    
  
author   : Alvaro Herrera <[email protected]>    
date     : Tue, 27 Apr 2010 14:32:40 +0000    
  
committer: Alvaro Herrera <[email protected]>    
date     : Tue, 27 Apr 2010 14:32:40 +0000    

Click here for diff

Erik Rijkers  

M doc/src/sgml/plpgsql.sgml

If a base backup is cancelled by server shutdown or crash, throw an error in WAL recovery when it sees the shutdown checkpoint record. It's more user-friendly to find out about it at that point than at the end of recovery, and you're not left wondering why your hot standby server never opens up for read-only connections.

commit   : 3efba16d569ef00f8db20eb7c1f3ac80140e5902    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Tue, 27 Apr 2010 09:25:18 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Tue, 27 Apr 2010 09:25:18 +0000    

Click here for diff