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

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

Update documentation to match pg_stat_activity changes.

commit   : 3456cf1831feacd066037856cba044cce3935e54    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 26 Apr 2010 19:56:55 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 26 Apr 2010 19:56:55 +0000    

Click here for diff

M doc/src/sgml/monitoring.sgml

Document that pgpool can be used with master/slave servers to avoid problems with non-deterministic functions.

commit   : 132c40424abe3bb8acd551c52c996e15969717b0    
  
author   : Bruce Momjian <[email protected]>    
date     : Mon, 26 Apr 2010 19:09:25 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Mon, 26 Apr 2010 19:09:25 +0000    

Click here for diff

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

Add missing newlines in WPARSER_TRACE output.

commit   : 8f0ab2298fc344a2c5bf425880b420d24f5cab92    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 26 Apr 2010 17:10:18 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 26 Apr 2010 17:10:18 +0000    

Click here for diff

M src/backend/tsearch/wparser_def.c

Reorder pg_stat_activity columns to be more consistent, using layout suggested by Tom Lane.

commit   : 75c57381775e8224d78930622ef25776122a46a3    
  
author   : Bruce Momjian <[email protected]>    
date     : Mon, 26 Apr 2010 14:22:37 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Mon, 26 Apr 2010 14:22:37 +0000    

Click here for diff

Catalog version bumped due to system view change.  

M src/backend/catalog/system_views.sql
M src/include/catalog/catversion.h
M src/test/regress/expected/rules.out

Add comments about why we set LC_CTYPE in WIN32 for time when we don't actually access it, per information from Hiroshi.

commit   : 7eb6e6b48adfe89861923e83aee9f697c50275b0    
  
author   : Bruce Momjian <[email protected]>    
date     : Mon, 26 Apr 2010 14:17:52 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Mon, 26 Apr 2010 14:17:52 +0000    

Click here for diff

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

When we're restricting who can connect, don't allow new walsenders.

commit   : ab93cd9b053446dfb64f66bfac97787eb74c1172    
  
author   : Robert Haas <[email protected]>    
date     : Mon, 26 Apr 2010 10:52:00 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Mon, 26 Apr 2010 10:52:00 +0000    

Click here for diff

Normal superuser processes are allowed to connect even when the database  
system is shutting down, or when fewer than superuser_reserved_connection  
slots remain.  This is intended to make sure an administrator can log in  
and troubleshoot, so don't extend these same courtesies to users connecting  
for replication.  

M doc/src/sgml/config.sgml
M src/backend/utils/init/postinit.c

Add C comments for recent to_char('L') fix for Win32.

commit   : 22da73198f87e04dc0f978dd2507ebf5c7ae6ee8    
  
author   : Bruce Momjian <[email protected]>    
date     : Sat, 24 Apr 2010 22:54:56 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sat, 24 Apr 2010 22:54:56 +0000    

Click here for diff

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

Patch revoked because of objections.

commit   : 90e04bab39c59aa441a8a5e94022c6074e8cd2d6    
  
author   : Simon Riggs <[email protected]>    
date     : Sat, 24 Apr 2010 16:20:32 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Sat, 24 Apr 2010 16:20:32 +0000    

Click here for diff

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

Fix various instances of "the the".

commit   : 33980a0640e9b495fe85a99c16c6b4806e41325a    
  
author   : Robert Haas <[email protected]>    
date     : Fri, 23 Apr 2010 23:21:44 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Fri, 23 Apr 2010 23:21:44 +0000    

Click here for diff

Two of these were pointed out by Erik Rijkers; the rest I found.  

M contrib/cube/CHANGES
M doc/src/sgml/pgbench.sgml
M doc/src/sgml/pgfreespacemap.sgml
M doc/src/sgml/ref/copy.sgml
M src/backend/access/heap/README.HOT
M src/backend/access/heap/visibilitymap.c
M src/backend/storage/ipc/standby.c
M src/bin/pg_dump/pg_backup_archiver.c
M src/include/port.h
M src/tools/backend/backend_dirs.html

Add missing optimizer hooks for function cost and number of rows. Closely follow design of other optimizer hooks: if hook exists retrieve value from plugin; if still not set then get from cache.

commit   : 473af3973710b9e2f4e945d8290adae8de9696cc    
  
author   : Simon Riggs <[email protected]>    
date     : Fri, 23 Apr 2010 22:23:39 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Fri, 23 Apr 2010 22:23:39 +0000    

Click here for diff

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

Previous patch revoked following objections.

commit   : 491d1ea5b3605809ec1103e939b3324acc9a2516    
  
author   : Simon Riggs <[email protected]>    
date     : Fri, 23 Apr 2010 20:21:31 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Fri, 23 Apr 2010 20:21:31 +0000    

Click here for diff

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

Make CheckRequiredParameterValues() depend upon correct combination of parameters. Fix bug report by Robert Haas that error message and hint was incorrect if wrong mode parameters specified on master. Internal changes only. Proposals for parameter simplification on master/primary still under way.

commit   : 6ca23b1a29497d496266e2ad47954d4fbc98065d    
  
author   : Simon Riggs <[email protected]>    
date     : Fri, 23 Apr 2010 19:57:19 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Fri, 23 Apr 2010 19:57:19 +0000    

Click here for diff

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

Fix message punctuation

commit   : 89a9db2940f0cc7393f770bc25a36bca54399de8    
  
author   : Peter Eisentraut <[email protected]>    
date     : Thu, 22 Apr 2010 19:40:03 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Thu, 22 Apr 2010 19:40:03 +0000    

Click here for diff

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

Optimise btree delete processing when no active backends. Clarify comments, downgrade a message to DEBUG and remove some debug counters. Direct from ideas by Heikki Linnakangas.

commit   : a2555571fb8e370972763d5d5092a0a4e4e6a30b    
  
author   : Simon Riggs <[email protected]>    
date     : Thu, 22 Apr 2010 08:04:25 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Thu, 22 Apr 2010 08:04:25 +0000    

Click here for diff

M src/backend/access/nbtree/nbtxlog.c
M src/backend/storage/ipc/procarray.c
M src/backend/storage/ipc/standby.c

Further reductions in Hot Standby conflict processing. These come from the realistion that HEAP2_CLEAN records don't always remove user visible data, so conflict processing for them can be skipped. Confirm validity using Assert checks, clarify circumstances under which we log heap_cleanup_info records. Tuning arises from bug fixing of earlier safety check failures.

commit   : 781ec6b75d6f4e89f103f44a31465383ac13c917    
  
author   : Simon Riggs <[email protected]>    
date     : Thu, 22 Apr 2010 02:15:45 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Thu, 22 Apr 2010 02:15:45 +0000    

Click here for diff

M src/backend/access/heap/heapam.c
M src/backend/access/heap/pruneheap.c
M src/backend/commands/vacuumlazy.c

Fix encoding issue when lc_monetary or lc_numeric are different encoding from lc_ctype, that could happen on Windows. We need to change lc_ctype together with lc_monetary or lc_numeric, and convert strings in lconv from lc_ctype encoding to the database encoding.

commit   : 95a777c612c6dcebe2f17c57c35f7e7c93714484    
  
author   : Itagaki Takahiro <[email protected]>    
date     : Thu, 22 Apr 2010 01:55:52 +0000    
  
committer: Itagaki Takahiro <[email protected]>    
date     : Thu, 22 Apr 2010 01:55:52 +0000    

Click here for diff

The bug reported by Mikko, original patch by Hiroshi Inoue,  
with changes by Bruce and me.  

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

Enforce superuser permissions checks during ALTER ROLE/DATABASE SET, rather than during define_custom_variable(). This entails rejecting an ALTER command if the target variable doesn't have a known (non-placeholder) definition, unless the calling user is superuser. When the variable *is* known, we can correctly apply the rule that only superusers can issue ALTER for SUSET parameters. This allows define_custom_variable to apply ALTER's values for SUSET parameters at module load time, secure in the knowledge that only a superuser could have set the ALTER value. This change fixes a longstanding gotcha in the usage of SUSET-level custom parameters; which is a good thing to fix now that plpgsql defines such a parameter.

commit   : a6dcd19a2a5064d753c1d5aa756a2d50cf05842d    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 21 Apr 2010 20:54:19 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 21 Apr 2010 20:54:19 +0000    

Click here for diff

M doc/src/sgml/ref/alter_role.sgml
M src/backend/utils/misc/guc.c

Only send cleanup_info messages if VACUUM removes any tuples. There is no other purpose for this message type than to report the latestRemovedXid of removed tuples, prior to index scans. Removes overlooked path for sending invalid latestRemovedXid. Fixes buildfarm failure on centaur.

commit   : f6e092701c6ac7bb98ed88a769daa13d3a1755d9    
  
author   : Simon Riggs <[email protected]>    
date     : Wed, 21 Apr 2010 19:53:24 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Wed, 21 Apr 2010 19:53:24 +0000    

Click here for diff

M src/backend/commands/vacuumlazy.c

Relax locking during GetCurrentVirtualXIDs(). Earlier improvements to handling of btree delete records mean that all snapshot conflicts on standby now have a valid, useful latestRemovedXid. Our earlier approach using LW_EXCLUSIVE was useful when we didnt always have a valid value, though is no longer useful or necessary. Asserts added to code path to prove and ensure this is the case. This will reduce contention and improve performance of larger Hot Standby servers.

commit   : 0192abc4d7792117d53c6c894eeeaa83b02802c5    
  
author   : Simon Riggs <[email protected]>    
date     : Wed, 21 Apr 2010 19:08:14 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Wed, 21 Apr 2010 19:08:14 +0000    

Click here for diff

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

Fix oversight in collecting values for cleanup_info records. vacuum_log_cleanup_info() now generates log records with a valid latestRemovedXid set in all cases. Also be careful not to zero the value when we do a round of vacuuming part-way through lazy_scan_heap(). Incidentally, this reduces frequency of conflicts in Hot Standby.

commit   : bc2b85d90481c317c7d4efcf5dfc8c134f6105f9    
  
author   : Simon Riggs <[email protected]>    
date     : Wed, 21 Apr 2010 17:20:56 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Wed, 21 Apr 2010 17:20:56 +0000    

Click here for diff

M src/backend/access/heap/pruneheap.c
M src/backend/commands/vacuumlazy.c
M src/include/access/heapam.h

Fix pg_hba.conf matching so that replication connections only match records with database = replication. The previous coding would allow them to match ordinary records too, but that seems like a recipe for security breaches. Improve the messages associated with no-such-pg_hba.conf entry to report replication connections as such, since that's now a critical aspect of whether the connection matches. Make some cursory improvements in the related documentation, too.

commit   : a2c3931a244b67115a0eac1ee5fde9eb7cb4e42c    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 21 Apr 2010 03:32:53 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 21 Apr 2010 03:32:53 +0000    

Click here for diff

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

Move the check for whether walreceiver has authenticated as a superuser from walsender.c, where it didn't really belong, to postinit.c where it does belong (and is essentially free, too).

commit   : a3c6d105752c28dbd19d0558733a2157e6ab55e0    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 21 Apr 2010 00:51:57 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 21 Apr 2010 00:51:57 +0000    

Click here for diff

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

Arrange for client authentication to occur before we select a specific database to connect to. This is necessary for the walsender code to work properly (it was previously using an untenable assumption that template1 would always be available to connect to). This also gets rid of a small security shortcoming that was introduced in the original patch to eliminate the flat authentication files: before, you could find out whether or not the requested database existed even if you couldn't pass the authentication checks.

commit   : ea46000a40cf583401504e095ca1a49f57fa0227    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 20 Apr 2010 23:48:47 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 20 Apr 2010 23:48:47 +0000    

Click here for diff

The changes needed to support this are mainly just to treat pg_authid and  
pg_auth_members as nailed relations, so that we can read them without having  
to be able to locate real pg_class entries for them.  This mechanism was  
already debugged for pg_database, but we hadn't recognized the value of  
applying it to those catalogs too.  
  
Since the current code doesn't have support for accessing toast tables before  
we've brought up all of the relcache, remove pg_authid's toast table to ensure  
that no one can store an out-of-line toasted value of rolpassword.  The case  
seems quite unlikely to occur in practice, and was effectively unsupported  
anyway in the old "flatfiles" implementation.  
  
Update genbki.pl to actually implement the same rules as bootstrap.c does for  
not-nullability of catalog columns.  The previous coding was a bit cheesy but  
worked all right for the previous set of bootstrap catalogs.  It does not work  
for pg_authid, where rolvaliduntil needs to be nullable.  
  
Initdb forced due to minor catalog changes (mainly the toast table removal).  

M src/backend/catalog/catalog.c
M src/backend/catalog/genbki.pl
M src/backend/utils/cache/catcache.c
M src/backend/utils/cache/relcache.c
M src/backend/utils/init/miscinit.c
M src/backend/utils/init/postinit.c
M src/include/catalog/catversion.h
M src/include/catalog/pg_auth_members.h
M src/include/catalog/pg_authid.h
M src/include/catalog/toasting.h

Fix code that doesn't work on machines with strict alignment requirements: must use memcpy here rather than struct assignment.

commit   : 7de2dfccc5868d8ba1c00a6bf7de67d9d50bc7bc    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 20 Apr 2010 22:55:03 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 20 Apr 2010 22:55:03 +0000    

Click here for diff

In passing, rearrange some randomly-ordered declarations to be a tad less  
random.  

M src/backend/replication/walreceiver.c

Rename standby_keep_segments to wal_keep_segments.

commit   : 481cb5d9b506069a6fbe2a7069b576e8eb2f2cde    
  
author   : Robert Haas <[email protected]>    
date     : Tue, 20 Apr 2010 11:15:06 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Tue, 20 Apr 2010 11:15:06 +0000    

Click here for diff

Also, make the name of the GUC and the name of the backing variable match.  
Alnong the way, clean up a couple of slight typographical errors in the  
related docs.  

M doc/src/sgml/config.sgml
M doc/src/sgml/high-availability.sgml
M src/backend/access/transam/xlog.c
M src/backend/utils/misc/guc.c
M src/backend/utils/misc/postgresql.conf.sample
M src/include/access/xlog.h

Move the responsibility for calling StartupXLOG into InitPostgres, for those process types that go through InitPostgres; in particular, bootstrap and standalone-backend cases. This ensures that we have set up a PGPROC and done some other basic initialization steps (corresponding to the if (IsUnderPostmaster) block in AuxiliaryProcessMain) before we attempt to run WAL recovery in a standalone backend. As was discovered last September, this is necessary for some corner-case code paths during WAL recovery, particularly end-of-WAL cleanup.

commit   : c670410e7fe59dffb0227ed1dd0f532013993859    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 20 Apr 2010 01:38:52 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 20 Apr 2010 01:38:52 +0000    

Click here for diff

Moving the bootstrap case here too is not necessary for correctness, but it  
seems like a good idea since it reduces the number of distinct code paths.  

M src/backend/bootstrap/bootstrap.c
M src/backend/tcop/postgres.c
M src/backend/utils/init/postinit.c

Update docs as to when WAL logging can be skipped.

commit   : ee7769bb7649e0f990179f9ed56e60c031542077    
  
author   : Robert Haas <[email protected]>    
date     : Tue, 20 Apr 2010 00:26:06 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Tue, 20 Apr 2010 00:26:06 +0000    

Click here for diff

In 8.4 and prior, WAL-logging could potentially be skipped whenever  
archive_mode=off.  With streaming replication, this is now true only  
if max_wal_senders=0.  
  
Fujii Masao, with light copyediting by me  

M doc/src/sgml/backup.sgml
M doc/src/sgml/perform.sgml

Add new message for explicit rejection by pg_hba.conf. Implicit rejection retains same message as before.

commit   : cfac702223a904fb7db55db2084ac68611fd95dc    
  
author   : Simon Riggs <[email protected]>    
date     : Mon, 19 Apr 2010 19:02:18 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Mon, 19 Apr 2010 19:02:18 +0000    

Click here for diff

M src/backend/libpq/auth.c
M src/backend/libpq/hba.c
M src/include/libpq/hba.h

Check RecoveryInProgress() while holding ProcArrayLock during snapshots. This prevents a rare, yet possible race condition at the exact moment of transition from recovery to normal running.

commit   : 7bc76d51fbac35950ae5e5d05535bdc33f93b42c    
  
author   : Simon Riggs <[email protected]>    
date     : Mon, 19 Apr 2010 18:03:38 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Mon, 19 Apr 2010 18:03:38 +0000    

Click here for diff

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

Fix uninitialized local variables. Not sure why gcc doesn't complain about these --- maybe because they're effectively unused? MSVC does complain though, per buildfarm.

commit   : 39bf46384b89b89d3b51bb3cd968d476c1361f95    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 19 Apr 2010 17:54:48 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 19 Apr 2010 17:54:48 +0000    

Click here for diff

M src/backend/access/nbtree/nbtxlog.c

Add wrapper function libpqrcv_PQexec() in the walreceiver that uses async libpq to send queries, making the waiting for responses interruptible on platforms where PQexec() can't normally be interrupted by signals, such as win32.

commit   : 03a571a4cf26e06ff504e5b38a9432a003008c19    
  
author   : Magnus Hagander <[email protected]>    
date     : Mon, 19 Apr 2010 14:10:45 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Mon, 19 Apr 2010 14:10:45 +0000    

Click here for diff

Fujii Masao and Magnus Hagander  

M src/backend/replication/libpqwalreceiver/libpqwalreceiver.c
M src/backend/replication/walreceiver.c

Add an 'enable_material' GUC.

commit   : 5b89ef384c7719478bb08b0c771dcbfdc51d507e    
  
author   : Robert Haas <[email protected]>    
date     : Mon, 19 Apr 2010 00:55:26 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Mon, 19 Apr 2010 00:55:26 +0000    

Click here for diff

The logic for determining whether to materialize has been significantly  
overhauled for 9.0.  In case there should be any doubt about whether  
materialization is a win in any particular case, this should provide a  
convenient way of seeing what happens without it; but even with enable_material  
turned off, we still materialize in cases where it is required for  
correctness.  
  
Thanks to Tom Lane for the review.  

M doc/src/sgml/config.sgml
M src/backend/optimizer/path/costsize.c
M src/backend/optimizer/path/joinpath.c
M src/backend/optimizer/plan/subselect.c
M src/backend/utils/misc/guc.c
M src/backend/utils/misc/postgresql.conf.sample
M src/include/optimizer/cost.h
M src/test/regress/expected/rangefuncs.out

Fix bogus order of cleanup steps in plperl_inline_handler. Per Alex Hunsaker

commit   : 9287567effc81d3892c2a9889dbf99982c6cce58    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 18 Apr 2010 19:16:06 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 18 Apr 2010 19:16:06 +0000    

Click here for diff

M src/pl/plperl/plperl.c

Improve sequence and sense of messages from pg_stop_backup(). Now doesn't report it is waiting until it actually is waiting, plus message doesn't appear until at least 5 seconds wait, so we avoid reporting the wait before we've given the archiver a reasonable time to wake up and archive the file we just created earlier in the function. Also add new unconditional message to confirm safe completion. Now a normal, healthy execution does not report waiting at all, just safe completion.

commit   : d38603bd974f2befd1f0599a2392849916b2102c    
  
author   : Simon Riggs <[email protected]>    
date     : Sun, 18 Apr 2010 18:44:53 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Sun, 18 Apr 2010 18:44:53 +0000    

Click here for diff

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

Remove some additional changes in previous commit that belong elsewhere.

commit   : 2847de9df2c8f10b0f44170c373559164d5cef6f    
  
author   : Simon Riggs <[email protected]>    
date     : Sun, 18 Apr 2010 18:17:12 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Sun, 18 Apr 2010 18:17:12 +0000    

Click here for diff

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

Tune GetSnapshotData() during Hot Standby by avoiding loop through normal backends. Makes code clearer also, since we avoid various Assert()s. Performance of snapshots taken during recovery no longer depends upon number of read-only backends.

commit   : 21d6a6a12850724b53ebc240080a90597b3b2580    
  
author   : Simon Riggs <[email protected]>    
date     : Sun, 18 Apr 2010 18:06:07 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Sun, 18 Apr 2010 18:06:07 +0000    

Click here for diff

M src/backend/access/transam/xlog.c
M src/backend/storage/ipc/procarray.c
M src/include/access/xlog.h

Provide better guidance for adjusting shared_buffers.

commit   : 7b130fbc503a1bfabf58c0c67cf8461e33fcc680    
  
author   : Robert Haas <[email protected]>    
date     : Fri, 16 Apr 2010 21:46:07 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Fri, 16 Apr 2010 21:46:07 +0000    

Click here for diff

M doc/src/sgml/config.sgml

On Windows, syslogger runs in two threads. The main thread processes config reload and rotation signals, and a helper thread reads messages from the pipe and writes them to the log file. However, server code isn't generally thread-safe, so if both try to do e.g palloc()/pfree() at the same time, bad things will happen. To fix that, use a critical section (which is like a mutex) to enforce that only one the threads are active at a time.

commit   : 961ad3fdd95f621e34a1680e42ff859f0bcb5682    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Fri, 16 Apr 2010 09:51:49 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Fri, 16 Apr 2010 09:51:49 +0000    

Click here for diff

M src/backend/postmaster/syslogger.c

In standby mode, suppress repeated LOG messages about a corrupt record, which just indicates that we've reached the end of valid WAL found in the standby.

commit   : 78974cfb9ba208516a4824466b6053cc48839ce2    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Fri, 16 Apr 2010 08:58:16 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Fri, 16 Apr 2010 08:58:16 +0000    

Click here for diff

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

Document that autovacuum cannot vacuum or analyze temporary tables.

commit   : b4fd1e246e6edf08b2b7ce4d5af7704ce0c75a26    
  
author   : Bruce Momjian <[email protected]>    
date     : Fri, 16 Apr 2010 02:22:33 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Fri, 16 Apr 2010 02:22:33 +0000    

Click here for diff

M doc/src/sgml/maintenance.sgml
M doc/src/sgml/ref/create_table.sgml

Improve punctuation

commit   : b6c586a36c18a58eb804f47213b29f71115ea4df    
  
author   : Peter Eisentraut <[email protected]>    
date     : Thu, 15 Apr 2010 20:56:13 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Thu, 15 Apr 2010 20:56:13 +0000    

Click here for diff

M doc/src/sgml/monitoring.sgml

IP port -> TCP port

commit   : edde4169b5667d25a50d0afb55a1ac7161592f28    
  
author   : Peter Eisentraut <[email protected]>    
date     : Thu, 15 Apr 2010 20:48:22 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Thu, 15 Apr 2010 20:48:22 +0000    

Click here for diff

backpatched to 8.1, where this first appeared  

M doc/src/sgml/monitoring.sgml

Improve message style for messages associated with not being able to identify the system time zone setting. Per recent discussion.

commit   : 6ead7828b040ed0442bf0ddb75e6f1b0ca66b291    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 15 Apr 2010 18:46:45 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 15 Apr 2010 18:46:45 +0000    

Click here for diff

M src/timezone/pgtz.c

Fix typo, spotted by Erik Rijkers.

commit   : 95eaea4c274615d7813149caa877db0dd56b152e    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Thu, 15 Apr 2010 16:25:13 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Thu, 15 Apr 2010 16:25:13 +0000    

Click here for diff

M doc/src/sgml/config.sgml

Add script to enumerate the timezones in the Windows registry and compare it with the list we have in pgtz.c, showing any differences.

commit   : 17056e054ece2ce5f19d9bee63a0b415b04cb1ae    
  
author   : Magnus Hagander <[email protected]>    
date     : Thu, 15 Apr 2010 11:00:45 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Thu, 15 Apr 2010 11:00:45 +0000    

Click here for diff

M src/timezone/README
M src/tools/RELEASE_CHANGES
A src/tools/win32tzlist.pl

Update XML features list

commit   : 7a7663f61a49472b4a4f48a8c2373dee4da8b54c    
  
author   : Peter Eisentraut <[email protected]>    
date     : Thu, 15 Apr 2010 05:45:37 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Thu, 15 Apr 2010 05:45:37 +0000    

Click here for diff

M src/backend/catalog/sql_features.txt

Doc change: effect -> affect, per Robert Haas

commit   : ec4b9bcc3dbb2d9a2811ec77200a911c271edcdc    
  
author   : Bruce Momjian <[email protected]>    
date     : Thu, 15 Apr 2010 03:05:59 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Thu, 15 Apr 2010 03:05:59 +0000    

Click here for diff

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

Fix plpgsql's exec_eval_expr() to ensure it returns a sane type OID even when the expression is a query that returns no rows.

commit   : f7c5ff3d6d003a33fb12d77cc4057af6e8279c84    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 14 Apr 2010 23:52:10 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 14 Apr 2010 23:52:10 +0000    

Click here for diff

So far as I can tell, the only caller that actually fails when a garbage  
OID is returned is exec_stmt_case(), which is new in 8.4 --- in all other  
cases, we might make a useless trip through casting logic, but we won't  
fail since the isnull flag will be set.  Hence, backpatch only to 8.4,  
just in case there are apps out there that aren't expecting an error to  
be thrown if the query returns more or less than one column.  (Which seems  
unlikely, since the error would be thrown if the query ever did return a  
row; but it's possible there's some never-exercised code out there.)  
  
Per report from Mario Splivalo.  

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

Fix a problem introduced by my patch of 2010-01-12 that revised the way relcache reload works. In the patched code, a relcache entry in process of being rebuilt doesn't get unhooked from the relcache hash table; which means that if a cache flush occurs due to sinval queue overrun while we're rebuilding it, the entry could get blown away by RelationCacheInvalidate, resulting in crash or misbehavior. Fix by ensuring that an entry being rebuilt has positive refcount, so it won't be seen as a target for removal if a cache flush occurs. (This will mean that the entry gets rebuilt twice in such a scenario, but that's okay.) It appears that the problem can only arise within a transaction that has previously reassigned the relfilenode of a pre-existing table, via TRUNCATE or a similar operation. Per bug #5412 from Rusty Conover.

commit   : 73981cb4512a57adcb2f90a9c3cebf5ab13cf0fe    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 14 Apr 2010 21:31:11 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 14 Apr 2010 21:31:11 +0000    

Click here for diff

Back-patch to 8.2, same as the patch that introduced the problem.  
I think that the failure can't actually occur in 8.2, since it lacks the  
rd_newRelfilenodeSubid optimization, but let's make it work like the later  
branches anyway.  
  
Patch by Heikki, slightly editorialized on by me.  

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

Typo fix. Kevin Grittner.

commit   : 9d137a756fb7fd7e7f1b2f932009abd0aea4ff79    
  
author   : Robert Haas <[email protected]>    
date     : Wed, 14 Apr 2010 20:17:26 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Wed, 14 Apr 2010 20:17:26 +0000    

Click here for diff

M src/backend/access/gist/README

Fix minor typo in comment in xlog.c

commit   : 55d7556a4dddf0d0b545242a9f6887d2d5eeeb8f    
  
author   : Simon Riggs <[email protected]>    
date     : Wed, 14 Apr 2010 10:29:07 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Wed, 14 Apr 2010 10:29:07 +0000    

Click here for diff

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

Doc change: anyways -> anyway; Erik Rijkers

commit   : 0993d2943e01084e692d55c7ae918d05de46d9da    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 14 Apr 2010 02:36:04 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 14 Apr 2010 02:36:04 +0000    

Click here for diff

M doc/src/sgml/xtypes.sgml

Allow Hot Standby to begin from a shutdown checkpoint.

commit   : 361bd1662eb1edbc24a9e26dd413e5f38c68fcdf    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Tue, 13 Apr 2010 14:17:46 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Tue, 13 Apr 2010 14:17:46 +0000    

Click here for diff

Patch by Simon Riggs & me  

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

Add "SSD" acronym mention for solid state drive mention.

commit   : ea9c103237ae9a42cc8e7acdf837df959c03c107    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 13 Apr 2010 14:15:25 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 13 Apr 2010 14:15:25 +0000    

Click here for diff

M doc/src/sgml/wal.sgml

Fix typo.

commit   : 4f57c28da067d0df4a1a23e0d0bcd9aa14cd7c5e    
  
author   : Magnus Hagander <[email protected]>    
date     : Tue, 13 Apr 2010 08:19:12 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Tue, 13 Apr 2010 08:19:12 +0000    

Click here for diff

Fujii Masao  

M doc/src/sgml/config.sgml

Only try to do a graceful disconnect if we've successfully loaded the shared library with the disconnect function in it. Fixes segmentation fault reported by Jeff Davis.

commit   : a95d15ff5dd58ed1d8889e2476748a3ea49a9bf1    
  
author   : Magnus Hagander <[email protected]>    
date     : Tue, 13 Apr 2010 08:16:09 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Tue, 13 Apr 2010 08:16:09 +0000    

Click here for diff

Fujii Masao  

M src/backend/replication/walreceiver.c

Remove example of archive_command from configure section; instead have users look at the referenced section for examples, per idea from Greg Smith.

commit   : 325e9cb3a06b6e35968ad8eee4a606c64519fac9    
  
author   : Bruce Momjian <[email protected]>    
date     : Mon, 12 Apr 2010 22:09:58 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Mon, 12 Apr 2010 22:09:58 +0000    

Click here for diff

M doc/src/sgml/config.sgml

Spell out full archive directory specification in 'test -f' continuous archiving example, per suggestion from Greg Smith.

commit   : 202c655810ed5aa65822cb5b621b47a68550b426    
  
author   : Bruce Momjian <[email protected]>    
date     : Mon, 12 Apr 2010 19:08:28 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Mon, 12 Apr 2010 19:08:28 +0000    

Click here for diff

M doc/src/sgml/backup.sgml

Update the location of last removed WAL segment in shared memory only after actually removing one, so that if we can't remove segments because WAL archiving is lagging behind, we don't unnecessarily forbid streaming the old not-yet-archived segments that are still perfectly valid. Per suggestion from Fujii Masao.

commit   : 30556568f59607f04e712fcc48ffadccea3dfc78    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Mon, 12 Apr 2010 10:40:43 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Mon, 12 Apr 2010 10:40:43 +0000    

Click here for diff

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

Need to use the start pointer of a block we read from WAL segment in the calculation, not the end pointer, as pointed out by Fujii Masao.

commit   : 258174b4629e59469a1b73a02e552b7e7cf60e7c    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Mon, 12 Apr 2010 10:18:50 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Mon, 12 Apr 2010 10:18:50 +0000    

Click here for diff

M src/backend/replication/walsender.c

Adjust paragraph about monitoring streaming replication, now that we have standby_keep_segments.

commit   : e76b4e0ddbdb1d1214bfa2b3d212b6d62671729d    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Mon, 12 Apr 2010 10:01:04 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Mon, 12 Apr 2010 10:01:04 +0000    

Click here for diff

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

Change the logic to decide when to delete old WAL segments, so that it doesn't take into account how far the WAL senders are. This way a hung WAL sender doesn't prevent old WAL segments from being recycled/removed in the primary, ultimately causing the disk to fill up. Instead add standby_keep_segments setting to control how many old WAL segments are kept in the primary. This also makes it more reliable to use streaming replication without WAL archiving, assuming that you set standby_keep_segments high enough.

commit   : e57cd7f0a1622138d5489477e0625741e036e940    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Mon, 12 Apr 2010 09:52:29 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Mon, 12 Apr 2010 09:52:29 +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/replication/walsender.c
M src/backend/utils/misc/guc.c
M src/backend/utils/misc/postgresql.conf.sample
M src/include/access/xlog.h

Perltidy run over the MSVC build system files, to clean up code formatting and indentation styles.

commit   : 93f35f0955f4a9c7bda191f80e3b64ba509ce923    
  
author   : Magnus Hagander <[email protected]>    
date     : Fri, 9 Apr 2010 13:05:58 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Fri, 9 Apr 2010 13:05:58 +0000    

Click here for diff

M src/tools/msvc/Install.pm
M src/tools/msvc/Mkvcbuild.pm
M src/tools/msvc/Project.pm
M src/tools/msvc/Solution.pm
M src/tools/msvc/build.pl
M src/tools/msvc/gendef.pl
M src/tools/msvc/vcregress.pl

Clean up inconsistent commas

commit   : 7c606375650e867bc768f93c037b5c0f981565aa    
  
author   : Magnus Hagander <[email protected]>    
date     : Fri, 9 Apr 2010 11:49:51 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Fri, 9 Apr 2010 11:49:51 +0000    

Click here for diff

M src/timezone/pgtz.c

Update list of Windows timezones we try to match localized names against to one that's up to date with Windows 2003R2.

commit   : 6279192f4f99591199cca48a9d6579ca37218da8    
  
author   : Magnus Hagander <[email protected]>    
date     : Fri, 9 Apr 2010 11:46:06 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Fri, 9 Apr 2010 11:46:06 +0000    

Click here for diff

M src/timezone/pgtz.c

Proceed to look for the next timezone when matching a localized Windows timezone name where the information in the registry is incomplete, instead of aborting.

commit   : 6efb081e10236187ac3877df13977631b7309a9b    
  
author   : Magnus Hagander <[email protected]>    
date     : Thu, 8 Apr 2010 11:25:58 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Thu, 8 Apr 2010 11:25:58 +0000    

Click here for diff

This fixes cases when the registry information is incomplete for  
a timezone that is alphabetically before the one that is in use.  
  
Per report from Alexander Forschner  

M src/timezone/pgtz.c

Make smart shutdown work in combination with Hot Standby/Streaming Replication.

commit   : 1c850fa80727180d03bdb6a8c2f672eeda7fa818    
  
author   : Robert Haas <[email protected]>    
date     : Thu, 8 Apr 2010 01:39:37 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Thu, 8 Apr 2010 01:39:37 +0000    

Click here for diff

At present, killing the startup process does not release any locks it holds,  
so we must wait to stop the startup and walreceiver processes until all  
read-only backends have exited.  Without this patch, the startup and  
walreceiver processes never exit, so the server gets permanently stuck in  
a half-shutdown state.  
  
Fujii Masao, with review, docs, and comment adjustments by me.  

M doc/src/sgml/ref/pg_ctl-ref.sgml
M doc/src/sgml/runtime.sgml
M src/backend/postmaster/postmaster.c

Fix to_char YYY, YY, Y format codes so that FM zero-suppression really works, rather than only sort-of working as the previous attempt had left it. Clean up some unnecessary differences between the way these were coded and the way the YYYY case was coded. Update the regression test cases that proved that it wasn't working.

commit   : 2c0870ff7ab9bda44f39dd332836d0928afb2297    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 7 Apr 2010 21:41:53 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 7 Apr 2010 21:41:53 +0000    

Click here for diff

M src/backend/utils/adt/formatting.c
M src/test/regress/expected/timestamp.out
M src/test/regress/expected/timestamptz.out

Allow quotes to be escaped in recovery.conf, by doubling them. This patch also makes the parsing a little bit stricter, rejecting garbage after the parameter value and values with missing ending quotes, for example.

commit   : 0f11ed5886ce797d816177f5a915a22d85dd7400    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Wed, 7 Apr 2010 10:58:49 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Wed, 7 Apr 2010 10:58:49 +0000    

Click here for diff

M doc/src/sgml/recovery-config.sgml
M src/backend/access/transam/xlog.c

Forbid using pg_xlogfile_name() and pg_xlogfile_name_offset() during recovery. We might want to relax this in the future, but ThisTimeLineID isn't currently correct in backends during recovery, so the filename returned was wrong.

commit   : 370f770c15a4c08094298685887d8a512267c369    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Wed, 7 Apr 2010 06:12:52 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Wed, 7 Apr 2010 06:12:52 +0000    

Click here for diff

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

psql tab completion for ALTER DEFAULT PRIVILEGES and USER MAPPING FOR PUBLIC.

commit   : 9c40543c02f2acb4e7ffd6ad732fccc0f725ef80    
  
author   : Itagaki Takahiro <[email protected]>    
date     : Wed, 7 Apr 2010 03:51:19 +0000    
  
committer: Itagaki Takahiro <[email protected]>    
date     : Wed, 7 Apr 2010 03:51:19 +0000    

Click here for diff

M src/bin/psql/tab-complete.c

Add cygwin version check before using cygwin_conv_path(), and use cygwin_conv_to_full_win32_path() in older versions.

commit   : 1a8957a6f7f17eaed848f5eb0f09de9c04355f97    
  
author   : Itagaki Takahiro <[email protected]>    
date     : Wed, 7 Apr 2010 03:48:51 +0000    
  
committer: Itagaki Takahiro <[email protected]>    
date     : Wed, 7 Apr 2010 03:48:51 +0000    

Click here for diff

M src/bin/pg_ctl/pg_ctl.c

Log the actual timezone name that we fail to look up the values for in case the registry data doesn't follow the format we expect, to facilitate debugging.

commit   : 26eb0c72ab564d17e72f45b16d8ff42d357986b9    
  
author   : Magnus Hagander <[email protected]>    
date     : Tue, 6 Apr 2010 20:35:11 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Tue, 6 Apr 2010 20:35:11 +0000    

Click here for diff

M src/timezone/pgtz.c

Further message changes when recovery.conf parameters missing.

commit   : 89c500815899b945997d08dc247fb95974b55162    
  
author   : Simon Riggs <[email protected]>    
date     : Tue, 6 Apr 2010 17:51:58 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Tue, 6 Apr 2010 17:51:58 +0000    

Click here for diff

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

Rename "Log-streaming replication parameters" header to "Standby server parameters" in recovery.conf, to match the grouping in the documentation.

commit   : 492d9f2309d55c32ee19df4dda990bbbcf63a19c    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Tue, 6 Apr 2010 14:53:20 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Tue, 6 Apr 2010 14:53:20 +0000    

Click here for diff

Fujii Masao  

M src/backend/access/transam/recovery.conf.sample

Change some debug ereports to elogs, as requested by translation team.

commit   : 19c7a59b56f1c27065d51e1349a87dde497c9a3f    
  
author   : Simon Riggs <[email protected]>    
date     : Tue, 6 Apr 2010 10:50:57 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Tue, 6 Apr 2010 10:50:57 +0000    

Click here for diff

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

Reword exclusion constriants to mention that the operator can return false or null, per Tom.

commit   : 08c1d4e56050f59a326c78eca4c26aaeed0d86d4    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 6 Apr 2010 02:18:04 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 6 Apr 2010 02:18:04 +0000    

Click here for diff

M doc/src/sgml/ddl.sgml

Assorted tab-completion improvements in psql.

commit   : f1926c93c860f1ae37cf8c0c5d738bc6e448cb00    
  
author   : Itagaki Takahiro <[email protected]>    
date     : Mon, 5 Apr 2010 05:33:24 +0000    
  
committer: Itagaki Takahiro <[email protected]>    
date     : Mon, 5 Apr 2010 05:33:24 +0000    

Click here for diff

Add missing completions for:  
- ALTER SEQUENCE name OWNER TO  
- ALTER TYPE name RENAME TO  
- ALTER VIEW name ALTER COLUMN  
- ALTER VIEW name OWNER TO  
- ALTER VIEW name SET SCHEMA  
  
Fix wrong completions for:  
- ALTER FUNCTION/AGGREGATE name (arguments) ...  
    "(arguments)" has been ignored.  
- ALTER ... SET SCHEMA  
    "SCHEMA" has been considered as a variable name.  

M src/bin/psql/tab-complete.c

Exclude unwanted typedef symbols in pgindent, including FD_SET which is found on some Windows platforms. Also, silence unnecessary messages and make awk happier about literal '*' on some platforms.

commit   : 7004434a46be0a0f75608c9cde7c81eaba6566c8    
  
author   : Andrew Dunstan <[email protected]>    
date     : Mon, 5 Apr 2010 03:09:09 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Mon, 5 Apr 2010 03:09:09 +0000    

Click here for diff

M src/tools/pgindent/pgindent

Clean up description of 9.0's incompatible changes in SIMILAR TO and SQL-style substring().

commit   : 87d5c22925fbf5fd9f8f16c3e85d2999e12036dc    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 5 Apr 2010 02:46:42 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 5 Apr 2010 02:46:42 +0000    

Click here for diff

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

Make dmetaphone.c safe for pgindent and fussy compilers. Still to do: make it properly encoding aware w.r.t. chars U+00C7 and U+00D1.

commit   : ce36151ac7ade5954dc7a08bff52e6cdc54cccc9    
  
author   : Andrew Dunstan <[email protected]>    
date     : Mon, 5 Apr 2010 02:46:20 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Mon, 5 Apr 2010 02:46:20 +0000    

Click here for diff

M contrib/fuzzystrmatch/dmetaphone.c

Use a new API rather than a deprecated one in in cygwin. cygwin_conv_to_full_win32_path should be replaced with cygwin_conv_path.

commit   : d208fcd167530ade1e166f19d6fbe045796adf34    
  
author   : Itagaki Takahiro <[email protected]>    
date     : Mon, 5 Apr 2010 02:25:56 +0000    
  
committer: Itagaki Takahiro <[email protected]>    
date     : Mon, 5 Apr 2010 02:25:56 +0000    

Click here for diff

M src/bin/pg_ctl/pg_ctl.c

Arrange to remove pg_default_acl entries completely if their ACL setting is changed to match the hard-wired default. This avoids accumulating useless catalog entries, and also provides a path for dropping the owning role without using DROP OWNED BY. Per yesterday's complaint from Jaime Casanova, the need to use DROP OWNED BY for that is less than obvious, so providing this alternative method might save some user frustration.

commit   : 60bd2b1941c6211e973770e69cfa33367cc5db48    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 5 Apr 2010 01:58:03 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 5 Apr 2010 01:58:03 +0000    

Click here for diff

M doc/src/sgml/ref/alter_default_privileges.sgml
M src/backend/catalog/aclchk.c

Fix updateAclDependencies() to not assume that ACL role dependencies can only be added during GRANT and can only be removed during REVOKE; and fix its callers to not lie to it about the existing set of dependencies when instantiating a formerly-default ACL. The previous coding accidentally failed to malfunction so long as default ACLs contain only references to the object's owning role, because that role is ignored by updateAclDependencies. However this is obviously pretty fragile, as well as being an undocumented assumption. The new coding is a few lines longer but IMO much clearer.

commit   : 9029df17c4a885b83ea2b000b4114d438578a51a    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 5 Apr 2010 01:09:53 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 5 Apr 2010 01:09:53 +0000    

Click here for diff

M src/backend/catalog/aclchk.c
M src/backend/catalog/heap.c
M src/backend/catalog/pg_proc.c
M src/backend/catalog/pg_shdepend.c
M src/include/catalog/dependency.h

Improve phrasing of warning message for NOTIFY queue getting too full. Per gripe from Peter.

commit   : 80390f493a612a135157ee05cfd1945d234753ce    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 5 Apr 2010 00:42:24 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 5 Apr 2010 00:42:24 +0000    

Click here for diff

M src/backend/commands/async.c

Minor wording improvement.

commit   : 87ecae72bab970fc625b5599cc17d93151ae66ac    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 3 Apr 2010 21:46:59 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 3 Apr 2010 21:46:59 +0000    

Click here for diff

M doc/src/sgml/ref/alter_default_privileges.sgml

\ddp should be recognized as such even if user appends S or + to it. Those options do nothing right now, but might be wanted later, and in any case it's confusing for the command to be interpreted as \dd if anything is appended. Per Jaime Casanova.

commit   : b84332830dcc83b8084c2721390708e9b972cb3a    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 3 Apr 2010 20:55:57 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 3 Apr 2010 20:55:57 +0000    

Click here for diff

M src/bin/psql/command.c

Make ecpg in line with other compilers in that it deletes its output if there was an error processing the input file.

commit   : 5f5ba923346daf841b9ab8cd7ffc208bafbee6c2    
  
author   : Michael Meskes <[email protected]>    
date     : Sat, 3 Apr 2010 19:30:49 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Sat, 3 Apr 2010 19:30:49 +0000    

Click here for diff

Work done by Zoltan.  

M src/interfaces/ecpg/preproc/ecpg.c

Message quoting style tuning

commit   : a404a12fb48a7623fb806e98f1f9b12b4443aeb1    
  
author   : Peter Eisentraut <[email protected]>    
date     : Sat, 3 Apr 2010 07:53:29 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Sat, 3 Apr 2010 07:53:29 +0000    

Click here for diff

M src/interfaces/ecpg/preproc/type.c

Clarify documentation of to_char EEEE pattern

commit   : a8af3d1a572c88112d97152d9b318624877547c2    
  
author   : Peter Eisentraut <[email protected]>    
date     : Sat, 3 Apr 2010 07:53:02 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Sat, 3 Apr 2010 07:53:02 +0000    

Click here for diff

M doc/src/sgml/func.sgml

Remove unnecessary xref endterm attributes and title ids

commit   : 6dcce3985bd4239b02e48c0e530ab1c612864dfc    
  
author   : Peter Eisentraut <[email protected]>    
date     : Sat, 3 Apr 2010 07:23:02 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Sat, 3 Apr 2010 07:23:02 +0000    

Click here for diff

The endterm attribute is mainly useful when the toolchain does not support  
automatic link target text generation for a particular situation.  In  the  
past, this was required by the man page tools for all reference page links,  
but that is no longer the case, and it now actually gets in the way of  
proper automatic link text generation.  The only remaining use cases are  
currently xrefs to refsects.  

M doc/src/sgml/advanced.sgml
M doc/src/sgml/arch-dev.sgml
M doc/src/sgml/auto-explain.sgml
M doc/src/sgml/backup.sgml
M doc/src/sgml/catalogs.sgml
M doc/src/sgml/client-auth.sgml
M doc/src/sgml/config.sgml
M doc/src/sgml/datatype.sgml
M doc/src/sgml/dblink.sgml
M doc/src/sgml/ddl.sgml
M doc/src/sgml/dfunc.sgml
M doc/src/sgml/dml.sgml
M doc/src/sgml/extend.sgml
M doc/src/sgml/func.sgml
M doc/src/sgml/geqo.sgml
M doc/src/sgml/gin.sgml
M doc/src/sgml/high-availability.sgml
M doc/src/sgml/indices.sgml
M doc/src/sgml/libpq.sgml
M doc/src/sgml/lobj.sgml
M doc/src/sgml/maintenance.sgml
M doc/src/sgml/manage-ag.sgml
M doc/src/sgml/monitoring.sgml
M doc/src/sgml/mvcc.sgml
M doc/src/sgml/passwordcheck.sgml
M doc/src/sgml/perform.sgml
M doc/src/sgml/plhandler.sgml
M doc/src/sgml/plperl.sgml
M doc/src/sgml/plpgsql.sgml
M doc/src/sgml/pltcl.sgml
M doc/src/sgml/protocol.sgml
M doc/src/sgml/queries.sgml
M doc/src/sgml/query.sgml
M doc/src/sgml/ref/abort.sgml
M doc/src/sgml/ref/alter_aggregate.sgml
M doc/src/sgml/ref/alter_conversion.sgml
M doc/src/sgml/ref/alter_database.sgml
M doc/src/sgml/ref/alter_default_privileges.sgml
M doc/src/sgml/ref/alter_domain.sgml
M doc/src/sgml/ref/alter_foreign_data_wrapper.sgml
M doc/src/sgml/ref/alter_function.sgml
M doc/src/sgml/ref/alter_group.sgml
M doc/src/sgml/ref/alter_index.sgml
M doc/src/sgml/ref/alter_language.sgml
M doc/src/sgml/ref/alter_large_object.sgml
M doc/src/sgml/ref/alter_opclass.sgml
M doc/src/sgml/ref/alter_operator.sgml
M doc/src/sgml/ref/alter_opfamily.sgml
M doc/src/sgml/ref/alter_role.sgml
M doc/src/sgml/ref/alter_schema.sgml
M doc/src/sgml/ref/alter_sequence.sgml
M doc/src/sgml/ref/alter_server.sgml
M doc/src/sgml/ref/alter_table.sgml
M doc/src/sgml/ref/alter_tablespace.sgml
M doc/src/sgml/ref/alter_trigger.sgml
M doc/src/sgml/ref/alter_tsconfig.sgml
M doc/src/sgml/ref/alter_tsdictionary.sgml
M doc/src/sgml/ref/alter_tsparser.sgml
M doc/src/sgml/ref/alter_tstemplate.sgml
M doc/src/sgml/ref/alter_type.sgml
M doc/src/sgml/ref/alter_user.sgml
M doc/src/sgml/ref/alter_user_mapping.sgml
M doc/src/sgml/ref/alter_view.sgml
M doc/src/sgml/ref/analyze.sgml
M doc/src/sgml/ref/begin.sgml
M doc/src/sgml/ref/checkpoint.sgml
M doc/src/sgml/ref/close.sgml
M doc/src/sgml/ref/cluster.sgml
M doc/src/sgml/ref/clusterdb.sgml
M doc/src/sgml/ref/comment.sgml
M doc/src/sgml/ref/commit.sgml
M doc/src/sgml/ref/commit_prepared.sgml
M doc/src/sgml/ref/copy.sgml
M doc/src/sgml/ref/create_aggregate.sgml
M doc/src/sgml/ref/create_cast.sgml
M doc/src/sgml/ref/create_constraint.sgml
M doc/src/sgml/ref/create_conversion.sgml
M doc/src/sgml/ref/create_database.sgml
M doc/src/sgml/ref/create_domain.sgml
M doc/src/sgml/ref/create_foreign_data_wrapper.sgml
M doc/src/sgml/ref/create_function.sgml
M doc/src/sgml/ref/create_group.sgml
M doc/src/sgml/ref/create_index.sgml
M doc/src/sgml/ref/create_language.sgml
M doc/src/sgml/ref/create_opclass.sgml
M doc/src/sgml/ref/create_operator.sgml
M doc/src/sgml/ref/create_opfamily.sgml
M doc/src/sgml/ref/create_role.sgml
M doc/src/sgml/ref/create_rule.sgml
M doc/src/sgml/ref/create_schema.sgml
M doc/src/sgml/ref/create_sequence.sgml
M doc/src/sgml/ref/create_server.sgml
M doc/src/sgml/ref/create_table.sgml
M doc/src/sgml/ref/create_table_as.sgml
M doc/src/sgml/ref/create_tablespace.sgml
M doc/src/sgml/ref/create_trigger.sgml
M doc/src/sgml/ref/create_tsconfig.sgml
M doc/src/sgml/ref/create_tsdictionary.sgml
M doc/src/sgml/ref/create_tsparser.sgml
M doc/src/sgml/ref/create_tstemplate.sgml
M doc/src/sgml/ref/create_type.sgml
M doc/src/sgml/ref/create_user.sgml
M doc/src/sgml/ref/create_user_mapping.sgml
M doc/src/sgml/ref/create_view.sgml
M doc/src/sgml/ref/createdb.sgml
M doc/src/sgml/ref/createlang.sgml
M doc/src/sgml/ref/createuser.sgml
M doc/src/sgml/ref/deallocate.sgml
M doc/src/sgml/ref/declare.sgml
M doc/src/sgml/ref/delete.sgml
M doc/src/sgml/ref/discard.sgml
M doc/src/sgml/ref/do.sgml
M doc/src/sgml/ref/drop_aggregate.sgml
M doc/src/sgml/ref/drop_cast.sgml
M doc/src/sgml/ref/drop_conversion.sgml
M doc/src/sgml/ref/drop_database.sgml
M doc/src/sgml/ref/drop_domain.sgml
M doc/src/sgml/ref/drop_foreign_data_wrapper.sgml
M doc/src/sgml/ref/drop_function.sgml
M doc/src/sgml/ref/drop_group.sgml
M doc/src/sgml/ref/drop_index.sgml
M doc/src/sgml/ref/drop_language.sgml
M doc/src/sgml/ref/drop_opclass.sgml
M doc/src/sgml/ref/drop_operator.sgml
M doc/src/sgml/ref/drop_opfamily.sgml
M doc/src/sgml/ref/drop_owned.sgml
M doc/src/sgml/ref/drop_role.sgml
M doc/src/sgml/ref/drop_rule.sgml
M doc/src/sgml/ref/drop_schema.sgml
M doc/src/sgml/ref/drop_sequence.sgml
M doc/src/sgml/ref/drop_server.sgml
M doc/src/sgml/ref/drop_table.sgml
M doc/src/sgml/ref/drop_tablespace.sgml
M doc/src/sgml/ref/drop_trigger.sgml
M doc/src/sgml/ref/drop_tsconfig.sgml
M doc/src/sgml/ref/drop_tsdictionary.sgml
M doc/src/sgml/ref/drop_tsparser.sgml
M doc/src/sgml/ref/drop_tstemplate.sgml
M doc/src/sgml/ref/drop_type.sgml
M doc/src/sgml/ref/drop_user.sgml
M doc/src/sgml/ref/drop_user_mapping.sgml
M doc/src/sgml/ref/drop_view.sgml
M doc/src/sgml/ref/dropdb.sgml
M doc/src/sgml/ref/droplang.sgml
M doc/src/sgml/ref/dropuser.sgml
M doc/src/sgml/ref/end.sgml
M doc/src/sgml/ref/execute.sgml
M doc/src/sgml/ref/explain.sgml
M doc/src/sgml/ref/fetch.sgml
M doc/src/sgml/ref/grant.sgml
M doc/src/sgml/ref/initdb.sgml
M doc/src/sgml/ref/insert.sgml
M doc/src/sgml/ref/listen.sgml
M doc/src/sgml/ref/load.sgml
M doc/src/sgml/ref/lock.sgml
M doc/src/sgml/ref/move.sgml
M doc/src/sgml/ref/notify.sgml
M doc/src/sgml/ref/pg_config-ref.sgml
M doc/src/sgml/ref/pg_controldata.sgml
M doc/src/sgml/ref/pg_ctl-ref.sgml
M doc/src/sgml/ref/pg_dumpall.sgml
M doc/src/sgml/ref/pg_resetxlog.sgml
M doc/src/sgml/ref/postmaster.sgml
M doc/src/sgml/ref/prepare.sgml
M doc/src/sgml/ref/prepare_transaction.sgml
M doc/src/sgml/ref/psql-ref.sgml
M doc/src/sgml/ref/reassign_owned.sgml
M doc/src/sgml/ref/reindex.sgml
M doc/src/sgml/ref/reindexdb.sgml
M doc/src/sgml/ref/release_savepoint.sgml
M doc/src/sgml/ref/reset.sgml
M doc/src/sgml/ref/revoke.sgml
M doc/src/sgml/ref/rollback.sgml
M doc/src/sgml/ref/rollback_prepared.sgml
M doc/src/sgml/ref/rollback_to.sgml
M doc/src/sgml/ref/savepoint.sgml
M doc/src/sgml/ref/select.sgml
M doc/src/sgml/ref/select_into.sgml
M doc/src/sgml/ref/set.sgml
M doc/src/sgml/ref/set_constraints.sgml
M doc/src/sgml/ref/set_role.sgml
M doc/src/sgml/ref/set_session_auth.sgml
M doc/src/sgml/ref/set_transaction.sgml
M doc/src/sgml/ref/show.sgml
M doc/src/sgml/ref/start_transaction.sgml
M doc/src/sgml/ref/truncate.sgml
M doc/src/sgml/ref/unlisten.sgml
M doc/src/sgml/ref/update.sgml
M doc/src/sgml/ref/vacuum.sgml
M doc/src/sgml/ref/vacuumdb.sgml
M doc/src/sgml/ref/values.sgml
M doc/src/sgml/regress.sgml
M doc/src/sgml/release-9.0.sgml
M doc/src/sgml/spi.sgml
M doc/src/sgml/syntax.sgml
M doc/src/sgml/textsearch.sgml
M doc/src/sgml/trigger.sgml
M doc/src/sgml/typeconv.sgml
M doc/src/sgml/user-manag.sgml
M doc/src/sgml/xaggr.sgml
M doc/src/sgml/xfunc.sgml
M doc/src/sgml/xplang.sgml
M doc/src/sgml/xtypes.sgml

Allow for more room in the man page title, so that "CREATE TEXT SEARCH CONFIGURATION" is not truncated.

commit   : 7969145483e45298d754ee70f857817962377f8f    
  
author   : Peter Eisentraut <[email protected]>    
date     : Sat, 3 Apr 2010 07:16:05 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Sat, 3 Apr 2010 07:16:05 +0000    

Click here for diff

M doc/src/sgml/stylesheet-man.xsl

Check compulsory parameters in recovery.conf in standby_mode, per docs.

commit   : cf2575b8c42605834f2deddca4a07756345194ec    
  
author   : Simon Riggs <[email protected]>    
date     : Fri, 2 Apr 2010 21:50:40 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Fri, 2 Apr 2010 21:50:40 +0000    

Click here for diff

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

Clarify some behaviours of REASSIGN OWNED and DROP OWNED BY.

commit   : 3e754a89ea328f766cff5c19d3880d63cc3330f8    
  
author   : Simon Riggs <[email protected]>    
date     : Fri, 2 Apr 2010 17:29:22 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Fri, 2 Apr 2010 17:29:22 +0000    

Click here for diff

M doc/src/sgml/ref/drop_owned.sgml
M doc/src/sgml/ref/reassign_owned.sgml

Ensure that contrib/pgstattuple functions respond to cancel interrupts reasonably promptly, by adding CHECK_FOR_INTERRUPTS in the per-page loops.

commit   : 33065ef8bc52253ae855bc959576e52d8a28ba06    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 2 Apr 2010 16:16:51 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 2 Apr 2010 16:16:51 +0000    

Click here for diff

Tatsuhito Kasahara  

M contrib/pgstattuple/pgstattuple.c

commit   : 4c1062330630af820f5bc4a72641b3390929e525    
  
author   : Magnus Hagander <[email protected]>    
date     : Fri, 2 Apr 2010 15:21:20 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Fri, 2 Apr 2010 15:21:20 +0000    

Click here for diff

Josh Kupershmidt  

M contrib/pgcrypto/imath.c
M contrib/pgcrypto/imath.h
M contrib/pgcrypto/sha1.c
M contrib/pgcrypto/sha1.h
M contrib/pgcrypto/sha2.c
M src/include/tsearch/dicts/spell.h
M src/port/dirmod.c

Fix minor typos in comments.

commit   : 337b2175729b89a411f2453caa93acfc601ca45c    
  
author   : Magnus Hagander <[email protected]>    
date     : Fri, 2 Apr 2010 15:19:22 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Fri, 2 Apr 2010 15:19:22 +0000    

Click here for diff

Josh Kupershmidt  

M contrib/pageinspect/heapfuncs.c

Fix the build and install rules for man pages with SQL section != 7

commit   : a5c317cf78c741f21b69e1c87e755adc16761efd    
  
author   : Peter Eisentraut <[email protected]>    
date     : Fri, 2 Apr 2010 14:02:49 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Fri, 2 Apr 2010 14:02:49 +0000    

Click here for diff

The previous coding failed in various scenarios possibly including vpath  
builds and doing make install without preceding make all.  

M doc/src/sgml/Makefile

Move system startup message prior to any calls out of data directory. This allows us to see what mode the server is in before it starts to perform actions that can block or hang. Otherwise server messages may not appear until after messages that say FATAL the database server is starting up.

commit   : 31f00d163b44be096b8282880528fc199f3cc98e    
  
author   : Simon Riggs <[email protected]>    
date     : Fri, 2 Apr 2010 13:10:56 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Fri, 2 Apr 2010 13:10:56 +0000    

Click here for diff

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

FATAL errors are meant to stop ecpg immediately, e.g. because the syntax is corrupted. This error, however, does is not a compilation problem but a runtime one, so we can keep compiling but still have to declare ERROR.

commit   : 001b1ad6a38c8039b027d70a4058d645397a0ae4    
  
author   : Michael Meskes <[email protected]>    
date     : Fri, 2 Apr 2010 10:27:45 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Fri, 2 Apr 2010 10:27:45 +0000    

Click here for diff

M src/interfaces/ecpg/preproc/type.c

Don't pass an invalid file handle to dup2(). That causes a crash on Windows, thanks to a feature in CRT called Parameter Validation.

commit   : 93001dfd18241e11d4f1e188a813c247b143c2e4    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Thu, 1 Apr 2010 20:12:22 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Thu, 1 Apr 2010 20:12:22 +0000    

Click here for diff

Backpatch to 8.2, which is the oldest version supported on Windows. In  
8.2 and 8.3 also backpatch the earlier change to use DEVNULL instead of  
NULL_DEV #define for a /dev/null-like device. NULL_DEV was hard-coded to  
"/dev/null" regardless of platform, which didn't work on Windows, while  
DEVNULL works on all platforms. Restarting syslogger didn't work on  
Windows on versions 8.3 and below because of that.  

M src/backend/postmaster/syslogger.c

Use a file of patterns of filenames to exclude from pgindent runs, instead if using multiple invocations of egrep. Add perl ppport.h to the current list.

commit   : 799c0d3f65082591583086949bba2be159a36e32    
  
author   : Andrew Dunstan <[email protected]>    
date     : Thu, 1 Apr 2010 14:44:39 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Thu, 1 Apr 2010 14:44:39 +0000    

Click here for diff

M src/tools/pgindent/README
A src/tools/pgindent/exclude_file_patterns

Change test -e to test -f in docs, for portability.

commit   : 399ea9e7a5dca4a4eee16f8940b969afeeb1ad0f    
  
author   : Bruce Momjian <[email protected]>    
date     : Thu, 1 Apr 2010 13:52:56 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Thu, 1 Apr 2010 13:52:56 +0000    

Click here for diff

M doc/src/sgml/backup.sgml

Zoltan beautified his hidden-variable-patch for ecpg. This also makes sure we get an error message instead of a warning if the variable have different types.

commit   : 1fbb06d2042d999d5cb188b814fb2e3bd82da96b    
  
author   : Michael Meskes <[email protected]>    
date     : Thu, 1 Apr 2010 10:30:53 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Thu, 1 Apr 2010 10:30:53 +0000    

Click here for diff

M src/interfaces/ecpg/preproc/descriptor.c
M src/interfaces/ecpg/preproc/type.c
M src/interfaces/ecpg/preproc/type.h
M src/interfaces/ecpg/preproc/variable.c

Applied Zoltan's patch to make ecpg spit out warnings if a local variable hides a global one with the same name.

commit   : b2bddc2ff22f0c3d54671e43c67a2563deed7908    
  
author   : Michael Meskes <[email protected]>    
date     : Thu, 1 Apr 2010 08:41:01 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Thu, 1 Apr 2010 08:41:01 +0000    

Click here for diff

M src/interfaces/ecpg/preproc/descriptor.c
M src/interfaces/ecpg/preproc/type.c
M src/interfaces/ecpg/preproc/type.h
M src/interfaces/ecpg/preproc/variable.c

Add contraint exclusion section to contraint docs.

commit   : 0189c42f31dbd22c2707f0b79a5728eb91f5d66e    
  
author   : Bruce Momjian <[email protected]>    
date     : Thu, 1 Apr 2010 01:18:17 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Thu, 1 Apr 2010 01:18:17 +0000    

Click here for diff

Takahiro Itagaki  

M doc/src/sgml/ddl.sgml

Refer to max_wal_senders in a more consistent fashion.

commit   : 54943734f8fca3a9092564f31a7c9c6b8a58c7bc    
  
author   : Robert Haas <[email protected]>    
date     : Thu, 1 Apr 2010 00:43:29 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Thu, 1 Apr 2010 00:43:29 +0000    

Click here for diff

The error message now makes explicit reference to the GUC that must be changed  
to fix the problem, using wording suggested by Tom Lane.  Along the way,  
rename the GUC from MaxWalSenders to max_wal_senders for consistency and  
grep-ability.  

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

Add full names for release note item authors.

commit   : 38672aaaa1b8d786cb9ac4eba50860bfce3f1782    
  
author   : Bruce Momjian <[email protected]>    
date     : Thu, 1 Apr 2010 00:32:53 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Thu, 1 Apr 2010 00:32:53 +0000    

Click here for diff

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

Use test -e rather than test -f.

commit   : 570e01becc662888f147d4e53b2011bd852aad31    
  
author   : Bruce Momjian <[email protected]>    
date     : Thu, 1 Apr 2010 00:31:00 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Thu, 1 Apr 2010 00:31:00 +0000    

Click here for diff

M doc/src/sgml/backup.sgml

Improve 9.0 release notes by removing extra parentheses and linking to a more appropriate place for exclusion constraints.

commit   : 8ae5160bf3c505b85a2c290a7c7781a7cadc5573    
  
author   : Bruce Momjian <[email protected]>    
date     : Thu, 1 Apr 2010 00:18:21 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Thu, 1 Apr 2010 00:18:21 +0000    

Click here for diff

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

Revert change that prevented ellipses from looking like ../.

commit   : d93e4d819c6bd19145644733a642e30d6878e54b    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 31 Mar 2010 23:51:41 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 31 Mar 2010 23:51:41 +0000    

Click here for diff

M doc/src/sgml/backup.sgml

Clarify ellipses use in archive_command example, per Josh Kupershmidt.

commit   : c2af244021cf46da928d1e0f4f7f67f9761a193f    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 31 Mar 2010 23:39:15 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 31 Mar 2010 23:39:15 +0000    

Click here for diff

M doc/src/sgml/backup.sgml

Document why 'cp -i </dev/null' is suggested for archive command.

commit   : cba349859640b3c1f3f2e33f102b313b9efe2d92    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 31 Mar 2010 23:35:19 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 31 Mar 2010 23:35:19 +0000    

Click here for diff

M doc/src/sgml/backup.sgml

Fix typos, spotted by Thom Brown.

commit   : f185fc3c5e119f03e8057e8f741df4d4f6c50713    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Wed, 31 Mar 2010 20:41:50 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Wed, 31 Mar 2010 20:41:50 +0000    

Click here for diff

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

Enhance standby documentation.

commit   : ec9ee9381fab6e2cf8f14722a2e5dfe0beedbe15    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Wed, 31 Mar 2010 20:35:09 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Wed, 31 Mar 2010 20:35:09 +0000    

Click here for diff

Original patch by Fujii Masao, with heavy editing and bitrot-fixing  
after my other commit.  

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

Mention in the docs that if special keywords like "sameuser" and "replication" are quoted in pg_hba.conf, they lose their special meaning.

commit   : 259f60e9b6884f3ba4197f1315221c21258a1f23    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Wed, 31 Mar 2010 20:18:10 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Wed, 31 Mar 2010 20:18:10 +0000    

Click here for diff

M doc/src/sgml/client-auth.sgml

Enhance documentation of the build-in standby mode, explaining the retry loop in standby mode, trying to restore from archive, pg_xlog and streaming.

commit   : 991bfe11d28a9d2c70d54203bac2562995af504a    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Wed, 31 Mar 2010 19:13:01 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Wed, 31 Mar 2010 19:13:01 +0000    

Click here for diff

Move sections around to make the high availability chapter more  
coherent: the most prominent part is now a "Log-Shipping Standby Servers"  
section that describes what a standby server is (like the old  
"Warm Standby Servers for High Availability" section), and how to  
set up a warm standby server, including streaming replication, using the  
built-in standby mode. The pg_standby method is desribed in another  
section called "Alternative method for log shipping", with the added  
caveat that it doesn't work with streaming replication.  

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

Change recovery.conf.sample to match postgresql.conf by showing only default values, with example comments.

commit   : 55a01b4c0a5d5aacab57fbb2fbf7243e511f239c    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 31 Mar 2010 14:18:45 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 31 Mar 2010 14:18:45 +0000    

Click here for diff

M src/backend/access/transam/recovery.conf.sample

Give a more precise error message if a variable is re-used as cursor name in ecpg.

commit   : e01c6ce712d3db0ae1f2205d9dae1168f1da1f5d    
  
author   : Michael Meskes <[email protected]>    
date     : Wed, 31 Mar 2010 08:45:18 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Wed, 31 Mar 2010 08:45:18 +0000    

Click here for diff

M src/interfaces/ecpg/preproc/ecpg.addons
M src/interfaces/ecpg/preproc/ecpg.trailer

Fix "constraint_exclusion = partition" logic so that it will also attempt constraint exclusion on an inheritance set that is the target of an UPDATE or DELETE query. Per gripe from Marc Cousin. Back-patch to 8.4 where the feature was introduced.

commit   : d174a4adbb7423ee5ff30aa98043db4521ffd1be    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 30 Mar 2010 21:58:11 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 30 Mar 2010 21:58:11 +0000    

Click here for diff

M src/backend/nodes/outfuncs.c
M src/backend/optimizer/plan/planner.c
M src/backend/optimizer/util/plancat.c
M src/include/nodes/relation.h

Change the retry-loop in standby mode to also try restoring files from pg_xlog directory. This is essential for replaying WAL records that were streamed from the master, after a standby server restart.

commit   : 2a77355ea1e53bc234ed0b5fda8ec9f304f6797a    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Tue, 30 Mar 2010 16:23:57 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Tue, 30 Mar 2010 16:23:57 +0000    

Click here for diff

If a corrupt record is seen in a file restored from the archive or  
streamed from the master, log it as a WARNING and keep retrying. If the  
corruption is permanent, and not just a glitch in the whatever copies the  
files to the archive or a network error not caught by CRC checks in TCP  
for example, we will keep retrying and logging the WARNING indefinitely.  
But that's better than shutting down completely, the standby is still  
useful for running read-only queries. In PITR the recovery ends at such a  
corrupt record, which is a bit questionable, but that's the behavior we  
had in previous releases and we don't feel like chaning it now. It does  
make sense for tools like pg_standby.  

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

Message tuning

commit   : feb5087a34cbe7565ec351e6b3c9f94b627acb32    
  
author   : Peter Eisentraut <[email protected]>    
date     : Tue, 30 Mar 2010 16:08:22 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Tue, 30 Mar 2010 16:08:22 +0000    

Click here for diff

M src/backend/libpq/auth.c

Properly initialize local varaible in btree_xlog_delete_get_latestRemovedXid(). This variable was only tested in assert builds.

commit   : e919a844eb675d501207b14584da3986b4288ce9    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 30 Mar 2010 13:46:09 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 30 Mar 2010 13:46:09 +0000    

Click here for diff

M src/backend/access/nbtree/nbtxlog.c

Add comma missing from postgresql.conf comment.

commit   : a358423d8fed94b2b7dd93c3b8c7d87f5150cdeb    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 30 Mar 2010 00:11:45 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 30 Mar 2010 00:11:45 +0000    

Click here for diff

M src/backend/utils/misc/postgresql.conf.sample

Separate targets "make docs" and "make install-docs" for the documentation

commit   : 29ccc32c3024586a0b171cac4224277ddacecad8    
  
author   : Peter Eisentraut <[email protected]>    
date     : Tue, 30 Mar 2010 00:10:46 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Tue, 30 Mar 2010 00:10:46 +0000    

Click here for diff

It is no longer installed by default, but included in "make world"/"make  
install-world".  Documentation updated accordingly.  
  
Also, fix vpathsearch function to work when calling make install-docs  
without previous make docs.  

M GNUmakefile.in
M doc/src/sgml/Makefile
M doc/src/sgml/installation.sgml

Add note that XML Schema validation is not supported

commit   : 3f76f9613d98890306086a3b18198c43d34a6d85    
  
author   : Peter Eisentraut <[email protected]>    
date     : Mon, 29 Mar 2010 22:01:08 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Mon, 29 Mar 2010 22:01:08 +0000    

Click here for diff

requested by Andrew Lardinois  

M doc/src/sgml/datatype.sgml

Add some information about what it means for PL/Python to be untrusted. Similar information already appears in the PL/Perl and PL/Tcl chapters.

commit   : 1e24678349ba90500fe32722c92c680e811f20ea    
  
author   : Peter Eisentraut <[email protected]>    
date     : Mon, 29 Mar 2010 21:35:59 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Mon, 29 Mar 2010 21:35:59 +0000    

Click here for diff

M doc/src/sgml/plpython.sgml

Add some documentation about PL/Python limitations

commit   : 51d2c9b0bb695e4d876701d0c60acc369cc28ce5    
  
author   : Peter Eisentraut <[email protected]>    
date     : Mon, 29 Mar 2010 21:20:58 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Mon, 29 Mar 2010 21:20:58 +0000    

Click here for diff

suggested by Steve White (bug #5272)  

M doc/src/sgml/plpython.sgml

Edit recovery.conf.sample so it matches docs. Change standby_mode example to 'on or 'off' rather than 'true' or 'false', as shown in docs. Add restartpoint_command. Add section header for recovery target parameters, matching docs.

commit   : de66effede5f7cb6da258e1bfe6fc508ad4cf940    
  
author   : Simon Riggs <[email protected]>    
date     : Mon, 29 Mar 2010 18:50:36 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Mon, 29 Mar 2010 18:50:36 +0000    

Click here for diff

M src/backend/access/transam/recovery.conf.sample

Rework join-removal logic as per recent discussion. In particular this fixes things so that it works for cases where nested removals are possible. The overhead of the optimization should be significantly less, as well.

commit   : b78f6264eba33e2966447572b8261e353df01e59    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 28 Mar 2010 22:59:34 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 28 Mar 2010 22:59:34 +0000    

Click here for diff

M src/backend/nodes/outfuncs.c
M src/backend/optimizer/README
M src/backend/optimizer/path/allpaths.c
M src/backend/optimizer/path/joinpath.c
M src/backend/optimizer/plan/Makefile
A src/backend/optimizer/plan/analyzejoins.c
M src/backend/optimizer/plan/createplan.c
M src/backend/optimizer/plan/planmain.c
M src/backend/optimizer/util/pathnode.c
M src/backend/optimizer/util/placeholder.c
M src/include/nodes/nodes.h
M src/include/nodes/relation.h
M src/include/optimizer/pathnode.h
M src/include/optimizer/placeholder.h
M src/include/optimizer/planmain.h
M src/test/regress/expected/join.out
M src/test/regress/sql/join.sql

Derive latestRemovedXid for btree deletes by reading heap pages. The WAL record for btree delete contains a list of tids, even when backup blocks are present. We follow the tids to their heap tuples, taking care to follow LP_REDIRECT tuples. We ignore LP_DEAD tuples on the understanding that they will always have xmin/xmax earlier than any LP_NORMAL tuples referred to by killed index tuples. Iff all tuples are LP_DEAD we return InvalidTransactionId. The heap relfilenode is added to the WAL record, requiring API changes to pass down the heap Relation. XLOG_PAGE_MAGIC updated.

commit   : a760893dbda9934e287789d54bbd3c4ca3914ce0    
  
author   : Simon Riggs <[email protected]>    
date     : Sun, 28 Mar 2010 09:27:02 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Sun, 28 Mar 2010 09:27:02 +0000    

Click here for diff

M src/backend/access/nbtree/nbtinsert.c
M src/backend/access/nbtree/nbtpage.c
M src/backend/access/nbtree/nbtree.c
M src/backend/access/nbtree/nbtxlog.c
M src/include/access/nbtree.h
M src/include/access/xlog_internal.h

Flush CopyOutResponse when starting streaming in walsender, so that it's not delayed until the first WAL record is sent.

commit   : 59292f28cace8c0d4b038cadbb127b440e3a7815    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Fri, 26 Mar 2010 12:23:34 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Fri, 26 Mar 2010 12:23:34 +0000    

Click here for diff

Fujii Masao  

M src/backend/replication/walsender.c

Modify some new and pre-existing messages for translatability.

commit   : 65cd829232508405833ee5ae46c9fff42a2b215a    
  
author   : Simon Riggs <[email protected]>    
date     : Thu, 25 Mar 2010 20:40:17 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Thu, 25 Mar 2010 20:40:17 +0000    

Click here for diff

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

Fix ginint4_queryextract() to actually do what it was intended to do for an unsatisfiable query, such as indexcol && empty_array. It should return -1 to tell GIN no scan is required; but silly typo disabled the logic for that, resulting in unnecessary "GIN indexes do not support whole-index scans" error. Per bug report from Jeff Trout.

commit   : 5ceb13c8a12320a44fa211cf0ba32b1641270aeb    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 25 Mar 2010 15:50:10 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 25 Mar 2010 15:50:10 +0000    

Click here for diff

Back-patch to 8.3 where the logic was introduced.  

M contrib/intarray/_int_gin.c

Prevent ALTER USER f RESET ALL from removing the settings that were put there by a superuser -- "ALTER USER f RESET setting" already disallows removing such a setting.

commit   : be8cebc717ef0b583ada09da8d0245793697c1a8    
  
author   : Alvaro Herrera <[email protected]>    
date     : Thu, 25 Mar 2010 14:44:34 +0000    
  
committer: Alvaro Herrera <[email protected]>    
date     : Thu, 25 Mar 2010 14:44:34 +0000    

Click here for diff

Apply the same treatment to ALTER DATABASE d RESET ALL when run by a database  
owner that's not superuser.  

M doc/src/sgml/catalogs.sgml
M src/backend/catalog/pg_db_role_setting.c
M src/backend/utils/misc/guc.c
M src/include/utils/guc.h

Additional thoughts on WALSender cpu reduction. Use long type and alter a comment to reduce confusion.

commit   : 92fc0db99fb7a77864558615b76f4ab84227df30    
  
author   : Simon Riggs <[email protected]>    
date     : Wed, 24 Mar 2010 21:41:57 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Wed, 24 Mar 2010 21:41:57 +0000    

Click here for diff

M src/backend/replication/walsender.c

Change replication connection log format to allow for a database called replication. Add host and port details, following format of messages in BackendInitialize().

commit   : e6867eebd4bebfde2aaeaf6bf0d5c822a3c83298    
  
author   : Simon Riggs <[email protected]>    
date     : Wed, 24 Mar 2010 21:25:50 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Wed, 24 Mar 2010 21:25:50 +0000    

Click here for diff

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

Reduce CPU utilisation of WALSender process. Process was using 10% CPU doing nothing, caused by naptime specified in milliseconds yet units of pg_usleep() parameter is microseconds. Correctly specifying units reduces call frequency by 1000. Reduction in CPU consumption verified.

commit   : 08882ce74cd6775bd8446eb7343c61a3e5648620    
  
author   : Simon Riggs <[email protected]>    
date     : Wed, 24 Mar 2010 20:11:12 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Wed, 24 Mar 2010 20:11:12 +0000    

Click here for diff

M src/backend/replication/walsender.c

Fix thinko in log message for "sameuser" ident map mismatch: the provided and authenticated usernames were swapped. Reported by Bryan Henderson in bug #5386.

commit   : 16a4186d6aab46953f03f52b7a6d9ede7c89eaf7    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 24 Mar 2010 17:05:45 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 24 Mar 2010 17:05:45 +0000    

Click here for diff

Also clean up poorly-maintained header comment for this function.  

M src/backend/libpq/hba.c

Now that we know last_statrequest > last_statwrite can be observed in the buildfarm, expend a little more effort on the log message for it.

commit   : 223f82d4da528b61b50ea2cae142b7e14584bca3    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 24 Mar 2010 16:07:10 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 24 Mar 2010 16:07:10 +0000    

Click here for diff

M src/backend/postmaster/pgstat.c

Mark "installcheck-parallel", "world", "install-world" and "installcheck-world" make targets as PHONY. Fujii Masao.

commit   : 23244d6f24766a6435455a069cad43e4e9201572    
  
author   : Andrew Dunstan <[email protected]>    
date     : Wed, 24 Mar 2010 13:14:02 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Wed, 24 Mar 2010 13:14:02 +0000    

Click here for diff

M src/Makefile.global.in

Update description of walrcv_receive() function to match reality.

commit   : de3483acfa267bee664394405a78863d1355117d    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Wed, 24 Mar 2010 06:25:39 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Wed, 24 Mar 2010 06:25:39 +0000    

Click here for diff

M src/backend/replication/README

Document in postgresql.conf that the max_standby_delay default is 30 'seconds'.

commit   : 96189dbe664cf81efcc4c1f40df43bce3d9aa785    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 24 Mar 2010 03:13:45 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 24 Mar 2010 03:13:45 +0000    

Click here for diff

M src/backend/utils/misc/postgresql.conf.sample

Typo fix from IRC breinbaas

commit   : 5f9d2316d5c4bc88866eacd267139b42298a31a8    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 23 Mar 2010 22:37:14 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 23 Mar 2010 22:37:14 +0000    

Click here for diff

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

Remove useless double assignment

commit   : 8a367d441b5abc0adc07522fc58783aa70e84143    
  
author   : Peter Eisentraut <[email protected]>    
date     : Tue, 23 Mar 2010 22:12:06 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Tue, 23 Mar 2010 22:12:06 +0000    

Click here for diff

GCC 4.5 complained about it.  

M src/interfaces/ecpg/preproc/ecpg.addons

Remove CRs for each line in pgbench.sgml.

commit   : 7e2411429c248c137de93b421e2931f33978af05    
  
author   : Itagaki Takahiro <[email protected]>    
date     : Tue, 23 Mar 2010 04:09:17 +0000    
  
committer: Itagaki Takahiro <[email protected]>    
date     : Tue, 23 Mar 2010 04:09:17 +0000    

Click here for diff

M doc/src/sgml/pgbench.sgml

Add back other xlog() function author names.

commit   : a9ae3c0a567125cece0f86003ba37638d0372ed4    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 23 Mar 2010 02:28:48 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 23 Mar 2010 02:28:48 +0000    

Click here for diff

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

Each worker thread will have its own log file in pgbench to avoid interleaved writes. The first worker still uses "pgbench_log.<pid>" for the name, but additional workers use "pgbench_log.<pid>.<serial-number>" instead.

commit   : a887c486d5df956de8ac3ee5db9b5e1c8bbe9fd1    
  
author   : Itagaki Takahiro <[email protected]>    
date     : Tue, 23 Mar 2010 01:29:22 +0000    
  
committer: Itagaki Takahiro <[email protected]>    
date     : Tue, 23 Mar 2010 01:29:22 +0000    

Click here for diff

Reported by Greg Smith.  

M contrib/pgbench/pgbench.c
M doc/src/sgml/pgbench.sgml

Properly credit Simon for functions pg_last_xlog_replay_location, etc.

commit   : 1d34814ac2bfcf1c577b9cb6d6b3719c9a41f9ec    
  
author   : Bruce Momjian <[email protected]>    
date     : Mon, 22 Mar 2010 22:56:52 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Mon, 22 Mar 2010 22:56:52 +0000    

Click here for diff

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

Fix regression test breakage from recent change in default name of exclusion-constraint index.

commit   : d0049f8eee587269db81192410cb61a4204ac00c    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 22 Mar 2010 17:43:28 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 22 Mar 2010 17:43:28 +0000    

Click here for diff

M src/test/regress/output/constraints.source

Shorten suffix of automatically created indexes to "_excl" when using exclusion constraints, in line with string length of other pre-9.0 suffixes.

commit   : 37afd3ef4e72fff7708d23b108fbf3031e65956a    
  
author   : Simon Riggs <[email protected]>    
date     : Mon, 22 Mar 2010 15:24:11 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Mon, 22 Mar 2010 15:24:11 +0000    

Click here for diff

M src/backend/commands/indexcmds.c

Re-order createuser and vacuumedb documentation options, for consistency.

commit   : 260d843d70e19e6d56bc6e2ad84d53cc5e31f377    
  
author   : Bruce Momjian <[email protected]>    
date     : Mon, 22 Mar 2010 14:56:09 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Mon, 22 Mar 2010 14:56:09 +0000    

Click here for diff

Gabrielle (Roth)  

M doc/src/sgml/ref/createuser.sgml
M doc/src/sgml/ref/vacuumdb.sgml

Fix an oversight in join-removal optimization: we have to check not only for plain Vars that are generated in the inner rel and used above the join, but also for PlaceHolderVars. Per report from Oleg K.

commit   : 8d3c4aa614e20375daeff0bb1b9f640b115f363e    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 22 Mar 2010 13:57:16 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 22 Mar 2010 13:57:16 +0000    

Click here for diff

M src/backend/optimizer/path/joinpath.c
M src/test/regress/expected/join.out
M src/test/regress/sql/join.sql

Fixed ECPG regression test to make sure it uses absolute paths for include files instead of relative ones which break vpath builds.

commit   : ecac5e6bfc3b236b41ea282f5625203d5ee90b55    
  
author   : Michael Meskes <[email protected]>    
date     : Mon, 22 Mar 2010 07:41:20 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Mon, 22 Mar 2010 07:41:20 +0000    

Click here for diff

M src/interfaces/ecpg/test/preproc/strings.pgc

Remove 9.0 release notes xref's to HISTORY.html can be built.

commit   : 0885dd15171cf0f24074318fa178a122d6313558    
  
author   : Bruce Momjian <[email protected]>    
date     : Sun, 21 Mar 2010 22:12:27 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sun, 21 Mar 2010 22:12:27 +0000    

Click here for diff

Document this restriction.  

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

Adding special command line option that is now needed for the one ecpg regression test that was changed.

commit   : 075d44120fd9e3c33a99246c4f457630f71073a7    
  
author   : Michael Meskes <[email protected]>    
date     : Sun, 21 Mar 2010 14:26:58 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Sun, 21 Mar 2010 14:26:58 +0000    

Click here for diff

M src/tools/msvc/ecpg_regression.proj

ECPG's parser now accepts and handles variables as arguments for the FREE command.

commit   : b4d298ac234cb85df96a3c95f3b7c55183606e4a    
  
author   : Michael Meskes <[email protected]>    
date     : Sun, 21 Mar 2010 11:56:45 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Sun, 21 Mar 2010 11:56:45 +0000    

Click here for diff

Informix allows variables as argument to the embedded SQL command FREE. Given  
that we only allow freeing cursors via FREE for compatibility reasons only we  
should do the same.  

M src/interfaces/ecpg/preproc/ecpg.addons
M src/interfaces/ecpg/preproc/ecpg.trailer

Adjusted regression test results to the change I made in debug output for ecpglib.

commit   : 654fff2311f564c276e29d460e07696f77b92847    
  
author   : Michael Meskes <[email protected]>    
date     : Sun, 21 Mar 2010 11:38:16 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Sun, 21 Mar 2010 11:38:16 +0000    

Click here for diff

M src/interfaces/ecpg/test/expected/compat_informix-describe.stderr
M src/interfaces/ecpg/test/expected/compat_informix-sqlda.stderr
M src/interfaces/ecpg/test/expected/preproc-autoprep.stderr
M src/interfaces/ecpg/test/expected/preproc-cursor.stderr
M src/interfaces/ecpg/test/expected/sql-desc.stderr
M src/interfaces/ecpg/test/expected/sql-describe.stderr
M src/interfaces/ecpg/test/expected/sql-dyntest.stderr
M src/interfaces/ecpg/test/expected/sql-execute.stderr
M src/interfaces/ecpg/test/expected/sql-oldexec.stderr
M src/interfaces/ecpg/test/expected/sql-sqlda.stderr

Correctly name functions in debug output in ecpglib. When the functions were refactored the debug output wasn't adjusted.

commit   : a9dd21786153e35e5b0a9743192fe0a50008e808    
  
author   : Michael Meskes <[email protected]>    
date     : Sun, 21 Mar 2010 11:33:44 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Sun, 21 Mar 2010 11:33:44 +0000    

Click here for diff

M src/interfaces/ecpg/ecpglib/prepare.c

ECPG only copied #include statements instead of processing them according to commandline option "-i". This change fixes this and adds a test case. It also honors #include_next, although this is probably never used for embedded SQL.

commit   : 1d66a1cca1e0ad649beba720466461b4af7fddd4    
  
author   : Michael Meskes <[email protected]>    
date     : Sun, 21 Mar 2010 10:49:52 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Sun, 21 Mar 2010 10:49:52 +0000    

Click here for diff

M src/interfaces/ecpg/preproc/pgc.l
M src/interfaces/ecpg/test/compat_informix/rnull.pgc
M src/interfaces/ecpg/test/compat_informix/test_informix.pgc
M src/interfaces/ecpg/test/expected/compat_informix-rnull.c
M src/interfaces/ecpg/test/expected/compat_informix-test_informix.c
M src/interfaces/ecpg/test/expected/preproc-strings.c
M src/interfaces/ecpg/test/expected/preproc-strings.stderr
M src/interfaces/ecpg/test/preproc/Makefile
A src/interfaces/ecpg/test/preproc/strings.h
M src/interfaces/ecpg/test/preproc/strings.pgc

Add more 9.0 release note documentation links.

commit   : 6ad4249b5cde27e914acfa64a9bad268ece61fe2    
  
author   : Bruce Momjian <[email protected]>    
date     : Sun, 21 Mar 2010 02:24:29 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sun, 21 Mar 2010 02:24:29 +0000    

Click here for diff

M doc/src/sgml/plpython.sgml
M doc/src/sgml/ref/create_type.sgml
M doc/src/sgml/release-9.0.sgml

commit   : 4748faa50a5d1cc6eb4205b305c1465bd9f91963    
  
author   : Bruce Momjian <[email protected]>    
date     : Sun, 21 Mar 2010 00:43:40 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sun, 21 Mar 2010 00:43:40 +0000    

Click here for diff

Also update tagging instructions, and add id tags to a few documentation  
sections.  

M doc/src/sgml/ref/psql-ref.sgml
M doc/src/sgml/release-9.0.sgml
M doc/src/sgml/release.sgml
M doc/src/sgml/runtime.sgml

Message tuning

commit   : c248d171209fb1468a68d4d623fe721497cab7ba    
  
author   : Peter Eisentraut <[email protected]>    
date     : Sun, 21 Mar 2010 00:17:59 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Sun, 21 Mar 2010 00:17:59 +0000    

Click here for diff

M src/backend/access/transam/xlog.c
M src/backend/executor/nodeWindowAgg.c
M src/backend/libpq/auth.c
M src/backend/libpq/hba.c
M src/backend/libpq/pqcomm.c
M src/backend/replication/libpqwalreceiver/libpqwalreceiver.c
M src/backend/replication/walreceiver.c
M src/backend/storage/lmgr/lock.c
M src/backend/tcop/postgres.c
M src/backend/utils/init/postinit.c
M src/backend/utils/misc/guc.c

Fixed ecpg parser to allow more than one C preprocessor command inside a declare section.

commit   : 1dff2a0f25badf7fc15a654172bf4e0bce964008    
  
author   : Michael Meskes <[email protected]>    
date     : Sat, 20 Mar 2010 18:53:00 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Sat, 20 Mar 2010 18:53:00 +0000    

Click here for diff

M src/interfaces/ecpg/preproc/ecpg.trailer

In 9.0 release notes, move libpq/ecpg up into their own sections, like I did with server-side languages.

commit   : 4a12e98c4672def5e06ec946715dddd92e4a14e8    
  
author   : Bruce Momjian <[email protected]>    
date     : Sat, 20 Mar 2010 16:31:09 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sat, 20 Mar 2010 16:31:09 +0000    

Click here for diff

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

Move server-side languages up one section in the 9.0 release notes.

commit   : 9e6c5f1e74118047019c57eae2308d8e8c7ffee0    
  
author   : Bruce Momjian <[email protected]>    
date     : Sat, 20 Mar 2010 14:03:31 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sat, 20 Mar 2010 14:03:31 +0000    

Click here for diff

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

Further corrections of mismatching struct and btree SizeOf macros. In this case, correction is to remove now unused fields from struct. Since these were unused and full of garbage anyway, no version change.

commit   : bf6285b3a7e0dc9936990b98d799a36a5d2db140    
  
author   : Simon Riggs <[email protected]>    
date     : Sat, 20 Mar 2010 07:49:48 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Sat, 20 Mar 2010 07:49:48 +0000    

Click here for diff

M src/include/access/nbtree.h

Create 9.0 release notes; keep 9.0-alpha release notes in place.

commit   : 128b1c5022dd6299a56d9cf356a6368d1aeea885    
  
author   : Bruce Momjian <[email protected]>    
date     : Sat, 20 Mar 2010 03:30:12 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sat, 20 Mar 2010 03:30:12 +0000    

Click here for diff

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

Update sgml release note markup suggestions.

commit   : 4430907d9590170e54f729b8d8d1bcef7f24ad34    
  
author   : Bruce Momjian <[email protected]>    
date     : Sat, 20 Mar 2010 03:12:52 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sat, 20 Mar 2010 03:12:52 +0000    

Click here for diff

M doc/src/sgml/release.sgml

Clear error_context_stack and debug_query_string at the beginning of proc_exit, so that we won't try to attach any context printouts to messages that get emitted while exiting. Per report from Dennis Koegel, the context functions won't necessarily work after we've started shutting down the backend, and it seems possible that debug_query_string could be pointing at freed storage as well. The context information doesn't seem particularly relevant to such messages anyway, so there's little lost by suppressing it.

commit   : f784f05e95c14bc4234e27db54a220818161c3ac    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 20 Mar 2010 00:58:09 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 20 Mar 2010 00:58:09 +0000    

Click here for diff

Back-patch to all supported branches.  I can only demonstrate a crash with  
log_disconnections messages back to 8.1, but the risk seems real in 8.0 and  
before anyway.  

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

Forbid renaming columns of objects whose column names are system-generated.

commit   : acdd6ea5ab887fd18912578f110c55dab0f5ec97    
  
author   : Robert Haas <[email protected]>    
date     : Sat, 20 Mar 2010 00:43:42 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Sat, 20 Mar 2010 00:43:42 +0000    

Click here for diff

KaiGai Kohei, with adjustments to the comments.  

M src/backend/commands/tablecmds.c

commit   : a836abe9f6934b51a0f92cb50c8514cd6f14c8b6    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 19 Mar 2010 22:54:41 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 19 Mar 2010 22:54:41 +0000    

Click here for diff

Per crash report from Dennis Koegel.  I've concluded that the real fix for  
his problem is to clear the error context stack at entry to proc_exit, but  
it still seems like a good idea to make the callbacks a bit less fragile  
for other cases.  
  
Backpatch to 8.4.  We could go further back, but the patch doesn't apply  
cleanly.  In the absence of proof that this fixes something and isn't just  
paranoia, I'm not going to expend the effort.  

M src/backend/catalog/pg_proc.c
M src/backend/executor/functions.c
M src/backend/optimizer/util/clauses.c

Fix oversight in btpo.xact patch; it was in fact installing garbage in the xact field on replay, due to not writing out all the data in the wal log struct.

commit   : 865b29540ef3484762364d40fd3888808107238a    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 19 Mar 2010 20:51:30 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 19 Mar 2010 20:51:30 +0000    

Click here for diff

M src/include/access/nbtree.h

Clarify docs about database parameter in streaming replication primary_conninfo. Docs were unclear on whether or not database=replication was required, nor did they mention the FATAL error this causes if database parameter is mentioned explicitly, whatever its value.

commit   : f42ddc477297a6cac9cc403a65b268f2b578b621    
  
author   : Simon Riggs <[email protected]>    
date     : Fri, 19 Mar 2010 19:31:06 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Fri, 19 Mar 2010 19:31:06 +0000    

Click here for diff

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

Add connection messages for streaming replication. log_connections was broken for a replication connection and no messages were displayed on either standby or primary, at any debug level. Connection messages needed to diagnose session drop/reconnect events. Use LOG mode for now, discuss lowering in later releases.

commit   : 6a771d1d367d7e204edf78aee3f069f1b5ba36db    
  
author   : Simon Riggs <[email protected]>    
date     : Fri, 19 Mar 2010 19:19:38 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Fri, 19 Mar 2010 19:19:38 +0000    

Click here for diff

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

Minor tweaks on libpqrcv_connect(): ensure conninfo_repl[] is correctly sized and expand comment to explain otherwise undocumented use of replication connection parameter.

commit   : 75867c528d45829c39b2aba29e0617e3c381ce52    
  
author   : Simon Riggs <[email protected]>    
date     : Fri, 19 Mar 2010 17:51:42 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Fri, 19 Mar 2010 17:51:42 +0000    

Click here for diff

M src/backend/replication/libpqwalreceiver/libpqwalreceiver.c

Update XLOG_PAGE_MAGIC to recognise WAL format changes.

commit   : aa36bd2039272dabcabf486a7d4e05f755778e32    
  
author   : Simon Riggs <[email protected]>    
date     : Fri, 19 Mar 2010 17:42:10 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Fri, 19 Mar 2010 17:42:10 +0000    

Click here for diff

M src/include/access/xlog_internal.h

Adjust comment in .history file to match recovery target specified. Comment present since 8.0 was never fully meaningful, since two recovery targets cannot be specified. Refactor recovery target type to make this change and associated code easier to understand. No change in function.

commit   : 3cdafe40e73c0c565e54fdaf69fe35f294906693    
  
author   : Simon Riggs <[email protected]>    
date     : Fri, 19 Mar 2010 11:05:15 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Fri, 19 Mar 2010 11:05:15 +0000    

Click here for diff

Bug report arising from internal support question.  

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

Reset btpo.xact following recovery of btree delete page. Add btpo_xact field into WAL record and reset it from there, rather than using FrozenTransactionId which can lead to some corner case bugs.

commit   : 5c73ae17d18a424fe63c0a1d8b674e9f22800572    
  
author   : Simon Riggs <[email protected]>    
date     : Fri, 19 Mar 2010 10:41:22 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Fri, 19 Mar 2010 10:41:22 +0000    

Click here for diff

Problem report and suggested route to a fix from Heikki, details by me.  

M src/backend/access/nbtree/nbtpage.c
M src/backend/access/nbtree/nbtxlog.c
M src/include/access/nbtree.h

Also print the libpq error message when lo_create or lo_open fails

commit   : 2827516394ef7b536f67904f9115355f3f7443e9    
  
author   : Peter Eisentraut <[email protected]>    
date     : Thu, 18 Mar 2010 20:00:51 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Thu, 18 Mar 2010 20:00:51 +0000    

Click here for diff

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

Prevent the injection of invalidly encoded strings by PL/Python into PostgreSQL with a few strategically placed pg_verifymbstr calls.

commit   : a401226bd8749c915bf275b30eb9a06f49a529d2    
  
author   : Peter Eisentraut <[email protected]>    
date     : Thu, 18 Mar 2010 19:43:03 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Thu, 18 Mar 2010 19:43:03 +0000    

Click here for diff

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

Message style tuning

commit   : ab5694e80d69fc57e59972583439b1413262d14f    
  
author   : Peter Eisentraut <[email protected]>    
date     : Thu, 18 Mar 2010 19:02:46 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Thu, 18 Mar 2010 19:02:46 +0000    

Click here for diff

M src/pl/plperl/plperl.c

Mention way to get commit details for release notes.

commit   : d154a857ba2e77376312b5c978f19821d2fc2600    
  
author   : Bruce Momjian <[email protected]>    
date     : Thu, 18 Mar 2010 16:31:12 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Thu, 18 Mar 2010 16:31:12 +0000    

Click here for diff

M src/tools/RELEASE_CHANGES

Fix missing parentheses for current_query(), per bug #5378. Also make a couple other minor editorial improvements.

commit   : 5f6285616d67e545d6a0df2a55d98046fca17982    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 18 Mar 2010 15:29:44 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 18 Mar 2010 15:29:44 +0000    

Click here for diff

M doc/src/sgml/func.sgml

Use data-type specific conversion functions also in plpy.execute

commit   : 12c2f2f66c2d37a951cdf01049d74c520f26e7f9    
  
author   : Peter Eisentraut <[email protected]>    
date     : Thu, 18 Mar 2010 13:23:57 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Thu, 18 Mar 2010 13:23:57 +0000    

Click here for diff

In PLy_spi_execute_plan, use the data-type specific Python-to-PostgreSQL  
conversion function instead of passing everything through InputFunctionCall  
as a string.  The equivalent fix was already done months ago for function  
parameters and return values, but this other gateway between Python and  
PostgreSQL was apparently forgotten.  As a result, data types that need  
special treatment, such as bytea, would misbehave when used with  
plpy.execute.  

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

Add restartpoint_command option to recovery.conf. Fix bug in %r handling in recovery_end_command, it always came out as 0 because InRedo was cleared before recovery_end_command was executed. Also, always take ControlFileLock when reading checkpoint location for %r.

commit   : c21ac0b58e8c3bb050d87e213a6f4524b01b2a6d    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Thu, 18 Mar 2010 09:17:18 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Thu, 18 Mar 2010 09:17:18 +0000    

Click here for diff

The recovery_end_command bug and the missing locking was present in 8.4  
as well, that part of this patch will be backported separately.  

M doc/src/sgml/recovery-config.sgml
M src/backend/access/transam/xlog.c

Add vacuum_defer_cleanup_age to postgresql.conf.sample.

commit   : 6407fa996a0f2a9da1fbb91fd47afe97f5743be8    
  
author   : Simon Riggs <[email protected]>    
date     : Thu, 18 Mar 2010 07:01:01 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Thu, 18 Mar 2010 07:01:01 +0000    

Click here for diff

M src/backend/utils/misc/postgresql.conf.sample

commit   : 7e8a60b7c5ede78db084ce0f2d6a0234040be1eb    
  
author   : Peter Eisentraut <[email protected]>    
date     : Wed, 17 Mar 2010 22:02:44 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Wed, 17 Mar 2010 22:02:44 +0000    

Click here for diff

This variable is apparently only for Python internally.  In newer releases  
of Python this variable pulls in more and more libraries that users are  
less likely to have, leading to potential build failures.  

M config/python.m4
M configure

Message style tuning

commit   : c92e2702f1b50f8ac7440b79274afdf2f0248816    
  
author   : Peter Eisentraut <[email protected]>    
date     : Wed, 17 Mar 2010 21:31:17 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Wed, 17 Mar 2010 21:31:17 +0000    

Click here for diff

M src/pl/plperl/expected/plperl_init.out
M src/pl/plperl/plperl.c

Fix peculiar, untranslatable message concatenation attempt

commit   : 2fb605ec76ee4dbcd15482d3623e1cf1aaa68e63    
  
author   : Peter Eisentraut <[email protected]>    
date     : Wed, 17 Mar 2010 20:58:38 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Wed, 17 Mar 2010 20:58:38 +0000    

Click here for diff

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

Make typography consistent

commit   : b2640888d99b68d6677d13e90d9b5b716844018f    
  
author   : Peter Eisentraut <[email protected]>    
date     : Wed, 17 Mar 2010 20:53:19 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Wed, 17 Mar 2010 20:53:19 +0000    

Click here for diff

M doc/src/sgml/ref/grant.sgml
M doc/src/sgml/ref/revoke.sgml

Typo fixes.

commit   : ad8f6fec3b46d3c753c0946991c94b7ec2356ea8    
  
author   : Magnus Hagander <[email protected]>    
date     : Wed, 17 Mar 2010 18:03:55 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Wed, 17 Mar 2010 18:03:55 +0000    

Click here for diff

Fujii Masao  

M doc/src/sgml/config.sgml

Update broken and permanently moved links

commit   : a95e51962d6bab6d155a0a650fc240f50b28cfd8    
  
author   : Peter Eisentraut <[email protected]>    
date     : Wed, 17 Mar 2010 17:12:31 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Wed, 17 Mar 2010 17:12:31 +0000    

Click here for diff

M doc/src/sgml/acronyms.sgml
M doc/src/sgml/biblio.sgml
M doc/src/sgml/btree-gist.sgml
M doc/src/sgml/charset.sgml
M doc/src/sgml/client-auth.sgml
M doc/src/sgml/docguide.sgml
M doc/src/sgml/install-win32.sgml
M doc/src/sgml/installation.sgml
M doc/src/sgml/intarray.sgml
M doc/src/sgml/intro.sgml
M doc/src/sgml/ltree.sgml
M doc/src/sgml/maintenance.sgml
M doc/src/sgml/nls.sgml
M doc/src/sgml/textsearch.sgml
M doc/src/sgml/wal.sgml

Pass incompletely-transformed aggregate argument lists as separate parameters to transformAggregateCall, instead of abusing fields in Aggref to carry them temporarily. No change in functionality but hopefully the code is a bit clearer now. Per gripe from Gokulakannan Somasundaram.

commit   : 93324355eb9506512acfaca10f6958cdd3ccf77e    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 17 Mar 2010 16:52:38 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 17 Mar 2010 16:52:38 +0000    

Click here for diff

M src/backend/parser/parse_agg.c
M src/backend/parser/parse_func.c
M src/include/parser/parse_agg.h

Fix incorrect example in CREATE INDEX reference page, per Josh Kupershmidt. Also fix and uncomment an old example of creating a GIST index, and make a couple of other minor editorial adjustments.

commit   : f248e11f7006a4331c66ef838053dee827d5664d    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 17 Mar 2010 15:55:50 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 17 Mar 2010 15:55:50 +0000    

Click here for diff

M doc/src/sgml/ref/create_index.sgml

Fix typo in streaming replication protocol docs.

commit   : 0131088f1829ca968c8d1302728c6ff37a97092d    
  
author   : Simon Riggs <[email protected]>    
date     : Wed, 17 Mar 2010 00:28:15 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Wed, 17 Mar 2010 00:28:15 +0000    

Click here for diff

M doc/src/sgml/protocol.sgml

Fix typo in math function docs, spotted by Heikki.

commit   : ce701c1e731033aeda23ff9f686e7a84d36eac2b    
  
author   : Simon Riggs <[email protected]>    
date     : Tue, 16 Mar 2010 16:03:24 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Tue, 16 Mar 2010 16:03:24 +0000    

Click here for diff

M doc/src/sgml/func.sgml

Throw a nicer error message if a standby server attempts to connect while the master is still in recovery. We don't support cascading slaves yet.

commit   : a383c55a1d8bfab3d5840ae522c1d0bb07f2fb1f    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Tue, 16 Mar 2010 09:09:55 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Tue, 16 Mar 2010 09:09:55 +0000    

Click here for diff

Patch by Fujii Masao, with slightly changed wording.  

M src/backend/replication/walsender.c

Document that trig functions accept/return values in radians.

commit   : bd11a0f67f7f2032c5884ecc1c8454378d7af5cd    
  
author   : Simon Riggs <[email protected]>    
date     : Mon, 15 Mar 2010 19:03:31 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Mon, 15 Mar 2010 19:03:31 +0000    

Click here for diff

M doc/src/sgml/func.sgml

Remove incorrect comment from GetWriteRecPtr(): the return value is always correct, as described in comments at start of xlog.c

commit   : 1a163a0c68fe974c12c807c14c3701baa15e124c    
  
author   : Simon Riggs <[email protected]>    
date     : Mon, 15 Mar 2010 18:49:17 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Mon, 15 Mar 2010 18:49:17 +0000    

Click here for diff

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

Update oidjoins regression test for 9.0.

commit   : 324505af01dc54add3ce9489829808efda2c161e    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 14 Mar 2010 04:17:54 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 14 Mar 2010 04:17:54 +0000    

Click here for diff

M src/test/regress/expected/oidjoins.out
M src/test/regress/sql/oidjoins.sql
M src/tools/findoidjoins/README

Add some more structure and bits of information to PL/Python documentation

commit   : 66cac8feab9c6a34cda8923efbfe5efd4a1b1b4d    
  
author   : Peter Eisentraut <[email protected]>    
date     : Sat, 13 Mar 2010 20:55:05 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Sat, 13 Mar 2010 20:55:05 +0000    

Click here for diff

M doc/src/sgml/plpython.sgml

Revert all keepalive moves, reevaluate.

commit   : 54aaef864213d7b91f1efc691d3dc93ba468815b    
  
author   : Bruce Momjian <[email protected]>    
date     : Sat, 13 Mar 2010 16:56:37 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sat, 13 Mar 2010 16:56:37 +0000    

Click here for diff

M src/backend/libpq/pqcomm.c

Move more tcp keepalive macros to be consistent.

commit   : 3f10d21ecddd8af06bfc6d458f5c9fa092730bc0    
  
author   : Bruce Momjian <[email protected]>    
date     : Sat, 13 Mar 2010 16:40:38 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sat, 13 Mar 2010 16:40:38 +0000    

Click here for diff

M src/backend/libpq/pqcomm.c

Move TCP keepalive macro definition

commit   : 45d9d90c83a577a1b241369ccc1a49243619d14c    
  
author   : Bruce Momjian <[email protected]>    
date     : Sat, 13 Mar 2010 15:35:46 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sat, 13 Mar 2010 15:35:46 +0000    

Click here for diff

Jaime Casanova  

M src/backend/libpq/pqcomm.c

Add libpq warning message if the .pgpass-retrieved password fails.

commit   : a6c1cea2b7ac446558ce0cde14b19e74220eeb7f    
  
author   : Bruce Momjian <[email protected]>    
date     : Sat, 13 Mar 2010 14:55:57 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sat, 13 Mar 2010 14:55:57 +0000    

Click here for diff

Add ERRCODE_INVALID_PASSWORD sqlstate error code.  

M doc/src/sgml/errcodes.sgml
M src/backend/libpq/auth.c
M src/include/utils/errcodes.h
M src/interfaces/libpq/fe-connect.c
M src/interfaces/libpq/libpq-int.h
M src/pl/plpgsql/src/plerrcodes.h

Update shared memory configuration information for Linux

commit   : 8b2ae44dc8dd56511c7004c5b117b720081dc8fb    
  
author   : Peter Eisentraut <[email protected]>    
date     : Sat, 13 Mar 2010 11:00:19 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Sat, 13 Mar 2010 11:00:19 +0000    

Click here for diff

In particular, the assertion that shmall is sufficiently sized by default  
is slowly becoming untrue.  

M doc/src/sgml/runtime.sgml

Document what user name email symbols are supported by tsearch.

commit   : 5473df9eb7a827efa7a438723e07c90d785acd23    
  
author   : Bruce Momjian <[email protected]>    
date     : Sat, 13 Mar 2010 03:09:04 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sat, 13 Mar 2010 03:09:04 +0000    

Click here for diff

M doc/src/sgml/textsearch.sgml

Allow underscores in tsearch email addressses, per RFC 5322 and report by Dan O'Hara.

commit   : 89b0095ebdfed9303c5a372f4717eae779cc4af6    
  
author   : Bruce Momjian <[email protected]>    
date     : Sat, 13 Mar 2010 00:41:58 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sat, 13 Mar 2010 00:41:58 +0000    

Click here for diff

Patch by Teodor Sigaev  

M src/backend/tsearch/wparser_def.c

Small adjustment by pgindent.

commit   : 66b82c20d9686f6da2d7125bda4fe8d9c6db8428    
  
author   : Bruce Momjian <[email protected]>    
date     : Sat, 13 Mar 2010 00:40:43 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sat, 13 Mar 2010 00:40:43 +0000    

Click here for diff

M src/timezone/zic.c

Re-add comma, oops.

commit   : c24b2ef21781d0c848bdbcef294c02e6902d6295    
  
author   : Bruce Momjian <[email protected]>    
date     : Fri, 12 Mar 2010 23:21:48 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Fri, 12 Mar 2010 23:21:48 +0000    

Click here for diff

M doc/src/sgml/config.sgml

Add some logging code for unexpected cases in pgstat.c, particularly being unable to read a stats file for reasons other than ENOENT, and having to reset last_statrequest because it's later than current time in the collector. Not clear if this will shed any light on the "pgstat wait timeout" business, but it seems like a good idea in general.

commit   : 52e2b33a556ead1df365777ba2f3ad8accbbe504    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 12 Mar 2010 22:19:19 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 12 Mar 2010 22:19:19 +0000    

Click here for diff

In passing, do some message-style-police work on recently-added  
pgstat_reset_shared_counters code.  

M src/backend/postmaster/pgstat.c

Fix a commented-out block of code that pgindent didn't understand properly; it's been making that comment uglier with each run.

commit   : d75f7a01bf646b3ebe71688c31ffe56fc6fde9a8    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 12 Mar 2010 21:40:36 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 12 Mar 2010 21:40:36 +0000    

Click here for diff

M src/timezone/pgtz.c

Remove unnecessary comma in documentation.

commit   : cb08f6b68864b87af3a20d9ec721a99da742c970    
  
author   : Bruce Momjian <[email protected]>    
date     : Fri, 12 Mar 2010 17:46:07 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Fri, 12 Mar 2010 17:46:07 +0000    

Click here for diff

M doc/src/sgml/config.sgml

Add missing reset of need_initialization in reloptions code.

commit   : 1f44a313bdffd887ddea1f51681420ce5621fb1d    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 11 Mar 2010 21:47:19 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 11 Mar 2010 21:47:19 +0000    

Click here for diff

This resulted in useless extra work during every call of parseRelOptions,  
but no bad effects other than that.  Noted by Alvaro.  

M src/backend/access/common/reloptions.c

Modify psql's \d printout to fold exclusion constraints in with regular indexes, rather than printing them twice. Per my gripe when the exclusion constraint feature was committed.

commit   : 924d6ed437ebe1c5e5536575b77856adc18782a2    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 11 Mar 2010 21:29:32 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 11 Mar 2010 21:29:32 +0000    

Click here for diff

M src/bin/psql/describe.c

Sync timezone code with tzcode 2010c from the Olson group. This fixes some corner cases that come up in certain timezones (apparently, only those with lots and lots of distinct TZ transition rules, as far as I can gather from a quick scan of their archives). Per suggestion from Jeevan Chalke.

commit   : f4898c945fb18c3ced03101adecb6c58e4128ad5    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 11 Mar 2010 18:43:24 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 11 Mar 2010 18:43:24 +0000    

Click here for diff

Back-patch to 8.4.  Possibly we need to push this into earlier releases  
as well, but I'm hesitant to update them to the 64-bit tzcode without  
more thought and testing.  

M src/timezone/README
M src/timezone/localtime.c
M src/timezone/strftime.c
M src/timezone/zic.c

Fix bug in KnownAssignedXidsMany(). I saw this when looking at the assertion failure reported by Erik Rijkers, but this alone doesn't explain the failure.

commit   : e0f9e2b648c8e6f237549c353b7b3179654451d1    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Thu, 11 Mar 2010 09:26:59 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Thu, 11 Mar 2010 09:26:59 +0000    

Click here for diff

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

Fix comment which was apparently copy-pasted from another function.

commit   : daaeac88aaf60823e1328fa950d324818638c934    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Thu, 11 Mar 2010 09:10:25 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Thu, 11 Mar 2010 09:10:25 +0000    

Click here for diff

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

Simplify a couple of pg_dump and psql \d queries about index constraints by joining to pg_constraint.conindid, instead of the former technique of joining indirectly through pg_depend. This is much more straightforward and probably faster as well. I had originally desisted from changing these queries when conindid was added because I was worried about losing performance, but if we join on conrelid as well as conindid then the index on conrelid can be used when pg_constraint is large.

commit   : e6555b436e44fc43f14b3d8c1f782fbd3924485d    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 11 Mar 2010 04:36:43 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 11 Mar 2010 04:36:43 +0000    

Click here for diff

M src/bin/pg_dump/pg_dump.c
M src/bin/psql/describe.c

Update comment for pg_constraint.conindid to mention that it's used for exclusion constraints. Not sure how we managed to update the comment for it in catalogs.sgml but miss this one.

commit   : 4df5c6c7195cf9382d249d6371d2c8e02d46a7ae    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 11 Mar 2010 03:36:22 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 11 Mar 2010 03:36:22 +0000    

Click here for diff

M src/include/catalog/pg_constraint.h

Fix incorrect comment about permissions checking being done in utility.c.

commit   : 70aedc0c55b633da814ec12a5705cf5b09f4d6ba    
  
author   : Robert Haas <[email protected]>    
date     : Wed, 10 Mar 2010 19:48:39 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Wed, 10 Mar 2010 19:48:39 +0000    

Click here for diff

Noted while reviewing a patch from KaiGai Kohei.  

M src/backend/commands/tablecmds.c

pg_start_backup() can use a share lock to lock ControlFileLock instead of an exclusive lock.

commit   : 17d8de0e6102d288a0745cb30499411c2e7ad213    
  
author   : Itagaki Takahiro <[email protected]>    
date     : Wed, 10 Mar 2010 02:04:48 +0000    
  
committer: Itagaki Takahiro <[email protected]>    
date     : Wed, 10 Mar 2010 02:04:48 +0000    

Click here for diff

The change is almost for code cleanup. Since there seems to be no  
performance benefits from it, backports should not be needed.  
  
Fujii Masao  

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

Preliminary release notes for releases 8.4.3, 8.3.10, 8.2.16, 8.1.20, 8.0.24, 7.4.28.

commit   : 8c9a120f6b1e181812a31830416488bac2f8ba92    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 10 Mar 2010 01:58:11 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 10 Mar 2010 01:58:11 +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

Use SvROK(sv) rather than directly checking SvTYPE(sv) == SVt_RV in plperl. The latter is considered unwarranted chumminess with the implementation, and can lead to crashes with recent Perl versions.

commit   : dac7a37dd3c66ba8cf120d997ea1a1c9d6a0d99d    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 9 Mar 2010 22:34:38 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 9 Mar 2010 22:34:38 +0000    

Click here for diff

Report and fix by Tim Bunce.  Back-patch to all versions containing the  
questionable coding pattern.  

M src/pl/plperl/plperl.c

Update time zone data files to tzdata release 2010d: DST law changes in Fiji, Samoa, Chile; corrections to recent changes in Paraguay and Bangladesh.

commit   : ff5ab91299ab2d9054d7571b2f7d931590288bd5    
  
author   : Alvaro Herrera <[email protected]>    
date     : Tue, 9 Mar 2010 14:27:28 +0000    
  
committer: Alvaro Herrera <[email protected]>    
date     : Tue, 9 Mar 2010 14:27:28 +0000    

Click here for diff

M src/timezone/data/asia
M src/timezone/data/australasia
M src/timezone/data/southamerica

ecpg now adds a unique counter to its varchar struct definitions to make these definitions unique, too. It used to use the linenumber but in the rare case of two definitions in one line this was not unique.

commit   : 600be01e896a981390f6f74cd09de674d754071f    
  
author   : Michael Meskes <[email protected]>    
date     : Tue, 9 Mar 2010 11:09:46 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Tue, 9 Mar 2010 11:09:46 +0000    

Click here for diff

M src/interfaces/ecpg/preproc/descriptor.c
M src/interfaces/ecpg/preproc/ecpg.header
M src/interfaces/ecpg/preproc/ecpg.trailer
M src/interfaces/ecpg/preproc/type.c
M src/interfaces/ecpg/preproc/type.h
M src/interfaces/ecpg/preproc/variable.c
M src/interfaces/ecpg/test/expected/preproc-array_of_struct.c
M src/interfaces/ecpg/test/expected/preproc-cursor.c
M src/interfaces/ecpg/test/expected/preproc-variable.c
M src/interfaces/ecpg/test/expected/preproc-variable.stderr
M src/interfaces/ecpg/test/preproc/variable.pgc

Add checks for valid encoding of query strings passed to SPI by plperl.

commit   : 6fcd5010e27348541a16a164988ef6a8a8ad9bcc    
  
author   : Andrew Dunstan <[email protected]>    
date     : Tue, 9 Mar 2010 02:48:33 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Tue, 9 Mar 2010 02:48:33 +0000    

Click here for diff

M src/pl/plperl/plperl.c

Return proper exit code (3) from psql when ON_ERROR_STOP=on and --single-transaction are both used and the failure happens in commit, e.g. failed deferred trigger. Also properly free BEGIN/COMMIT result structures from --single-transaction.

commit   : b989662bf14ba9c6b0e6b2d2171890a935f9bfcc    
  
author   : Bruce Momjian <[email protected]>    
date     : Mon, 8 Mar 2010 23:03:00 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Mon, 8 Mar 2010 23:03:00 +0000    

Click here for diff

Per report from Dominic Bevacqua  

M src/bin/psql/command.c

Add missing space in example.

commit   : aa8eed317257fd9d37e37aad669a8e8074c8b27e    
  
author   : Magnus Hagander <[email protected]>    
date     : Mon, 8 Mar 2010 12:38:37 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Mon, 8 Mar 2010 12:38:37 +0000    

Click here for diff

Tim Landscheidt  

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

Better test the content of the SQLSTATE string in ecpglib than the pointer.

commit   : 6e2cf34ec12f26682a88c14b0d01867ecff8face    
  
author   : Michael Meskes <[email protected]>    
date     : Mon, 8 Mar 2010 12:15:24 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Mon, 8 Mar 2010 12:15:24 +0000    

Click here for diff

M src/interfaces/ecpg/ecpglib/error.c

Require hostname to be set when using GSSAPI authentication. Without it, the GSSAPI libraries crash.

commit   : 2a0dec7888af165f48e5aa94b0262f8c0ac050b6    
  
author   : Magnus Hagander <[email protected]>    
date     : Mon, 8 Mar 2010 10:01:12 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Mon, 8 Mar 2010 10:01:12 +0000    

Click here for diff

Noted by Zdenek Kotala  

M src/interfaces/libpq/fe-auth.c

Disallow gssapi authentication on local connections, since it requires a hostname to function.

commit   : 6c6ee75ad352fc586c14ec94eb2cb772bc37d233    
  
author   : Magnus Hagander <[email protected]>    
date     : Mon, 8 Mar 2010 09:57:26 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Mon, 8 Mar 2010 09:57:26 +0000    

Click here for diff

Noted by Zdenek Kotala  

M src/backend/libpq/hba.c

Update time zone data files to tzdata release 2010c: DST law changes in Bangladesh, Mexico, Paraguay.

commit   : 676b26dd9a2470b3e28294f5ee37fa47c24df13c    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 8 Mar 2010 01:18:09 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 8 Mar 2010 01:18:09 +0000    

Click here for diff

M src/timezone/data/asia
M src/timezone/data/europe
M src/timezone/data/northamerica
M src/timezone/data/southamerica
M src/timezone/data/zone.tab

Revert patch for --psqlrc=FILENAME in psql.

commit   : 43d07d63b1970e7f8e1f0cecfd70b2a1a23c72a7    
  
author   : Magnus Hagander <[email protected]>    
date     : Sun, 7 Mar 2010 17:02:34 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Sun, 7 Mar 2010 17:02:34 +0000    

Click here for diff

M doc/src/sgml/ref/psql-ref.sgml
M src/bin/psql/help.c
M src/bin/psql/startup.c

commit   : 153012c7d1cb8e9b4aa766e94a5f7b9875ead470    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 6 Mar 2010 23:10:42 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 6 Mar 2010 23:10:42 +0000    

Click here for diff

Back-patch to 8.4, where column-level privileges were introduced.  
  
Stephen Frost  

M src/backend/catalog/aclchk.c

Add --psqlrc=FILENAME parameter to psql, to process an explicitly named file instead of ~/.psqlrc on startup.

commit   : 66c2cc2ba93ea9015b7ce43a2fb4edc601eaaf94    
  
author   : Magnus Hagander <[email protected]>    
date     : Sat, 6 Mar 2010 15:28:09 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Sat, 6 Mar 2010 15:28:09 +0000    

Click here for diff

M doc/src/sgml/ref/psql-ref.sgml
M src/bin/psql/help.c
M src/bin/psql/startup.c

When reading pg_hba.conf and similar files, do not treat @file as an inclusion unless (1) the @ isn't quoted and (2) the filename isn't empty. This guards against unexpectedly treating usernames or other strings in "flat files" as inclusion requests, as seen in a recent trouble report from Ed L. The empty-filename case would be guaranteed to misbehave anyway, because our subsequent path-munging behavior results in trying to read the directory containing the current input file.

commit   : b8b34b7b44ee7d932b2a1317232ff15fb72cf1a7    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 6 Mar 2010 00:45:49 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 6 Mar 2010 00:45:49 +0000    

Click here for diff

I think this might finally explain the report at  
http://archives.postgresql.org/pgsql-bugs/2004-05/msg00132.php  
of a crash after printing "authentication file token too long, skipping",  
since I was able to duplicate that message (though not a crash) on a  
platform where stdio doesn't refuse to read directories.  We never got  
far in investigating that problem, but now I'm suspicious that the trigger  
condition was an @ in the flat password file.  
  
Back-patch to all active branches since the problem can be demonstrated in all  
branches except HEAD.  The test case, creating a user named "@", doesn't cause  
a problem in HEAD since we got rid of the flat password file.  Nonetheless it  
seems like a good idea to not consider quoted @ as a file inclusion spec,  
so I changed HEAD too.  

M src/backend/libpq/hba.c

In case the connection magically disappears libecpg only returns an internal error sqlstate. This change makes it return a correct value..

commit   : 8eb81949a555075efefec70af37acf1f739dc420    
  
author   : Michael Meskes <[email protected]>    
date     : Fri, 5 Mar 2010 13:57:09 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Fri, 5 Mar 2010 13:57:09 +0000    

Click here for diff

M src/interfaces/ecpg/ecpglib/error.c
M src/interfaces/ecpg/test/expected/compat_informix-test_informix.stderr
M src/interfaces/ecpg/test/expected/preproc-whenever.stderr
M src/interfaces/ecpg/test/expected/sql-fetch.stderr

Fix IsBinaryCoercible to not confuse a cast using in/out functions with binary compatibility.

commit   : 3bdede3974569fa18b0d0684c07a6305df2fca06    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Thu, 4 Mar 2010 09:39:53 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Thu, 4 Mar 2010 09:39:53 +0000    

Click here for diff

Backpatch to 8.4 where INOUT casts were introduced.  

M src/backend/parser/parse_coerce.c

Add C comment about DDL changes possibly causing pg_dump errors.

commit   : 0ea0afa44452b617ce1259cff27b2a24247e8b8e    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 3 Mar 2010 23:38:44 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 3 Mar 2010 23:38:44 +0000    

Click here for diff

M src/bin/pg_dump/pg_dump.c

Document that "Q" is ignored by to_date and to_timestamp. Add C comment about the behavior.

commit   : ea066f87c3e98166639d9f08a15d5b551f62d3ed    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 3 Mar 2010 22:28:42 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 3 Mar 2010 22:28:42 +0000    

Click here for diff

Document that quotes in to_date, to_timestamp, to_number skip input  
characters.  

M doc/src/sgml/func.sgml
M src/backend/utils/adt/formatting.c

Fix a couple of places that would loop forever if attempts to read a stdio file set ferror() but never set feof(). This is known to be the case for recent glibc when trying to read a directory as a file, and might be true for other platforms/cases too. Per report from Ed L. (There is more that we ought to do about his report, but this is one easily identifiable issue.)

commit   : 61d75116a72329ba50cb9e89379eaf5ceab02419    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 3 Mar 2010 20:31:09 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 3 Mar 2010 20:31:09 +0000    

Click here for diff

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

Fix pg_dump of ACLs of foreign servers. The command to grant/revoke privileges of foreign servers is "GRANT ... ON *FOREIGN* SERVER ...".

commit   : eb1c3b5e3b076f919f4c7f4864492f8c323088d2    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Wed, 3 Mar 2010 20:10:48 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Wed, 3 Mar 2010 20:10:48 +0000    

Click here for diff

M src/bin/pg_dump/dumputils.c
M src/bin/pg_dump/pg_dump.c

Make contrib/xml2 use core xml.c's error handler, when available (that is, in versions >= 8.3). The core code is more robust and efficient than what was there before, and this also reduces risks involved in swapping different libxml error handler settings.

commit   : 5e47403be31fb7501ba6fb6ebda82300a10cf8b2    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 3 Mar 2010 19:10:22 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 3 Mar 2010 19:10:22 +0000    

Click here for diff

Before 8.3, there is still some risk of problems if add-on modules such as  
Perl invoke libxml without setting their own error handler.  Given the lack  
of reports I'm not sure there's a risk in practice, so I didn't take the  
step of actually duplicating the core code into older contrib/xml2 branches.  
Instead I just tweaked the existing code to ensure it didn't leave a dangling  
pointer to short-lived memory when throwing an error.  

M contrib/xml2/xpath.c
M contrib/xml2/xslt_proc.c

Export xml.c's libxml-error-handling support so that contrib/xml2 can use it too, instead of duplicating the functionality (badly).

commit   : 8bf14182cfeeae2ad5e5feb792701250e1218638    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 3 Mar 2010 17:29:45 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 3 Mar 2010 17:29:45 +0000    

Click here for diff

I renamed xml_init to pg_xml_init, because the former seemed just a bit too  
generic to be safe as a global symbol.  I considered likewise renaming  
xml_ereport to pg_xml_ereport, but felt that the reference to ereport probably  
made it sufficiently PG-centric already.  

M src/backend/utils/adt/xml.c
M src/include/utils/xml.h

Make iconv work like other optional libraries for MSVC.

commit   : 3a8497892c69352e48f5f26e2a2299ee5a7934a5    
  
author   : Andrew Dunstan <[email protected]>    
date     : Wed, 3 Mar 2010 03:29:37 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Wed, 3 Mar 2010 03:29:37 +0000    

Click here for diff

M src/tools/msvc/Solution.pm

Fix SGML markup.

commit   : 8b420770b3457d97e608442603f548573afd6bdf    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 3 Mar 2010 03:23:12 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 3 Mar 2010 03:23:12 +0000    

Click here for diff

M doc/src/sgml/ref/create_function.sgml

Restructure CREATE FUNCTION "NOTES" section to be shorter; move items into proper sections, per suggestion from Tom.

commit   : d859b17f0f262c39d9e1041bab75d34e0559e7e5    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 3 Mar 2010 03:14:08 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 3 Mar 2010 03:14:08 +0000    

Click here for diff

M doc/src/sgml/ref/create_function.sgml

Instead of trying (and failing) to allow <<label>> at the end of a DECLARE section, throw an error message saying explicitly that the label must go before DECLARE. Per investigation of a recent pgsql-novice question, this code did not work as intended in any modern PG version, maybe not ever. Allowing such a thing would only create ambiguity anyway, so it seems better to remove it than fix it.

commit   : 77e0d7b3eb0270fa48dc3e9b42b71618033f7ed5    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 3 Mar 2010 01:53:17 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 3 Mar 2010 01:53:17 +0000    

Click here for diff

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

Adjust max_standby_delay documentation to be clearer, and mention that two adjacent long-running queries have much less than max_standby_delay before query cancel is possible.

commit   : 7c55be792b6a59b3524041e63e976fd0c2dea38c    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 2 Mar 2010 23:38:17 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 2 Mar 2010 23:38:17 +0000    

Click here for diff

M doc/src/sgml/config.sgml

Add missing library and include dir for XSLT in MSVC builds

commit   : 05028cc33f1c3ff227cf4e3a8a438847f491be94    
  
author   : Andrew Dunstan <[email protected]>    
date     : Tue, 2 Mar 2010 22:02:31 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Tue, 2 Mar 2010 22:02:31 +0000    

Click here for diff

M src/tools/msvc/Solution.pm

Document the effect of max_standby_delay on increasing the delay of data from master to slave, and discourage its use during slave/master keep-xid-alive connections.

commit   : b098dbec0d068a2aa13effb11fe1e07fb1fcf5eb    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 2 Mar 2010 21:18:59 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 2 Mar 2010 21:18:59 +0000    

Click here for diff

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

Update keywords list for 9.0

commit   : 9393bc62c5af79b37b7734de4ed7a048a9e029ca    
  
author   : Peter Eisentraut <[email protected]>    
date     : Tue, 2 Mar 2010 20:40:48 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Tue, 2 Mar 2010 20:40:48 +0000    

Click here for diff

M doc/src/sgml/keywords.sgml

Do not run regression tests for contrib/xml2 on MSVC unless building with XML

commit   : 4ab911da74827133bfa7073b55332ef8a5a652ea    
  
author   : Andrew Dunstan <[email protected]>    
date     : Tue, 2 Mar 2010 17:06:51 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Tue, 2 Mar 2010 17:06:51 +0000    

Click here for diff

M src/tools/msvc/vcregress.pl

Cause plpgsql to throw an error if "INTO rowtype_var" is followed by a comma. Per bug #5352, this helps to provide a useful error message if the user tries to do something presently unsupported, namely use a rowtype variable as a member of a multiple-item INTO list.

commit   : e664969f0f3b7dc557d9df9d30d03b7103f214a3    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 2 Mar 2010 16:14:39 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 2 Mar 2010 16:14:39 +0000    

Click here for diff

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

Add XSLT defines for MSVC builds

commit   : 5600aaccbd5abed768f70b9cf336cc51a108bafb    
  
author   : Andrew Dunstan <[email protected]>    
date     : Tue, 2 Mar 2010 12:29:14 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Tue, 2 Mar 2010 12:29:14 +0000    

Click here for diff

M src/tools/msvc/Solution.pm

Fix translation of strings in psql \d output (translation in headers worked, but not in cells).

commit   : 95c833b41f084980f18b3ca6c72fac1c7376b9d6    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Mon, 1 Mar 2010 21:27:26 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Mon, 1 Mar 2010 21:27:26 +0000    

Click here for diff

M src/bin/psql/print.c

Fix numericlocale psql option when used with a null string and latex and troff formats; a null string must not be formatted as a numeric. The more exotic formats latex and troff also incorrectly formatted all strings as numerics when numericlocale was on.

commit   : 93df658a0189cfeda273f6efd2228578bb7933d3    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Mon, 1 Mar 2010 20:55:45 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Mon, 1 Mar 2010 20:55:45 +0000    

Click here for diff

Backpatch to 8.1 where numericlocale option was added.  
  
This fixes bug #5355 reported by Andy Lester.  

M src/bin/psql/describe.c
M src/bin/psql/print.c
M src/bin/psql/print.h

Fix contrib/xml2 so regression test still works when it's built without libxslt.

commit   : d6a6f8c6be4b6d6a9e90e92d91a83225bfe8d29d    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 1 Mar 2010 18:07:59 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 1 Mar 2010 18:07:59 +0000    

Click here for diff

This involves modifying the module to have a stable ABI, that is, the  
xslt_process() function still exists even without libxslt.  It throws a  
runtime error if called, but doesn't prevent executing the CREATE FUNCTION  
call.  This is a good thing anyway to simplify cross-version upgrades.  

M contrib/xml2/Makefile
A contrib/xml2/expected/xml2_1.out
M contrib/xml2/pgxml.sql.in
M contrib/xml2/xslt_proc.c

It's clearly now pointless to do backwards compatible parsing of this, since we released a version without it, so remove the comment that says we might want to do that.

commit   : 8373490607c437445163da8b7a44787f997ebf84    
  
author   : Magnus Hagander <[email protected]>    
date     : Mon, 1 Mar 2010 16:02:01 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Mon, 1 Mar 2010 16:02:01 +0000    

Click here for diff

M src/backend/libpq/hba.c

Buildfarm still unhappy, so I'll bet it's EACCES not EPERM.

commit   : 1ecafd622e4781899199f4e244a67b5c583c19a7    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 1 Mar 2010 14:54:00 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 1 Mar 2010 14:54:00 +0000    

Click here for diff

M src/port/copydir.c

Remove xmlCleanupParser calls from contrib/xml2.

commit   : a102090995858cdd324b1afe81f2f7735ef7f3a1    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 1 Mar 2010 05:16:35 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 1 Mar 2010 05:16:35 +0000    

Click here for diff

These are unnecessary and probably dangerous.  I don't see any immediate  
risk situations in the core XML support or contrib/xml2 itself, but there  
could be issues with external uses of libxml2, and in any case it's an  
accident waiting to happen.  

M contrib/xml2/xpath.c
M contrib/xml2/xslt_proc.c

add EPERM to the list of return codes to expect from opening directories based on Vista results

commit   : 73632828aca2d252b4ea14706da6d2514c2750f1    
  
author   : Greg Stark <[email protected]>    
date     : Mon, 1 Mar 2010 00:04:06 +0000    
  
committer: Greg Stark <[email protected]>    
date     : Mon, 1 Mar 2010 00:04:06 +0000    

Click here for diff

M src/port/copydir.c

Fix up memory management problems in contrib/xml2.

commit   : 936c4af1c6876e09e914eca91c37949e6885b02e    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 28 Feb 2010 21:31:57 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 28 Feb 2010 21:31:57 +0000    

Click here for diff

Get rid of the code that attempted to funnel libxml2's memory allocations  
into palloc.   We already knew from experience with the core xml datatype  
that trying to do this is simply not reliable.  Unlike the core code, I  
did not bother adding a lot of PG_TRY/PG_CATCH logic to try to ensure that  
everything is cleaned up on error exit.  Hence, we might leak some memory  
if one of these functions fails partway through.  Given the deprecated  
status of this contrib module and the fact that errors partway through  
the functions shouldn't be too common, it doesn't seem worth worrying about.  
  
Also fix a separate bug in xpath_table, that it did the wrong things  
if given a result tuple descriptor with less than 2 columns.  While  
such a case isn't very useful in practice, we shouldn't fail or stomp  
memory when it occurs.  
  
Add some simple regression tests based on all the reported crash cases  
that I have on hand.  
  
This should be back-patched, but let's see if the buildfarm likes it first.  

M contrib/xml2/Makefile
A contrib/xml2/expected/xml2.out
A contrib/xml2/sql/xml2.sql
M contrib/xml2/xpath.c

Second try at fsyncing directories in CREATE DATABASE. Let's see what the build farm says of opening directories read-only and ignoring EBADF from fsync of directories

commit   : 7d7db18a68b7a16df85e8dc9d345b3ee7f39d460    
  
author   : Greg Stark <[email protected]>    
date     : Sun, 28 Feb 2010 21:05:30 +0000    
  
committer: Greg Stark <[email protected]>    
date     : Sun, 28 Feb 2010 21:05:30 +0000    

Click here for diff

M src/port/copydir.c

Assorted code cleanup for contrib/xml2. No change in functionality, just make it a bit less ugly in places.

commit   : a12333eed2af3399cd70170c070a6aa9a4550bc5    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 28 Feb 2010 19:51:37 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 28 Feb 2010 19:51:37 +0000    

Click here for diff

M contrib/xml2/xpath.c
M contrib/xml2/xslt_proc.c

Update complex locale example in the documentation.

commit   : bd7246f65e222f57fa1c1bafcdfa87f4eec3f255    
  
author   : Bruce Momjian <[email protected]>    
date     : Sun, 28 Feb 2010 02:20:40 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sun, 28 Feb 2010 02:20:40 +0000    

Click here for diff

M doc/src/sgml/charset.sgml

*** empty log message ***

commit   : 0ff1c3e547d043f6d6f83e94ee48418a2bf4391b    
  
author   : Bruce Momjian <[email protected]>    
date     : Sun, 28 Feb 2010 02:19:47 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sun, 28 Feb 2010 02:19:47 +0000    

Click here for diff

M doc/src/sgml/charset.sgml

Make sure ecpg uses the same header files in the same order as the backend.

commit   : d6166a5d7ed2caf58790f528bbe271f6830d17c0    
  
author   : Michael Meskes <[email protected]>    
date     : Sat, 27 Feb 2010 21:56:16 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Sat, 27 Feb 2010 21:56:16 +0000    

Click here for diff

M src/interfaces/ecpg/test/expected/pgtypeslib-nan_test.c
M src/interfaces/ecpg/test/pgtypeslib/nan_test.pgc

Insert a hack into get_float8_nan (both core and ecpg copies) to deal with the fact that NetBSD/mips is currently broken, as per buildfarm member pika.

commit   : 4d17a2146ca7f48bca1da4c73a745fb09ec43ed3    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 27 Feb 2010 21:53:21 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 27 Feb 2010 21:53:21 +0000    

Click here for diff

Also add regression tests to ensure that get_float8_nan and get_float4_nan  
are exercised even on platforms where they are not needed by  
float8in/float4in.  
  
Zoltán Böszörményi and Tom Lane  

M src/backend/utils/adt/float.c
M src/interfaces/ecpg/ecpglib/data.c
M src/test/regress/expected/float4-exp-three-digits.out
M src/test/regress/expected/float4.out
M src/test/regress/expected/float8-exp-three-digits-win32.out
M src/test/regress/expected/float8-small-is-zero.out
M src/test/regress/expected/float8-small-is-zero_1.out
M src/test/regress/expected/float8.out
M src/test/regress/sql/float4.sql
M src/test/regress/sql/float8.sql

Back out unintended change to pg_locale.c.

commit   : bf379837dcd7f0f080d61955ed630b023a3b392d    
  
author   : Bruce Momjian <[email protected]>    
date     : Sat, 27 Feb 2010 20:20:44 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sat, 27 Feb 2010 20:20:44 +0000    

Click here for diff

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

Document ATAPI FLUSH CACHE EXT.

commit   : 9295eea8391abaa1f5ecaa50cc39c4e8165f74b4    
  
author   : Bruce Momjian <[email protected]>    
date     : Sat, 27 Feb 2010 20:16:17 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sat, 27 Feb 2010 20:16:17 +0000    

Click here for diff

M doc/src/sgml/wal.sgml
M src/backend/utils/adt/pg_locale.c

Document trace_recovery_messages() parameter as an enum, not string.

commit   : c685b942e532e0937d3495967fc0446dcf2a09e6    
  
author   : Bruce Momjian <[email protected]>    
date     : Sat, 27 Feb 2010 14:46:05 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sat, 27 Feb 2010 14:46:05 +0000    

Click here for diff

Fujii Masao  

M doc/src/sgml/config.sgml

Document max_standby_delay=-1 option, now that it's allowed again.

commit   : 7ab9305cc917181e04ed3f933003ee563872e212    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Sat, 27 Feb 2010 09:29:20 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Sat, 27 Feb 2010 09:29:20 +0000    

Click here for diff

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

Entity-ify a few new uses of literal <, >, and &.

commit   : 4ec700a8ec2104b887747c26622b819f83557127    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 27 Feb 2010 04:29:44 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 27 Feb 2010 04:29:44 +0000    

Click here for diff

M doc/src/sgml/ecpg.sgml
M doc/src/sgml/hstore.sgml
M doc/src/sgml/ref/create_table.sgml

Undo some more pgindent breakage. Per buildfarm.

commit   : 5667a53b78eda5bb9fe6944d8f35ef083b4d78a8    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 27 Feb 2010 03:55:52 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 27 Feb 2010 03:55:52 +0000    

Click here for diff

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

Use <> for libpq #include in example programs, per suggestion from Josh Berkus.

commit   : f7c93458a9520106fe65bdc550245511cb1e270e    
  
author   : Bruce Momjian <[email protected]>    
date     : Sat, 27 Feb 2010 03:41:34 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sat, 27 Feb 2010 03:41:34 +0000    

Click here for diff

M doc/src/sgml/libpq.sgml

Document ATAPI drive flush command, and mention SSD drives.

commit   : adfb44458163bf749a2ec04db52ae88051cca498    
  
author   : Bruce Momjian <[email protected]>    
date     : Sat, 27 Feb 2010 01:39:46 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sat, 27 Feb 2010 01:39:46 +0000    

Click here for diff

M doc/src/sgml/wal.sgml

Suggest gmake installcheck-world for pgindent testing.

commit   : 4b0f822c77491264ee14a34d6dc3effbeb6d695a    
  
author   : Bruce Momjian <[email protected]>    
date     : Fri, 26 Feb 2010 18:00:15 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Fri, 26 Feb 2010 18:00:15 +0000    

Click here for diff

M src/tools/pgindent/README

Revert pgindent changes to ecpg include files that are part of ecpg regession test output, and update pgindent script to avoid them in the future.

commit   : 2cc6ff45f8813593e7c8c0757cd13a7b63a41768    
  
author   : Bruce Momjian <[email protected]>    
date     : Fri, 26 Feb 2010 17:07:55 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Fri, 26 Feb 2010 17:07:55 +0000    

Click here for diff

M src/interfaces/ecpg/include/sqlda.h
M src/interfaces/ecpg/include/sqltypes.h
M src/interfaces/ecpg/test/preproc/struct.h
M src/tools/pgindent/README

Wording improvements to README.

commit   : 98c356c8ad8b37cbf18932800a73e57d2533bba6    
  
author   : Bruce Momjian <[email protected]>    
date     : Fri, 26 Feb 2010 15:57:34 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Fri, 26 Feb 2010 15:57:34 +0000    

Click here for diff

M src/tools/pgindent/README

Update pgindent docs to use maintainer-clean.

commit   : 55d1402f61d1f7a8c7e5cddd2362055c6afa326b    
  
author   : Bruce Momjian <[email protected]>    
date     : Fri, 26 Feb 2010 15:42:36 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Fri, 26 Feb 2010 15:42:36 +0000    

Click here for diff

M src/tools/pgindent/README

Document why pgindent wants a fresh CVS checkout.

commit   : e0d4b9c66f742145dfd244ab282f66e502eac74e    
  
author   : Bruce Momjian <[email protected]>    
date     : Fri, 26 Feb 2010 13:50:34 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Fri, 26 Feb 2010 13:50:34 +0000    

Click here for diff

M src/tools/pgindent/README

In vacuumdb --help, call analyze "statistics", not "hints".

commit   : 17b5b9909be74ded7ba54eb684bd311739ca80f2    
  
author   : Bruce Momjian <[email protected]>    
date     : Fri, 26 Feb 2010 04:14:36 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Fri, 26 Feb 2010 04:14:36 +0000    

Click here for diff

M src/bin/scripts/vacuumdb.c

Call output file typedefs.list; update README.

commit   : 637611585b31f05effd1b0912030f54a74b01a37    
  
author   : Bruce Momjian <[email protected]>    
date     : Fri, 26 Feb 2010 02:58:49 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Fri, 26 Feb 2010 02:58:49 +0000    

Click here for diff

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

Document pg_restore --jobs as a performance enhancement.

commit   : ca8e3a51a05b1265f36f82497b039d7783c3dd98    
  
author   : Bruce Momjian <[email protected]>    
date     : Fri, 26 Feb 2010 02:31:52 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Fri, 26 Feb 2010 02:31:52 +0000    

Click here for diff

M doc/src/sgml/perform.sgml

Update pgindent instructions.

commit   : 4f96ddd1d36f33831a8452a8f6f8f7d6a08f7cde    
  
author   : Bruce Momjian <[email protected]>    
date     : Fri, 26 Feb 2010 02:11:52 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Fri, 26 Feb 2010 02:11:52 +0000    

Click here for diff

M src/tools/pgindent/README

pgindent run for 9.0

commit   : 65e806cba1f0f154d51caa7478e7192ce58d1056    
  
author   : Bruce Momjian <[email protected]>    
date     : Fri, 26 Feb 2010 02:01:40 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Fri, 26 Feb 2010 02:01:40 +0000    

Click here for diff

M contrib/auto_explain/auto_explain.c
M contrib/btree_gist/btree_cash.c
M contrib/btree_gist/btree_date.c
M contrib/btree_gist/btree_float4.c
M contrib/btree_gist/btree_float8.c
M contrib/btree_gist/btree_inet.c
M contrib/btree_gist/btree_int2.c
M contrib/btree_gist/btree_int4.c
M contrib/btree_gist/btree_int8.c
M contrib/btree_gist/btree_interval.c
M contrib/btree_gist/btree_macaddr.c
M contrib/btree_gist/btree_oid.c
M contrib/btree_gist/btree_time.c
M contrib/btree_gist/btree_ts.c
M contrib/btree_gist/btree_utils_var.c
M contrib/dblink/dblink.c
M contrib/dict_xsyn/dict_xsyn.c
M contrib/hstore/hstore.h
M contrib/hstore/hstore_compat.c
M contrib/hstore/hstore_gin.c
M contrib/hstore/hstore_gist.c
M contrib/hstore/hstore_io.c
M contrib/hstore/hstore_op.c
M contrib/isn/isn.c
M contrib/isn/isn.h
M contrib/oid2name/oid2name.c
M contrib/passwordcheck/passwordcheck.c
M contrib/pg_standby/pg_standby.c
M contrib/pg_stat_statements/pg_stat_statements.c
M contrib/pgbench/pgbench.c
M contrib/unaccent/unaccent.c
M src/backend/access/common/reloptions.c
M src/backend/access/common/tupconvert.c
M src/backend/access/gin/ginbulk.c
M src/backend/access/gin/ginentrypage.c
M src/backend/access/gin/ginget.c
M src/backend/access/gist/gistget.c
M src/backend/access/gist/gistproc.c
M src/backend/access/gist/gistscan.c
M src/backend/access/hash/hash.c
M src/backend/access/hash/hashovfl.c
M src/backend/access/hash/hashpage.c
M src/backend/access/heap/heapam.c
M src/backend/access/heap/pruneheap.c
M src/backend/access/heap/rewriteheap.c
M src/backend/access/heap/tuptoaster.c
M src/backend/access/heap/visibilitymap.c
M src/backend/access/index/genam.c
M src/backend/access/index/indexam.c
M src/backend/access/nbtree/nbtinsert.c
M src/backend/access/nbtree/nbtpage.c
M src/backend/access/nbtree/nbtree.c
M src/backend/access/nbtree/nbtsort.c
M src/backend/access/nbtree/nbtutils.c
M src/backend/access/nbtree/nbtxlog.c
M src/backend/access/transam/multixact.c
M src/backend/access/transam/subtrans.c
M src/backend/access/transam/twophase.c
M src/backend/access/transam/twophase_rmgr.c
M src/backend/access/transam/varsup.c
M src/backend/access/transam/xact.c
M src/backend/access/transam/xlog.c
M src/backend/bootstrap/bootstrap.c
M src/backend/catalog/aclchk.c
M src/backend/catalog/catalog.c
M src/backend/catalog/dependency.c
M src/backend/catalog/heap.c
M src/backend/catalog/index.c
M src/backend/catalog/namespace.c
M src/backend/catalog/pg_aggregate.c
M src/backend/catalog/pg_constraint.c
M src/backend/catalog/pg_db_role_setting.c
M src/backend/catalog/pg_enum.c
M src/backend/catalog/pg_inherits.c
M src/backend/catalog/pg_largeobject.c
M src/backend/catalog/pg_proc.c
M src/backend/catalog/pg_shdepend.c
M src/backend/catalog/pg_type.c
M src/backend/catalog/toasting.c
M src/backend/commands/alter.c
M src/backend/commands/analyze.c
M src/backend/commands/async.c
M src/backend/commands/cluster.c
M src/backend/commands/comment.c
M src/backend/commands/constraint.c
M src/backend/commands/copy.c
M src/backend/commands/dbcommands.c
M src/backend/commands/define.c
M src/backend/commands/explain.c
M src/backend/commands/functioncmds.c
M src/backend/commands/indexcmds.c
M src/backend/commands/lockcmds.c
M src/backend/commands/proclang.c
M src/backend/commands/schemacmds.c
M src/backend/commands/tablecmds.c
M src/backend/commands/tablespace.c
M src/backend/commands/trigger.c
M src/backend/commands/typecmds.c
M src/backend/commands/user.c
M src/backend/commands/vacuum.c
M src/backend/commands/vacuumlazy.c
M src/backend/executor/execMain.c
M src/backend/executor/execQual.c
M src/backend/executor/execScan.c
M src/backend/executor/execTuples.c
M src/backend/executor/execUtils.c
M src/backend/executor/functions.c
M src/backend/executor/instrument.c
M src/backend/executor/nodeAgg.c
M src/backend/executor/nodeHash.c
M src/backend/executor/nodeIndexscan.c
M src/backend/executor/nodeLockRows.c
M src/backend/executor/nodeMergejoin.c
M src/backend/executor/nodeModifyTable.c
M src/backend/executor/nodeSeqscan.c
M src/backend/executor/nodeSubqueryscan.c
M src/backend/executor/nodeWindowAgg.c
M src/backend/executor/spi.c
M src/backend/libpq/auth.c
M src/backend/libpq/be-fsstubs.c
M src/backend/libpq/be-secure.c
M src/backend/libpq/crypt.c
M src/backend/libpq/hba.c
M src/backend/libpq/ip.c
M src/backend/libpq/md5.c
M src/backend/libpq/pqcomm.c
M src/backend/nodes/copyfuncs.c
M src/backend/nodes/equalfuncs.c
M src/backend/nodes/params.c
M src/backend/optimizer/geqo/geqo_eval.c
M src/backend/optimizer/geqo/geqo_random.c
M src/backend/optimizer/path/allpaths.c
M src/backend/optimizer/path/costsize.c
M src/backend/optimizer/path/equivclass.c
M src/backend/optimizer/path/indxpath.c
M src/backend/optimizer/path/joinpath.c
M src/backend/optimizer/path/joinrels.c
M src/backend/optimizer/path/pathkeys.c
M src/backend/optimizer/plan/createplan.c
M src/backend/optimizer/plan/initsplan.c
M src/backend/optimizer/plan/planner.c
M src/backend/optimizer/plan/setrefs.c
M src/backend/optimizer/plan/subselect.c
M src/backend/optimizer/prep/prepjointree.c
M src/backend/optimizer/prep/preptlist.c
M src/backend/optimizer/prep/prepunion.c
M src/backend/optimizer/util/clauses.c
M src/backend/optimizer/util/pathnode.c
M src/backend/optimizer/util/predtest.c
M src/backend/optimizer/util/relnode.c
M src/backend/optimizer/util/restrictinfo.c
M src/backend/parser/analyze.c
M src/backend/parser/parse_agg.c
M src/backend/parser/parse_clause.c
M src/backend/parser/parse_coerce.c
M src/backend/parser/parse_expr.c
M src/backend/parser/parse_func.c
M src/backend/parser/parse_oper.c
M src/backend/parser/parse_param.c
M src/backend/parser/parse_relation.c
M src/backend/parser/parse_target.c
M src/backend/parser/parse_utilcmd.c
M src/backend/port/win32/mingwcompat.c
M src/backend/port/win32/signal.c
M src/backend/port/win32/socket.c
M src/backend/port/win32_shmem.c
M src/backend/postmaster/autovacuum.c
M src/backend/postmaster/fork_process.c
M src/backend/postmaster/pgstat.c
M src/backend/postmaster/postmaster.c
M src/backend/regex/regcomp.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/rewrite/rewriteHandler.c
M src/backend/rewrite/rewriteManip.c
M src/backend/storage/buffer/bufmgr.c
M src/backend/storage/file/fd.c
M src/backend/storage/freespace/freespace.c
M src/backend/storage/ipc/procarray.c
M src/backend/storage/ipc/procsignal.c
M src/backend/storage/ipc/sinvaladt.c
M src/backend/storage/ipc/standby.c
M src/backend/storage/large_object/inv_api.c
M src/backend/storage/lmgr/lock.c
M src/backend/storage/lmgr/proc.c
M src/backend/storage/smgr/md.c
M src/backend/storage/smgr/smgr.c
M src/backend/tcop/dest.c
M src/backend/tcop/postgres.c
M src/backend/tcop/pquery.c
M src/backend/tcop/utility.c
M src/backend/tsearch/dict_synonym.c
M src/backend/tsearch/ts_parse.c
M src/backend/utils/adt/acl.c
M src/backend/utils/adt/array_userfuncs.c
M src/backend/utils/adt/arrayfuncs.c
M src/backend/utils/adt/date.c
M src/backend/utils/adt/dbsize.c
M src/backend/utils/adt/domains.c
M src/backend/utils/adt/enum.c
M src/backend/utils/adt/formatting.c
M src/backend/utils/adt/geo_ops.c
M src/backend/utils/adt/int.c
M src/backend/utils/adt/int8.c
M src/backend/utils/adt/misc.c
M src/backend/utils/adt/nabstime.c
M src/backend/utils/adt/numeric.c
M src/backend/utils/adt/pgstatfuncs.c
M src/backend/utils/adt/rowtypes.c
M src/backend/utils/adt/ruleutils.c
M src/backend/utils/adt/selfuncs.c
M src/backend/utils/adt/timestamp.c
M src/backend/utils/adt/txid.c
M src/backend/utils/adt/varbit.c
M src/backend/utils/adt/varlena.c
M src/backend/utils/cache/attoptcache.c
M src/backend/utils/cache/inval.c
M src/backend/utils/cache/lsyscache.c
M src/backend/utils/cache/plancache.c
M src/backend/utils/cache/relcache.c
M src/backend/utils/cache/relmapper.c
M src/backend/utils/cache/spccache.c
M src/backend/utils/error/elog.c
M src/backend/utils/fmgr/dfmgr.c
M src/backend/utils/fmgr/fmgr.c
M src/backend/utils/fmgr/funcapi.c
M src/backend/utils/hash/pg_crc.c
M src/backend/utils/init/miscinit.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/rbtree.c
M src/backend/utils/mmgr/aset.c
M src/backend/utils/mmgr/portalmem.c
M src/backend/utils/sort/tuplesort.c
M src/backend/utils/sort/tuplestore.c
M src/backend/utils/time/snapmgr.c
M src/backend/utils/time/tqual.c
M src/bin/initdb/initdb.c
M src/bin/pg_ctl/pg_ctl.c
M src/bin/pg_dump/dumputils.c
M src/bin/pg_dump/dumputils.h
M src/bin/pg_dump/pg_backup_archiver.c
M src/bin/pg_dump/pg_backup_archiver.h
M src/bin/pg_dump/pg_backup_db.c
M src/bin/pg_dump/pg_backup_tar.c
M src/bin/pg_dump/pg_dump.c
M src/bin/pg_dump/pg_dump.h
M src/bin/pg_dump/pg_dump_sort.c
M src/bin/pg_dump/pg_dumpall.c
M src/bin/pg_resetxlog/pg_resetxlog.c
M src/bin/psql/command.c
M src/bin/psql/describe.c
M src/bin/psql/input.c
M src/bin/psql/input.h
M src/bin/psql/large_obj.c
M src/bin/psql/mainloop.c
M src/bin/psql/print.c
M src/bin/psql/print.h
M src/bin/psql/startup.c
M src/bin/psql/tab-complete.c
M src/bin/scripts/common.c
M src/bin/scripts/droplang.c
M src/bin/scripts/vacuumdb.c
M src/include/access/genam.h
M src/include/access/gin.h
M src/include/access/heapam.h
M src/include/access/htup.h
M src/include/access/itup.h
M src/include/access/nbtree.h
M src/include/access/relscan.h
M src/include/access/skey.h
M src/include/access/slru.h
M src/include/access/tupconvert.h
M src/include/access/tuptoaster.h
M src/include/access/xact.h
M src/include/access/xlog.h
M src/include/access/xlog_internal.h
M src/include/c.h
M src/include/catalog/catalog.h
M src/include/catalog/heap.h
M src/include/catalog/indexing.h
M src/include/catalog/pg_class.h
M src/include/catalog/pg_constraint.h
M src/include/catalog/pg_control.h
M src/include/catalog/pg_db_role_setting.h
M src/include/catalog/pg_default_acl.h
M src/include/catalog/pg_enum.h
M src/include/catalog/pg_largeobject.h
M src/include/catalog/pg_largeobject_metadata.h
M src/include/catalog/pg_proc.h
M src/include/commands/cluster.h
M src/include/commands/defrem.h
M src/include/commands/explain.h
M src/include/executor/executor.h
M src/include/executor/instrument.h
M src/include/executor/spi.h
M src/include/executor/spi_priv.h
M src/include/fmgr.h
M src/include/funcapi.h
M src/include/libpq/be-fsstubs.h
M src/include/libpq/ip.h
M src/include/libpq/libpq.h
M src/include/libpq/pqsignal.h
M src/include/mb/pg_wchar.h
M src/include/miscadmin.h
M src/include/nodes/execnodes.h
M src/include/nodes/params.h
M src/include/nodes/parsenodes.h
M src/include/nodes/plannodes.h
M src/include/nodes/primnodes.h
M src/include/nodes/relation.h
M src/include/optimizer/clauses.h
M src/include/optimizer/geqo.h
M src/include/optimizer/geqo_recombination.h
M src/include/optimizer/geqo_selection.h
M src/include/optimizer/pathnode.h
M src/include/optimizer/planmain.h
M src/include/parser/analyze.h
M src/include/parser/gramparse.h
M src/include/parser/keywords.h
M src/include/parser/parse_agg.h
M src/include/parser/parse_cte.h
M src/include/parser/parse_node.h
M src/include/parser/parse_param.h
M src/include/parser/scanner.h
M src/include/pgstat.h
M src/include/port.h
M src/include/postmaster/autovacuum.h
M src/include/replication/walreceiver.h
M src/include/replication/walsender.h
M src/include/rewrite/rewriteManip.h
M src/include/storage/fd.h
M src/include/storage/lock.h
M src/include/storage/lwlock.h
M src/include/storage/pmsignal.h
M src/include/storage/proc.h
M src/include/storage/procsignal.h
M src/include/storage/sinval.h
M src/include/storage/smgr.h
M src/include/storage/standby.h
M src/include/tcop/tcopprot.h
M src/include/tcop/utility.h
M src/include/utils/acl.h
M src/include/utils/builtins.h
M src/include/utils/catcache.h
M src/include/utils/datetime.h
M src/include/utils/pg_crc.h
M src/include/utils/plancache.h
M src/include/utils/rbtree.h
M src/include/utils/rel.h
M src/include/utils/relcache.h
M src/include/utils/relmapper.h
M src/include/utils/spccache.h
M src/include/utils/tuplesort.h
M src/interfaces/ecpg/compatlib/informix.c
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/ecpglib/prepare.c
M src/interfaces/ecpg/ecpglib/sqlda.c
M src/interfaces/ecpg/ecpglib/typename.c
M src/interfaces/ecpg/include/ecpg_informix.h
M src/interfaces/ecpg/include/ecpglib.h
M src/interfaces/ecpg/include/ecpgtype.h
M src/interfaces/ecpg/include/pgtypes_interval.h
M src/interfaces/ecpg/include/sqlda-compat.h
M src/interfaces/ecpg/include/sqlda-native.h
M src/interfaces/ecpg/include/sqlda.h
M src/interfaces/ecpg/include/sqltypes.h
M src/interfaces/ecpg/preproc/c_keywords.c
M src/interfaces/ecpg/preproc/descriptor.c
M src/interfaces/ecpg/preproc/ecpg.c
M src/interfaces/ecpg/preproc/type.h
M src/interfaces/ecpg/preproc/variable.c
M src/interfaces/ecpg/test/preproc/struct.h
M src/interfaces/libpq/fe-connect.c
M src/interfaces/libpq/fe-exec.c
M src/interfaces/libpq/fe-secure.c
M src/interfaces/libpq/libpq-fe.h
M src/interfaces/libpq/libpq-int.h
M src/pl/plperl/plperl.c
M src/pl/plpgsql/src/pl_comp.c
M src/pl/plpgsql/src/pl_exec.c
M src/pl/plpgsql/src/pl_funcs.c
M src/pl/plpgsql/src/pl_handler.c
M src/pl/plpgsql/src/pl_scanner.c
M src/pl/plpgsql/src/plpgsql.h
M src/pl/plpython/plpython.c
M src/pl/tcl/pltcl.c
M src/port/chklocale.c
M src/port/copydir.c
M src/port/dirmod.c
M src/port/exec.c
M src/port/win32env.c
M src/test/regress/pg_regress.c
M src/timezone/pgtz.c
M src/tools/fsync/test_fsync.c
M src/tools/ifaddrs/test_ifaddrs.c

Add pgindent typedefs file to CVS.

commit   : 16040575a04486d8e0823b4e304f4933144baf90    
  
author   : Bruce Momjian <[email protected]>    
date     : Fri, 26 Feb 2010 01:55:35 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Fri, 26 Feb 2010 01:55:35 +0000    

Click here for diff

A src/tools/pgindent/typedefs.pl

Update pgindent instructions to avoid changes to flex output files.

commit   : a8307560e0e261b9669a92c2aa0f917b1f01c699    
  
author   : Bruce Momjian <[email protected]>    
date     : Fri, 26 Feb 2010 01:40:15 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Fri, 26 Feb 2010 01:40:15 +0000    

Click here for diff

M src/tools/pgindent/README

Remove 'emphasis' markup inside literal; not allowed.

commit   : 87f609c4feb14d2bbe77b80b0e7369908a24eda3    
  
author   : Bruce Momjian <[email protected]>    
date     : Fri, 26 Feb 2010 01:11:46 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Fri, 26 Feb 2010 01:11:46 +0000    

Click here for diff

M doc/src/sgml/datatype.sgml

Document that after triggers that need to see changed rows should not be marked stable.

commit   : d98039d8966dee1ce8a7dfc8687ebdbb4d77b3c6    
  
author   : Bruce Momjian <[email protected]>    
date     : Thu, 25 Feb 2010 22:24:00 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Thu, 25 Feb 2010 22:24:00 +0000    

Click here for diff

M doc/src/sgml/ref/create_function.sgml

Allow predicate_refuted_by() to deduce that NOT A refutes A.

commit   : 99419d36f2214458cc1f495b80be36da95291596    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 25 Feb 2010 20:59:53 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 25 Feb 2010 20:59:53 +0000    

Click here for diff

We had originally made the stronger assumption that NOT A refutes any B  
if B implies A, but this fails in three-valued logic, because we need to  
prove B is false not just that it's not true.  However the logic does  
go through if B is equal to A.  
  
Recognizing this limited case is enough to handle examples that arise when  
we have simplified "bool_var = true" or "bool_var = false" to just "bool_var"  
or "NOT bool_var".  If we had not done that simplification then the  
btree-operator proof logic would have been able to prove that the expressions  
were contradictory, but only for identical expressions being compared to the  
constants; so handling identical A and B covers all the same cases.  
  
The motivation for doing this is to avoid unexpected asymmetrical behavior  
when a partitioned table uses a boolean partitioning column, as in today's  
gripe from Dominik Sander.  
  
Back-patch to 8.2, which is as far back as predicate_refuted_by attempts to  
do anything at all with NOTs.  

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

Document clearly the meaning of none/all for log_statements.

commit   : 1951c97805d52e56b3fbdb2618fcde56d11a79f4    
  
author   : Bruce Momjian <[email protected]>    
date     : Thu, 25 Feb 2010 19:20:38 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Thu, 25 Feb 2010 19:20:38 +0000    

Click here for diff

M doc/src/sgml/config.sgml

Add C comment that do_to_timestamp() lacks error checking.

commit   : 89ce2bfc131ffa5249e162c02ead66669adb3340    
  
author   : Bruce Momjian <[email protected]>    
date     : Thu, 25 Feb 2010 18:36:14 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Thu, 25 Feb 2010 18:36:14 +0000    

Click here for diff

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

Clearly document that timestamp alone means timestamp without timezone, per SQL standard, and mention 7.3 behavior at the end.

commit   : bfd0cd5568e8fe039cb002bcf97d1d2dd67f6493    
  
author   : Bruce Momjian <[email protected]>    
date     : Thu, 25 Feb 2010 18:16:53 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Thu, 25 Feb 2010 18:16:53 +0000    

Click here for diff

M doc/src/sgml/datatype.sgml

Add configuration parameter ssl_renegotiation_limit to control how often we do SSL session key renegotiation. Can be set to 0 to disable renegotiation completely, which is required if a broken SSL library is used (broken patches to CVE-2009-3555 a known cause) or when using a client library that can't do renegotiation.

commit   : 413d34be4e1f47ce52b02a6c60858ef6f1285578    
  
author   : Magnus Hagander <[email protected]>    
date     : Thu, 25 Feb 2010 13:26:16 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Thu, 25 Feb 2010 13:26:16 +0000    

Click here for diff

M doc/src/sgml/config.sgml
M src/backend/libpq/be-secure.c
M src/backend/utils/misc/guc.c
M src/backend/utils/misc/postgresql.conf.sample

Fix typos, per Richard Huxton

commit   : 0ccc5153f81ccf71c255cd05186d0bb31a29f779    
  
author   : Magnus Hagander <[email protected]>    
date     : Thu, 25 Feb 2010 10:02:30 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Thu, 25 Feb 2010 10:02:30 +0000    

Click here for diff

M doc/src/sgml/plperl.sgml

Clarify that the connection string for primary_conninfo is in the same format as in PQconnectdb(). As pointed out by Thom Brown.

commit   : 0a4807dd93895924ae43d9636b2bf0a3354f3b90    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Thu, 25 Feb 2010 09:32:19 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Thu, 25 Feb 2010 09:32:19 +0000    

Click here for diff

M doc/src/sgml/recovery-config.sgml

Fix typo.

commit   : 6e11a10c4ca2f01143d237e9d110a20d63987291    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Thu, 25 Feb 2010 09:16:42 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Thu, 25 Feb 2010 09:16:42 +0000    

Click here for diff

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

Small streaming replication document improvements. Be more explicit that it's asynchronous.

commit   : 7c6c09c0390d8e798605533c7063915b98f7cc0d    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Thu, 25 Feb 2010 08:57:47 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Thu, 25 Feb 2010 08:57:47 +0000    

Click here for diff

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

Fix streaming replication starting at the very first WAL segment. Per complaint from Greg Stark.

commit   : cd2b7d3c4d1b3daa4f8e07d5702ed9e699adc361    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Thu, 25 Feb 2010 07:31:40 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Thu, 25 Feb 2010 07:31:40 +0000    

Click here for diff

M src/backend/replication/libpqwalreceiver/libpqwalreceiver.c
M src/backend/replication/walsender.c

Improve warning about creating nested named subroutines in plperl. Per discussion.

commit   : aed0829c63e6b167082235da0718c906ba248229    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 25 Feb 2010 03:08:07 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 25 Feb 2010 03:08:07 +0000    

Click here for diff

M doc/src/sgml/plperl.sgml

Make pg_stop_backup's reporting a bit more verbose in hopes of making error cases less intimidating for novices. Per discussion.

commit   : a2239b96e0236b87ef479456db9f719e17f35a22    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 25 Feb 2010 02:17:50 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 25 Feb 2010 02:17:50 +0000    

Click here for diff

Greg Smith  

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

Allow zero-dimensional (ie, empty) arrays in contrib/ltree operations.

commit   : 29d2f86a312e0c2060d4482649b26e9c33b760b5    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 24 Feb 2010 18:02:24 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 24 Feb 2010 18:02:24 +0000    

Click here for diff

The main motivation for changing this is bug #4921, in which it's pointed out  
that it's no longer safe to apply ltree operations to the result of  
ARRAY(SELECT ...) if the sub-select might return no rows.  Before 8.3,  
the ARRAY() construct would return NULL, which might or might not be helpful  
but at least it wouldn't result in an error.  Now it returns an empty array  
which results in a failure for no good reason, since the ltree operations  
are all perfectly capable of dealing with zero-element arrays.  
  
As far as I can find, these ltree functions are the only places where zero  
array dimensionality is rejected unnecessarily.  
  
Back-patch to 8.3 to prevent behavioral regression of queries that worked  
in older releases.  

M contrib/ltree/_ltree_gist.c
M contrib/ltree/_ltree_op.c
M contrib/ltree/lquery_op.c
M contrib/ltree/ltree_gist.c

Document that pg_restore -t can use -n for its schema qualification.

commit   : 673fb4da02fa574756818bc761c41b7bc0eb4964    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 24 Feb 2010 16:27:40 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 24 Feb 2010 16:27:40 +0000    

Click here for diff

M doc/src/sgml/ref/pg_restore.sgml

Revert removal of pre-7.4 documenation behavior mentions.

commit   : 99ef5152801789dfe04b76a4feb675e4191b72e5    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 24 Feb 2010 15:54:31 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 24 Feb 2010 15:54:31 +0000    

Click here for diff

M doc/src/sgml/datatype.sgml
M doc/src/sgml/ddl.sgml
M doc/src/sgml/libpq.sgml
M doc/src/sgml/protocol.sgml
M doc/src/sgml/rules.sgml
M doc/src/sgml/xindex.sgml

Remove stray semicolon, per report from strk

commit   : b5a6a52fba5261ab04b287dc3fa4de2bb9c6fbdc    
  
author   : Alvaro Herrera <[email protected]>    
date     : Wed, 24 Feb 2010 14:10:24 +0000    
  
committer: Alvaro Herrera <[email protected]>    
date     : Wed, 24 Feb 2010 14:10:24 +0000    

Click here for diff

M doc/src/sgml/mvcc.sgml

commit   : 912eb88c7d2511086cb6f5257b788d8944d7344f    
  
author   : Itagaki Takahiro <[email protected]>    
date     : Wed, 24 Feb 2010 05:20:49 +0000    
  
committer: Itagaki Takahiro <[email protected]>    
date     : Wed, 24 Feb 2010 05:20:49 +0000    

Click here for diff

M contrib/dblink/dblink.c

Remove pre-7.4 documentaiton mentions, now that 8.0 is the oldest supported release.

commit   : 7bfd95a4a2d2016e213461401718ba7cd813ed50    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 24 Feb 2010 03:33:49 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 24 Feb 2010 03:33:49 +0000    

Click here for diff

M doc/src/sgml/datatype.sgml
M doc/src/sgml/ddl.sgml
M doc/src/sgml/libpq.sgml
M doc/src/sgml/protocol.sgml
M doc/src/sgml/rules.sgml
M doc/src/sgml/xindex.sgml

Fix patch for printing backend and pg_dump versions so that it works in a desirable fashion in archive-dump cases, ie you should get the pg_dump version not the pg_restore version.

commit   : 6a2e19d96d05130399328d1416b88e6f9943a5ff    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 24 Feb 2010 02:42:55 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 24 Feb 2010 02:42:55 +0000    

Click here for diff

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

Un-break pg_dump for the case of zero-column tables.

commit   : 354547b0155ca9c2918d24b9dbf48eb04862ee38    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 24 Feb 2010 02:15:58 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 24 Feb 2010 02:15:58 +0000    

Click here for diff

This was evidently broken by the CREATE TABLE OF TYPE patch.  It would have  
been noticed if anyone had bothered to try dumping and restoring the  
regression database ...  

M src/bin/pg_dump/pg_dump.c

Use CREATE OR REPLACE LANGUAGE in pg_dump to avoid the need for a couple of significantly uglier kluges that were working around the change in plpgsql's preinstalled status.

commit   : 24ac52c3f1f7f408820dc9eff001e2c6bc0941a1    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 24 Feb 2010 01:57:16 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 24 Feb 2010 01:57:16 +0000    

Click here for diff

M src/bin/pg_dump/pg_dump.c

Make pg_regress use CREATE OR REPLACE LANGUAGE, so that --load-language will work whether or not the specified language is preinstalled. This responds to some complaints about having to change test scripts because plpgsql is preinstalled as of 9.0.

commit   : b951c03f88129d2814dca5239f57653c8d6284d1    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 24 Feb 2010 01:35:14 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 24 Feb 2010 01:35:14 +0000    

Click here for diff

M src/test/regress/pg_regress.c

Add an OR REPLACE option to CREATE LANGUAGE.

commit   : 11b58470581f1c8cfad670c57ac3ffe77d1f0cdd    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 23 Feb 2010 22:51:43 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 23 Feb 2010 22:51:43 +0000    

Click here for diff

This operates in the same way as other CREATE OR REPLACE commands, ie,  
it replaces everything but the ownership and ACL lists of an existing  
entry, and requires the caller to have owner privileges for that entry.  
  
While modifying an existing language has some use in development scenarios,  
in typical usage all the "replaced" values come from pg_pltemplate so there  
will be no actual change in the language definition.  The reason for adding  
this is mainly to allow programs to ensure that a language exists without  
triggering an error if it already does exist.  
  
This commit just adds and documents the new option.  A followon patch  
will use it to clean up some unpleasant cases in pg_dump and pg_regress.  

M doc/src/sgml/ref/create_language.sgml
M src/backend/commands/proclang.c
M src/backend/nodes/copyfuncs.c
M src/backend/nodes/equalfuncs.c
M src/backend/parser/gram.y
M src/include/nodes/parsenodes.h

Modify freebsd start script to just exit 0 with message.

commit   : c4fc082a5ac11c1206ed6707e3644914db36c6c3    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 23 Feb 2010 22:17:25 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 23 Feb 2010 22:17:25 +0000    

Click here for diff

M contrib/start-scripts/freebsd

Update startup scripts for Linux and FreeBSD.

commit   : 1f0cf56be2b3289a1d46c503bbaef602720a3fe7    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 23 Feb 2010 22:15:35 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 23 Feb 2010 22:15:35 +0000    

Click here for diff

Kevin Grittner  

M contrib/start-scripts/freebsd
M contrib/start-scripts/linux

Have pg_dump (-v) verbose mode output the pg_dump and server versions in text output mode, like we do in custom output mode.

commit   : 28cdf5f7ab83717ad76773ab1a24e957e91a193d    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 23 Feb 2010 21:48:32 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 23 Feb 2010 21:48:32 +0000    

Click here for diff

Jim Cox  

M src/bin/pg_dump/pg_backup_archiver.c

Revert recent COPY manual change about encoding; add mention of "server".

commit   : edf344a5e3bde87d8d58ca239842e0301039a9b9    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 23 Feb 2010 21:38:35 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 23 Feb 2010 21:38:35 +0000    

Click here for diff

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

Fix configure's regexp for extracting the Perl version number from perl -v output. Per bug #5339, Perl 5.11 has changed the format of that output enough to break the previous coding.

commit   : dc43e2f54064504426f7f8d9219608476bd27415    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 23 Feb 2010 18:35:07 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 23 Feb 2010 18:35:07 +0000    

Click here for diff

Alex Hunsaker  

M config/perl.m4
M configure

Clarify statements about tar archive format.

commit   : 1bc8acca252275f11537e871ceb6fcc667982dd1    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 23 Feb 2010 17:28:09 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 23 Feb 2010 17:28:09 +0000    

Click here for diff

M doc/src/sgml/ref/pg_dump.sgml

Minor style policing for error messages in pg_dump tar code. Notably, change "dumping data out of order is not supported" to "restoring data out of order is not supported", because you get that error during pg_restore not pg_dump. Also fix some comments that didn't look so good after being pgindented as perhaps they did originally.

commit   : 8a12aac32b49bb5d71898a19b0756e83a5c032b4    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 23 Feb 2010 16:55:22 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 23 Feb 2010 16:55:22 +0000    

Click here for diff

M src/bin/pg_dump/pg_backup_tar.c

Revert recent change of to_char('HH12') handling for intervals; instead improve documentation, and add C comment.

commit   : a54803149a7beeea6dc8e624c3da561b7f6f5fc9    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 23 Feb 2010 16:14:26 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 23 Feb 2010 16:14:26 +0000    

Click here for diff

M doc/src/sgml/func.sgml
M src/backend/utils/adt/formatting.c

Secondary patch to fix interval to_char() for "HH" where hours >= 12.

commit   : 4f56dc3fb4266565650542f2a8cb6babe4b46d11    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 23 Feb 2010 06:29:01 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 23 Feb 2010 06:29:01 +0000    

Click here for diff

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

Some platforms reject fsync() on files opened O_RDONLY.

commit   : c3a24e3143e35af141145cdb082a6e66dded922b    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 23 Feb 2010 05:44:55 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 23 Feb 2010 05:44:55 +0000    

Click here for diff

M src/port/copydir.c

Make documentation more direct about the handling of COPY files based on the client encoding.

commit   : 1180b640759b32d63aa95fe8c4a44bec06c65ccb    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 23 Feb 2010 05:17:33 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 23 Feb 2010 05:17:33 +0000    

Click here for diff

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

Document that expression indexes that call functions allow function-level statistics.

commit   : 1379fb052fd18e87a5102e793bdb5b8bc2bf5d17    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 23 Feb 2010 02:47:27 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 23 Feb 2010 02:47:27 +0000    

Click here for diff

M doc/src/sgml/maintenance.sgml

Supress convertion of zero hours to '12' for intervals when using to_char with HH, e.g.

commit   : 7cdadc62eac79ee9bd05b6a74d3ddfb96924a439    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 23 Feb 2010 01:42:19 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 23 Feb 2010 01:42:19 +0000    

Click here for diff

	to_char(interval '0d 0h 12m 44s', 'DD HH24 MI SS');  
  
now returns:  
  
	 00 00 12 44  
  
not:  
  
	 00 12 12 44  

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

Update pg_restore documentation to show new pg_restore custom listing format.

commit   : 485b19ec3c60697be5a06da90b75397805146ef3    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 23 Feb 2010 00:21:19 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 23 Feb 2010 00:21:19 +0000    

Click here for diff

Pavel Golub  

M doc/src/sgml/ref/pg_restore.sgml

Remove long-commented-out paragraph in documentation about function inheritance in create table, per Andrew Dunstan.

commit   : 752672ced766e39f00375afca730db13b861d624    
  
author   : Bruce Momjian <[email protected]>    
date     : Mon, 22 Feb 2010 23:51:40 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Mon, 22 Feb 2010 23:51:40 +0000    

Click here for diff

M doc/src/sgml/ref/create_table.sgml

Document that pg_ctl cares about the PGHOST environment variable.

commit   : c750cb4bd35d884b2a04bd8776fe0cee9b491760    
  
author   : Bruce Momjian <[email protected]>    
date     : Mon, 22 Feb 2010 22:30:10 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Mon, 22 Feb 2010 22:30:10 +0000    

Click here for diff

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

Revert configure warning to use "official distribution".

commit   : b4689bfb00a6d256a74a0c275378a0b42a22acfd    
  
author   : Bruce Momjian <[email protected]>    
date     : Mon, 22 Feb 2010 21:16:50 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Mon, 22 Feb 2010 21:16:50 +0000    

Click here for diff

M config/missing
M config/perl.m4
M config/programs.m4
M configure

Remove protocol documentation paragraph about environment variable passing being "covered elsewhere", per Dave Page.

commit   : f235c9208d2b411f14e5a50edac7dbdaebb10cb0    
  
author   : Bruce Momjian <[email protected]>    
date     : Mon, 22 Feb 2010 18:12:04 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Mon, 22 Feb 2010 18:12:04 +0000    

Click here for diff

M doc/src/sgml/protocol.sgml

Use the term "bundled distribution" instead of "official distribution" in configure warnings.

commit   : 6a0b6421e27a27f35d847024dca33750403859ab    
  
author   : Bruce Momjian <[email protected]>    
date     : Mon, 22 Feb 2010 18:02:06 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Mon, 22 Feb 2010 18:02:06 +0000    

Click here for diff

M config/missing
M config/perl.m4
M config/programs.m4
M configure

Briefly document in two places that pg_dump and pg_dumpall cannot be used for continuous archiving.

commit   : dd1486ccd485ca6b9580dba0a7e478393a1b8fcb    
  
author   : Bruce Momjian <[email protected]>    
date     : Mon, 22 Feb 2010 17:15:10 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Mon, 22 Feb 2010 17:15:10 +0000    

Click here for diff

M doc/src/sgml/backup.sgml

Let's try forcing errno to zero before issuing fsync. The current buildfarm results claiming EBADF seem improbable enough that I'm not convinced fsync is really returning that --- could it be failing to set errno at all?

commit   : 9dd6c4686bc496912f1b4958139931ef6a6f029b    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 22 Feb 2010 15:29:46 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 22 Feb 2010 15:29:46 +0000    

Click here for diff

M src/port/copydir.c

Adjust pg_fsync_writethrough so that it will set errno when failing on a platform that doesn't support this operation. The former coding would allow an unrelated errno to be reported, which would be quite misleading. Not sure if this has anything to do with the current buildfarm failures, but it's certainly bogus as-is.

commit   : e9a383303ce2f47a2733419e8d23e9e5a20b5ff2    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 22 Feb 2010 15:26:14 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 22 Feb 2010 15:26:14 +0000    

Click here for diff

M src/backend/storage/file/fd.c

Move documentation of all recovery.conf option to a new chapter. They used to be scattered between the "backup and restore" and "streaming replication" chapters.

commit   : 3229db2d42969a4cc6434cb612ca03a19e661b43    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Mon, 22 Feb 2010 11:47:30 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Mon, 22 Feb 2010 11:47:30 +0000    

Click here for diff

M doc/src/sgml/backup.sgml
M doc/src/sgml/filelist.sgml
M doc/src/sgml/high-availability.sgml
M doc/src/sgml/postgres.sgml
A doc/src/sgml/recovery-config.sgml

Fix multiple copy and paste-o's. No wonder this code didn't work.

commit   : 9738beb3d0176772da71b693e7f05ec94c2caf0d    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 22 Feb 2010 02:50:10 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 22 Feb 2010 02:50:10 +0000    

Click here for diff

M src/port/copydir.c

Oops, don't forget to rewind the directory before scanning it to fsync files in CREATE DATABASE

commit   : b21121cd3d5f2b9045a02a9dd43ff98a102e0def    
  
author   : Greg Stark <[email protected]>    
date     : Mon, 22 Feb 2010 00:11:05 +0000    
  
committer: Greg Stark <[email protected]>    
date     : Mon, 22 Feb 2010 00:11:05 +0000    

Click here for diff

M src/port/copydir.c

Adjust sample auto-explain output to reflect query text inclusion.

commit   : f90a4c5df5a74ffe7f6b5346bcbae91336e52b6f    
  
author   : Andrew Dunstan <[email protected]>    
date     : Sat, 20 Feb 2010 22:24:29 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Sat, 20 Feb 2010 22:24:29 +0000    

Click here for diff

M doc/src/sgml/auto-explain.sgml

Clean up handling of XactReadOnly and RecoveryInProgress checks.

commit   : 05d8a561ff85db1545f5768fe8d8dc9d99ad2ef7    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 20 Feb 2010 21:24:02 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 20 Feb 2010 21:24:02 +0000    

Click here for diff

Add some checks that seem logically necessary, in particular let's make  
real sure that HS slave sessions cannot create temp tables.  (If they did  
they would think that temp tables belonging to the master's session with  
the same BackendId were theirs.  We *must* not allow myTempNamespace to  
become set in a slave session.)  
  
Change setval() and nextval() so that they are only allowed on temp sequences  
in a read-only transaction.  This seems consistent with what we allow for  
table modifications in read-only transactions.  Since an HS slave can't have a  
temp sequence, this also provides a nicer cure for the setval PANIC reported  
by Erik Rijkers.  
  
Make the error messages more uniform, and have them mention the specific  
command being complained of.  This seems worth the trifling amount of extra  
code, since people are likely to see such messages a lot more than before.  

M src/backend/access/transam/varsup.c
M src/backend/access/transam/xact.c
M src/backend/catalog/namespace.c
M src/backend/commands/async.c
M src/backend/commands/copy.c
M src/backend/commands/lockcmds.c
M src/backend/commands/sequence.c
M src/backend/executor/execMain.c
M src/backend/tcop/utility.c
M src/backend/utils/adt/txid.c
M src/include/miscadmin.h
M src/test/regress/expected/transactions.out

Make 'include_realm' ordering consistent in the docs, to match recent doc change.

commit   : fada4204b97ac473d64286f2a78af2587627bf49    
  
author   : Bruce Momjian <[email protected]>    
date     : Sat, 20 Feb 2010 21:04:28 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sat, 20 Feb 2010 21:04:28 +0000    

Click here for diff

M doc/src/sgml/client-auth.sgml

Clarify documentation about username mapping when authenticating with GSSAPI or Kerberos.

commit   : 786e2f6871628ea373e8976ec07fb69e77ca184d    
  
author   : Bruce Momjian <[email protected]>    
date     : Sat, 20 Feb 2010 19:21:14 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sat, 20 Feb 2010 19:21:14 +0000    

Click here for diff

Ian Turner  

M doc/src/sgml/client-auth.sgml

Document that many solid-state drives have volatile write-back caches.

commit   : de9ec6543111878dcfc4f42fc0e017f5197d1c7d    
  
author   : Bruce Momjian <[email protected]>    
date     : Sat, 20 Feb 2010 18:28:37 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sat, 20 Feb 2010 18:28:37 +0000    

Click here for diff

M doc/src/sgml/wal.sgml

Copy editing of Hot Standby docs. Some clarifications, addition of missing items and minor edits.

commit   : 7363021df306885f6872d558bae8b5747c92ab3c    
  
author   : Simon Riggs <[email protected]>    
date     : Sat, 20 Feb 2010 10:07:27 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Sat, 20 Feb 2010 10:07:27 +0000    

Click here for diff

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

Reduce the rescan cost estimate for Materialize nodes to cpu_operator_cost per tuple, instead of the former cpu_tuple_cost. It is sane to charge less than cpu_tuple_cost because Materialize never does any qual-checking or projection, so it's got less overhead than most plan node types. In particular, we want to have the same charge here as is charged for readout in cost_sort. That avoids the problem recently exhibited by Teodor wherein the planner prefers a useless sort over a materialize step in a context where a lot of rescanning will happen. The rescan costs should be just about the same for both node types, so make their estimates the same.

commit   : 3f56ca1d4985bd61af329474a3c654a1eb360c47    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 19 Feb 2010 21:49:10 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 19 Feb 2010 21:49:10 +0000    

Click here for diff

Not back-patching because all of the current logic for rescan cost estimates  
is new in 9.0.  The old handling of rescans is sufficiently not-sane that  
changing this in that structure is a bit pointless, and might indeed cause  
regressions.  

M src/backend/optimizer/path/costsize.c
M src/backend/optimizer/plan/createplan.c

Revert version stamping in wrong branch

commit   : 2f6cf9192c81c5aeb0074ffeb02e5679da0dfc88    
  
author   : Peter Eisentraut <[email protected]>    
date     : Fri, 19 Feb 2010 18:42:30 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Fri, 19 Feb 2010 18:42:30 +0000    

Click here for diff

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

Version stamp 9.0alpha4

commit   : a779afb40cf4ff540cfe6598c1370d70e1dbf0da    
  
author   : Peter Eisentraut <[email protected]>    
date     : Fri, 19 Feb 2010 16:03:22 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Fri, 19 Feb 2010 16:03:22 +0000    

Click here for diff

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

Document --version and --help options for all client applications (they all support it).

commit   : f8f0140d73b23b92062465c4977a71a6ee336eea    
  
author   : Bruce Momjian <[email protected]>    
date     : Fri, 19 Feb 2010 14:36:45 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Fri, 19 Feb 2010 14:36:45 +0000    

Click here for diff

Per report from Josh Kupershmidt  

M doc/src/sgml/ref/clusterdb.sgml
M doc/src/sgml/ref/createdb.sgml
M doc/src/sgml/ref/createlang.sgml
M doc/src/sgml/ref/createuser.sgml
M doc/src/sgml/ref/dropdb.sgml
M doc/src/sgml/ref/droplang.sgml
M doc/src/sgml/ref/dropuser.sgml
M doc/src/sgml/ref/ecpg-ref.sgml
M doc/src/sgml/ref/initdb.sgml
M doc/src/sgml/ref/pg_controldata.sgml
M doc/src/sgml/ref/pg_dump.sgml
M doc/src/sgml/ref/pg_dumpall.sgml
M doc/src/sgml/ref/pg_resetxlog.sgml
M doc/src/sgml/ref/pg_restore.sgml
M doc/src/sgml/ref/psql-ref.sgml
M doc/src/sgml/ref/reindexdb.sgml
M doc/src/sgml/ref/vacuumdb.sgml

Small corrections to message output targets in pg_ctl

commit   : 4c6c6b52d27fa60ddb287efb194ae77ee9385248    
  
author   : Peter Eisentraut <[email protected]>    
date     : Fri, 19 Feb 2010 14:12:19 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Fri, 19 Feb 2010 14:12:19 +0000    

Click here for diff

- The message "server stopped" should be affected by the -s option, just  
  like "server started" already was.  
  
- The message "could not start server" should consistently go to stderr.  

M src/bin/pg_ctl/pg_ctl.c

Don't use O_DIRECT when writing WAL files if archiving or streaming is enabled. Bypassing the kernel cache is counter-productive in that case, because the archiver/walsender process will read from the WAL file soon after it's written, and if it's not cached the read will cause a physical read, eating I/O bandwidth available on the WAL drive.

commit   : ad458cfe81bcefd6d8bd17ff2e42c6599d441bd6    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Fri, 19 Feb 2010 10:51:04 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Fri, 19 Feb 2010 10:51:04 +0000    

Click here for diff

Also, walreceiver process does unaligned writes, so disable O_DIRECT  
in walreceiver process for that reason too.  

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

Forbid setval() during recovery. This prevents the PANIC reported by Erik Rijkers. Patch by Andres Freund.

commit   : 94f610b16342d7727774f6bb9245341cfa6f895c    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Fri, 19 Feb 2010 06:29:19 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Fri, 19 Feb 2010 06:29:19 +0000    

Click here for diff

M src/backend/commands/sequence.c

First pass over client applications documentation proofreading.

commit   : 2f6b4560afc6ab51b82f88b111041030b3a7329e    
  
author   : Bruce Momjian <[email protected]>    
date     : Fri, 19 Feb 2010 03:50:03 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Fri, 19 Feb 2010 03:50:03 +0000    

Click here for diff

gabrielle  

M doc/src/sgml/ref/clusterdb.sgml
M doc/src/sgml/ref/createdb.sgml
M doc/src/sgml/ref/createlang.sgml
M doc/src/sgml/ref/createuser.sgml
M doc/src/sgml/ref/dropdb.sgml
M doc/src/sgml/ref/dropuser.sgml
M doc/src/sgml/ref/ecpg-ref.sgml
M doc/src/sgml/ref/pg_dump.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/ref/vacuumdb.sgml
M doc/src/sgml/reference.sgml

Remove mention that binary distributions pre-compile the tutorial files.

commit   : 4e3a616355a8025c8d9099891fc1352c940088f1    
  
author   : Bruce Momjian <[email protected]>    
date     : Fri, 19 Feb 2010 01:15:54 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Fri, 19 Feb 2010 01:15:54 +0000    

Click here for diff

M doc/src/sgml/query.sgml

Fix STOP WAL LOCATION in backup history files no to return the next segment of XLOG_BACKUP_END record even if the the record is placed at a segment boundary. Furthermore the previous implementation could return nonexistent segment file name when the boundary is in segments that has "FE" suffix; We never use segments with "FF" suffix.

commit   : 3230fd056afd4e056c2a78d569c90446c73051b8    
  
author   : Itagaki Takahiro <[email protected]>    
date     : Fri, 19 Feb 2010 01:04:03 +0000    
  
committer: Itagaki Takahiro <[email protected]>    
date     : Fri, 19 Feb 2010 01:04:03 +0000    

Click here for diff

Backpatch to 8.0, where hot backup was introduced.  
  
Reported by Fujii Masao.  

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

Translation updates for 9.0alpha4

commit   : a39f02e36963897feed8c0c93fc96f8e3657405c    
  
author   : Peter Eisentraut <[email protected]>    
date     : Fri, 19 Feb 2010 00:40:05 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Fri, 19 Feb 2010 00:40:05 +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/bin/initdb/po/es.po
M src/bin/pg_config/po/es.po
M src/bin/pg_controldata/po/es.po
M src/bin/pg_controldata/po/fr.po
M src/bin/pg_ctl/po/de.po
M src/bin/pg_ctl/po/es.po
M src/bin/pg_dump/po/de.po
M src/bin/pg_dump/po/es.po
M src/bin/pg_dump/po/fr.po
M src/bin/pg_dump/po/it.po
M src/bin/pg_resetxlog/po/es.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/scripts/po/de.po
M src/bin/scripts/po/es.po
M src/bin/scripts/po/fr.po
M src/interfaces/ecpg/ecpglib/po/es.po
M src/interfaces/ecpg/preproc/po/de.po
M src/interfaces/ecpg/preproc/po/es.po
M src/interfaces/libpq/po/de.po
M src/interfaces/libpq/po/es.po
M src/interfaces/libpq/po/fr.po
M src/interfaces/libpq/po/it.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/plpython/po/de.po
M src/pl/plpython/po/es.po
M src/pl/plpython/po/fr.po
M src/pl/tcl/po/es.po

Preliminary release notes for 9.0alpha4

commit   : 1222296768aa93f9b6eee7000feddb86ab0ecd69    
  
author   : Peter Eisentraut <[email protected]>    
date     : Fri, 19 Feb 2010 00:35:18 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Fri, 19 Feb 2010 00:35:18 +0000    

Click here for diff

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

Hot Standby documentation updates

commit   : a70d0391043e56c4adecabd36e29e2dc2dc8f233    
  
author   : Bruce Momjian <[email protected]>    
date     : Fri, 19 Feb 2010 00:15:25 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Fri, 19 Feb 2010 00:15:25 +0000    

Click here for diff

Greg Smith  

M doc/src/sgml/backup.sgml
M doc/src/sgml/ecpg.sgml
M doc/src/sgml/func.sgml
M doc/src/sgml/high-availability.sgml
M doc/src/sgml/installation.sgml
M doc/src/sgml/unaccent.sgml

Volatile-ize all five places where we expect a PG_TRY block to restore old memory context in plpython. Before only one of them was marked volatile, but per report from Zdenek Kotala, some compilers do the wrong thing here.

commit   : a232f30f05848830dad21c6786e0841ddad991fb    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 18 Feb 2010 23:50:06 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 18 Feb 2010 23:50:06 +0000    

Click here for diff

M src/pl/plpython/plpython.c

Provide some rather hokey ways for EXPLAIN to print FieldStore and assignment ArrayRef expressions that are not in the immediate context of an INSERT or UPDATE targetlist. Such cases never arise in stored rules, so ruleutils.c hadn't tried to handle them. However, they do occur in the targetlists of plans derived from such statements, and now that EXPLAIN VERBOSE tries to print targetlists, we need some way to deal with the case.

commit   : 858d1699f2be81e298bce72a217984c6618ca452    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 18 Feb 2010 22:43:31 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 18 Feb 2010 22:43:31 +0000    

Click here for diff

I chose to represent an assignment ArrayRef as "array[subscripts] := source",  
which is fairly reasonable and doesn't omit any information.  However,  
FieldStore is problematic because the planner will fold multiple assignments  
to fields of the same composite column into one FieldStore, resulting in a  
structure that is hard to understand at all, let alone display comprehensibly.  
So in that case I punted and just made it print the source expression(s).  
  
Backpatch to 8.4 --- the lack of functionality exists in older releases,  
but doesn't seem to be important for lack of anything that would call it.  

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

Fix ExecEvalArrayRef to pass down the old value of the array element or slice being assigned to, in case the expression to be assigned is a FieldStore that would need to modify that value. The need for this was foreseen some time ago, but not implemented then because we did not have arrays of composites. Now we do, but the point evidently got overlooked in that patch. Net result is that updating a field of an array element doesn't work right, as illustrated if you try the new regression test on an unpatched backend. Noted while experimenting with EXPLAIN VERBOSE, which has also got some issues in this area.

commit   : 11d5ba97f83037b8f69887f6d387f7da7276f991    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 18 Feb 2010 18:41:47 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 18 Feb 2010 18:41:47 +0000    

Click here for diff

Backpatch to 8.3, where arrays of composites were introduced.  

M src/backend/executor/execQual.c
M src/test/regress/expected/arrays.out
M src/test/regress/sql/arrays.sql

Fix pq_getbyte_if_available() function. It was confused on what it returns if no data is immediately available. Patch by me with numerous fixes from Fujii Masao and Magnus Hagander.

commit   : 3e87ba6ef7ee381c46af6fa3871c366b947d87da    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Thu, 18 Feb 2010 11:13:46 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Thu, 18 Feb 2010 11:13:46 +0000    

Click here for diff

M src/backend/libpq/be-secure.c
M src/backend/libpq/pqcomm.c
M src/backend/replication/walsender.c

date_recv should accept infinities.

commit   : 1a1ad6320cd9696db643b4db4b38cb8c629b328f    
  
author   : Itagaki Takahiro <[email protected]>    
date     : Thu, 18 Feb 2010 04:31:16 +0000    
  
committer: Itagaki Takahiro <[email protected]>    
date     : Thu, 18 Feb 2010 04:31:16 +0000    

Click here for diff

Reported by James William Pye.  

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

Add missing close tag.

commit   : 9529f4d53263c7a85d8a5c4291fc4bc3f4c394f1    
  
author   : Bruce Momjian <[email protected]>    
date     : Thu, 18 Feb 2010 04:14:38 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Thu, 18 Feb 2010 04:14:38 +0000    

Click here for diff

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

Wordsmithing of HS and SR documentation, with some wording improvements from Erik Rijkers too.

commit   : 1bee1a37250bb0cd9c062094644887ec336b055b    
  
author   : Bruce Momjian <[email protected]>    
date     : Thu, 18 Feb 2010 03:16:09 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Thu, 18 Feb 2010 03:16:09 +0000    

Click here for diff

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

Force READY portals into FAILED state when a transaction or subtransaction is aborted, if they were created within the failed xact. This prevents ExecutorEnd from being run on them, which is a good idea because they may contain references to tables or other objects that no longer exist. In particular this is hazardous when auto_explain is active, but it's really rather surprising that nobody has seen an issue with this before. I'm back-patching this to 8.4, since that's the first version that contains auto_explain or an ExecutorEnd hook, but I wonder whether we shouldn't back-patch further.

commit   : 7981c34279fbddc254cfccb9a2eec4b35e692a12    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 18 Feb 2010 03:06:46 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 18 Feb 2010 03:06:46 +0000    

Click here for diff

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

Fix up pg_dump's treatment of large object ownership and ACLs. We now emit a separate archive entry for each BLOB, and use pg_dump's standard methods for dealing with its ownership, ACL if any, and comment if any. This means that switches like --no-owner and --no-privileges do what they're supposed to. Preliminary testing says that performance is still reasonable even with many blobs, though we'll have to see how that shakes out in the field.

commit   : c0d5be5d6a736d2ee8141e920bc3de8e001bf6d9    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 18 Feb 2010 01:29:10 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 18 Feb 2010 01:29:10 +0000    

Click here for diff

KaiGai Kohei, revised by me  

M src/bin/pg_dump/dumputils.c
M src/bin/pg_dump/pg_backup_archiver.c
M src/bin/pg_dump/pg_backup_archiver.h
M src/bin/pg_dump/pg_backup_db.c
M src/bin/pg_dump/pg_backup_null.c
M src/bin/pg_dump/pg_dump.c
M src/bin/pg_dump/pg_dump.h
M src/bin/pg_dump/pg_dump_sort.c

Take care to reprocess an uncommitted notify message.

commit   : 2b44d74dd4caa0d5cec2aeb0ceec7923b69109d3    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 17 Feb 2010 16:54:06 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 17 Feb 2010 16:54:06 +0000    

Click here for diff

Oversight in my changes to cope with possible errors during message  
processing; spotted by Joachim Wieland.  

M src/backend/commands/async.c

Another typo fix.

commit   : 075d43a01a8ccd3068d043c368ac7902e82b856d    
  
author   : Magnus Hagander <[email protected]>    
date     : Wed, 17 Feb 2010 05:51:40 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Wed, 17 Feb 2010 05:51:40 +0000    

Click here for diff

Thom Brown  

M src/backend/port/win32/socket.c

Use a fatal warning check with what looks like a more portable error message. Error noticed by Tom and buildfarm member kite.

commit   : 8823bc2e2b12ecf0a597d9d352995d01ac138108    
  
author   : Andrew Dunstan <[email protected]>    
date     : Wed, 17 Feb 2010 05:32:48 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Wed, 17 Feb 2010 05:32:48 +0000    

Click here for diff

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

Stamp HEAD as 9.0devel, and update various places that were referring to 8.5 (hope I got 'em all). Per discussion, this release will be 9.0 not 8.5.

commit   : 50a90fac40db82680ac7ceacf3348f3f08f5343e    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 17 Feb 2010 04:19:41 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 17 Feb 2010 04:19:41 +0000    

Click here for diff

M configure
M configure.in
M contrib/vacuumlo/vacuumlo.c
M doc/bug.template
M doc/src/sgml/catalogs.sgml
M doc/src/sgml/config.sgml
M doc/src/sgml/datatype.sgml
M doc/src/sgml/ecpg.sgml
M doc/src/sgml/filelist.sgml
M doc/src/sgml/high-availability.sgml
M doc/src/sgml/hstore.sgml
M doc/src/sgml/libpq.sgml
M doc/src/sgml/lobj.sgml
M doc/src/sgml/plpgsql.sgml
M doc/src/sgml/protocol.sgml
M doc/src/sgml/ref/copy.sgml
M doc/src/sgml/ref/explain.sgml
M doc/src/sgml/ref/vacuum.sgml
R099 doc/src/sgml/release-8.5.sgml doc/src/sgml/release-9.0.sgml
M doc/src/sgml/release.sgml
M doc/src/sgml/stylesheet-man.xsl
M src/backend/access/transam/xact.c
M src/backend/access/transam/xlog.c
M src/backend/catalog/pg_largeobject.c
M src/backend/commands/functioncmds.c
M src/backend/commands/tablespace.c
M src/backend/parser/gram.y
M src/backend/replication/walreceiver.c
M src/backend/replication/walsender.c
M src/backend/utils/cache/relcache.c
M src/backend/utils/error/elog.c
M src/backend/utils/misc/guc.c
M src/bin/pg_dump/pg_backup_db.c
M src/bin/pg_dump/pg_dump.c
M src/bin/pg_dump/pg_dumpall.c
M src/bin/psql/describe.c
M src/bin/psql/large_obj.c
M src/bin/scripts/vacuumdb.c
M src/include/catalog/pg_control.h
M src/include/nodes/primnodes.h
M src/include/pg_config.h.win32
M src/interfaces/libpq/fe-connect.c
M src/interfaces/libpq/fe-exec.c
M src/interfaces/libpq/libpq.rc.in
M src/port/win32ver.rc
M src/test/regress/expected/copy2.out
M src/test/regress/sql/copy2.sql
M src/tools/version_stamp.pl

Support new syntax and improve handling of parentheses in psql tab-completion.

commit   : 37ec19a15ce452ee94f32ebc3d6a9a45868e82fd    
  
author   : Itagaki Takahiro <[email protected]>    
date     : Wed, 17 Feb 2010 04:09:40 +0000    
  
committer: Itagaki Takahiro <[email protected]>    
date     : Wed, 17 Feb 2010 04:09:40 +0000    

Click here for diff

Newly supported syntax are:  
  - ALTER {TABLE|INDEX|TABLESPACE} {SET|RESET} with options  
  - ALTER TABLE ALTER COLUMN {SET|RESET} with options  
  - ALTER TABLE ALTER COLUMN SET STORAGE  
  - CREATE INDEX CONCURRENTLY  
  - CREATE INDEX ON (without name)  
  - CREATE INDEX ... USING with pg_am.amname instead of hard-corded names  
  - CREATE TRIGGER with events  
  - DROP AGGREGATE function with arguments  

M src/bin/psql/tab-complete.c

When updating ShmemVariableCache from a checkpoint record, be sure to set all the values derived from oldestXid, not just that field. Brain fade in one of my patches associated with flat file removal, exposed by a report from Fujii Masao.

commit   : c64339face6e9abd041ab58ade2aceb48a9f4956    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 17 Feb 2010 03:10:33 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 17 Feb 2010 03:10:33 +0000    

Click here for diff

With this change, xidVacLimit should always be valid, so remove a couple of  
bits of complexity associated with the previous assumption that sometimes  
it wouldn't get set right away.  

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

Prevent #option dump from crashing on FORI statement with null step. Reported by Pavel.

commit   : 711804fddd54ea3c20d32c4b53d05a8c59bcbe4f    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 17 Feb 2010 01:48:45 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 17 Feb 2010 01:48:45 +0000    

Click here for diff

M src/pl/plpgsql/src/pl_funcs.c

log_error_verbosity is now LOGGING_WHAT category.

commit   : 9cbcfca44a25bb066cbc36abf18d74613984ae19    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 17 Feb 2010 01:39:35 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 17 Feb 2010 01:39:35 +0000    

Click here for diff

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

Tweak description of payload parameter.

commit   : 750ff8bdf783d0c8946ecd8dc6365c5377cf4f51    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 17 Feb 2010 00:57:06 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 17 Feb 2010 00:57:06 +0000    

Click here for diff

M doc/src/sgml/ref/notify.sgml

Make NOTIFY_PAYLOAD_MAX_LENGTH depend explicitly on BLCKSZ and NAMEDATALEN, so this code doesn't go nuts with smaller than default BLCKSZ or larger than default NAMEDATALEN. The standard value is still exactly 8000.

commit   : ee678fe30c3b9088f0ed956eb33c37f15a429932    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 17 Feb 2010 00:52:09 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 17 Feb 2010 00:52:09 +0000    

Click here for diff

M src/backend/commands/async.c

Replace the pg_listener-based LISTEN/NOTIFY mechanism with an in-memory queue. In addition, add support for a "payload" string to be passed along with each notify event.

commit   : d1e027221d0243b7b57eabb0e482923dd7d1c8eb    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 16 Feb 2010 22:34:57 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 16 Feb 2010 22:34:57 +0000    

Click here for diff

This implementation should be significantly more efficient than the old one,  
and is also more compatible with Hot Standby usage.  There is not yet any  
facility for HS slaves to receive notifications generated on the master,  
although such a thing is possible in future.  
  
Joachim Wieland, reviewed by Jeff Davis; also hacked on by me.  

M doc/src/sgml/catalogs.sgml
M doc/src/sgml/func.sgml
M doc/src/sgml/libpq.sgml
M doc/src/sgml/protocol.sgml
M doc/src/sgml/ref/listen.sgml
M doc/src/sgml/ref/notify.sgml
M doc/src/sgml/ref/unlisten.sgml
M doc/src/sgml/storage.sgml
M src/backend/access/transam/slru.c
M src/backend/access/transam/twophase_rmgr.c
M src/backend/access/transam/xact.c
M src/backend/catalog/Makefile
M src/backend/commands/async.c
M src/backend/nodes/copyfuncs.c
M src/backend/nodes/equalfuncs.c
M src/backend/nodes/outfuncs.c
M src/backend/nodes/readfuncs.c
M src/backend/parser/gram.y
M src/backend/storage/ipc/ipci.c
M src/backend/storage/lmgr/lwlock.c
M src/backend/tcop/postgres.c
M src/backend/tcop/utility.c
M src/backend/utils/adt/ruleutils.c
M src/bin/initdb/initdb.c
M src/bin/psql/common.c
M src/bin/psql/tab-complete.c
M src/include/access/slru.h
M src/include/access/twophase_rmgr.h
M src/include/catalog/catversion.h
D src/include/catalog/pg_listener.h
M src/include/catalog/pg_proc.h
M src/include/commands/async.h
M src/include/nodes/parsenodes.h
M src/include/storage/lwlock.h
M src/test/regress/expected/guc.out
M src/test/regress/expected/sanity_check.out
M src/test/regress/sql/guc.sql

Add query text to auto_explain output.

commit   : fc5173ad514a216dc93bc190dbba3751024a257d    
  
author   : Andrew Dunstan <[email protected]>    
date     : Tue, 16 Feb 2010 22:19:59 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Tue, 16 Feb 2010 22:19:59 +0000    

Click here for diff

Still to be done: fix docs and fix regression failures under auto_explain.  

M contrib/auto_explain/auto_explain.c
M src/backend/commands/explain.c
M src/include/commands/explain.h

Clean up package namespace use and use of Safe in plperl. Prevent use of another buggy version of Safe.pm. Only register the exit handler if we have successfully created an interpreter. Change log level of perl warnings from NOTICE to WARNING.

commit   : 56adf3703c77295b63a71a42e602df247132e409    
  
author   : Andrew Dunstan <[email protected]>    
date     : Tue, 16 Feb 2010 21:39:52 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Tue, 16 Feb 2010 21:39:52 +0000    

Click here for diff

The infrastructure is there if in future we decide to allow  
DBAs to specify extra modules that will be allowed in trusted code.  
However, for now the relevant variables are declared as lexicals  
rather than as package variables, so that they are not (or should not be)  
accessible.  
  
Mostly code from Tim Bunce, reviewed by Alex Hunsaker, with some  
tweaks by me.  

M src/pl/plperl/expected/plperl.out
M src/pl/plperl/expected/plperl_elog.out
M src/pl/plperl/expected/plperlu.out
M src/pl/plperl/plc_perlboot.pl
M src/pl/plperl/plc_safe_ok.pl
M src/pl/plperl/plperl.c
M src/pl/plperl/sql/plperl.sql

Move log_error_verbosity GUC setting to "What to log" section, and document the behavior of terse and verbose output options.

commit   : 813135d8c98e2f2d6d646150005148d79f4f4e25    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 16 Feb 2010 21:35:51 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 16 Feb 2010 21:35:51 +0000    

Click here for diff

M doc/src/sgml/config.sgml
M src/backend/utils/misc/postgresql.conf.sample

Honor to_char() "FM" specification in YYY, YY, and Y; it was already honored by YYYY. Also document Oracle "toggle" FM behavior.

commit   : 70d8a2c29e809c90f7caaded2b4f47b1cf18d01d    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 16 Feb 2010 21:18:02 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 16 Feb 2010 21:18:02 +0000    

Click here for diff

Per report from Guy Rouillier  

M doc/src/sgml/func.sgml
M src/backend/utils/adt/formatting.c
M src/test/regress/expected/timestamp.out
M src/test/regress/expected/timestamptz.out

Prevent psql version banner from being printed by the \c command if the versions match, per report from Peter.

commit   : 55ea144a14c5c1831a3eca5d261860b840742814    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 16 Feb 2010 21:07:01 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 16 Feb 2010 21:07:01 +0000    

Click here for diff

M src/bin/psql/command.c
M src/bin/psql/command.h
M src/bin/psql/startup.c

Have SELECT and CREATE TABLE AS queries return a row count. While this is invisible in psql, other interfaces, like libpq, make this value visible.

commit   : aa7e7ae9a6adfd5553ed05144cf765fbf7c8f5af    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 16 Feb 2010 20:58:14 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 16 Feb 2010 20:58:14 +0000    

Click here for diff

Boszormenyi Zoltan  

M doc/src/sgml/libpq.sgml
M doc/src/sgml/protocol.sgml
M src/backend/tcop/pquery.c
M src/interfaces/libpq/fe-exec.c

commit   : 346a721eed4c0bcfb07039633807b67443f21bbf    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 16 Feb 2010 20:35:07 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 16 Feb 2010 20:35:07 +0000    

Click here for diff

Andreas 'ads' Scherbaum  

M src/backend/utils/mb/Unicode/UCS_to_GB18030.pl

Clarify documentation on the behavior of unnamed bind queries.

commit   : 93a57c3b57530c11429815260a8b67269394c8b3    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 16 Feb 2010 20:15:14 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 16 Feb 2010 20:15:14 +0000    

Click here for diff

M doc/src/sgml/protocol.sgml
M src/backend/tcop/postgres.c

revert to showing buffer counts in explain (buffers)

commit   : 27cb626f7a28abd18c0e8a34fc8d6674b0f6cdf3    
  
author   : Greg Stark <[email protected]>    
date     : Tue, 16 Feb 2010 20:07:13 +0000    
  
committer: Greg Stark <[email protected]>    
date     : Tue, 16 Feb 2010 20:07:13 +0000    

Click here for diff

M src/backend/commands/explain.c

Add emulation of non-blocking sockets to the win32 socket/signal layer, and use this in pq_getbyte_if_available.

commit   : 215cbc90f8db3fc8a70af5572b156f49216c2f70    
  
author   : Magnus Hagander <[email protected]>    
date     : Tue, 16 Feb 2010 19:26:02 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Tue, 16 Feb 2010 19:26:02 +0000    

Click here for diff

It's only a limited implementation which swithes the whole emulation layer  
no non-blocking mode, but that's enough as long as non-blocking is only  
used during a short period of time, and only one socket is accessed during  
this time.  

M src/backend/libpq/pqcomm.c
M src/backend/port/win32/socket.c
M src/include/port/win32.h

Do not check nan values for infinity. Some system are not able to handle this.

commit   : 492eaefb90b9e60b608a1a4b2e3e68ce7c6c7c69    
  
author   : Michael Meskes <[email protected]>    
date     : Tue, 16 Feb 2010 18:41:23 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Tue, 16 Feb 2010 18:41:23 +0000    

Click here for diff

By Zoltán Böszörményi  

M src/interfaces/ecpg/ecpglib/execute.c
M src/interfaces/ecpg/test/expected/pgtypeslib-nan_test.c
M src/interfaces/ecpg/test/pgtypeslib/nan_test.pgc

Fix synopsis of DO statement.

commit   : 3d4a2cea57582ec191a0e14b3c80ac8618e02331    
  
author   : Itagaki Takahiro <[email protected]>    
date     : Tue, 16 Feb 2010 00:49:42 +0000    
  
committer: Itagaki Takahiro <[email protected]>    
date     : Tue, 16 Feb 2010 00:49:42 +0000    

Click here for diff

M doc/src/sgml/ref/do.sgml

Move main error message text in plperl into errmsg from errdetail, and move the context information into errcontext instead of errmsg. This makes them better conform to our guidelines.

commit   : 4a5ee2a419e1f7c79525bc2c76b6fcd03cc4e815    
  
author   : Alvaro Herrera <[email protected]>    
date     : Mon, 15 Feb 2010 22:23:25 +0000    
  
committer: Alvaro Herrera <[email protected]>    
date     : Mon, 15 Feb 2010 22:23:25 +0000    

Click here for diff

Also remove a few errcode declarations that were providing the default  
value ERRCODE_INTERNAL_ERROR.  

M src/pl/plperl/expected/plperl_init.out
M src/pl/plperl/plperl.c

When sorting functions in pg_dump, break ties (same name) by number of arguments

commit   : 1acc06a1f4ae752793d2199d8d462a6708c8acc2    
  
author   : Peter Eisentraut <[email protected]>    
date     : Mon, 15 Feb 2010 19:59:47 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Mon, 15 Feb 2010 19:59:47 +0000    

Click here for diff

M src/bin/pg_dump/pg_dump_sort.c

Fix another stupid typo...

commit   : ec86ef7a21b537087ae59706cdb6f8747fc287a3    
  
author   : Magnus Hagander <[email protected]>    
date     : Mon, 15 Feb 2010 17:10:50 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Mon, 15 Feb 2010 17:10:50 +0000    

Click here for diff

Jan Urbanski  

M src/tools/msvc/Mkvcbuild.pm

Fix typo in comment

commit   : dc11595193a5ace5a8f306dc99ac7aade5d6db77    
  
author   : Alvaro Herrera <[email protected]>    
date     : Mon, 15 Feb 2010 16:10:34 +0000    
  
committer: Alvaro Herrera <[email protected]>    
date     : Mon, 15 Feb 2010 16:10:34 +0000    

Click here for diff

M src/backend/commands/vacuum.c

Temporarily disable fsyncing the database directory in CREATE DATABASE until we can work out portability issues the build farm uncovered.

commit   : 68cfc75a72fa3617ba157e4c7d10616d35fa0d07    
  
author   : Greg Stark <[email protected]>    
date     : Mon, 15 Feb 2010 11:40:49 +0000    
  
committer: Greg Stark <[email protected]>    
date     : Mon, 15 Feb 2010 11:40:49 +0000    

Click here for diff

In passing avoid fsyncing subdirectories twice.  

M src/port/copydir.c

remove an unused variable 'dirfd'.

commit   : bec81039931583f06baaab78527a877a927c3084    
  
author   : Itagaki Takahiro <[email protected]>    
date     : Mon, 15 Feb 2010 04:05:06 +0000    
  
committer: Itagaki Takahiro <[email protected]>    
date     : Mon, 15 Feb 2010 04:05:06 +0000    

Click here for diff

M src/port/copydir.c

Add psql tab completion for DO blocks. Also adjust documentation of DO.

commit   : 714f279457de23cbc81efc6961f4b5d611723db6    
  
author   : Itagaki Takahiro <[email protected]>    
date     : Mon, 15 Feb 2010 02:55:01 +0000    
  
committer: Itagaki Takahiro <[email protected]>    
date     : Mon, 15 Feb 2010 02:55:01 +0000    

Click here for diff

Patch from David Fetter and subsequent discussion.  

M doc/src/sgml/ref/do.sgml
M src/bin/psql/tab-complete.c

Display explain buffers measurements in memory units rather than blocks. Also show "Total Buffer Usage" to hint that these are totals not averages per loop

commit   : 34ebccddcd234df7b4f25d6dd6355a886c831edb    
  
author   : Greg Stark <[email protected]>    
date     : Mon, 15 Feb 2010 02:36:26 +0000    
  
committer: Greg Stark <[email protected]>    
date     : Mon, 15 Feb 2010 02:36:26 +0000    

Click here for diff

M src/backend/commands/explain.c

Speed up CREATE DATABASE by deferring the fsyncs until after copying all the data and using posix_fadvise to nudge the OS into flushing it earlier. This also hopefully makes CREATE DATABASE avoid spamming the cache.

commit   : f8c183a1ac02aef14832c1f29946ef2bcb5866b7    
  
author   : Greg Stark <[email protected]>    
date     : Mon, 15 Feb 2010 00:50:57 +0000    
  
committer: Greg Stark <[email protected]>    
date     : Mon, 15 Feb 2010 00:50:57 +0000    

Click here for diff

Tests show a big speedup on Linux at least on some filesystems.  
  
Idea and patch from Andres Freund.  

M src/backend/storage/file/fd.c
M src/include/storage/fd.h
M src/port/copydir.c

commit   : e26c539e9f326ea843c0ed005af093b56b55cd4d    
  
author   : Robert Haas <[email protected]>    
date     : Sun, 14 Feb 2010 18:42:19 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Sun, 14 Feb 2010 18:42:19 +0000    

Click here for diff

The purpose of this change is to eliminate the need for every caller  
of SearchSysCache, SearchSysCacheCopy, SearchSysCacheExists,  
GetSysCacheOid, and SearchSysCacheList to know the maximum number  
of allowable keys for a syscache entry (currently 4).  This will  
make it far easier to increase the maximum number of keys in a  
future release should we choose to do so, and it makes the code  
shorter, too.  
  
Design and review by Tom Lane.  

M contrib/dblink/dblink.c
M src/backend/access/common/tupdesc.c
M src/backend/access/heap/heapam.c
M src/backend/access/transam/varsup.c
M src/backend/catalog/aclchk.c
M src/backend/catalog/dependency.c
M src/backend/catalog/heap.c
M src/backend/catalog/index.c
M src/backend/catalog/namespace.c
M src/backend/catalog/pg_aggregate.c
M src/backend/catalog/pg_constraint.c
M src/backend/catalog/pg_conversion.c
M src/backend/catalog/pg_inherits.c
M src/backend/catalog/pg_namespace.c
M src/backend/catalog/pg_operator.c
M src/backend/catalog/pg_proc.c
M src/backend/catalog/pg_shdepend.c
M src/backend/catalog/pg_type.c
M src/backend/catalog/toasting.c
M src/backend/commands/aggregatecmds.c
M src/backend/commands/analyze.c
M src/backend/commands/cluster.c
M src/backend/commands/comment.c
M src/backend/commands/conversioncmds.c
M src/backend/commands/dbcommands.c
M src/backend/commands/foreigncmds.c
M src/backend/commands/functioncmds.c
M src/backend/commands/indexcmds.c
M src/backend/commands/opclasscmds.c
M src/backend/commands/operatorcmds.c
M src/backend/commands/proclang.c
M src/backend/commands/schemacmds.c
M src/backend/commands/sequence.c
M src/backend/commands/tablecmds.c
M src/backend/commands/trigger.c
M src/backend/commands/tsearchcmds.c
M src/backend/commands/typecmds.c
M src/backend/commands/user.c
M src/backend/commands/vacuum.c
M src/backend/commands/variable.c
M src/backend/executor/execAmi.c
M src/backend/executor/functions.c
M src/backend/executor/nodeAgg.c
M src/backend/executor/nodeHash.c
M src/backend/executor/nodeWindowAgg.c
M src/backend/executor/spi.c
M src/backend/foreign/foreign.c
M src/backend/libpq/crypt.c
M src/backend/optimizer/plan/planagg.c
M src/backend/optimizer/plan/setrefs.c
M src/backend/optimizer/plan/subselect.c
M src/backend/optimizer/util/clauses.c
M src/backend/optimizer/util/predtest.c
M src/backend/parser/parse_coerce.c
M src/backend/parser/parse_func.c
M src/backend/parser/parse_node.c
M src/backend/parser/parse_oper.c
M src/backend/parser/parse_relation.c
M src/backend/parser/parse_type.c
M src/backend/parser/parse_utilcmd.c
M src/backend/postmaster/autovacuum.c
M src/backend/rewrite/rewriteDefine.c
M src/backend/rewrite/rewriteRemove.c
M src/backend/rewrite/rewriteSupport.c
M src/backend/tcop/fastpath.c
M src/backend/tcop/utility.c
M src/backend/utils/adt/acl.c
M src/backend/utils/adt/dbsize.c
M src/backend/utils/adt/enum.c
M src/backend/utils/adt/format_type.c
M src/backend/utils/adt/regproc.c
M src/backend/utils/adt/ri_triggers.c
M src/backend/utils/adt/ruleutils.c
M src/backend/utils/adt/selfuncs.c
M src/backend/utils/adt/xml.c
M src/backend/utils/cache/attoptcache.c
M src/backend/utils/cache/catcache.c
M src/backend/utils/cache/inval.c
M src/backend/utils/cache/lsyscache.c
M src/backend/utils/cache/relcache.c
M src/backend/utils/cache/spccache.c
M src/backend/utils/cache/syscache.c
M src/backend/utils/cache/ts_cache.c
M src/backend/utils/cache/typcache.c
M src/backend/utils/fmgr/fmgr.c
M src/backend/utils/fmgr/funcapi.c
M src/backend/utils/init/miscinit.c
M src/backend/utils/init/postinit.c
M src/backend/utils/mb/mbutils.c
M src/backend/utils/misc/superuser.c
M src/include/utils/catcache.h
M src/include/utils/syscache.h
M src/pl/plperl/plperl.c
M src/pl/plpgsql/src/pl_comp.c
M src/pl/plpgsql/src/pl_handler.c
M src/pl/plpython/plpython.c
M src/pl/tcl/pltcl.c

Make CREATE DATABASE safe against losing whole files by fsyncing the directory and not just the individual files.

commit   : 1012492bc0bfb322d59db17e17735d17d634e264    
  
author   : Greg Stark <[email protected]>    
date     : Sun, 14 Feb 2010 17:50:52 +0000    
  
committer: Greg Stark <[email protected]>    
date     : Sun, 14 Feb 2010 17:50:52 +0000    

Click here for diff

Back-patch to 8.1 -- before that we just called "cp -r" and never  
fsynced anything anyways.  

M src/port/copydir.c

Make the msvc build system ask python about details of version and installation prefix, instead of assuming it will always be following the default layout.

commit   : a05af1d4047349bfff73234227c7663cc05a8165    
  
author   : Magnus Hagander <[email protected]>    
date     : Sun, 14 Feb 2010 14:10:23 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Sun, 14 Feb 2010 14:10:23 +0000    

Click here for diff

All information we need is not available on Windows, but the number of  
assumptions are at least fewer this way than before.  
  
Based on suggestions from James William Pye.  

M src/tools/msvc/Mkvcbuild.pm

Ooops, let's get the non-null vs null bit right ...

commit   : c5d644a867b6fc612b2905b3acfe463104479b66    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 14 Feb 2010 01:01:35 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 14 Feb 2010 01:01:35 +0000    

Click here for diff

M doc/src/sgml/ref/create_function.sgml

Document the behavior of STRICT VARIADIC functions.

commit   : a9aad1b8687f9919cdf7792c3a04ebc7239fe8f1    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 14 Feb 2010 00:48:12 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 14 Feb 2010 00:48:12 +0000    

Click here for diff

M doc/src/sgml/ref/create_function.sgml

Improve C comment about why we return "0 0" for some tags.

commit   : bbdf72b095f646c85b572677376692a47924e3fc    
  
author   : Bruce Momjian <[email protected]>    
date     : Sat, 13 Feb 2010 22:45:41 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sat, 13 Feb 2010 22:45:41 +0000    

Click here for diff

M src/backend/tcop/pquery.c

commit   : 7507b193bc54a3e9b351d32b47d0f9e71e5d97cd    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 13 Feb 2010 20:46:52 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 13 Feb 2010 20:46:52 +0000    

Click here for diff

M src/include/utils/palloc.h

Improvements to ps message of startup process during Hot Standby. Message is reset earlier and potential bug avoided.

commit   : 8eccf7614baa6cab004d79bd0e79f19e0c31f304    
  
author   : Simon Riggs <[email protected]>    
date     : Sat, 13 Feb 2010 16:29:38 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Sat, 13 Feb 2010 16:29:38 +0000    

Click here for diff

Andres Freund  

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

Fix relcache init file invalidation during Hot Standby for the case where a database has a non-default tablespaceid. Pass thru MyDatabaseId and MyDatabaseTableSpace to allow file path to be re-created in standby and correct invalidation to take place in all cases. Update and rework xact_commit_desc() debug messages. Bug report from Tom by code inspection. Fix by me.

commit   : dd428c79a4d89867758443b7b5aac45137685f11    
  
author   : Simon Riggs <[email protected]>    
date     : Sat, 13 Feb 2010 16:15:48 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Sat, 13 Feb 2010 16:15:48 +0000    

Click here for diff

M src/backend/access/transam/xact.c
M src/backend/utils/cache/inval.c
M src/include/access/xact.h
M src/include/storage/sinval.h

Remove tabs from sgml.

commit   : a5acb7dfb94391c7b19691786186033993d82b34    
  
author   : Bruce Momjian <[email protected]>    
date     : Sat, 13 Feb 2010 03:38:26 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sat, 13 Feb 2010 03:38:26 +0000    

Click here for diff

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

Support inlining various small performance-critical functions on non-GCC compilers, by applying a configure check to see if the compiler will accept an unreferenced "static inline foo ..." function without warnings. It is believed that such warnings are the only reason not to declare inlined functions in headers, if the compiler understands "inline" at all.

commit   : e08ab7c3127c10d419e91072c68e1bfeaab025b8    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 13 Feb 2010 02:34:16 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 13 Feb 2010 02:34:16 +0000    

Click here for diff

Kurt Harriman  

M config/c-compiler.m4
M configure
M configure.in
M src/backend/nodes/list.c
M src/backend/utils/mmgr/mcxt.c
M src/include/nodes/pg_list.h
M src/include/pg_config.h.in
M src/include/pg_config.h.win32
M src/include/port/win32.h
M src/include/portability/instr_time.h
M src/include/utils/palloc.h

Re-enable max_standby_delay = -1 using deadlock detection on startup process. If startup waits on a buffer pin we send a request to all backends to cancel themselves if they are holding the buffer pin required and they are also waiting on a lock. If not, startup waits until max_standby_delay before cancelling any backend waiting for the requested buffer pin.

commit   : b95a720a487b5027af1b9e4a12542800598ff5de    
  
author   : Simon Riggs <[email protected]>    
date     : Sat, 13 Feb 2010 01:32:20 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Sat, 13 Feb 2010 01:32:20 +0000    

Click here for diff

M src/backend/storage/ipc/procsignal.c
M src/backend/storage/ipc/standby.c
M src/backend/storage/lmgr/proc.c
M src/backend/tcop/postgres.c
M src/backend/utils/misc/guc.c
M src/include/storage/proc.h
M src/include/storage/procsignal.h
M src/include/storage/standby.h

Introduce WAL records to log reuse of btree pages, allowing conflict resolution during Hot Standby. Page reuse interlock requested by Tom. Analysis and patch by me.

commit   : fafa374f2d1e04ab265d56cdadb634124364646f    
  
author   : Simon Riggs <[email protected]>    
date     : Sat, 13 Feb 2010 00:59:58 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Sat, 13 Feb 2010 00:59:58 +0000    

Click here for diff

M src/backend/access/nbtree/nbtpage.c
M src/backend/access/nbtree/nbtxlog.c
M src/include/access/nbtree.h

Tweak the order of processing of WITH clauses so that they are processed before we start analyzing the parent statement. This is to make it more clear that the WITH isn't affected by anything in the parent. I don't believe there's any actual bug here, because the stuff that was being done before WITH didn't affect subqueries; but it's certainly a potential for error (and apparently misled Marko into committing some real errors...).

commit   : 4688869f41ed716a88bb88bf2642e47e27c57e99    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 12 Feb 2010 22:48:56 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 12 Feb 2010 22:48:56 +0000    

Click here for diff

M src/backend/parser/analyze.c

Add regression test files inadvertantly omitted in plperl.on_plperl{u}_init patch

commit   : 1b3a437a1993e1a155a91f511ac6f31b3879986b    
  
author   : Andrew Dunstan <[email protected]>    
date     : Fri, 12 Feb 2010 19:38:14 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Fri, 12 Feb 2010 19:38:14 +0000    

Click here for diff

A src/pl/plperl/expected/plperl_init.out
A src/pl/plperl/sql/plperl_init.sql

Don't choke when exec_move_row assigns a synthesized null to a column that happens to be composite itself. Per bug #5314 from Oleg Serov.

commit   : 3ad7dbb1b93e809d882c683b1872620aec391a3c    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 12 Feb 2010 19:37:36 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 12 Feb 2010 19:37:36 +0000    

Click here for diff

Backpatch to 8.0 --- 7.4 has got too many other shortcomings in  
composite-type support to make this worth worrying about in that branch.  

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

Add plperl.on_plperl_init and plperl.on_plperlu_init settings for language-specific startup. Rename recently added plperl.on_perl_init to plperl.on_init. Also, code cleanup for utf8 hack. Patch from Tim Bunce, reviewed by Alex Hunsaker.

commit   : 1b04b8f1bc0d98042f1e35231c55d23c81373090    
  
author   : Andrew Dunstan <[email protected]>    
date     : Fri, 12 Feb 2010 19:35:25 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Fri, 12 Feb 2010 19:35:25 +0000    

Click here for diff

M doc/src/sgml/plperl.sgml
M src/pl/plperl/GNUmakefile
M src/pl/plperl/expected/plperl_shared.out
M src/pl/plperl/expected/plperlu.out
M src/pl/plperl/plc_safe_ok.pl
M src/pl/plperl/plperl.c
M src/pl/plperl/sql/plperl_shared.sql
M src/pl/plperl/sql/plperlu.sql

Extend the set of frame options supported for window functions.

commit   : ec4be2ee6827b6bd85e0813c7a8993cfbb0e6fa7    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 12 Feb 2010 17:33:21 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 12 Feb 2010 17:33:21 +0000    

Click here for diff

This patch allows the frame to start from CURRENT ROW (in either RANGE or  
ROWS mode), and it also adds support for ROWS n PRECEDING and ROWS n FOLLOWING  
start and end points.  (RANGE value PRECEDING/FOLLOWING isn't there yet ---  
the grammar works, but that's all.)  
  
Hitoshi Harada, reviewed by Pavel Stehule  

M doc/src/sgml/func.sgml
M doc/src/sgml/ref/select.sgml
M doc/src/sgml/syntax.sgml
M src/backend/executor/nodeAgg.c
M src/backend/executor/nodeWindowAgg.c
M src/backend/nodes/copyfuncs.c
M src/backend/nodes/equalfuncs.c
M src/backend/nodes/nodeFuncs.c
M src/backend/nodes/outfuncs.c
M src/backend/nodes/readfuncs.c
M src/backend/optimizer/plan/createplan.c
M src/backend/optimizer/plan/planner.c
M src/backend/optimizer/plan/setrefs.c
M src/backend/optimizer/plan/subselect.c
M src/backend/parser/gram.y
M src/backend/parser/parse_agg.c
M src/backend/parser/parse_clause.c
M src/backend/utils/adt/ruleutils.c
M src/include/catalog/catversion.h
M src/include/nodes/execnodes.h
M src/include/nodes/parsenodes.h
M src/include/nodes/plannodes.h
M src/include/optimizer/planmain.h
M src/include/parser/kwlist.h
M src/test/regress/expected/window.out
M src/test/regress/parallel_schedule
M src/test/regress/serial_schedule
M src/test/regress/sql/window.sql

Update Hot Standby documentation to reflect the change in the LOG messages printed at startup. As pointed out by Simon Riggs.

commit   : a5348fafd182d5b84c89b43af3746711ce28f319    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Fri, 12 Feb 2010 14:53:22 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Fri, 12 Feb 2010 14:53:22 +0000    

Click here for diff

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

Reduce the chatter to the log when starting a standby server. Don't echo all the recovery.conf options. Don't emit the "initializing recovery connections" message, which doesn't mean anything to a user. Remove the "starting archive recovery" message and replace the "automatic recovery in progress" message with a more informative message saying whether the server is doing PITR, normal archive recovery, or standby mode.

commit   : e465390d037a91f93d0be436614b4a0db6976d64    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Fri, 12 Feb 2010 09:49:08 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Fri, 12 Feb 2010 09:49:08 +0000    

Click here for diff

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

Clean up Streaming Replication documentation a little bit. A lot more needs to be done, but it's a step forward..

commit   : 1026be15b615896aefbba22f91134f11d5f7826b    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Fri, 12 Feb 2010 08:28:44 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Fri, 12 Feb 2010 08:28:44 +0000    

Click here for diff

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

If primary_conninfo is not set, don't try to establish streaming connection.

commit   : 54cbd1757e6fe166673f66455557f0397b01e17c    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Fri, 12 Feb 2010 07:56:36 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Fri, 12 Feb 2010 07:56:36 +0000    

Click here for diff

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

Check for partial WAL files in standby mode. If restore_command restores a partial WAL file, assume it's because the file is just being copied to the archive and treat it the same as "file not found" in standby mode. pg_standby has a similar check, so it seems reasonable to have the same level of protection in the built-in standby mode.

commit   : 9fa01f6c8acbae4568f5e7b3d682235dd67c3a74    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Fri, 12 Feb 2010 07:36:44 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Fri, 12 Feb 2010 07:36:44 +0000    

Click here for diff

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

Free reference in correct Perl context. Backpatch to release 8.2. Patch from Tim Bunce.

commit   : 7e30c0067cffca642c3ced975a0e1814e86191b1    
  
author   : Andrew Dunstan <[email protected]>    
date     : Fri, 12 Feb 2010 04:31:14 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Fri, 12 Feb 2010 04:31:14 +0000    

Click here for diff

M src/pl/plperl/expected/plperl_plperlu.out
M src/pl/plperl/plperl.c
M src/pl/plperl/sql/plperl_plperlu.sql

Suppress uninitialized-variable warning.

commit   : 14d5a478c4ae9537ec00a9de5f9cc54d7d5cfeab    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 11 Feb 2010 22:17:27 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 11 Feb 2010 22:17:27 +0000    

Click here for diff

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

Fix typo bug in Hot Standby from recent refactoring. Bug introduced into code recently patched by Andres Freund, so quickly fixed by him when bug report from Tatsuo Ishii arrived.

commit   : 5cbf6dceea1af73b8a8b50f2628b278ff4f31c9e    
  
author   : Simon Riggs <[email protected]>    
date     : Thu, 11 Feb 2010 19:35:22 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Thu, 11 Feb 2010 19:35:22 +0000    

Click here for diff

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

Generic implementation of red-black binary tree. It's planned to use in several places, but for now only GIN uses it during index creation. Using self-balanced tree greatly speeds up index creation in corner cases with preordered data.

commit   : 5209c084a646018bf429e4a1800e76e7b8b548a7    
  
author   : Teodor Sigaev <[email protected]>    
date     : Thu, 11 Feb 2010 14:29:50 +0000    
  
committer: Teodor Sigaev <[email protected]>    
date     : Thu, 11 Feb 2010 14:29:50 +0000    

Click here for diff

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

Now that streaming replication switches between streaming mode and restoring from archive, the last WAL segment is not necessarily open at the end of recovery. Fix assertion that assumed that.

commit   : 161d9d51b321f021d4231001ccc32988edfccda0    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Wed, 10 Feb 2010 08:25:25 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Wed, 10 Feb 2010 08:25:25 +0000    

Click here for diff

Fujii Masao, fixing the assertion failure reported by Martin Pihlak.  

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

Improve planner's choices about when to use hashing vs sorting for DISTINCT.

commit   : 76b6ee3f380b90956a1ca18f15e2a70874651f66    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 10 Feb 2010 03:38:35 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 10 Feb 2010 03:38:35 +0000    

Click here for diff

The previous coding missed a bet by sometimes picking the "sorted" path  
from query_planner even though hashing would be preferable.  To fix, we have  
to be willing to make the choice sooner.  This contorts things a little bit,  
but I thought of a factorization that makes it not too awful.  

M src/backend/optimizer/plan/planner.c

Fix up rickety handling of relation-truncation interlocks.

commit   : cbe9d6beb4ae1cb20c08cab29b534be4923b6768    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 9 Feb 2010 21:43:30 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 9 Feb 2010 21:43:30 +0000    

Click here for diff

Move rd_targblock, rd_fsm_nblocks, and rd_vm_nblocks from relcache to the smgr  
relation entries, so that they will get reset to InvalidBlockNumber whenever  
an smgr-level flush happens.  Because we now send smgr invalidation messages  
immediately (not at end of transaction) when a relation truncation occurs,  
this ensures that other backends will reset their values before they next  
access the relation.  We no longer need the unreliable assumption that a  
VACUUM that's doing a truncation will hold its AccessExclusive lock until  
commit --- in fact, we can intentionally release that lock as soon as we've  
completed the truncation.  This patch therefore reverts (most of) Alvaro's  
patch of 2009-11-10, as well as my marginal hacking on it yesterday.  We can  
also get rid of assorted no-longer-needed relcache flushes, which are far more  
expensive than an smgr flush because they kill a lot more state.  
  
In passing this patch fixes smgr_redo's failure to perform visibility-map  
truncation, and cleans up some rather dubious assumptions in freespace.c and  
visibilitymap.c about when rd_fsm_nblocks and rd_vm_nblocks can be out of  
date.  

M src/backend/access/heap/hio.c
M src/backend/access/heap/visibilitymap.c
M src/backend/access/transam/xlogutils.c
M src/backend/catalog/storage.c
M src/backend/commands/cluster.c
M src/backend/commands/sequence.c
M src/backend/commands/vacuum.c
M src/backend/commands/vacuumlazy.c
M src/backend/executor/execMain.c
M src/backend/storage/freespace/freespace.c
M src/backend/storage/smgr/smgr.c
M src/backend/utils/cache/relcache.c
M src/include/commands/vacuum.h
M src/include/storage/smgr.h
M src/include/utils/rel.h

Fix bug in GIN WAL redo cleanup function: don't free fake relcache entry while it's still being used.

commit   : 79647eed86cc972e80ea165dcb0b7f6fef876169    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Tue, 9 Feb 2010 20:31:24 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Tue, 9 Feb 2010 20:31:24 +0000    

Click here for diff

Backpatch to 8.4, where the fake relcache method was introduced.  

M src/backend/access/gin/ginxlog.c

Typo fix, per Thom Brown

commit   : 09c0747515cc0663417ed8c78ede966ab14dfa0e    
  
author   : Magnus Hagander <[email protected]>    
date     : Tue, 9 Feb 2010 20:22:20 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Tue, 9 Feb 2010 20:22:20 +0000    

Click here for diff

M src/backend/port/win32/mingwcompat.c

Define the value for in6addr_any on MingW, since it provides the struct only in the header files and not in any libraries, yet declare it as an extern.

commit   : a8d3a395aafd3255be7603f6bf33d2f8a7eb7f25    
  
author   : Magnus Hagander <[email protected]>    
date     : Tue, 9 Feb 2010 19:55:14 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Tue, 9 Feb 2010 19:55:14 +0000    

Click here for diff

M src/backend/port/win32/mingwcompat.c

Move "Warm Standby Servers for High Availability" and "Hot Standby" sections under "High Availability, Load Balancing, and Replication" chapter. Streaming replication chapter needs a lot more work, but this commit just moves things around.

commit   : 8740fe7136f4552e609ccf8b0b26ed77e4351311    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Tue, 9 Feb 2010 16:50:25 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Tue, 9 Feb 2010 16:50:25 +0000    

Click here for diff

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

First try to make this one ecpg regression test work on Windows too. I'm just trying to figure out the minimal amount of defines needed.

commit   : c34446cddd846732e651f45b0195ac40ad5a580d    
  
author   : Michael Meskes <[email protected]>    
date     : Tue, 9 Feb 2010 08:57:13 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Tue, 9 Feb 2010 08:57:13 +0000    

Click here for diff

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/pgtypeslib/nan_test.pgc

Allow free space map vacuuming to be interrupted.

commit   : 16e5859cd24d25913134725d97bf5cd23c2e06d2    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 9 Feb 2010 00:28:57 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 9 Feb 2010 00:28:57 +0000    

Click here for diff

M src/backend/storage/freespace/freespace.c

Rearrange lazy-vacuum code a little bit to reduce the window between truncating the table and transaction commit. This isn't really making it safe, but at least there is no good reason to do free space map cleanup within the risk window. Don't lock out cancel interrupts until we have to, either.

commit   : 95289e4a58b45ff1ae21ca379625be39c454e22e    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 9 Feb 2010 00:28:30 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 9 Feb 2010 00:28:30 +0000    

Click here for diff

M src/backend/commands/vacuumlazy.c

Create an official API function for C functions to use to check if they are being called as aggregates, and to get the aggregate transition state memory context if needed. Use it instead of poking directly into AggState and WindowAggState in places that shouldn't know so much.

commit   : d5768dce10576c2fb1254c03fb29475d4fac6bb4    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 8 Feb 2010 20:39:52 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 8 Feb 2010 20:39:52 +0000    

Click here for diff

We should have done this in 8.4, probably, but better late than never.  
  
Revised version of a patch by Hitoshi Harada.  

M contrib/tsearch2/tsearch2.c
M doc/src/sgml/xaggr.sgml
M src/backend/executor/nodeAgg.c
M src/backend/utils/adt/array_userfuncs.c
M src/backend/utils/adt/float.c
M src/backend/utils/adt/int8.c
M src/backend/utils/adt/numeric.c
M src/backend/utils/adt/varlena.c
M src/include/fmgr.h

Remove obsolete comment about 'fsm' argument, which isn't an argument anymore.

commit   : 4d3d2e2b0325e3d6d524c6801b7439d3aaea4520    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Mon, 8 Feb 2010 19:59:49 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Mon, 8 Feb 2010 19:59:49 +0000    

Click here for diff

M src/backend/catalog/storage.c

Fix serious performance bug in new implementation of VACUUM FULL: cluster_rel necessarily builds an all-new toast table, so it's useless to then go and VACUUM FULL the toast table.

commit   : 9184cc7dab0b00f6a1325a762e856ed1079327cf    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 8 Feb 2010 16:50:21 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 8 Feb 2010 16:50:21 +0000    

Click here for diff

M src/backend/commands/vacuum.c

Add C comments that HEAP_MOVED_* define usage is only for pre-9.0 binary upgrades.

commit   : dfc902854aa008ea4bd1096ab1657d226f0b9bfa    
  
author   : Bruce Momjian <[email protected]>    
date     : Mon, 8 Feb 2010 14:10:21 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Mon, 8 Feb 2010 14:10:21 +0000    

Click here for diff

M src/backend/utils/time/tqual.c
M src/include/access/htup.h

Update high availability/replication documentation chart for new hot standby featureset.

commit   : 3ab41f02edabf534a24ff58aacc1b1b623b2601c    
  
author   : Bruce Momjian <[email protected]>    
date     : Mon, 8 Feb 2010 13:41:06 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Mon, 8 Feb 2010 13:41:06 +0000    

Click here for diff

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

Remove piece of code to zero out minRecoveryPoint when starting crash recovery. It's zeroed out whenever a checkpoint is written, so the only scenario where the removed code did anything is when you kill archive recovery, remove recovery.conf, and start up the server, so that it goes into crash recovery instead. That's a "don't do that" scenario, but it seems better to not clear minRecoveryPoint but instead update it like we do in archive recovery, which is what will now happen.

commit   : 4cea603128e53d47a8520b4f80332d95ec77589f    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Mon, 8 Feb 2010 09:08:51 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Mon, 8 Feb 2010 09:08:51 +0000    

Click here for diff

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

Remove CatalogCacheFlushRelation, and the reloidattr infrastructure that was needed by nothing else.

commit   : 9a75803b1a4ba01c1e02284146fa7cf8a0cf8cd1    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 8 Feb 2010 05:53:55 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 8 Feb 2010 05:53:55 +0000    

Click here for diff

The restructuring I just finished doing on cache management exposed to me how  
silly this routine was.  Its function was to go into the catcache and blow  
away all entries related to a given relation when there was a relcache flush  
on that relation.  However, there is no point in removing a catcache entry  
if the catalog row it represents is still valid --- and if it isn't valid,  
there must have been a catcache entry flush on it, because that's triggered  
directly by heap_update or heap_delete on the catalog row.  So this routine  
accomplished nothing except to blow away valid cache entries that we'd very  
likely be wanting in the near future to help reconstruct the relcache entry.  
Dumb.  
  
On top of which, it required a subtle and easy-to-get-wrong attribute in  
syscache definitions, ie, the column containing the OID of the related  
relation if any.  Removing that is a very useful maintenance simplification.  

M src/backend/utils/cache/catcache.c
M src/backend/utils/cache/relcache.c
M src/backend/utils/cache/syscache.c
M src/include/utils/catcache.h

Remove some more dead VACUUM-FULL-only code.

commit   : 68446b2c87a2aee5d8c2eb2aade7bb6d4195b7e1    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 8 Feb 2010 05:17:31 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 8 Feb 2010 05:17:31 +0000    

Click here for diff

M src/backend/access/gist/gistvacuum.c

Remove old-style VACUUM FULL (which was known for a little while as VACUUM FULL INPLACE), along with a boatload of subsidiary code and complexity. Per discussion, the use case for this method of vacuuming is no longer large enough to justify maintaining it; not to mention that we don't wish to invest the work that would be needed to make it play nicely with Hot Standby.

commit   : 0a469c87692d15a22eaa69d4b3a43dd8e278dd64    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 8 Feb 2010 04:33:55 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 8 Feb 2010 04:33:55 +0000    

Click here for diff

Aside from the code directly related to old-style VACUUM FULL, this commit  
removes support for certain WAL record types that could only be generated  
within VACUUM FULL, redirect-pointer removal in heap_page_prune, and  
nontransactional generation of cache invalidation sinval messages (the last  
being the sticking point for Hot Standby).  
  
We still have to retain all code that copes with finding HEAP_MOVED_OFF and  
HEAP_MOVED_IN flag bits on existing tuples.  This can't be removed as long  
as we want to support in-place update from pre-9.0 databases.  

M doc/src/sgml/indexam.sgml
M doc/src/sgml/maintenance.sgml
M doc/src/sgml/ref/vacuum.sgml
M doc/src/sgml/ref/vacuumdb.sgml
M src/backend/access/gin/README
M src/backend/access/gin/ginvacuum.c
M src/backend/access/gist/gistvacuum.c
M src/backend/access/heap/README.HOT
M src/backend/access/heap/heapam.c
M src/backend/access/heap/pruneheap.c
M src/backend/access/nbtree/README
M src/backend/access/nbtree/nbtpage.c
M src/backend/access/nbtree/nbtree.c
M src/backend/access/nbtree/nbtxlog.c
M src/backend/access/transam/xact.c
M src/backend/access/transam/xlog.c
M src/backend/catalog/index.c
M src/backend/commands/analyze.c
M src/backend/commands/copy.c
M src/backend/commands/vacuum.c
M src/backend/commands/vacuumlazy.c
M src/backend/executor/execUtils.c
M src/backend/executor/nodeModifyTable.c
M src/backend/parser/gram.y
M src/backend/storage/lmgr/proc.c
M src/backend/utils/cache/inval.c
M src/backend/utils/time/tqual.c
M src/bin/scripts/vacuumdb.c
M src/include/access/genam.h
M src/include/access/heapam.h
M src/include/access/htup.h
M src/include/access/nbtree.h
M src/include/access/xact.h
M src/include/access/xlog.h
M src/include/commands/vacuum.h
M src/include/executor/executor.h
M src/include/nodes/parsenodes.h
M src/include/parser/kwlist.h
M src/include/utils/inval.h
M src/test/regress/expected/vacuum.out
M src/test/regress/sql/vacuum.sql

Work around deadlock problems with VACUUM FULL/CLUSTER on system catalogs, as per my recent proposal.

commit   : 1ddc2703a936d03953657f43345460b9242bbed1    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 7 Feb 2010 22:40:33 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 7 Feb 2010 22:40:33 +0000    

Click here for diff

First, teach IndexBuildHeapScan to not wait for INSERT_IN_PROGRESS or  
DELETE_IN_PROGRESS tuples to commit unless the index build is checking  
uniqueness/exclusion constraints.  If it isn't, there's no harm in just  
indexing the in-doubt tuple.  
  
Second, modify VACUUM FULL/CLUSTER to suppress reverifying  
uniqueness/exclusion constraint properties while rebuilding indexes of  
the target relation.  This is reasonable because these commands aren't  
meant to deal with corrupted-data situations.  Constraint properties  
will still be rechecked when an index is rebuilt by a REINDEX command.  
  
This gets us out of the problem that new-style VACUUM FULL would often  
wait for other transactions while holding exclusive lock on a system  
catalog, leading to probable deadlock because those other transactions  
need to look at the catalogs too.  Although the real ultimate cause of  
the problem is a debatable choice to release locks early after modifying  
system catalogs, changing that choice would require pretty serious  
analysis and is not something to be undertaken lightly or on a tight  
schedule.  The present patch fixes the problem in a fairly reasonable  
way and should also improve the speed of VACUUM FULL/CLUSTER a little bit.  

M src/backend/catalog/index.c
M src/backend/commands/cluster.c
M src/backend/commands/indexcmds.c
M src/include/catalog/index.h
M src/test/regress/parallel_schedule

Looks like we need #include <sys/stat.h> here on some platforms. Per buildfarm.

commit   : 1c05b0b4ea05fc73ea3612212c943cd459efa17d    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 7 Feb 2010 22:00:53 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 7 Feb 2010 22:00:53 +0000    

Click here for diff

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

Create a "relation mapping" infrastructure to support changing the relfilenodes of shared or nailed system catalogs. This has two key benefits:

commit   : b9b8831ad60f6e4bd580fe6dbe9749359298a3c4    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 7 Feb 2010 20:48:13 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 7 Feb 2010 20:48:13 +0000    

Click here for diff

* The new CLUSTER-based VACUUM FULL can be applied safely to all catalogs.  
  
* We no longer have to use an unsafe reindex-in-place approach for reindexing  
  shared catalogs.  
  
CLUSTER on nailed catalogs now works too, although I left it disabled on  
shared catalogs because the resulting pg_index.indisclustered update would  
only be visible in one database.  
  
Since reindexing shared system catalogs is now fully transactional and  
crash-safe, the former special cases in REINDEX behavior have been removed;  
shared catalogs are treated the same as non-shared.  
  
This commit does not do anything about the recently-discussed problem of  
deadlocks between VACUUM FULL/CLUSTER on a system catalog and other  
concurrent queries; will address that in a separate patch.  As a stopgap,  
parallel_schedule has been tweaked to run vacuum.sql by itself, to avoid  
such failures during the regression tests.  

M contrib/oid2name/oid2name.c
M doc/src/sgml/catalogs.sgml
M doc/src/sgml/diskusage.sgml
M doc/src/sgml/func.sgml
M doc/src/sgml/pgbuffercache.sgml
M doc/src/sgml/ref/cluster.sgml
M doc/src/sgml/ref/reindex.sgml
M doc/src/sgml/storage.sgml
M src/backend/access/index/genam.c
M src/backend/access/transam/rmgr.c
M src/backend/access/transam/xact.c
M src/backend/access/transam/xlog.c
M src/backend/bootstrap/bootparse.y
M src/backend/bootstrap/bootstrap.c
M src/backend/catalog/catalog.c
M src/backend/catalog/heap.c
M src/backend/catalog/index.c
M src/backend/catalog/storage.c
M src/backend/catalog/toasting.c
M src/backend/commands/cluster.c
M src/backend/commands/indexcmds.c
M src/backend/commands/tablecmds.c
M src/backend/commands/vacuum.c
M src/backend/executor/execMain.c
M src/backend/parser/parse_clause.c
M src/backend/utils/adt/dbsize.c
M src/backend/utils/cache/Makefile
M src/backend/utils/cache/catcache.c
M src/backend/utils/cache/inval.c
M src/backend/utils/cache/relcache.c
A src/backend/utils/cache/relmapper.c
M src/backend/utils/init/miscinit.c
M src/bin/pg_dump/pg_dump.c
M src/include/access/rmgr.h
M src/include/catalog/catalog.h
M src/include/catalog/catversion.h
M src/include/catalog/heap.h
M src/include/catalog/index.h
M src/include/catalog/pg_class.h
M src/include/catalog/pg_proc.h
M src/include/catalog/storage.h
M src/include/commands/cluster.h
M src/include/miscadmin.h
M src/include/storage/lwlock.h
M src/include/storage/relfilenode.h
M src/include/storage/sinval.h
M src/include/utils/builtins.h
M src/include/utils/catcache.h
M src/include/utils/inval.h
M src/include/utils/rel.h
M src/include/utils/relcache.h
A src/include/utils/relmapper.h
M src/test/regress/expected/vacuum.out
M src/test/regress/parallel_schedule

Avoid changing the sign of zero. Per buildfarm failures.

commit   : 7fc30c488fc6e9674564206193c29b1a657a818f    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 6 Feb 2010 05:42:49 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 6 Feb 2010 05:42:49 +0000    

Click here for diff

M src/port/rint.c

Mention warm and now "hot" standby servers in the high availability docs.

commit   : 6ba9b9102aade07fae0b7e8f10813a54d385b5a1    
  
author   : Bruce Momjian <[email protected]>    
date     : Fri, 5 Feb 2010 23:53:22 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Fri, 5 Feb 2010 23:53:22 +0000    

Click here for diff

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

Document that archive_timeout will force new WAL files even if a single checkpoint has happened, and recommend adjusting checkpoint_timeout to reduce the impact of this.

commit   : 4b113d9cdc8654e3f979497e057c7f9062bfa612    
  
author   : Bruce Momjian <[email protected]>    
date     : Fri, 5 Feb 2010 23:37:43 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Fri, 5 Feb 2010 23:37:43 +0000    

Click here for diff

M doc/src/sgml/config.sgml
M src/backend/postmaster/bgwriter.c

Add C comment about process_settings() setting order.

commit   : ef51fa505ca6433aaf4e7826a79f665ffecd241a    
  
author   : Bruce Momjian <[email protected]>    
date     : Fri, 5 Feb 2010 20:26:56 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Fri, 5 Feb 2010 20:26:56 +0000    

Click here for diff

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

Previous commit was: Properly document that OVER and WINDOW are Postgres reserved words.

commit   : c1ae9bae7dd384f6fe38b304955c608527e0af8c    
  
author   : Bruce Momjian <[email protected]>    
date     : Fri, 5 Feb 2010 19:38:21 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Fri, 5 Feb 2010 19:38:21 +0000    

Click here for diff

M doc/src/sgml/keywords.sgml

Previous commit was to have tab checking as part of gmake check.

commit   : d5c861af6c1b87d89e125467d9b424e7ec626db0    
  
author   : Bruce Momjian <[email protected]>    
date     : Fri, 5 Feb 2010 19:31:18 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Fri, 5 Feb 2010 19:31:18 +0000    

Click here for diff

M doc/src/sgml/Makefile

*** empty log message ***

commit   : 2a93226f0dd3adaf3d6ef78ab6d52a8a27bf6ee0    
  
author   : Bruce Momjian <[email protected]>    
date     : Fri, 5 Feb 2010 19:28:39 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Fri, 5 Feb 2010 19:28:39 +0000    

Click here for diff

M doc/src/sgml/Makefile
M doc/src/sgml/keywords.sgml

Improve PL/Perl documentation of database access functions.

commit   : ac9f2546841984d966ab31388678db318e6ad29f    
  
author   : Bruce Momjian <[email protected]>    
date     : Fri, 5 Feb 2010 18:11:46 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Fri, 5 Feb 2010 18:11:46 +0000    

Click here for diff

Alexey Klyukin  

M doc/src/sgml/plperl.sgml

Add SGML 'check-tabs' Makefile rule to check for tabs.

commit   : cb4bd52ad99dcb6a2e224c262d40bc360dcf8e92    
  
author   : Bruce Momjian <[email protected]>    
date     : Fri, 5 Feb 2010 14:51:50 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Fri, 5 Feb 2010 14:51:50 +0000    

Click here for diff

M doc/src/sgml/Makefile

commit   : 7027aba9804931e27a3d0b542b87461e2b88b42b    
  
author   : Bruce Momjian <[email protected]>    
date     : Fri, 5 Feb 2010 04:34:51 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Fri, 5 Feb 2010 04:34:51 +0000    

Click here for diff

M contrib/isn/isn.c
M contrib/isn/isn.h

commit   : 8283b65019b6d0274853128d6a618b36745d7e5e    
  
author   : Bruce Momjian <[email protected]>    
date     : Fri, 5 Feb 2010 03:20:56 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Fri, 5 Feb 2010 03:20:56 +0000    

Click here for diff

Function is simpler too.  

M src/port/rint.c

Modify recently added PQconnectdbParams() with new argument, expand_dbname. If expand_dbname is non-zero and dbname contains an = sign, it is taken as a conninfo string in exactly the same way as if it had been passed to PQconnectdb. This is equivalent to the way PQsetdbLogin() works, allowing PQconnectdbParams() to be a complete alternative.

commit   : f419a82c704ec33fe5b861f914935b233a54bcee    
  
author   : Joe Conway <[email protected]>    
date     : Fri, 5 Feb 2010 03:09:05 +0000    
  
committer: Joe Conway <[email protected]>    
date     : Fri, 5 Feb 2010 03:09:05 +0000    

Click here for diff

Also improve the way the new function is called from psql and replace a  
previously missed call to PQsetdbLogin() in psql. Additionally use  
PQconnectdbParams() for pg_dump and friends, and the bin/scripts  
command line utilities such as vacuumdb, createdb, etc.  
  
Finally, update the documentation for the new parameter, as well as the  
nuances of precedence in cases where key words are repeated or duplicated  
in the conninfo string.  

M doc/src/sgml/libpq.sgml
M src/bin/pg_dump/pg_backup_db.c
M src/bin/pg_dump/pg_dumpall.c
M src/bin/psql/command.c
M src/bin/psql/startup.c
M src/bin/scripts/common.c
M src/interfaces/libpq/fe-connect.c
M src/interfaces/libpq/libpq-fe.h

commit   : a141ec13de1b2ee4ff7ec1e6b0da03ce7eb7dbbb    
  
author   : Bruce Momjian <[email protected]>    
date     : Fri, 5 Feb 2010 03:06:30 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Fri, 5 Feb 2010 03:06:30 +0000    

Click here for diff

M contrib/intagg/Makefile

Usage of isnan() in ECPG regression tests probably needs '#include <float.h>' as well.

commit   : 58fb345ddeccf6b198215c26a8dcbc13101c4df2    
  
author   : Michael Meskes <[email protected]>    
date     : Thu, 4 Feb 2010 11:23:29 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Thu, 4 Feb 2010 11:23:29 +0000    

Click here for diff

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/pgtypeslib/nan_test.pgc

Streamlined array handling code in libecpg a little bit, in the process fixing yet another incorrect log output.

commit   : a96ad2fc7471b9abea0697b79ff3706c618d39f2    
  
author   : Michael Meskes <[email protected]>    
date     : Thu, 4 Feb 2010 09:41:35 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Thu, 4 Feb 2010 09:41:35 +0000    

Click here for diff

M src/interfaces/ecpg/ecpglib/data.c
M src/interfaces/ecpg/ecpglib/execute.c
M src/interfaces/ecpg/ecpglib/extern.h
M src/interfaces/ecpg/test/expected/compat_informix-rnull.stderr
M src/interfaces/ecpg/test/expected/compat_informix-sqlda.stderr
M src/interfaces/ecpg/test/expected/compat_informix-test_informix.stderr
M src/interfaces/ecpg/test/expected/compat_informix-test_informix2.stderr
M src/interfaces/ecpg/test/expected/connect-test2.stderr
M src/interfaces/ecpg/test/expected/connect-test3.stderr
M src/interfaces/ecpg/test/expected/pgtypeslib-dt_test.stderr
M src/interfaces/ecpg/test/expected/pgtypeslib-nan_test.stderr
M src/interfaces/ecpg/test/expected/pgtypeslib-num_test.stderr
M src/interfaces/ecpg/test/expected/preproc-array_of_struct.stderr
M src/interfaces/ecpg/test/expected/preproc-autoprep.stderr
M src/interfaces/ecpg/test/expected/preproc-cursor.stderr
M src/interfaces/ecpg/test/expected/preproc-define.stderr
M src/interfaces/ecpg/test/expected/preproc-outofscope.stderr
M src/interfaces/ecpg/test/expected/preproc-strings.stderr
M src/interfaces/ecpg/test/expected/preproc-type.stderr
M src/interfaces/ecpg/test/expected/preproc-variable.stderr
M src/interfaces/ecpg/test/expected/preproc-whenever.stderr
M src/interfaces/ecpg/test/expected/sql-array.stderr
M src/interfaces/ecpg/test/expected/sql-binary.stderr
M src/interfaces/ecpg/test/expected/sql-define.stderr
M src/interfaces/ecpg/test/expected/sql-desc.stderr
M src/interfaces/ecpg/test/expected/sql-dynalloc.stderr
M src/interfaces/ecpg/test/expected/sql-dynalloc2.stderr
M src/interfaces/ecpg/test/expected/sql-dyntest.stderr
M src/interfaces/ecpg/test/expected/sql-execute.stderr
M src/interfaces/ecpg/test/expected/sql-fetch.stderr
M src/interfaces/ecpg/test/expected/sql-func.stderr
M src/interfaces/ecpg/test/expected/sql-indicators.stderr
M src/interfaces/ecpg/test/expected/sql-insupd.stderr
M src/interfaces/ecpg/test/expected/sql-oldexec.stderr
M src/interfaces/ecpg/test/expected/sql-parser.stderr
M src/interfaces/ecpg/test/expected/sql-quote.stderr
M src/interfaces/ecpg/test/expected/sql-show.stderr
M src/interfaces/ecpg/test/expected/sql-sqlda.stderr

Three out of four of us like this phrasing better.

commit   : c00353aa6c40f90550d6e6fa2ab2cb68f472e401    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 4 Feb 2010 00:19:28 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 4 Feb 2010 00:19:28 +0000    

Click here for diff

M doc/src/sgml/syntax.sgml

commit   : 9727c583fe863252338dc4c5a925d78c59128c93    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 4 Feb 2010 00:09:14 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 4 Feb 2010 00:09:14 +0000    

Click here for diff

We unfortunately have to keep the logical-level swap logic because in some  
cases we will be adding or deleting a toast table, so there's no possibility  
of a physical swap.  However, that only happens as a consequence of schema  
changes in the table, which we do not need to support for system catalogs,  
so such cases aren't an obstacle for that.  
  
In passing, refactor the cluster support functions a little bit to eliminate  
unnecessarily-duplicated code; and fix the problem that while CLUSTER had  
been taught to rename the final toast table at need, ALTER TABLE had not.  

M src/backend/access/heap/tuptoaster.c
M src/backend/commands/cluster.c
M src/backend/commands/tablecmds.c
M src/backend/utils/cache/relcache.c
M src/include/commands/cluster.h
M src/include/utils/rel.h

commit   : fdac8cf998b9a41fa2b64cb3a80bc02548189082    
  
author   : Joe Conway <[email protected]>    
date     : Wed, 3 Feb 2010 23:01:11 +0000    
  
committer: Joe Conway <[email protected]>    
date     : Wed, 3 Feb 2010 23:01:11 +0000    

Click here for diff

Backpatch all the way to the 7.3 branch.  

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

Mention "unquoted" identifiers are case-insensitive.

commit   : 73a835eea079a012f51fe8be78282e6e3b66210f    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 3 Feb 2010 22:48:55 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 3 Feb 2010 22:48:55 +0000    

Click here for diff

M doc/src/sgml/syntax.sgml

Proofreading improvements for the Administration documentation book.

commit   : bf62b1a0781e49df3eff3c050548f7ab15bffdfb    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 3 Feb 2010 17:25:06 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 3 Feb 2010 17:25:06 +0000    

Click here for diff

M doc/src/sgml/backup.sgml
M doc/src/sgml/catalogs.sgml
M doc/src/sgml/charset.sgml
M doc/src/sgml/client-auth.sgml
M doc/src/sgml/config.sgml
M doc/src/sgml/diskusage.sgml
M doc/src/sgml/high-availability.sgml
M doc/src/sgml/install-win32.sgml
M doc/src/sgml/installation.sgml
M doc/src/sgml/maintenance.sgml
M doc/src/sgml/manage-ag.sgml
M doc/src/sgml/monitoring.sgml
M doc/src/sgml/regress.sgml
M doc/src/sgml/runtime.sgml
M doc/src/sgml/user-manag.sgml
M doc/src/sgml/wal.sgml

Fixed some typos in ECPG regression test suite that resulted in regression test failures on some architectures.

commit   : 1e4cc384abc30845ec1af3f0fde07bba02a0bcf6    
  
author   : Michael Meskes <[email protected]>    
date     : Wed, 3 Feb 2010 13:56:27 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Wed, 3 Feb 2010 13:56:27 +0000    

Click here for diff

By Zoltán Böszörményi.  

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/pgtypeslib/nan_test.pgc

Move the responsibility of writing a "unlogged WAL operation" record from heap_sync() to the callers, because heap_sync() is sometimes called even if the operation itself is WAL-logged. This eliminates the bogus unlogged records from CLUSTER that Simon Riggs reported, patch by Fujii Masao.

commit   : 9de778b24b7d4040a385486348904db1bf69f677    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Wed, 3 Feb 2010 10:01:30 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Wed, 3 Feb 2010 10:01:30 +0000    

Click here for diff

M src/backend/access/heap/heapam.c
M src/backend/access/heap/rewriteheap.c
M src/backend/commands/copy.c
M src/backend/commands/tablecmds.c
M src/backend/executor/execMain.c

Add a message type header to the CopyData messages sent from primary to standby in streaming replication. While we only have one message type at the moment, adding a message type header makes this easier to extend.

commit   : 808969d0e7ac2d2fdbd915c6a6ac9ec68b6f63f9    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Wed, 3 Feb 2010 09:47:19 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Wed, 3 Feb 2010 09:47:19 +0000    

Click here for diff

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

Fix unwarranted assumption that a cached rowtype would stick around for the lifespan of the CreateStmt. Per buildfarm member jaguar.

commit   : 47c5b8f5588da67a95dca8cb14b2bc1b7f291e15    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 3 Feb 2010 05:46:37 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 3 Feb 2010 05:46:37 +0000    

Click here for diff

M src/backend/parser/parse_utilcmd.c

Add #include <float.h> --- guessing the lack of this is why Windows machines are all rejecting isinf() calls in this file.

commit   : 45c88a55c2845a8f67934fa17ac9256f3a7d799f    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 3 Feb 2010 03:25:55 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 3 Feb 2010 03:25:55 +0000    

Click here for diff

M src/interfaces/ecpg/ecpglib/execute.c

Fix timing-sensitive regression test result I just created :-( --- the DROP USER at the end of the cluster.sql test could fail, if the temp table created in the previous session hadn't finished getting dropped. Unluckily, I didn't see this in several repetitions of the parallel regression tests, but it's popping up on quite a few buildfarm machines.

commit   : 98e314550c3264de02daf3686585683a80dc63c6    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 3 Feb 2010 03:21:25 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 3 Feb 2010 03:21:25 +0000    

Click here for diff

M src/test/regress/expected/cluster.out
M src/test/regress/sql/cluster.sql

Assorted cleanups in preparation for using a map file to support altering the relfilenode of currently-not-relocatable system catalogs.

commit   : 70a2b05a59c02464e36d8c9bf23d2eef8502eccd    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 3 Feb 2010 01:14:17 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 3 Feb 2010 01:14:17 +0000    

Click here for diff

1. Get rid of inval.c's dependency on relfilenode, by not having it emit  
smgr invalidations as a result of relcache flushes.  Instead, smgr sinval  
messages are sent directly from smgr.c when an actual relation delete or  
truncate is done.  This makes considerably more structural sense and allows  
elimination of a large number of useless smgr inval messages that were  
formerly sent even in cases where nothing was changing at the  
physical-relation level.  Note that this reintroduces the concept of  
nontransactional inval messages, but that's okay --- because the messages  
are sent by smgr.c, they will be sent in Hot Standby slaves, just from a  
lower logical level than before.  
  
2. Move setNewRelfilenode out of catalog/index.c, where it never logically  
belonged, into relcache.c; which is a somewhat debatable choice as well but  
better than before.  (I considered catalog/storage.c, but that seemed too  
low level.)  Rename to RelationSetNewRelfilenode.  
  
3. Cosmetic cleanups of some other relfilenode manipulations.  

M src/backend/catalog/heap.c
M src/backend/catalog/index.c
M src/backend/catalog/toasting.c
M src/backend/commands/tablecmds.c
M src/backend/storage/smgr/smgr.c
M src/backend/utils/cache/inval.c
M src/backend/utils/cache/relcache.c
M src/include/catalog/index.h
M src/include/utils/inval.h
M src/include/utils/relcache.h

Fix assorted poorly-thought-out message strings: use %u not %d for printing OIDs, avoid random line breaks in strings somebody might grep for.

commit   : ab7c49c98811f539db9294c8f2d1a15380e025f6    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 2 Feb 2010 22:01:53 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 2 Feb 2010 22:01:53 +0000    

Click here for diff

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

CLUSTER specified the wrong namespace when renaming toast tables of temporary relations (they don't live in pg_toast). This caused an Assert failure in assert-enabled builds. So far as I can see, in a non-assert build it would only have messed up the checks for conflicting names, so a failure would be quite improbable but perhaps not impossible.

commit   : c98157d693edefdbf5e37bca9b26c18a80018dd4    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 2 Feb 2010 19:12:29 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 2 Feb 2010 19:12:29 +0000    

Click here for diff

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

Make RADIUS authentication use pg_getaddrinfo_all() to get address of the server.

commit   : 0a2734714127b01d1f77468766d132064a1d6a97    
  
author   : Magnus Hagander <[email protected]>    
date     : Tue, 2 Feb 2010 19:09:37 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Tue, 2 Feb 2010 19:09:37 +0000    

Click here for diff

Gets rid of a fairly ugly hack for Solaris, and also provides hostname  
and IPV6 support.  

M doc/src/sgml/client-auth.sgml
M src/backend/libpq/auth.c
M src/backend/libpq/hba.c
M src/include/port/solaris.h

Fold FindConversion() into FindConversionByName() and remove ACL check.

commit   : d8db6a6096d1b901f2ad9077148a87cd95fb3e86    
  
author   : Robert Haas <[email protected]>    
date     : Tue, 2 Feb 2010 18:52:33 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Tue, 2 Feb 2010 18:52:33 +0000    

Click here for diff

All callers of FindConversionByName() already do suitable permissions  
checking already apart from this function, but this is not just dead  
code removal: the unnecessary permissions check can actually lead to  
spurious failures - there's no reason why inability to execute the  
underlying function should prohibit renaming the conversion, for example.  
(The error messages in these cases were also rather poor:  
FindConversion would return InvalidOid, eventually leading to a complaint  
that the conversion "did not exist", which was not correct.)  
  
KaiGai Kohei  

M src/backend/catalog/namespace.c
M src/backend/catalog/pg_conversion.c
M src/include/catalog/pg_conversion_fn.h

commit   : 4d32f6d7bf2e4e2715b1f79b379a7cfcca16993c    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 2 Feb 2010 18:52:02 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 2 Feb 2010 18:52:02 +0000    

Click here for diff

Backpatch to 8.4.X.  

M src/tutorial/basics.source

The particular table names used in the new inheritance regression test are prone to sort differently in different locales, as seen in buildfarm results. Let's cast to name not text to avoid that.

commit   : 21f862e487f5e0f8fc954622ed49c6d9d3cd7280    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 2 Feb 2010 18:16:10 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 2 Feb 2010 18:16:10 +0000    

Click here for diff

M src/test/regress/expected/inherit.out
M src/test/regress/sql/inherit.sql

Fixed NaN/Infinity problems in ECPG for float/double/numeric/decimal by making it OS independant.

commit   : cedae130173c8a023cbc2bad39e2301b24aeb027    
  
author   : Michael Meskes <[email protected]>    
date     : Tue, 2 Feb 2010 16:09:12 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Tue, 2 Feb 2010 16:09:12 +0000    

Click here for diff

Patch done by Zoltán Böszörményi.  

M src/interfaces/ecpg/ecpglib/data.c
M src/interfaces/ecpg/ecpglib/execute.c
M src/interfaces/ecpg/ecpglib/misc.c
M src/interfaces/ecpg/include/pgtypes_numeric.h
M src/interfaces/ecpg/pgtypeslib/numeric.c
M src/interfaces/ecpg/test/ecpg_schedule
M src/interfaces/ecpg/test/ecpg_schedule_tcp
A src/interfaces/ecpg/test/expected/pgtypeslib-nan_test.c
A src/interfaces/ecpg/test/expected/pgtypeslib-nan_test.stderr
A src/interfaces/ecpg/test/expected/pgtypeslib-nan_test.stdout
M src/interfaces/ecpg/test/expected/preproc-outofscope.c
M src/interfaces/ecpg/test/expected/sql-sqlda.c
M src/interfaces/ecpg/test/pgtypeslib/Makefile
A src/interfaces/ecpg/test/pgtypeslib/nan_test.pgc

Tighten integrity checks on ALTER TABLE ... ALTER COLUMN ... RENAME.

commit   : 63f9282f6e7a4afed8826437cea6e92d9e4b0869    
  
author   : Robert Haas <[email protected]>    
date     : Mon, 1 Feb 2010 19:28:56 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Mon, 1 Feb 2010 19:28:56 +0000    

Click here for diff

When a column is renamed, we recursively rename the same column in  
all descendent tables.  But if one of those tables also inherits that  
column from a table outside the inheritance hierarchy rooted at the  
named table, we must throw an error.  The previous coding correctly  
prohibited the rename when the parent had inherited the column from  
elsewhere, but overlooked the case where the parent was OK but a child  
table also inherited the same column from a second, unrelated parent.  
  
For now, not backpatched due to lack of complaints from the field.  
  
KaiGai Kohei, with further changes by me.  
Reviewed by Bernd Helme and Tom Lane.  

M src/backend/catalog/pg_inherits.c
M src/backend/commands/alter.c
M src/backend/commands/analyze.c
M src/backend/commands/tablecmds.c
M src/backend/optimizer/prep/prepunion.c
M src/include/catalog/pg_inherits_fn.h
M src/include/commands/tablecmds.h
M src/test/regress/expected/inherit.out
M src/test/regress/sql/inherit.sql

Remove tabs in sgml.

commit   : 1526d4e38fc5a067ffa9779be34d4dbcfdf8ea5f    
  
author   : Bruce Momjian <[email protected]>    
date     : Mon, 1 Feb 2010 15:48:35 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Mon, 1 Feb 2010 15:48:35 +0000    

Click here for diff

M doc/src/sgml/plperl.sgml

Augment EXPLAIN output with more details on Hash nodes.

commit   : 42a8ab0a1429b4ba78a35ad8b210734d1561d644    
  
author   : Robert Haas <[email protected]>    
date     : Mon, 1 Feb 2010 15:43:36 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Mon, 1 Feb 2010 15:43:36 +0000    

Click here for diff

We show the number of buckets, the number of batches (and also the original  
number if it has changed), and the peak space used by the hash table.  Minor  
executor changes to track peak space used.  

M src/backend/commands/explain.c
M src/backend/executor/nodeHash.c
M src/include/executor/hashjoin.h

Minor documentation improvements for new string_agg aggregate.

commit   : cccfc4efc4e72e11b8583d3a7a4b123ace79e7c9    
  
author   : Robert Haas <[email protected]>    
date     : Mon, 1 Feb 2010 15:38:21 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Mon, 1 Feb 2010 15:38:21 +0000    

Click here for diff

M doc/src/sgml/func.sgml

Revoke augmentation of WAL records for btree delete, per discussion.

commit   : 296578feb490611f248c2db222f199e5876a3c01    
  
author   : Simon Riggs <[email protected]>    
date     : Mon, 1 Feb 2010 13:40:28 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Mon, 1 Feb 2010 13:40:28 +0000    

Click here for diff

M doc/src/sgml/config.sgml
M src/backend/access/nbtree/nbtpage.c
M src/backend/access/transam/xlog.c
M src/backend/utils/misc/guc.c
M src/backend/utils/misc/postgresql.conf.sample
M src/include/access/xlog.h

Add string_agg aggregate functions. The one argument version concatenates the input values into a string. The two argument version also does the same thing, but inserts delimiters between elements.

commit   : 9ea9918e37689fbc9ed43532b8828652b5ea90cd    
  
author   : Itagaki Takahiro <[email protected]>    
date     : Mon, 1 Feb 2010 03:14:45 +0000    
  
committer: Itagaki Takahiro <[email protected]>    
date     : Mon, 1 Feb 2010 03:14:45 +0000    

Click here for diff

Original patch by Pavel Stehule, reviewed by David E. Wheeler and me.  

M doc/src/sgml/func.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/sql/aggregates.sql

Change regexp engine's ccondissect/crevdissect routines to perform DFA matching before recursing instead of after. The DFA match eliminates unworkable midpoint choices a lot faster than the recursive check, in most cases, so doing it first can speed things up; particularly in pathological cases such as recently exhibited by Michael Glaesemann.

commit   : ee3a81f0a03d0da128689df92a84a24a337645ec    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 1 Feb 2010 02:45:29 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 1 Feb 2010 02:45:29 +0000    

Click here for diff

In addition, apply some cosmetic changes that were applied upstream (in the  
Tcl project) at the same time, in order to sync with upstream version 1.15  
of regexec.c.  
  
Upstream apparently intends to backpatch this, so I will too.  The  
pathological behavior could be unpleasant if encountered in the field,  
which seems to justify any risk of introducing new bugs.  
  
Tom Lane, reviewed by Donal K. Fellows of Tcl project  

M src/backend/regex/regexec.c

Detect early deadlock in Hot Standby when Startup is already waiting. First stage of required deadlock detection to allow re-enabling max_standby_delay setting of -1, which is now essential in the absence of improved relation- specific conflict resoluton. Requested by Greg Stark et al.

commit   : c85c941470efc44494fd7a5f426ee85fc65c268c    
  
author   : Simon Riggs <[email protected]>    
date     : Sun, 31 Jan 2010 19:01:11 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Sun, 31 Jan 2010 19:01:11 +0000    

Click here for diff

M src/backend/storage/ipc/standby.c
M src/backend/storage/lmgr/lock.c
M src/include/storage/standby.h

Fix memory leak created by deferrable-index-constraints patches.

commit   : 034fffbf31be42c789f4a5fbe2edb62e4b07fa9c    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 31 Jan 2010 18:15:39 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 31 Jan 2010 18:15:39 +0000    

Click here for diff

We need to free the OID list returned by ExecInsertIndexTuples to avoid  
a query-lifespan memory leak.  When many rows require rechecking, this  
can be a significant leak --- it's even more than the space used for the  
queued trigger events.  
  
Dean Rasheed  

M src/backend/commands/copy.c
M src/backend/executor/nodeModifyTable.c

Make checks for invalid pgStatSock use PGINVALID_SOCKET

commit   : f13944e9c921df2a98bf470d789dfb466135f251    
  
author   : Magnus Hagander <[email protected]>    
date     : Sun, 31 Jan 2010 17:39:34 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Sun, 31 Jan 2010 17:39:34 +0000    

Click here for diff

M src/backend/postmaster/pgstat.c

Parenthesize this macro, just in case.

commit   : 0c0203d0a90181ba027dffa8a92328472238ced3    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 31 Jan 2010 17:35:46 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 31 Jan 2010 17:35:46 +0000    

Click here for diff

M src/include/port.h

Get rid of unportable use of socklen_t --- we have a configure test for that, so use it.

commit   : 4913efc6244b09e70752e6dab93caaec14c11365    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 31 Jan 2010 17:27:22 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 31 Jan 2010 17:27:22 +0000    

Click here for diff

M src/backend/libpq/auth.c

Remove now unnecessary loop around CallNamedPipe().

commit   : f27a4696f1b03bbc74a3e2996dec26009976953e    
  
author   : Magnus Hagander <[email protected]>    
date     : Sun, 31 Jan 2010 17:18:28 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Sun, 31 Jan 2010 17:18:28 +0000    

Click here for diff

Radu Ilie  

M src/port/kill.c

Fix race condition in win32 signal handling.

commit   : 04a4413c2a1c6573e209303594b7145103f953b0    
  
author   : Magnus Hagander <[email protected]>    
date     : Sun, 31 Jan 2010 17:16:23 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Sun, 31 Jan 2010 17:16:23 +0000    

Click here for diff

There was a race condition where the receiving pipe could be closed by the  
child thread if the main thread was pre-empted before it got a chance to  
create a new one, and the dispatch thread ran to completion during that time.  
  
One symptom of this is that rows in pg_listener could be dropped under  
heavy load.  
  
Analysis and original patch by Radu Ilie, with some small  
modifications by Magnus Hagander.  

M src/backend/port/win32/signal.c

Avoid performing encoding conversion on command tag strings during EndCommand.

commit   : eb8892662564a413bc411b1b486ee095b74b8149    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 30 Jan 2010 20:09:53 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 30 Jan 2010 20:09:53 +0000    

Click here for diff

Since all current and foreseeable future command tags will be pure ASCII,  
there is no need to do conversion on them.  This saves a few cycles and also  
avoids polluting otherwise-pristine subtransaction memory contexts, which  
is the cause of the backend memory leak exhibited in bug #5302.  (Someday  
we'll probably want to have a better method of determining whether  
subtransaction contexts need to be kept around, but today is not that day.)  
  
Backpatch to 8.0.  The cycle-shaving aspect of this would work in 7.4  
too, but without subtransactions the memory-leak aspect doesn't apply,  
so it doesn't seem worth touching 7.4.  

M src/backend/tcop/dest.c

Fix memory leakage introduced into print_aligned_text by 8.4 changes (failure to free col_lineptrs[] array elements) and exacerbated in the current devel cycle (failure to free "wrap"). This resulted in moderate bloat of psql over long script runs. Noted while testing bug #5302, although what the reporter was complaining of was backend-side leakage.

commit   : 07be293a971af2180f94dd571021df711dd343ac    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 30 Jan 2010 18:59:51 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 30 Jan 2010 18:59:51 +0000    

Click here for diff

M src/bin/psql/print.c

Fix some comments that got mangled by pgindent.

commit   : 3e51ae491de5c1c998546096e7cbaba4bb56e884    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 30 Jan 2010 04:18:00 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 30 Jan 2010 04:18:00 +0000    

Click here for diff

M src/backend/regex/regcomp.c

Add plperl.on_perl_init setting to provide for initializing the perl library on load. Also, handle END blocks in plperl. Database access is disallowed during both these operations, although it might be allowed in END blocks in future.

commit   : 85d67ccd75ca61b27f8c58f2ea8d4e68af545d55    
  
author   : Andrew Dunstan <[email protected]>    
date     : Sat, 30 Jan 2010 01:46:57 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Sat, 30 Jan 2010 01:46:57 +0000    

Click here for diff

Patch from Tim Bunce.  

M doc/src/sgml/plperl.sgml
M src/pl/plperl/plc_perlboot.pl
M src/pl/plperl/plperl.c
A src/pl/plperl/sql/plperl_end.sql
M src/pl/plperl/sql/plperl_plperlu.sql

Adjust GetLockConflicts() so that it uses TopMemoryContext when executed InHotStandby. Cleaner solution than using malloc or palloc depending upon situation, as proposed by Tom.

commit   : 29eedd312274a62dfc510be099873319762fdfcc    
  
author   : Simon Riggs <[email protected]>    
date     : Fri, 29 Jan 2010 19:45:12 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Fri, 29 Jan 2010 19:45:12 +0000    

Click here for diff

M src/backend/storage/lmgr/lock.c

Augment WAL records for btree delete with GetOldestXmin() to reduce false positives during Hot Standby conflict processing. Simple patch to enhance conflict processing, following previous discussions. Controlled by parameter minimize_standby_conflicts = on | off, with default off allows measurement of performance impact to see whether it should be set on all the time.

commit   : 6d2bc0a6cf5c8d9a3241a0d7afaf5ca8bf1f11ec    
  
author   : Simon Riggs <[email protected]>    
date     : Fri, 29 Jan 2010 18:39:05 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Fri, 29 Jan 2010 18:39:05 +0000    

Click here for diff

M doc/src/sgml/config.sgml
M src/backend/access/nbtree/nbtpage.c
M src/backend/access/transam/xlog.c
M src/backend/utils/misc/guc.c
M src/backend/utils/misc/postgresql.conf.sample
M src/include/access/xlog.h

Allow psql variables to be interpolated with literal or identifier escaping.

commit   : d0cfc018233b4cdcab28d460ee0e14dbf87ac4ce    
  
author   : Robert Haas <[email protected]>    
date     : Fri, 29 Jan 2010 17:44:12 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Fri, 29 Jan 2010 17:44:12 +0000    

Click here for diff

Loosely based on a patch by Pavel Stehule.  

M doc/src/sgml/ref/psql-ref.sgml
M src/bin/psql/psqlscan.l

Filter recovery conflicts based upon dboid from relfilenode of WAL records for heap and btree. Minor change, mostly API changes to pass through the required values. This is a simple change though also provides the refactoring required for further enhancements to conflict processing using the relOid. Changes only have effect during Hot Standby.

commit   : 76be0c81cc0c799f5ddeb7a28ae2d92982a59189    
  
author   : Simon Riggs <[email protected]>    
date     : Fri, 29 Jan 2010 17:10:05 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Fri, 29 Jan 2010 17:10:05 +0000    

Click here for diff

M src/backend/access/heap/heapam.c
M src/backend/access/nbtree/nbtxlog.c
M src/backend/storage/ipc/standby.c
M src/include/storage/standby.h

Changed ECPG outofscope handling to always print out statements in the same order so regression testing is possible,

commit   : 83fa037b731aa67e7626d143d30d75cae2018af5    
  
author   : Michael Meskes <[email protected]>    
date     : Fri, 29 Jan 2010 16:28:13 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Fri, 29 Jan 2010 16:28:13 +0000    

Click here for diff

by Zoltan Boszormenyi  

M src/interfaces/ecpg/preproc/ecpg.addons
M src/interfaces/ecpg/preproc/ecpg.header
M src/interfaces/ecpg/preproc/ecpg.trailer
M src/interfaces/ecpg/test/expected/preproc-cursor.c
M src/interfaces/ecpg/test/expected/preproc-outofscope.c
M src/interfaces/ecpg/test/expected/preproc-outofscope.stderr
M src/interfaces/ecpg/test/expected/preproc-outofscope.stdout
M src/interfaces/ecpg/test/preproc/outofscope.pgc

Fixed a few typos in ecpg. Two were in comments, the third made a log output reverse yes and no.

commit   : f18085659685829f4dd79a7a485d0280001f33df    
  
author   : Michael Meskes <[email protected]>    
date     : Fri, 29 Jan 2010 15:57:01 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Fri, 29 Jan 2010 15:57:01 +0000    

Click here for diff

M src/interfaces/ecpg/ecpglib/execute.c
M src/interfaces/ecpg/preproc/ecpg.header

Fix command tag for ALTER LARGE OBJECT.

commit   : 7efd71f843c25423aa4649e427d3b223aa17afaa    
  
author   : Itagaki Takahiro <[email protected]>    
date     : Fri, 29 Jan 2010 06:03:15 +0000    
  
committer: Itagaki Takahiro <[email protected]>    
date     : Fri, 29 Jan 2010 06:03:15 +0000    

Click here for diff

M src/backend/tcop/utility.c

Fix thinko in new installcheck-world target

commit   : 8d827f6b5c0d6c1cc6b427c1b43c7584aa1b8c61    
  
author   : Andrew Dunstan <[email protected]>    
date     : Fri, 29 Jan 2010 01:06:18 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Fri, 29 Jan 2010 01:06:18 +0000    

Click here for diff

M GNUmakefile.in

Add new make targets "world", "install-world" and "installcheck-world" to build, install and check just about everything. In addition to everything built installed and tested by all, install and installcheck targets, these build HTML Docs, build and test contrib, and test PLs and ECPG.

commit   : 7523960d639a4e59af3afc93e32f6460883f6641    
  
author   : Andrew Dunstan <[email protected]>    
date     : Thu, 28 Jan 2010 23:59:52 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Thu, 28 Jan 2010 23:59:52 +0000    

Click here for diff

M GNUmakefile.in
M Makefile
M doc/src/sgml/contrib.sgml
M doc/src/sgml/installation.sgml

Type table feature

commit   : e7b3349a8ad7afaad565c573fbd65fb46af6abbe    
  
author   : Peter Eisentraut <[email protected]>    
date     : Thu, 28 Jan 2010 23:21:13 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Thu, 28 Jan 2010 23:21:13 +0000    

Click here for diff

This adds the CREATE TABLE name OF type command, per SQL standard.  

M doc/src/sgml/information_schema.sgml
M doc/src/sgml/ref/create_table.sgml
M src/backend/bootstrap/bootparse.y
M src/backend/catalog/heap.c
M src/backend/catalog/information_schema.sql
M src/backend/catalog/toasting.c
M src/backend/commands/cluster.c
M src/backend/commands/tablecmds.c
M src/backend/executor/execMain.c
M src/backend/nodes/copyfuncs.c
M src/backend/nodes/equalfuncs.c
M src/backend/nodes/outfuncs.c
M src/backend/parser/gram.y
M src/backend/parser/parse_utilcmd.c
M src/bin/pg_dump/pg_dump.c
M src/bin/pg_dump/pg_dump.h
M src/bin/psql/describe.c
M src/include/catalog/catversion.h
M src/include/catalog/heap.h
M src/include/catalog/pg_class.h
M src/include/nodes/parsenodes.h
A src/test/regress/expected/typed_table.out
M src/test/regress/parallel_schedule
M src/test/regress/serial_schedule
A src/test/regress/sql/typed_table.sql

Fix bug found by warning from recent gcc. patch from Tim Bunce.

commit   : 1f98cccb941823d241120ca86df264d7ebbcaec5    
  
author   : Andrew Dunstan <[email protected]>    
date     : Thu, 28 Jan 2010 23:06:09 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Thu, 28 Jan 2010 23:06:09 +0000    

Click here for diff

M src/pl/plperl/plperl.c

Fix crashing bug at the end of recovery in Streaming Replication, when restore_command is not given. Fujii Masao.

commit   : b0509ef6016abf1133a9d85dd4f60b865ee9f90b    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Thu, 28 Jan 2010 19:17:22 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Thu, 28 Jan 2010 19:17:22 +0000    

Click here for diff

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

Add functions to reset the statistics counter for a single table/index or a single function.

commit   : 083e1b0f27df985a82dda656c0e5bafd17930d06    
  
author   : Magnus Hagander <[email protected]>    
date     : Thu, 28 Jan 2010 14:25:41 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Thu, 28 Jan 2010 14:25:41 +0000    

Click here for diff

M doc/src/sgml/monitoring.sgml
M src/backend/postmaster/pgstat.c
M src/backend/utils/adt/pgstatfuncs.c
M src/include/catalog/catversion.h
M src/include/catalog/pg_proc.h
M src/include/pgstat.h

Define INADDR_NONE on Solaris when it's missing. Per a couple of buildfarm members complaining.

commit   : 21d3ae09da6821c0014a4f8e60c547286ffb9b41    
  
author   : Magnus Hagander <[email protected]>    
date     : Thu, 28 Jan 2010 11:36:14 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Thu, 28 Jan 2010 11:36:14 +0000    

Click here for diff

M src/include/port/solaris.h

Use malloc() in GetLockConflicts() when called InHotStandby to avoid repeated palloc calls. Current code assumed this was already true, so this is a bug fix.

commit   : bcd8528f001f723d6c93648f5386152846384830    
  
author   : Simon Riggs <[email protected]>    
date     : Thu, 28 Jan 2010 10:05:37 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Thu, 28 Jan 2010 10:05:37 +0000    

Click here for diff

M src/backend/storage/lmgr/lock.c

Change a few remaining calls of XLogArchivingActive() to use XLogIsNeeded() instead, to determine if an otherwise non-logged operation needs to be logged in WAL for standby servers.

commit   : e0e8b9634555f876570d3c1596a50419848a1046    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Thu, 28 Jan 2010 07:31:42 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Thu, 28 Jan 2010 07:31:42 +0000    

Click here for diff

Fujii Masao  

M src/backend/commands/tablecmds.c
M src/backend/commands/vacuumlazy.c
M src/include/access/xlog.h

Introduce two new libpq connection functions, PQconnectdbParams and PQconnectStartParams. These are analogous to PQconnectdb and PQconnectStart respectively. They differ from the legacy functions in that they accept two NULL-terminated arrays, keywords and values, rather than conninfo strings. This avoids the need to build the conninfo string in cases where it might be inconvenient to do so. Includes documentation.

commit   : e3f36838e5b2666a15286b137bb11f35a7245848    
  
author   : Joe Conway <[email protected]>    
date     : Thu, 28 Jan 2010 06:28:26 +0000    
  
committer: Joe Conway <[email protected]>    
date     : Thu, 28 Jan 2010 06:28:26 +0000    

Click here for diff

Also modify psql to utilize PQconnectdbParams rather than PQsetdbLogin.  
This allows the new config parameter application_name to be set, which  
in turn is displayed in the pg_stat_activity view and included in CSV  
log entries. This will also ensure both new functions get regularly  
exercised.  
  
Patch by Guillaume Lelarge with review and minor adjustments by  
Joe Conway.  

M doc/src/sgml/libpq.sgml
M src/bin/psql/startup.c
M src/interfaces/libpq/exports.txt
M src/interfaces/libpq/fe-connect.c
M src/interfaces/libpq/libpq-fe.h

Fix bug in wasender's xlogid boundary handling, reported by Erik Rijkers. LogwrtRqst.Write can be set to non-existent FF log segment, we mustn't try to send that in XLogSend().

commit   : 83cb7da7dcd11f658a7fc4aff198923bf76ff8f5    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Wed, 27 Jan 2010 16:41:09 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Wed, 27 Jan 2010 16:41:09 +0000    

Click here for diff

Also fix similar bug in ReadRecord(), which I just introduced in the  
ReadRecord() refactoring patch.  

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

Make standby server continuously retry restoring the next WAL segment with restore_command, if the connection to the primary server is lost. This ensures that the standby can recover automatically, if the connection is lost for a long time and standby falls behind so much that the required WAL segments have been archived and deleted in the master.

commit   : 1bb2558046cc8b8cb0c8f5563e8d32b3b120c9ec    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Wed, 27 Jan 2010 15:27:51 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Wed, 27 Jan 2010 15:27:51 +0000    

Click here for diff

This also makes standby_mode useful without streaming replication; the  
server will keep retrying restore_command every few seconds until the  
trigger file is found. That's the same basic functionality pg_standby  
offers, but without the bells and whistles.  
  
To implement that, refactor the ReadRecord/FetchRecord functions. The  
FetchRecord() function introduced in the original streaming replication  
patch is removed, and all the retry logic is now in a new function called  
XLogReadPage(). XLogReadPage() is now responsible for executing  
restore_command, launching walreceiver, and waiting for new WAL to arrive  
from primary, as required.  
  
This also changes the life cycle of walreceiver. When launched, it now only  
tries to connect to the master once, and exits if the connection fails, or  
is lost during streaming for any reason. The startup process detects the  
death, and re-launches walreceiver if necessary.  

M src/backend/access/transam/xlog.c
M src/backend/postmaster/postmaster.c
M src/backend/replication/walreceiver.c
M src/backend/replication/walreceiverfuncs.c
M src/include/replication/walreceiver.h
M src/include/storage/pmsignal.h

Fix typo.

commit   : ab13d1e925691c37bb6fa13cb748867c5ae2a91c    
  
author   : Magnus Hagander <[email protected]>    
date     : Wed, 27 Jan 2010 13:03:17 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Wed, 27 Jan 2010 13:03:17 +0000    

Click here for diff

Noted by Thom Brown.  

M doc/src/sgml/client-auth.sgml

Add support for RADIUS authentication.

commit   : b3daac5a9c34b1a567a0bc3574446ee57564770c    
  
author   : Magnus Hagander <[email protected]>    
date     : Wed, 27 Jan 2010 12:12:00 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Wed, 27 Jan 2010 12:12:00 +0000    

Click here for diff

M doc/src/sgml/client-auth.sgml
M src/backend/libpq/auth.c
M src/backend/libpq/hba.c
M src/backend/libpq/md5.c
M src/backend/libpq/pg_hba.conf.sample
M src/include/libpq/hba.h
M src/include/libpq/md5.h

Fix plperl.sgml errors from recent commit.

commit   : 000416ac32f2b7cf62f21c51a7890cf4a4d07313    
  
author   : Andrew Dunstan <[email protected]>    
date     : Wed, 27 Jan 2010 02:55:04 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Wed, 27 Jan 2010 02:55:04 +0000    

Click here for diff

M doc/src/sgml/plperl.sgml

Various small improvements and cleanups for PL/Perl.

commit   : 1a7c2f9dea3682987a741f559ecf5e38b4ba5432    
  
author   : Andrew Dunstan <[email protected]>    
date     : Tue, 26 Jan 2010 23:11:56 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Tue, 26 Jan 2010 23:11:56 +0000    

Click here for diff

- Allow (ineffective) use of 'require' in plperl  
    If the required module is not already loaded then it dies.  
    So "use strict;" now works in plperl.  
  
- Pre-load the feature module if perl >= 5.10.  
    So "use feature :5.10;" now works in plperl.  
  
- Stored procedure subs are now given names.  
    The names are not visible in ordinary use, but they make  
    tools like Devel::NYTProf and Devel::Cover much more useful.  
  
- Simplified and generalized the subroutine creation code.  
    Now one code path for generating sub source code, not four.  
    Can generate multiple 'use' statements with specific imports  
    (which handles plperl.use_strict currently and can easily  
    be extended to handle a plperl.use_feature=':5.12' in future).  
  
- Disallows use of Safe version 2.20 which is broken for PL/Perl.  
    http://rt.perl.org/rt3/Ticket/Display.html?id=72068  
  
- Assorted minor optimizations by pre-growing data structures.  
  
Patch from Tim Bunce, reviewed by Alex Hunsaker.  

M doc/src/sgml/plperl.sgml
M src/pl/plperl/expected/plperl.out
M src/pl/plperl/expected/plperl_plperlu.out
M src/pl/plperl/plc_perlboot.pl
M src/pl/plperl/plc_safe_bad.pl
M src/pl/plperl/plc_safe_ok.pl
M src/pl/plperl/plperl.c
M src/pl/plperl/sql/plperl.sql
M src/pl/plperl/sql/plperl_plperlu.sql

Remove the default_do_language parameter, instead making DO use a hardwired default of "plpgsql". This is more reasonable than it was when the DO patch was written, because we have since decided that plpgsql should be installed by default. Per discussion, having a parameter for this doesn't seem useful enough to justify the risk of application breakage if the value is changed unexpectedly.

commit   : d879697cd291a31c635edf17c4b8c170ac40ffc1    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 26 Jan 2010 16:33:40 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 26 Jan 2010 16:33:40 +0000    

Click here for diff

M doc/src/sgml/config.sgml
M doc/src/sgml/ref/do.sgml
M src/backend/commands/functioncmds.c
M src/backend/utils/misc/guc.c
M src/backend/utils/misc/postgresql.conf.sample
M src/include/utils/guc.h
M src/test/regress/expected/plpgsql.out
M src/test/regress/sql/plpgsql.sql

Un-break initdb logic for commenting out IPv6 pg_hba.conf line.

commit   : 6c0f94fc0daa9ff1aa5636aea25afb4d5c6d767e    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 26 Jan 2010 16:18:12 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 26 Jan 2010 16:18:12 +0000    

Click here for diff

M src/bin/initdb/initdb.c

Remove tabs in SGML.

commit   : d36aa67152711f9c62a9aedf62ab70a0d9d68c15    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 26 Jan 2010 14:21:29 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 26 Jan 2010 14:21:29 +0000    

Click here for diff

M doc/src/sgml/ecpg.sgml

Added test case that was part of Zoltan's patch but apparently wasn't part of my commit.

commit   : c651c0eb01a7a986b04e5e022f7960db4cbdf720    
  
author   : Michael Meskes <[email protected]>    
date     : Tue, 26 Jan 2010 10:31:14 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Tue, 26 Jan 2010 10:31:14 +0000    

Click here for diff

A src/interfaces/ecpg/test/expected/preproc-outofscope.c
A src/interfaces/ecpg/test/expected/preproc-outofscope.stderr
A src/interfaces/ecpg/test/expected/preproc-outofscope.stdout
A src/interfaces/ecpg/test/preproc/outofscope.pgc
A src/interfaces/ecpg/test/preproc/struct.h

Finally applied patch by Boszormenyi Zoltan <[email protected]> to add the new features his patches added to the docs.

commit   : 96b8d5842cd6e991a44a01c128b1c3de821e882b    
  
author   : Michael Meskes <[email protected]>    
date     : Tue, 26 Jan 2010 09:10:11 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Tue, 26 Jan 2010 09:10:11 +0000    

Click here for diff

M doc/src/sgml/ecpg.sgml

Applied patch by Boszormenyi Zoltan <[email protected]> to add out-of-scope cursor support to native mode.

commit   : aa6ac352215d435b277711f85985d00a07a5c590    
  
author   : Michael Meskes <[email protected]>    
date     : Tue, 26 Jan 2010 09:07:32 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Tue, 26 Jan 2010 09:07:32 +0000    

Click here for diff

M src/interfaces/ecpg/compatlib/informix.c
M src/interfaces/ecpg/ecpglib/exports.txt
M src/interfaces/ecpg/ecpglib/misc.c
M src/interfaces/ecpg/include/ecpglib.h
M src/interfaces/ecpg/preproc/descriptor.c
M src/interfaces/ecpg/preproc/ecpg.addons
M src/interfaces/ecpg/preproc/ecpg.c
M src/interfaces/ecpg/preproc/ecpg.header
M src/interfaces/ecpg/preproc/ecpg.trailer
M src/interfaces/ecpg/preproc/extern.h
M src/interfaces/ecpg/preproc/pgc.l
M src/interfaces/ecpg/preproc/type.c
M src/interfaces/ecpg/preproc/type.h
M src/interfaces/ecpg/preproc/variable.c
M src/interfaces/ecpg/test/ecpg_schedule
M src/interfaces/ecpg/test/ecpg_schedule_tcp
M src/interfaces/ecpg/test/expected/compat_informix-test_informix.c
M src/interfaces/ecpg/test/expected/preproc-cursor.c
M src/interfaces/ecpg/test/expected/sql-binary.c
M src/interfaces/ecpg/test/preproc/Makefile

Reformat the comments in pg_hba.conf and pg_ident.conf

commit   : 525d2cbba2531f15649714121f54620738ffcacb    
  
author   : Peter Eisentraut <[email protected]>    
date     : Tue, 26 Jan 2010 06:58:39 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Tue, 26 Jan 2010 06:58:39 +0000    

Click here for diff

These files have apparently been edited over the years by a dozen people  
with as many different editor settings, which made the alignment of the  
paragraphs quite inconsistent and ugly.  I made a pass of M-q with Emacs  
to straighten it out.  

M src/backend/libpq/pg_hba.conf.sample
M src/backend/libpq/pg_ident.conf.sample
M src/bin/initdb/initdb.c

Make the default pg_hba.conf and pg_ident.conf align at 8-character boundaries to make it easier to use with tabs.

commit   : fd7673bc4eb06e647d8e11b603ff5482ca58d4f1    
  
author   : Peter Eisentraut <[email protected]>    
date     : Tue, 26 Jan 2010 06:45:31 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Tue, 26 Jan 2010 06:45:31 +0000    

Click here for diff

M doc/src/sgml/backup.sgml
M doc/src/sgml/client-auth.sgml
M src/backend/libpq/pg_hba.conf.sample
M src/backend/libpq/pg_ident.conf.sample

Fix longstanding gripe that we check for 0000000001.history at start of archive recovery, even when we know it is never present.

commit   : aed1a0121ae68bdacf737b0bae7fb75f48644f21    
  
author   : Simon Riggs <[email protected]>    
date     : Tue, 26 Jan 2010 00:07:13 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Tue, 26 Jan 2010 00:07:13 +0000    

Click here for diff

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

Add get_bit/set_bit functions for bit strings, paralleling those for bytea, and implement OVERLAY() for bit strings and bytea.

commit   : 9507c8a1db14d022296144f391ea4741f4f848ca    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 25 Jan 2010 20:55:32 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 25 Jan 2010 20:55:32 +0000    

Click here for diff

In passing also convert text OVERLAY() to a true built-in, instead of  
relying on a SQL function.  
  
Leonardo F, reviewed by Kevin Grittner  

M doc/src/sgml/func.sgml
M src/backend/parser/gram.y
M src/backend/utils/adt/varbit.c
M src/backend/utils/adt/varlena.c
M src/include/catalog/catversion.h
M src/include/catalog/pg_proc.h
M src/include/utils/builtins.h
M src/include/utils/bytea.h
M src/include/utils/varbit.h
M src/test/regress/expected/bit.out
M src/test/regress/expected/strings.out
M src/test/regress/sql/bit.sql
M src/test/regress/sql/strings.sql

Add note that PREPARE TRANSACTION is for transaction managers, not regular applications. Also add a comment pointing out that tab-complition for PREPARE TRANSACTION is missing on purpose.

commit   : 1d1f425f8d4331ecf09512386880af0827cd6091    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Mon, 25 Jan 2010 18:23:10 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Mon, 25 Jan 2010 18:23:10 +0000    

Click here for diff

M doc/src/sgml/ref/prepare_transaction.sgml
M src/bin/psql/tab-complete.c

Apply Tcl_Init() to the "hold" interpreter created by pltcl.

commit   : e7dcfd05f3f0ac4c80d5bd26973a748230f9cbe1    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 25 Jan 2010 01:58:14 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 25 Jan 2010 01:58:14 +0000    

Click here for diff

You might think this is unnecessary since that interpreter is never used  
to run code --- but it turns out that's wrong.  As of Tcl 8.5, the "clock"  
command (alone among builtin Tcl commands) is partially implemented by  
loaded-on-demand Tcl code, which means that it fails if there's not  
unknown-command support, and also that it's impossible to run it directly  
in a safe interpreter.  The way they get around the latter is that  
Tcl_CreateSlave() automatically sets up an alias command that forwards any  
execution of "clock" in a safe slave interpreter to its parent interpreter.  
Thus, when attempting to execute "clock" in trusted pltcl, the command  
actually executes in the "hold" interpreter, where it will fail if  
unknown-command support hasn't been introduced by sourcing the standard  
init.tcl script, which is done by Tcl_Init().  (This is a pretty dubious  
design decision on the Tcl boys' part, if you ask me ... but they didn't.)  
  
Back-patch all the way.  It's not clear that anyone would try to use ancient  
versions of pltcl with a recent Tcl, but it's not clear they wouldn't, either.  
Also add a regression test using "clock", in branches that have regression  
test support for pltcl.  
  
Per recent trouble report from Kyle Bateman.  

M src/pl/tcl/expected/pltcl_setup.out
M src/pl/tcl/pltcl.c
M src/pl/tcl/sql/pltcl_setup.sql

commit   : 56cbb611ec749ba867a4cfc09c8b7df0f4446620    
  
author   : Joe Conway <[email protected]>    
date     : Sun, 24 Jan 2010 22:19:38 +0000    
  
committer: Joe Conway <[email protected]>    
date     : Sun, 24 Jan 2010 22:19:38 +0000    

Click here for diff

M contrib/dblink/dblink.c

Fix assorted core dumps and Assert failures that could occur during AbortTransaction or AbortSubTransaction, when trying to clean up after an error that prevented (sub)transaction start from completing: * access to TopTransactionResourceOwner that might not exist * assert failure in AtEOXact_GUC, if AtStart_GUC not called yet * assert failure or core dump in AfterTriggerEndSubXact, if AfterTriggerBeginSubXact not called yet

commit   : 875353b99f64550c2fee1a3a8e3491e69decd9c7    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 24 Jan 2010 21:49:17 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 24 Jan 2010 21:49:17 +0000    

Click here for diff

Per testing by injecting elog(ERROR) at successive steps in StartTransaction  
and StartSubTransaction.  It's not clear whether all of these cases could  
really occur in the field, but at least one of them is easily exposed by  
simple stress testing, as per my accidental discovery yesterday.  

M src/backend/access/transam/xact.c
M src/backend/commands/trigger.c
M src/backend/utils/misc/guc.c

Add missing closing tag.

commit   : 74f4be6c04933aafb9a7939c6c3f841052b49608    
  
author   : Magnus Hagander <[email protected]>    
date     : Sun, 24 Jan 2010 14:46:01 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Sun, 24 Jan 2010 14:46:01 +0000    

Click here for diff

M doc/src/sgml/backup.sgml

Insert CHECK_FOR_INTERRUPTS calls into loops in dbsize.c, to ensure that the various disk-size-reporting functions will respond to query cancel reasonably promptly even in very large databases. Per report from Kevin Grittner.

commit   : 841df96f83c8001e388f3149b4a362c785a34ed5    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 23 Jan 2010 21:29:00 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 23 Jan 2010 21:29:00 +0000    

Click here for diff

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

Add explanatory detail to Hot Standby cancelation error messages with errdetail(). Add errhint() to suggest retry in certain cases.

commit   : a06ea6f532588da5e8170b7a38234e26c1bac1a3    
  
author   : Simon Riggs <[email protected]>    
date     : Sat, 23 Jan 2010 17:04:05 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Sat, 23 Jan 2010 17:04:05 +0000    

Click here for diff

M src/backend/tcop/postgres.c

In HS, Startup process sets SIGALRM when waiting for buffer pin. If woken by alarm we send SIGUSR1 to all backends requesting that they check to see if they are blocking Startup process. If so, they throw ERROR/FATAL as for other conflict resolutions. Deadlock stop gap removed. max_standby_delay = -1 option removed to prevent deadlock.

commit   : 959ac58c04130d467fb05e63a3ceb8e2ded404c7    
  
author   : Simon Riggs <[email protected]>    
date     : Sat, 23 Jan 2010 16:37:12 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Sat, 23 Jan 2010 16:37:12 +0000    

Click here for diff

M doc/src/sgml/backup.sgml
M doc/src/sgml/config.sgml
M src/backend/access/transam/xlog.c
M src/backend/storage/buffer/bufmgr.c
M src/backend/storage/ipc/procarray.c
M src/backend/storage/ipc/procsignal.c
M src/backend/storage/ipc/standby.c
M src/backend/storage/lmgr/lock.c
M src/backend/storage/lmgr/proc.c
M src/backend/tcop/postgres.c
M src/backend/utils/misc/guc.c
M src/include/storage/bufmgr.h
M src/include/storage/proc.h
M src/include/storage/procarray.h
M src/include/storage/procsignal.h
M src/include/storage/standby.h

Revert mention that HTML documentation has to be built first.

commit   : 4fa69e566cf1b836ae8aa9bee24ab0c556cfe94e    
  
author   : Bruce Momjian <[email protected]>    
date     : Fri, 22 Jan 2010 22:50:03 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Fri, 22 Jan 2010 22:50:03 +0000    

Click here for diff

Now require gmake 3.79.1 or later to build source/sgml.  

M doc/src/sgml/docguide.sgml
M doc/src/sgml/installation.sgml

Fix mismatched tags introduced by attribute options patch.

commit   : a3d8fbf3ae94acbf12ffa19235902e4553b3264e    
  
author   : Robert Haas <[email protected]>    
date     : Fri, 22 Jan 2010 17:30:24 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Fri, 22 Jan 2010 17:30:24 +0000    

Click here for diff

Thanks to Devrim Gunduz for the report.  

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

Fix several oversights in previous commit - attribute options patch.

commit   : d779199175b3db630f2eab1e6316da2386ca0d2a    
  
author   : Robert Haas <[email protected]>    
date     : Fri, 22 Jan 2010 16:42:31 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Fri, 22 Jan 2010 16:42:31 +0000    

Click here for diff

I failed to 'cvs add' the new files and also neglected to bump catversion.  

A src/backend/utils/cache/attoptcache.c
M src/include/catalog/catversion.h
A src/include/utils/attoptcache.h

Replace ALTER TABLE ... SET STATISTICS DISTINCT with a more general mechanism.

commit   : 76a47c0e7423891d4b4f0977312f46fec6c5c416    
  
author   : Robert Haas <[email protected]>    
date     : Fri, 22 Jan 2010 16:40:19 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Fri, 22 Jan 2010 16:40:19 +0000    

Click here for diff

Attributes can now have options, just as relations and tablespaces do, and  
the reloptions code is used to parse, validate, and store them.  For  
simplicity and because these options are not performance critical, we store  
them in a separate cache rather than the main relcache.  
  
Thanks to Alex Hunsaker for the review.  

M doc/src/sgml/catalogs.sgml
M doc/src/sgml/ref/alter_table.sgml
M doc/src/sgml/ref/analyze.sgml
M src/backend/access/common/reloptions.c
M src/backend/access/common/tupdesc.c
M src/backend/bootstrap/bootstrap.c
M src/backend/catalog/genbki.pl
M src/backend/catalog/heap.c
M src/backend/catalog/index.c
M src/backend/commands/analyze.c
M src/backend/commands/tablecmds.c
M src/backend/parser/gram.y
M src/backend/utils/cache/Makefile
M src/bin/pg_dump/pg_dump.c
M src/bin/pg_dump/pg_dump.h
M src/bin/psql/tab-complete.c
M src/include/access/reloptions.h
M src/include/catalog/pg_attribute.h
M src/include/nodes/parsenodes.h

Document that the HTML documentation must be built before the PDF documentation.

commit   : 9ca0989037602d9835eec04c2a9b6016a7b55740    
  
author   : Bruce Momjian <[email protected]>    
date     : Fri, 22 Jan 2010 15:49:29 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Fri, 22 Jan 2010 15:49:29 +0000    

Click here for diff

M doc/src/sgml/docguide.sgml

PL/Python DO handler

commit   : adb77640304a375883eaaec9eb9b21036c2be0bd    
  
author   : Peter Eisentraut <[email protected]>    
date     : Fri, 22 Jan 2010 15:45:15 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Fri, 22 Jan 2010 15:45:15 +0000    

Click here for diff

Also cleaned up some redundancies between the primary error messages and the  
error context in PL/Python.  
  
Hannu Valtonen  

M doc/src/sgml/plpython.sgml
M src/include/catalog/catversion.h
M src/include/catalog/pg_pltemplate.h
M src/pl/plpython/Makefile
A src/pl/plpython/expected/plpython_do.out
M src/pl/plpython/expected/plpython_error.out
M src/pl/plpython/plpython.c
A src/pl/plpython/sql/plpython_do.sql

Make argument const char * as per Takahiro Itagaki's suggestion.

commit   : 306a4287c3503bdd3c3e490d80508e00e1708c02    
  
author   : Michael Meskes <[email protected]>    
date     : Fri, 22 Jan 2010 14:19:27 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Fri, 22 Jan 2010 14:19:27 +0000    

Click here for diff

M src/interfaces/ecpg/ecpglib/prepare.c

Applied patch by Boszormenyi Zoltan <[email protected]> to fix problem in auto-prepare mode if the connection is closed and re-opened and the previously prepared query is issued again.

commit   : 5bc75618e443b92ffb9266915fa39f5e916e4661    
  
author   : Michael Meskes <[email protected]>    
date     : Fri, 22 Jan 2010 14:13:03 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Fri, 22 Jan 2010 14:13:03 +0000    

Click here for diff

M src/interfaces/ecpg/ecpglib/execute.c
M src/interfaces/ecpg/ecpglib/prepare.c
M src/interfaces/ecpg/test/expected/preproc-autoprep.c
M src/interfaces/ecpg/test/expected/preproc-autoprep.stderr
M src/interfaces/ecpg/test/expected/preproc-autoprep.stdout
M src/interfaces/ecpg/test/preproc/autoprep.pgc

Fix unsafe loop test, and declare as_ident as bool rather than int.

commit   : b13da41eba0af3d7f3e9bc68b9e69a97fa25ac4b    
  
author   : Robert Haas <[email protected]>    
date     : Thu, 21 Jan 2010 18:43:25 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Thu, 21 Jan 2010 18:43:25 +0000    

Click here for diff

M src/interfaces/libpq/fe-exec.c

Add new escaping functions PQescapeLiteral and PQescapeIdentifier.

commit   : d66679672f22de7360514f26cb81ccdb5ab43096    
  
author   : Robert Haas <[email protected]>    
date     : Thu, 21 Jan 2010 14:58:53 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Thu, 21 Jan 2010 14:58:53 +0000    

Click here for diff

PQescapeLiteral is similar to PQescapeStringConn, but it relieves the  
caller of the need to know how large the output buffer should be, and  
it provides the appropriate quoting (in addition to escaping special  
characers within the string).  PQescapeIdentifier provides similar  
functionality for escaping identifiers.  
  
Per recent discussion with Tom Lane.  

M doc/src/sgml/libpq.sgml
M src/interfaces/libpq/exports.txt
M src/interfaces/libpq/fe-exec.c
M src/interfaces/libpq/libpq-fe.h

Add missing flag reset to ensure subsequent manual cancelation gives correct reason.

commit   : ed1d3f5ecf60be7f8e7aec38657292f2455b4877    
  
author   : Simon Riggs <[email protected]>    
date     : Thu, 21 Jan 2010 09:30:36 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Thu, 21 Jan 2010 09:30:36 +0000    

Click here for diff

M src/backend/tcop/postgres.c

Fix bogus comments.

commit   : 2d29f5f59a9007d7e70b49ce8c487afbbb291e32    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Thu, 21 Jan 2010 08:19:57 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Thu, 21 Jan 2010 08:19:57 +0000    

Click here for diff

M src/backend/replication/walsender.c

Adjust psql to use pg_get_triggerdef(pretty=true) to remove extra ()'s from description of triggers with WHEN clause.

commit   : 3b992cf5904c6149d5b8d3b4a86a590f3d057a41    
  
author   : Itagaki Takahiro <[email protected]>    
date     : Thu, 21 Jan 2010 06:11:46 +0000    
  
committer: Itagaki Takahiro <[email protected]>    
date     : Thu, 21 Jan 2010 06:11:46 +0000    

Click here for diff

Thanks to Brad T. Sliger for the review.  

M src/backend/utils/adt/ruleutils.c
M src/bin/psql/describe.c
M src/test/regress/expected/triggers.out
M src/test/regress/sql/triggers.sql

Better internal documentation of locking for Hot Standby conflict resolution. Discuss the reasons for the lock type we hold on ProcArrayLock while deriving the conflict list. Cover the idea of false positive conflicts and seemingly strange effects on snapshot derivation.

commit   : 58565d78db67cfb4752ef3d3e315aa9ce3c9d946    
  
author   : Simon Riggs <[email protected]>    
date     : Thu, 21 Jan 2010 00:53:58 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Thu, 21 Jan 2010 00:53:58 +0000    

Click here for diff

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

Well, the systemtap guys moved the goalposts again: with the latest version, we *must* generate probes.o or the dtrace probes don't work. Revert our workaround for their previous bug. Details at https://bugzilla.redhat.com/show_bug.cgi?id=557266

commit   : a8bf2df829d2861fbc3b07f8dd1eb1186cb3b075    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 20 Jan 2010 23:12:03 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 20 Jan 2010 23:12:03 +0000    

Click here for diff

M src/backend/Makefile

Add user-specific .pg_service.conf file

commit   : 41a4e45957e19e962352848fdcd8316353d30379    
  
author   : Peter Eisentraut <[email protected]>    
date     : Wed, 20 Jan 2010 21:15:21 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Wed, 20 Jan 2010 21:15:21 +0000    

Click here for diff

This extends the existing pg_service.conf facility to first look for a  
service definition file in the user's home directory.  

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

Fix bogus subdir setting. Again. I must've unfixed it by accident while moving files around.

commit   : e8aae273d4c824e7aecc284b4dc5d8038222775d    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Wed, 20 Jan 2010 20:34:51 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Wed, 20 Jan 2010 20:34:51 +0000    

Click here for diff

M src/backend/replication/libpqwalreceiver/Makefile

Write a WAL record whenever we perform an operation without WAL-logging that would've been WAL-logged if archiving was enabled. If we encounter such records in archive recovery anyway, we know that some data is missing from the log. A WARNING is emitted in that case.

commit   : 09b115f70684ea20dc344faab1a96f2831d3ee75    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Wed, 20 Jan 2010 19:43:40 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Wed, 20 Jan 2010 19:43:40 +0000    

Click here for diff

Original patch by Fujii Masao, with changes by me.  

M src/backend/access/heap/heapam.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/tablecmds.c
M src/include/access/xlog.h
M src/include/catalog/pg_control.h

Now that much of walreceiver has been pulled back into the postgres binary, revert PGDLLIMPORT decoration of global variables. I'm not sure if there's any real harm from unnecessary PGDLLIMPORTs, but these are all internal variables that external modules really shouldn't be messing with. ThisTimeLineID still needs PGDLLIMPORT.

commit   : 47ce95a7b98ff06b51f12a7381fc3788dff9961c    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Wed, 20 Jan 2010 18:54:27 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Wed, 20 Jan 2010 18:54:27 +0000    

Click here for diff

M src/include/libpq/pqsignal.h
M src/include/replication/walreceiver.h
M src/include/storage/ipc.h

Add missing "!= NULL", for the sake of consistency.

commit   : b3a1ef53c3ce6f91226303a2455e932de475cde3    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Wed, 20 Jan 2010 11:58:44 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Wed, 20 Jan 2010 11:58:44 +0000    

Click here for diff

Fujii Masao  

M src/backend/replication/libpqwalreceiver/libpqwalreceiver.c

Adjust windows makefiles too, now that the walreceiver dynamic module has been renamed.

commit   : e31bf1c7b0bae92e186ece807dc853a2b217fc49    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Wed, 20 Jan 2010 09:30:07 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Wed, 20 Jan 2010 09:30:07 +0000    

Click here for diff

M src/makefiles/Makefile.cygwin
M src/makefiles/Makefile.win32

Adjust MSVC build script too, now that the walreceiver dynamic module has been renamed.

commit   : 55d877184e48f9c5b2dff9a35801027096093447    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Wed, 20 Jan 2010 09:22:43 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Wed, 20 Jan 2010 09:22:43 +0000    

Click here for diff

M src/tools/msvc/Mkvcbuild.pm

Rethink the way walreceiver is linked into the backend. Instead than shoving walreceiver as whole into a dynamically loaded module, split the libpq-specific parts of it into dynamically loaded module and keep the rest in the main backend binary.

commit   : 32bc08b1d45d898aabdeeed09bcf1c2a407bbbed    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Wed, 20 Jan 2010 09:16:24 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Wed, 20 Jan 2010 09:16:24 +0000    

Click here for diff

Although Tom fixed the Windows compilation problems with the old walreceiver  
module already, this is a cleaner division of labour and makes the code  
more readable. There's also the prospect of adding new transport methods  
as pluggable modules in the future, which this patch makes easier, though for  
now the API between libpqwalreceiver and walreceiver process should be  
considered private.  
  
The libpq-specific module is now in src/backend/replication/libpqwalreceiver,  
and the part linked with postgres binary is in  
src/backend/replication/walreceiver.c.  

M src/Makefile
M src/backend/bootstrap/bootstrap.c
M src/backend/replication/Makefile
M src/backend/replication/README
R060 src/backend/replication/walreceiver/Makefile src/backend/replication/libpqwalreceiver/Makefile
A src/backend/replication/libpqwalreceiver/libpqwalreceiver.c
R066 src/backend/replication/walreceiver/walreceiver.c src/backend/replication/walreceiver.c
M src/backend/replication/walreceiverfuncs.c
M src/include/replication/walreceiver.h

Before attempting to create a composite type, check whether a type of that name already exists, so we'd get an error message about a "type" instead of about a "relation", because the composite type code shares code with relation creation.

commit   : eb210ce85a6326412f2a35eb416d92801cfe997d    
  
author   : Peter Eisentraut <[email protected]>    
date     : Wed, 20 Jan 2010 05:47:09 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Wed, 20 Jan 2010 05:47:09 +0000    

Click here for diff

M src/backend/commands/typecmds.c

Fix typo in Mkvcbuild.pl

commit   : 60e2fdf092862c57cc0ed67fd928826e3f7432e5    
  
author   : Andrew Dunstan <[email protected]>    
date     : Wed, 20 Jan 2010 04:29:07 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Wed, 20 Jan 2010 04:29:07 +0000    

Click here for diff

M src/tools/msvc/Mkvcbuild.pm

Build plperl's new Util.xs

commit   : 3d3616cc2fae5ef990e1753d93e47c0278cb602e    
  
author   : Andrew Dunstan <[email protected]>    
date     : Wed, 20 Jan 2010 04:14:06 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Wed, 20 Jan 2010 04:14:06 +0000    

Click here for diff

M src/tools/msvc/Mkvcbuild.pm

Fix doc build, which was broken by PL/perl utility functions patch.

commit   : 62b5c031f6f8f6e6251a64689aecda52c68079f9    
  
author   : Robert Haas <[email protected]>    
date     : Wed, 20 Jan 2010 03:37:10 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Wed, 20 Jan 2010 03:37:10 +0000    

Click here for diff

M doc/src/sgml/plperl.sgml

Add utility functions to PLPerl: quote_literal, quote_nullable, quote_ident, encode_bytea, decode_bytea, looks_like_number, encode_array_literal, encode_array_constructor. Split SPI.xs into two - SPI.xs now contains only SPI functions. Remainder are in new Util.xs. Some more code and documentation cleanup along the way, as well as adding some CVS markers to files missing them.

commit   : 05672e50458dc00b4a243c2d9bead0d96f7adbc1    
  
author   : Andrew Dunstan <[email protected]>    
date     : Wed, 20 Jan 2010 01:08:21 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Wed, 20 Jan 2010 01:08:21 +0000    

Click here for diff

Original patch from Tim Bunce, with a little editing from me.  

M doc/src/sgml/plperl.sgml
M src/pl/plperl/GNUmakefile
M src/pl/plperl/SPI.xs
A src/pl/plperl/Util.xs
M src/pl/plperl/expected/plperl_elog.out
A src/pl/plperl/expected/plperl_util.out
M src/pl/plperl/plc_perlboot.pl
M src/pl/plperl/plc_safe_bad.pl
M src/pl/plperl/plc_safe_ok.pl
M src/pl/plperl/plperl.c
M src/pl/plperl/plperl.h
D src/pl/plperl/spi_internal.c
A src/pl/plperl/sql/plperl_util.sql
M src/pl/plperl/text2macro.pl

Reformat documentation of libpq escaping functions.

commit   : 5b13d1ff5311db305911ed9c5b788db77763d4f9    
  
author   : Robert Haas <[email protected]>    
date     : Wed, 20 Jan 2010 00:42:28 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Wed, 20 Jan 2010 00:42:28 +0000    

Click here for diff

Modify the "Escaping Strings for Inclusion in SQL Commands" section  
to use a <variablelist> as the preceding and following sections do,  
and merge the "Escaping Binary Strings for Inclusion in SQL Commands"  
section into it.  
  
This changes only the formatting of these sections, not the content.  
It is intended to lay the groundwork for a follow-on patch to add  
some new escaping functions, but it makes sense to commit this first,  
for clarity.  

M doc/src/sgml/libpq.sgml

When doing a parallel restore, we must guard against out-of-range dependency dump IDs, because the array we're using is sized according to the highest dump ID actually defined in the archive file. In a partial dump there could be references to higher dump IDs that weren't dumped. Treat these the same as references to in-range IDs that weren't dumped. (The whole thing is a bit scary because the missing objects might have been part of dependency chains, which we won't know about. Not much we can do though --- throwing an error is probably overreaction.)

commit   : 16f2eadfab75c94da1be1803512c204b248da974    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 19 Jan 2010 18:39:19 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 19 Jan 2010 18:39:19 +0000    

Click here for diff

Also, reject parallel restore with pre-1.8 archive version (made by pre-8.0  
pg_dump).  In these old versions the dependency entries are OIDs, not dump  
IDs, and we don't have enough information to interpret them.  
  
Per bug #5288 from Jon Erdman.  

M src/bin/pg_dump/pg_backup_archiver.c

Fix thinko in my recent change to put an explicit argisrow field in NullTest: when the planner splits apart a ROW(...) IS NULL test, the argisrow values of the component tests have to be determined from the component field types, not copied from the original NullTest (in which argisrow is surely true).

commit   : 85b587c259cae5f058019797243e38271ef7158d    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 19 Jan 2010 16:33:33 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 19 Jan 2010 16:33:33 +0000    

Click here for diff

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

Add pg_stat_reset_shared('bgwriter') to reset the cluster-wide shared statistics of the bgwriter.

commit   : 7e40cdc07585d5f93dd1f35ce1d402eba55e425b    
  
author   : Magnus Hagander <[email protected]>    
date     : Tue, 19 Jan 2010 14:11:32 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Tue, 19 Jan 2010 14:11:32 +0000    

Click here for diff

Greg Smith  

M doc/src/sgml/monitoring.sgml
M src/backend/postmaster/pgstat.c
M src/backend/utils/adt/pgstatfuncs.c
M src/include/catalog/catversion.h
M src/include/catalog/pg_proc.h
M src/include/pgstat.h

Add pg_table_size() and pg_indexes_size() to provide more user-friendly wrappers around the pg_relation_size() function.

commit   : 4f15699d706130540f7cf1ed4f995b61cf50b09c    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 19 Jan 2010 05:50:18 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 19 Jan 2010 05:50:18 +0000    

Click here for diff

Bernd Helmle, reviewed by Greg Smith  

M doc/src/sgml/func.sgml
M src/backend/utils/adt/dbsize.c
M src/include/catalog/catversion.h
M src/include/catalog/pg_proc.h
M src/include/utils/builtins.h

Add "USING expressions" option to plpgsql's OPEN cursor FOR EXECUTE.

commit   : 309cd7cf183d7e194205d8d97186c09ef67f83ae    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 19 Jan 2010 01:35:31 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 19 Jan 2010 01:35:31 +0000    

Click here for diff

This is the last EXECUTE-like plpgsql statement that was missing  
the capability of inserting parameter values via USING.  
  
Pavel Stehule, reviewed by Itagaki Takahiro  

M doc/src/sgml/plpgsql.sgml
M src/pl/plpgsql/src/gram.y
M src/pl/plpgsql/src/pl_exec.c
M src/pl/plpgsql/src/pl_funcs.c
M src/pl/plpgsql/src/plpgsql.h
M src/test/regress/expected/plpgsql.out
M src/test/regress/sql/plpgsql.sql

Cast slightly abused enum to int, so that GCC 4.5 won't warn about switch cases that are not part of the enum's definition.

commit   : 8ab27affeaf5ebf9c735e87e0878c50a52eaf507    
  
author   : Peter Eisentraut <[email protected]>    
date     : Mon, 18 Jan 2010 22:19:34 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Mon, 18 Jan 2010 22:19:34 +0000    

Click here for diff

M src/backend/nodes/read.c

commit   : a49147af7825f8ca882741a5f3cd03ec115dcbfa    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 18 Jan 2010 18:17:45 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 18 Jan 2010 18:17:45 +0000    

Click here for diff

M src/backend/optimizer/plan/subselect.c

Fix incorrect comparison of scan key in GIN. Per report from Vyacheslav Kalinin <[email protected]>

commit   : a0a7e6343406b2c9689dc7ccd9550ac603478cb6    
  
author   : Teodor Sigaev <[email protected]>    
date     : Mon, 18 Jan 2010 11:50:43 +0000    
  
committer: Teodor Sigaev <[email protected]>    
date     : Mon, 18 Jan 2010 11:50:43 +0000    

Click here for diff

M src/backend/access/gin/ginscan.c

Fix portalmem.c to avoid keeping a dangling pointer to a cached plan list after it's released its reference count for the cached plan. There are code paths that might try to examine the plan list before noticing that the portal is already in aborted state. Report and diagnosis by Tatsuo Ishii, though this isn't exactly his proposed patch.

commit   : 376c6203cccd6251ffa83c98ce75f2a06cd95043    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 18 Jan 2010 02:30:25 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 18 Jan 2010 02:30:25 +0000    

Click here for diff

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

Update SET CONSTRAINTS reference page --- it failed to mention EXCLUDE constraints and was lacking a couple of other interesting details.

commit   : 04ef4040186ac08b78ef0c88b78df3b0af4d6346    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 18 Jan 2010 00:32:21 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 18 Jan 2010 00:32:21 +0000    

Click here for diff

M doc/src/sgml/ref/set_constraints.sgml

Improve the handling of SET CONSTRAINTS commands by having them search pg_constraint before searching pg_trigger. This allows saner handling of corner cases; in particular we now say "constraint is not deferrable" rather than "constraint does not exist" when the command is applied to a constraint that's inherently non-deferrable. Per a gripe several months ago from hubert depesz lubaczewski.

commit   : 9a915e596f38a97f10e00d388f18e178136937eb    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 17 Jan 2010 22:56:23 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 17 Jan 2010 22:56:23 +0000    

Click here for diff

To make this work without breaking user-defined constraint triggers,  
we have to add entries for them to pg_constraint.  However, in return  
we can remove the pgconstrname column from pg_constraint, which represents  
a fairly sizable space savings.  I also replaced the tgisconstraint column  
with tgisinternal; the old meaning of tgisconstraint can now be had by  
testing for nonzero tgconstraint, while there is no other way to get  
the old meaning of nonzero tgconstraint, namely that the trigger was  
internally generated rather than being user-created.  
  
In passing, fix an old misstatement in the docs and comments, namely that  
pg_trigger.tgdeferrable is exactly redundant with pg_constraint.condeferrable.  
Actually, we mark RI action triggers as nondeferrable even when they belong to  
a nominally deferrable FK constraint.  The SET CONSTRAINTS code now relies on  
that instead of hard-coding a list of exception OIDs.  

M doc/src/sgml/catalogs.sgml
M doc/src/sgml/trigger.sgml
M src/backend/catalog/index.c
M src/backend/catalog/information_schema.sql
M src/backend/commands/tablecmds.c
M src/backend/commands/trigger.c
M src/backend/tcop/utility.c
M src/backend/utils/adt/ruleutils.c
M src/bin/pg_dump/pg_dump.c
M src/bin/psql/describe.c
M src/include/catalog/catversion.h
M src/include/catalog/indexing.h
M src/include/catalog/pg_constraint.h
M src/include/catalog/pg_trigger.h
M src/include/commands/trigger.h
M src/include/nodes/parsenodes.h
M src/include/utils/rel.h

commit   : ee3b4188a78916544ef30e93fc1c9e5e780e07d5    
  
author   : Magnus Hagander <[email protected]>    
date     : Sun, 17 Jan 2010 13:21:50 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Sun, 17 Jan 2010 13:21:50 +0000    

Click here for diff

M src/tools/msvc/Mkvcbuild.pm

Silence compiler warning, noted by Stefan Kaltenbrunner

commit   : 94fa8301f7f3af5bb04687a5e792e97dcf6f1a0d    
  
author   : Magnus Hagander <[email protected]>    
date     : Sun, 17 Jan 2010 12:11:25 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Sun, 17 Jan 2010 12:11:25 +0000    

Click here for diff

M contrib/xml2/xpath.c

Remove unnecessary, inconsistent flag resets in ProcessInterrupts.

commit   : 0ae19c11f4211a043ee578ee0419d28db9376d29    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 17 Jan 2010 04:27:54 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 17 Jan 2010 04:27:54 +0000    

Click here for diff

M src/backend/tcop/postgres.c

Fix spelling error, noticed by Thomas Shinnick

commit   : 1db098974cf8908c2ae8fd471ca57e5e7b0ef6cb    
  
author   : Magnus Hagander <[email protected]>    
date     : Sat, 16 Jan 2010 20:38:54 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Sat, 16 Jan 2010 20:38:54 +0000    

Click here for diff

M doc/src/sgml/installation.sgml

commit   : a6c75be23d192f286ffaa5cbd546515052a46161    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 16 Jan 2010 19:50:26 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 16 Jan 2010 19:50:26 +0000    

Click here for diff

Back-patch to 8.4.  This has been wrong all along, but we weren't really using  
posix_fadvise in anger before, and AC_FUNC_FSEEKO seems to mask the issue well  
enough for that function.  

M configure
M configure.in

Fix unportable use of isxdigit() with char (rather than unsigned char) argument, per warnings from buildfarm member pika. Also clean up code formatting a trifle.

commit   : 196a6ca5de7c2078cd29d7e7f5e0a079238ec660    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 16 Jan 2010 17:39:55 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 16 Jan 2010 17:39:55 +0000    

Click here for diff

M src/backend/parser/scan.l

Fix bogus initialization of KnownAssignedXids shared memory state --- didn't work in EXEC_BACKEND case.

commit   : e319e6799a7d77350b4d998d7567fcf4494fe49a    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 16 Jan 2010 17:17:26 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 16 Jan 2010 17:17:26 +0000    

Click here for diff

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

Lock database while running drop database in Hot Standby to protect against concurrent reconnection. Failure during testing showed issue was possible, even though earlier analysis seemed to indicate it would not be required. Use LockSharedObjectForSession() before ResolveRecoveryConflictWithDatabase() and hold lock until end of processing for that WAL record. Simple approach to avoid introducing further bugs at this stage of development on an improbable issue.

commit   : 8bfd1a88486f340503da610e762c089336cada36    
  
author   : Simon Riggs <[email protected]>    
date     : Sat, 16 Jan 2010 14:16:31 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Sat, 16 Jan 2010 14:16:31 +0000    

Click here for diff

M src/backend/commands/dbcommands.c

Build the walreceiver library on MSVC as well.

commit   : 40b91b3a8ddf4a7742051ee384ac94b30d8136c9    
  
author   : Magnus Hagander <[email protected]>    
date     : Sat, 16 Jan 2010 11:55:38 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Sat, 16 Jan 2010 11:55:38 +0000    

Click here for diff

M src/tools/msvc/Mkvcbuild.pm

Improved printing of Python exceptions in PL/Python

commit   : 44e03742d87ea518990ce9e20bee53c239456f20    
  
author   : Peter Eisentraut <[email protected]>    
date     : Sat, 16 Jan 2010 11:03:51 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Sat, 16 Jan 2010 11:03:51 +0000    

Click here for diff

Mimic the Python interpreter's own logic for printing exceptions instead  
of just using the straight str() call, so that  
you get  
  
    plpy.SPIError  
  
instead of  
  
    <class 'plpy.SPIError'>  
  
and for built-in exceptions merely  
  
    UnicodeEncodeError  
  
Besides looking better this cuts down on the endless version differences  
in the regression test expected files.  

M src/pl/plpython/expected/README
M src/pl/plpython/expected/plpython_error.out
D src/pl/plpython/expected/plpython_error_2.out
M src/pl/plpython/expected/plpython_unicode_2.out
M src/pl/plpython/expected/plpython_unicode_3.out
D src/pl/plpython/expected/plpython_unicode_5.out
M src/pl/plpython/plpython.c

Message mentions msec when it should be seconds, so use s instead of ms.

commit   : 2edc31c439da20a6a43a27ca1e09aed0f26d324c    
  
author   : Simon Riggs <[email protected]>    
date     : Sat, 16 Jan 2010 10:13:04 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Sat, 16 Jan 2010 10:13:04 +0000    

Click here for diff

Noticed by Andres Freund  

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

Teach standby conflict resolution to use SIGUSR1 Conflict reason is passed through directly to the backend, so we can take decisions about the effect of the conflict based upon the local state. No specific changes, as yet, though this prepares for later work. CancelVirtualTransaction() sends signals while holding ProcArrayLock. Introduce errdetail_abort() to give message detail explaining that the abort was caused by conflict processing. Remove CONFLICT_MODE states in favour of using PROCSIG_RECOVERY_CONFLICT states directly, for clarity.

commit   : a8ce974cddef3957b0615d743a1d090d12e81d50    
  
author   : Simon Riggs <[email protected]>    
date     : Sat, 16 Jan 2010 10:05:59 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Sat, 16 Jan 2010 10:05:59 +0000    

Click here for diff

M src/backend/access/transam/xact.c
M src/backend/storage/ipc/procarray.c
M src/backend/storage/ipc/procsignal.c
M src/backend/storage/ipc/standby.c
M src/backend/storage/lmgr/proc.c
M src/backend/tcop/postgres.c
M src/include/storage/proc.h
M src/include/storage/procarray.h
M src/include/storage/procsignal.h
M src/include/storage/standby.h
M src/include/tcop/tcopprot.h

Huh, apparently on cygwin we HAVE_SIGPROCMASK, so both variants of the BlockSig/UnBlockSig declaration have to be PGDLLIMPORT'ified. Per buildfarm results.

commit   : c9dc53be77664952ebd3b50a1e920e92306484de    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 16 Jan 2010 05:52:29 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 16 Jan 2010 05:52:29 +0000    

Click here for diff

M src/include/libpq/pqsignal.h

Add #include <sys/time.h> for struct timeval definition on BSD/OS.

commit   : a736540958b4e2bd71903e4122f773112a592bba    
  
author   : Bruce Momjian <[email protected]>    
date     : Sat, 16 Jan 2010 01:55:28 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sat, 16 Jan 2010 01:55:28 +0000    

Click here for diff

M src/backend/replication/walreceiver/walreceiver.c

PGDLLIMPORT-ize the remaining variables needed by walreceiver.

commit   : 47a09eda891e329a148d55ab8c48f566475ccb4f    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 16 Jan 2010 00:04:41 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 16 Jan 2010 00:04:41 +0000    

Click here for diff

M src/include/access/xlog.h
M src/include/libpq/pqsignal.h
M src/include/replication/walreceiver.h
M src/include/storage/ipc.h

Do parse analysis of an EXPLAIN's contained statement during the normal parse analysis phase, rather than at execution time. This makes parameter handling work the same as it does in ordinary plannable queries, and in particular fixes the incompatibility that Pavel pointed out with plpgsql's new handling of variable references. plancache.c gets a little bit grottier, but the alternatives seem worse.

commit   : 08f8d478ebc37e42f3ced07d17dae83d6a9a3810    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 15 Jan 2010 22:36:35 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 15 Jan 2010 22:36:35 +0000    

Click here for diff

M src/backend/commands/explain.c
M src/backend/nodes/params.c
M src/backend/optimizer/plan/setrefs.c
M src/backend/parser/analyze.c
M src/backend/tcop/utility.c
M src/backend/utils/cache/plancache.c
M src/include/nodes/params.h
M src/include/nodes/parsenodes.h
M src/include/optimizer/planmain.h

Second try: walreceiver should not be built with -DBUILDING_DLL

commit   : 00b5ccebdd0d2925a2e5db0fdf067ea4b7bae799    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 15 Jan 2010 21:43:21 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 15 Jan 2010 21:43:21 +0000    

Click here for diff

M src/makefiles/Makefile.cygwin
M src/makefiles/Makefile.win32

No, scratch that, it was getting added twice.

commit   : cf7af2806830eba6ecf185a42f9e08fff19f49bb    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 15 Jan 2010 21:06:26 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 15 Jan 2010 21:06:26 +0000    

Click here for diff

M src/backend/replication/walreceiver/Makefile

Actually, I'll bet the mingw problem is lack of $(BE_DLLLIBS) ...

commit   : 4335281604126e31abb31d2c2320e353dd86e990    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 15 Jan 2010 20:45:42 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 15 Jan 2010 20:45:42 +0000    

Click here for diff

M src/backend/replication/walreceiver/Makefile

Fix bogus subdir setting ... wonder just what that affects ...

commit   : 798fe1d513ce4de46257fa27871f3beeb9e8de35    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 15 Jan 2010 20:34:11 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 15 Jan 2010 20:34:11 +0000    

Click here for diff

M src/backend/replication/walreceiver/Makefile

Move build of src/backend/replication/walreceiver/ later in the build process, after src/interfaces, because it depends on libpq. Also add missing lines for clean etc. targets

commit   : 3daf3821e6fa3b34f5c27bdb1a653de54fc43159    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Fri, 15 Jan 2010 17:01:06 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Fri, 15 Jan 2010 17:01:06 +0000    

Click here for diff

Report from Boszormenyi Zoltan.  

M src/Makefile

Added correct error handling in DESCRIBE statement processing by Boszormenyi Zoltan <[email protected]>.

commit   : eb730cf5565c1699cf670437188b11ba2639745e    
  
author   : Michael Meskes <[email protected]>    
date     : Fri, 15 Jan 2010 13:19:12 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Fri, 15 Jan 2010 13:19:12 +0000    

Click here for diff

M src/interfaces/ecpg/ecpglib/descriptor.c

Remove unused (in non-assertion-enabled build) variable.

commit   : d3be71a208f2bd4bc529c55a23d9da44f62b0ebb    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Fri, 15 Jan 2010 11:47:15 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Fri, 15 Jan 2010 11:47:15 +0000    

Click here for diff

M src/backend/replication/walsender.c

Applied patch by Boszormenyi Zoltan <[email protected]> to add DESCRIBE [OUTPUT] statement to ecpg.

commit   : bf69b535c028543194997f520bf7761f93166636    
  
author   : Michael Meskes <[email protected]>    
date     : Fri, 15 Jan 2010 10:44:39 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Fri, 15 Jan 2010 10:44:39 +0000    

Click here for diff

M src/interfaces/ecpg/ecpglib/descriptor.c
M src/interfaces/ecpg/ecpglib/extern.h
M src/interfaces/ecpg/ecpglib/prepare.c
M src/interfaces/ecpg/include/ecpglib.h
M src/interfaces/ecpg/preproc/ecpg.addons
M src/interfaces/ecpg/preproc/ecpg.trailer
M src/interfaces/ecpg/preproc/ecpg.type
M src/interfaces/ecpg/test/compat_informix/Makefile
A src/interfaces/ecpg/test/compat_informix/describe.pgc
M src/interfaces/ecpg/test/ecpg_schedule
M src/interfaces/ecpg/test/ecpg_schedule_tcp
A src/interfaces/ecpg/test/expected/compat_informix-describe.c
A src/interfaces/ecpg/test/expected/compat_informix-describe.stderr
A src/interfaces/ecpg/test/expected/compat_informix-describe.stdout
A src/interfaces/ecpg/test/expected/preproc-describe.c
A src/interfaces/ecpg/test/expected/preproc-describe.stderr
A src/interfaces/ecpg/test/expected/preproc-describe.stdout
A src/interfaces/ecpg/test/expected/sql-describe.c
A src/interfaces/ecpg/test/expected/sql-describe.stderr
A src/interfaces/ecpg/test/expected/sql-describe.stdout
M src/interfaces/ecpg/test/sql/Makefile
A src/interfaces/ecpg/test/sql/describe.pgc

Introduce Streaming Replication.

commit   : 40f908bdcdc726fc11912cd95dfd2f89603d1f37    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Fri, 15 Jan 2010 09:19:10 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Fri, 15 Jan 2010 09:19:10 +0000    

Click here for diff

This includes two new kinds of postmaster processes, walsenders and  
walreceiver. Walreceiver is responsible for connecting to the primary server  
and streaming WAL to disk, while walsender runs in the primary server and  
streams WAL from disk to the client.  
  
Documentation still needs work, but the basics are there. We will probably  
pull the replication section to a new chapter later on, as well as the  
sections describing file-based replication. But let's do that as a separate  
patch, so that it's easier to see what has been added/changed. This patch  
also adds a new section to the chapter about FE/BE protocol, documenting the  
protocol used by walsender/walreceivxer.  
  
Bump catalog version because of two new functions,  
pg_last_xlog_receive_location() and pg_last_xlog_replay_location(), for  
monitoring the progress of replication.  
  
Fujii Masao, with additional hacking by me  

M doc/src/sgml/backup.sgml
M doc/src/sgml/client-auth.sgml
M doc/src/sgml/config.sgml
M doc/src/sgml/func.sgml
M doc/src/sgml/high-availability.sgml
M doc/src/sgml/perform.sgml
M doc/src/sgml/protocol.sgml
M src/Makefile
M src/backend/Makefile
M src/backend/access/nbtree/nbtsort.c
M src/backend/access/transam/recovery.conf.sample
M src/backend/access/transam/xlog.c
M src/backend/bootstrap/bootstrap.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/libpq/be-secure.c
M src/backend/libpq/hba.c
M src/backend/libpq/pg_hba.conf.sample
M src/backend/libpq/pqcomm.c
M src/backend/postmaster/bgwriter.c
M src/backend/postmaster/postmaster.c
A src/backend/replication/Makefile
A src/backend/replication/README
A src/backend/replication/walreceiver/Makefile
A src/backend/replication/walreceiver/walreceiver.c
A src/backend/replication/walreceiverfuncs.c
A src/backend/replication/walsender.c
M src/backend/storage/ipc/ipci.c
M src/backend/storage/ipc/pmsignal.c
M src/backend/storage/lmgr/proc.c
M src/backend/tcop/postgres.c
M src/backend/utils/init/postinit.c
M src/backend/utils/misc/guc.c
M src/backend/utils/misc/postgresql.conf.sample
M src/include/Makefile
M src/include/access/xlog.h
M src/include/access/xlog_internal.h
M src/include/access/xlogdefs.h
M src/include/bootstrap/bootstrap.h
M src/include/catalog/catversion.h
M src/include/catalog/pg_proc.h
M src/include/libpq/libpq-be.h
M src/include/libpq/libpq.h
A src/include/replication/walreceiver.h
A src/include/replication/walsender.h
M src/include/storage/pmsignal.h
M src/include/storage/proc.h
M src/include/utils/guc_tables.h
M src/interfaces/libpq/fe-connect.c
M src/interfaces/libpq/fe-protocol3.c
M src/interfaces/libpq/libpq-int.h

Add point_ops opclass for GiST.

commit   : 4cbe473938779ec414d90c2063c4398e68a70838    
  
author   : Teodor Sigaev <[email protected]>    
date     : Thu, 14 Jan 2010 16:31:09 +0000    
  
committer: Teodor Sigaev <[email protected]>    
date     : Thu, 14 Jan 2010 16:31:09 +0000    

Click here for diff

M src/backend/access/gist/gistproc.c
M src/backend/utils/adt/geo_ops.c
M src/include/catalog/catversion.h
M src/include/catalog/pg_amop.h
M src/include/catalog/pg_amproc.h
M src/include/catalog/pg_opclass.h
M src/include/catalog/pg_operator.h
M src/include/catalog/pg_opfamily.h
M src/include/catalog/pg_proc.h
M src/include/utils/geo_decls.h
M src/test/regress/expected/create_index.out
M src/test/regress/expected/opr_sanity.out
M src/test/regress/expected/point.out
M src/test/regress/expected/sanity_check.out
M src/test/regress/sql/create_index.sql
M src/test/regress/sql/point.sql

First part of refactoring of code for ResolveRecoveryConflict. Purposes of this are to centralise the conflict code to allow further change, as well as to allow passing through the full reason for the conflict through to the conflicting backends. Backend state alters how we can handle different types of conflict so this is now required. As originally suggested by Heikki, no longer optional.

commit   : e99767bc28d8ef9ea627cd63336b2b74087c0128    
  
author   : Simon Riggs <[email protected]>    
date     : Thu, 14 Jan 2010 11:08:02 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Thu, 14 Jan 2010 11:08:02 +0000    

Click here for diff

M src/backend/access/heap/heapam.c
M src/backend/access/nbtree/nbtxlog.c
M src/backend/commands/dbcommands.c
M src/backend/commands/tablespace.c
M src/backend/storage/ipc/standby.c
M src/include/storage/standby.h

Simplify validate_exec() by using access(2) to check file permissions, rather than trying to implement the equivalent logic by hand. The motivation for the original coding appears to have been to check with the effective uid's permissions not the real uid's; but there is no longer any difference, because we don't run the postmaster setuid (indeed, main.c enforces that they're the same). Using access() means we will get it right in situations the original coding failed to handle, such as ACL-based permissions. Besides it's a lot shorter, cleaner, and more thread-safe. Per bug #5275 from James Bellinger.

commit   : 0fba3bef558036952f59846a7e7b48e1f5b9e479    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 14 Jan 2010 00:14:06 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 14 Jan 2010 00:14:06 +0000    

Click here for diff

M src/port/exec.c

When loading critical system indexes into the relcache, ensure we lock the underlying catalog not only the index itself. Otherwise, if the cache load process touches the catalog (which will happen for many though not all of these indexes), we are locking index before parent table, which can result in a deadlock against processes that are trying to lock them in the normal order. Per today's failure on buildfarm member gothic_moth; it's surprising the problem hadn't been identified before.

commit   : 715120e7ac9f80eec4e5d5c011cd151675ad59d1    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 13 Jan 2010 23:07:08 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 13 Jan 2010 23:07:08 +0000    

Click here for diff

Back-patch to 8.2.  Earlier releases didn't have the issue because they  
didn't try to lock these indexes during load (instead assuming that they  
couldn't change schema at all during multiuser operation).  

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

Fix bug #5269: ResetPlanCache mustn't invalidate cached utility statements, especially not ROLLBACK. ROLLBACK might need to be executed in an already aborted transaction, when there is no safe way to revalidate the plan. But in general there's no point in marking utility statements invalid, since they have no plans in the normal sense of the word; so we might as well work a bit harder here to avoid future revalidation cycles.

commit   : dbba3a1465472bda66265e6a38fd24cbe619f233    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 13 Jan 2010 16:56:56 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 13 Jan 2010 16:56:56 +0000    

Click here for diff

Back-patch to 8.4, where the bug was introduced.  

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

Applied Zoltan's patch to make char the default sqlda type.

commit   : b3627d1de3ec03adea8551465351bc536f12f526    
  
author   : Michael Meskes <[email protected]>    
date     : Wed, 13 Jan 2010 09:06:51 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Wed, 13 Jan 2010 09:06:51 +0000    

Click here for diff

Given that undefined types are handled as character strings anyway the type  
translation function can simply return the correcponding ECPGt_char type.  

M src/interfaces/ecpg/ecpglib/typename.c

Fix SQL3 type return value.

commit   : cf4d9c4772d9b8efe7d132ce6556d6b338870515    
  
author   : Michael Meskes <[email protected]>    
date     : Wed, 13 Jan 2010 08:41:50 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Wed, 13 Jan 2010 08:41:50 +0000    

Click here for diff

For non-SQL3 types ecpg used to return -Oid. This will break if there are  
enough Oids to fill the namespace. Therefore we play it safe and return 0 if  
there is no Oid->SQL3 tyoe mapping available.  

M src/interfaces/ecpg/ecpglib/typename.c
M src/interfaces/ecpg/test/expected/sql-dyntest.c
M src/interfaces/ecpg/test/expected/sql-dyntest.stderr
M src/interfaces/ecpg/test/expected/sql-dyntest.stdout
M src/interfaces/ecpg/test/sql/dyntest.pgc

Make fixed_paramref_hook behave properly when there are 'unused' slots in the parameter array. Noted while experimenting with an example from Pavel. This wouldn't come up in normal use, but it ought to honor the specification that a parameter array can have unused slots.

commit   : 43a9a2fb89e67f61c50419264a767e7356824067    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 13 Jan 2010 01:17:07 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 13 Jan 2010 01:17:07 +0000    

Click here for diff

M src/backend/parser/parse_param.c

Update MSVC build instructions.

commit   : b2aab424675f85799c08d637a71365aeb377fffe    
  
author   : Magnus Hagander <[email protected]>    
date     : Tue, 12 Jan 2010 20:13:32 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Tue, 12 Jan 2010 20:13:32 +0000    

Click here for diff

Updated to reflect building with Visual Studio 2008, with just the  
Platform SDK, and for 64-bit Windows.  

M doc/src/sgml/install-win32.sgml

Fix relcache reload mechanism to be more robust in the face of errors occurring during a reload, such as query-cancel. Instead of zeroing out an existing relcache entry and rebuilding it in place, build a new relcache entry, then swap its contents with the old one, then free the new entry. This avoids problems with code believing that a previously obtained pointer to a cache entry must still reference a valid entry, as seen in recent failures on buildfarm member jaguar. (jaguar is using CLOBBER_CACHE_ALWAYS which raises the probability of failure substantially, but the problem could occur in the field without that.) The previous design was okay when it was made, but subtransactions and the ResourceOwner mechanism make it unsafe now.

commit   : 491dd4a97daa6b4de9ee8401ada10ad5da76af46    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 12 Jan 2010 18:12:18 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 12 Jan 2010 18:12:18 +0000    

Click here for diff

Also, make more use of the already existing rd_isvalid flag, so that we  
remember that the entry requires rebuilding even if the first attempt fails.  
  
Back-patch as far as 8.2.  Prior versions have enough issues around relcache  
reload anyway (due to inadequate locking) that fixing this one doesn't seem  
worthwhile.  

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

Removed ecpg Changelog file that was only there for historical reasons and isn't actively used anymore.

commit   : b81d033130bca0b262ec317924b68998f1f66539    
  
author   : Michael Meskes <[email protected]>    
date     : Tue, 12 Jan 2010 12:41:46 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Tue, 12 Jan 2010 12:41:46 +0000    

Click here for diff

D src/interfaces/ecpg/ChangeLog

Please tablespace directories in their own subdirectory so pg_migrator can upgrade clusters without renaming the tablespace directories. New directory structure format is, e.g.:

commit   : 228170410dd407f266e777dd49916aff0b1b5936    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 12 Jan 2010 02:42:52 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 12 Jan 2010 02:42:52 +0000    

Click here for diff

	$PGDATA/pg_tblspc/20981/PG_8.5_201001061/719849/83292814  

M src/backend/catalog/catalog.c
M src/backend/commands/tablespace.c
M src/backend/storage/file/fd.c
M src/backend/utils/adt/dbsize.c
M src/backend/utils/adt/misc.c
M src/backend/utils/cache/relcache.c
M src/include/catalog/catalog.h
M src/include/catalog/catversion.h
M src/test/regress/output/tablespace.source

Fix aclexplode to not explode on a zero-entry ACL array. (An Assert is no substitute for thinking clearly :-()

commit   : 894fc6b763c2053c01a5be5d20a76d1db650547d    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 12 Jan 2010 02:39:22 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 12 Jan 2010 02:39:22 +0000    

Click here for diff

Minor style kibitzing too.  
  
Per report from Robert Treat.  

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

Remove tabs in SGML file.

commit   : 6ce4e4f39b703de1b0841b06e5b8c1c9918581f2    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 12 Jan 2010 02:33:45 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 12 Jan 2010 02:33:45 +0000    

Click here for diff

M doc/src/sgml/backup.sgml

Add some simple support and documentation for using process-specific oom_adj settings to prevent the postmaster from being OOM-killed on Linux systems.

commit   : d5e0029862be8729f2cb25736469ed71068424c5    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 11 Jan 2010 18:39:32 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 11 Jan 2010 18:39:32 +0000    

Click here for diff

Alex Hunsaker and Tom Lane  

M contrib/start-scripts/linux
M doc/src/sgml/runtime.sgml
M src/backend/postmaster/fork_process.c

Improve ExecEvalVar's handling of whole-row variables in cases where the rowtype contains dropped columns. Sometimes the input tuple will be formed from a select targetlist in which dropped columns are filled with a NULL of an arbitrary type (the planner typically uses INT4, since it can't tell what type the dropped column really was). So we need to relax the rowtype compatibility check to not insist on physical compatibility if the actual column value is NULL.

commit   : 292176a118da6979e5d368a4baf27f26896c99a5    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 11 Jan 2010 15:31:04 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 11 Jan 2010 15:31:04 +0000    

Click here for diff

In principle we might need to do this for functions returning composite  
types, too (see tupledesc_match()).  In practice there doesn't seem to be  
a bug there, probably because the function will be using the same cached  
rowtype descriptor as the caller.  Fixing that code path would require  
significant rearrangement, so I left it alone for now.  
  
Per complaint from Filip Rembialkowski.  

M src/backend/executor/execQual.c

remove use of temp file for perlchunks.h, as in recent change to plperl GNUmakefile

commit   : ccaad191126f96eb9a0417e811e7bc83ad8d7a94    
  
author   : Andrew Dunstan <[email protected]>    
date     : Mon, 11 Jan 2010 14:16:18 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Mon, 11 Jan 2010 14:16:18 +0000    

Click here for diff

M src/tools/msvc/Mkvcbuild.pm

Some trivial adjustments in comments for struct RelationData.

commit   : 6164b4bc19b002ebc2d58c9feed713fe9f49bdc3    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 10 Jan 2010 22:19:17 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 10 Jan 2010 22:19:17 +0000    

Click here for diff

M src/include/utils/rel.h

Remove unnecessary use of temp file. Tim Bunce

commit   : 3f7a5183325ab71c12dafd644ade5a3d563f2ae6    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 10 Jan 2010 18:10:03 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 10 Jan 2010 18:10:03 +0000    

Click here for diff

M src/pl/plperl/GNUmakefile

Improve plpgsql parsing to report "foo is not a known variable", rather than a generic syntax error, when seeing "foo := something" and foo isn't recognized. This buys back most of the helpfulness discarded in my previous patch by not throwing errors when a qualified name appears to match a row variable but the last component doesn't match any field of the row. It covers other cases where our error messages left something to be desired, too.

commit   : 2d7f136ff72c2507e51990b795642321581fa396    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 10 Jan 2010 17:56:50 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 10 Jan 2010 17:56:50 +0000    

Click here for diff

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

Improve plpgsql's handling of record field references by forcing all potential field references in SQL expressions to have RECFIELD datum-array entries at parse time. If it turns out that the reference is actually to a SQL column, the RECFIELD entry is useless, but it costs little. This allows us to get rid of the previous use of FieldSelect applied to a whole-row Param for the record variable; which was not only slower than a direct RECFIELD reference, but failed for references to system columns of a trigger's NEW or OLD record. Per report and fix suggestion from Dean Rasheed.

commit   : 01f7d29902cb27fb698e5078d72cb837398e074c    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 10 Jan 2010 17:15:18 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 10 Jan 2010 17:15:18 +0000    

Click here for diff

M src/pl/plpgsql/src/gram.y
M src/pl/plpgsql/src/pl_comp.c
M src/pl/plpgsql/src/pl_scanner.c
M src/pl/plpgsql/src/plpgsql.h

Docs for behaviour change of drop database during Hot Standby

commit   : f537e7dfa483a6284c59f3143e8a86170affdc74    
  
author   : Simon Riggs <[email protected]>    
date     : Sun, 10 Jan 2010 16:27:27 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Sun, 10 Jan 2010 16:27:27 +0000    

Click here for diff

Adding missing docs for previous Hot Standby patch.  

M doc/src/sgml/backup.sgml

Update Windows installation notes.

commit   : 48eaa34d443733735eeaabfb876895fecd03c29e    
  
author   : Magnus Hagander <[email protected]>    
date     : Sun, 10 Jan 2010 15:54:11 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Sun, 10 Jan 2010 15:54:11 +0000    

Click here for diff

pginstaller isn't used anymore, in favor of the one-click installers.  
Make it clear that we support Windows 2000 and newer with the native  
port, instead of first saying we support NT4 and then saying we don't.  

M doc/src/sgml/installation.sgml

During Hot Standby, fix drop database when sessions idle. Previously we only cancelled sessions that were in-transaction.

commit   : 3bfcccc2954ce251e2aea6503c0d937c493db781    
  
author   : Simon Riggs <[email protected]>    
date     : Sun, 10 Jan 2010 15:44:28 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Sun, 10 Jan 2010 15:44:28 +0000    

Click here for diff

Simple fix is to just cancel all sessions without waiting. Doing  
it this way avoids complicating common code paths, which would  
not be worth the trouble to cover this rare case.  
  
Problem report and fix by Andres Freund, edited somewhat by me  

M src/backend/commands/dbcommands.c
M src/backend/storage/ipc/procarray.c
M src/include/storage/procarray.h

Create typedef pgsocket for storing socket descriptors.

commit   : 87091cb1f1ed914e2ddca424fa28f94fdf8461d2    
  
author   : Magnus Hagander <[email protected]>    
date     : Sun, 10 Jan 2010 14:16:08 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Sun, 10 Jan 2010 14:16:08 +0000    

Click here for diff

This silences some warnings on Win64. Not using the proper SOCKET datatype  
was actually wrong on Win32 as well, but didn't cause any warnings there.  
  
Also create define PGINVALID_SOCKET to indicate an invalid/non-existing  
socket, instead of using a hardcoded -1 value.  

M src/backend/libpq/auth.c
M src/backend/libpq/ip.c
M src/backend/libpq/pqcomm.c
M src/backend/postmaster/pgstat.c
M src/backend/postmaster/postmaster.c
M src/include/libpq/libpq-be.h
M src/include/libpq/libpq.h
M src/include/port.h
M src/port/noblock.c

Remove partial, broken support for NULL pointers when fetching attributes.

commit   : 84b6d5f35941a0406210e7938d10c3cce4e11340    
  
author   : Robert Haas <[email protected]>    
date     : Sun, 10 Jan 2010 04:26:36 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Sun, 10 Jan 2010 04:26:36 +0000    

Click here for diff

Previously, fastgetattr() and heap_getattr() tested their fourth argument  
against a null pointer, but any attempt to use them with a literal-NULL  
fourth argument evaluated to *(void *)0, resulting in a compiler error.  
Remove these NULL tests to avoid leading future readers of this code to  
believe that this has a chance of working.  Also clean up related legacy  
code in nocachegetattr(), heap_getsysattr(), and nocache_index_getattr().  
  
The new coding standard is that any code which calls a getattr-type  
function or macro which takes an isnull argument MUST pass a valid  
boolean pointer.  Per discussion with Bruce Momjian, Tom Lane, Alvaro  
Herrera.  

M src/backend/access/common/heaptuple.c
M src/backend/access/common/indextuple.c
M src/backend/access/heap/heapam.c
M src/include/access/htup.h
M src/include/access/itup.h

Document pg_tablespace.spcoptions.

commit   : 8b9fa7a93ab32f670de9931c0e0f104befed64af    
  
author   : Robert Haas <[email protected]>    
date     : Sun, 10 Jan 2010 01:23:08 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Sun, 10 Jan 2010 01:23:08 +0000    

Click here for diff

This should have been part of the original tablespace-options patch, but I  
overlooked the need to update this portion of the documentation.  

M doc/src/sgml/catalogs.sgml

Make ExecEvalFieldSelect throw a more intelligible error if it's asked to extract a system column, and remove a couple of lines that are useless in light of the fact that we aren't ever going to support this case. There isn't much point in trying to make this work because a tuple Datum does not carry many of the system columns. Per experimentation with a case reported by Dean Rasheed; we'll have to fix his problem somewhere else.

commit   : 85113bcf5a80fee58ec5678a136a33fe82a8401e    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 9 Jan 2010 20:46:19 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 9 Jan 2010 20:46:19 +0000    

Click here for diff

M src/backend/executor/execQual.c

commit   : 42edbd16fbfa95883b6c8449c9e567500514381c    
  
author   : Simon Riggs <[email protected]>    
date     : Sat, 9 Jan 2010 16:49:27 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Sat, 9 Jan 2010 16:49:27 +0000    

Click here for diff

Code refactored from xact_redo_commit() to  
ProcessCommittedInvalidationMessages() in inval.c. Recovery may replay  
shared invalidation messages for many databases, so we cannot  
SetDatabasePath() once as we do in normal backends. Read the databaseid  
from the shared invalidation messages, then set DatabasePath  
temporarily before calling RelationCacheInitFileInvalidate().  
  
Problem report by Robert Treat, analysis and fix by me.  

M src/backend/access/transam/xact.c
M src/backend/utils/cache/inval.c
M src/include/storage/sinval.h

Provide regression testing for plperlu, and for plperl+plperlu interaction. The latter are only run if the platform can run both interpreters in the same backend.

commit   : 510f3502ebb43afd3e05fa5b67352fe5a6db20bc    
  
author   : Andrew Dunstan <[email protected]>    
date     : Sat, 9 Jan 2010 15:25:41 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Sat, 9 Jan 2010 15:25:41 +0000    

Click here for diff

M src/pl/plperl/GNUmakefile
A src/pl/plperl/expected/plperl_plperlu.out
A src/pl/plperl/expected/plperlu.out
A src/pl/plperl/sql/plperl_plperlu.sql
A src/pl/plperl/sql/plperlu.sql
M src/tools/msvc/vcregress.pl

Build perlchunks.h for plperl on MSVC

commit   : 0346442b5dea141bb5df66a61133a43d522a23fe    
  
author   : Andrew Dunstan <[email protected]>    
date     : Sat, 9 Jan 2010 14:45:47 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Sat, 9 Jan 2010 14:45:47 +0000    

Click here for diff

M src/tools/msvc/Mkvcbuild.pm

Fix makefile so it works for VPATH case.

commit   : c79640efb2a1c388fa48025fcb7d6586775465d4    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 9 Jan 2010 03:53:40 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 9 Jan 2010 03:53:40 +0000    

Click here for diff

M src/pl/plperl/GNUmakefile

Tidy up and refactor plperl.c.

commit   : a2b34b16bed5699aa3ba407d9a412df65f448323    
  
author   : Andrew Dunstan <[email protected]>    
date     : Sat, 9 Jan 2010 02:40:50 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Sat, 9 Jan 2010 02:40:50 +0000    

Click here for diff

- Changed MULTIPLICITY check from runtime to compiletime.  
    No loads the large Config module.  
- Changed plperl_init_interp() to return new interp  
    and not alter the global interp_state  
- Moved plperl_safe_init() call into check_interp().  
- Removed plperl_safe_init_done state variable  
    as interp_state now covers that role.  
- Changed plperl_create_sub() to take a plperl_proc_desc argument.  
- Simplified return value handling in plperl_create_sub.  
- Changed perl.com link in the docs to perl.org and tweaked  
    wording to clarify that require, not use, is what's blocked.  
- Moved perl code in large multi-line C string literal macros  
    out to plc_*.pl files.  
- Added a test2macro.pl utility to convert the plc_*.pl files to  
    macros in a perlchunks.h file which is #included  
- Simplifed plperl_safe_init() slightly  
- Optimized pg_verifymbstr calls to avoid unneeded strlen()s.  
  
Patch from Tim Bunce, with minor editing from me.  

M doc/src/sgml/plperl.sgml
M src/pl/plperl/GNUmakefile
A src/pl/plperl/plc_perlboot.pl
A src/pl/plperl/plc_safe_bad.pl
A src/pl/plperl/plc_safe_ok.pl
M src/pl/plperl/plperl.c
M src/pl/plperl/sql/plperl.sql
A src/pl/plperl/text2macro.pl

Also update ChangerLog file.

commit   : 369494e41fe408f103884032f477555ba134a0a8    
  
author   : Michael Meskes <[email protected]>    
date     : Fri, 8 Jan 2010 09:06:05 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Fri, 8 Jan 2010 09:06:05 +0000    

Click here for diff

M src/interfaces/ecpg/ChangeLog

Fix oversight in EvalPlanQualFetch: after failing to lock a tuple because someone else has just updated it, we have to set priorXmax to that tuple's xmax (ie, the XID of the other xact that updated it) before looping back to examine the next tuple. Obviously, the next tuple in the update chain should have that XID as its xmin, not the same xmin as the preceding tuple that we had been trying to lock. The mismatch would cause the EvalPlanQual logic to decide that the tuple chain ended in a deletion, when actually there was a live tuple that should have been found.

commit   : 217dc525c08c2835f321ca45309601e8b1f57fec    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 8 Jan 2010 02:44:00 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 8 Jan 2010 02:44:00 +0000    

Click here for diff

I inserted this error when recently adding logic to EvalPlanQual to make it  
lock tuples before returning them (as opposed to the old method in which the  
lock would occur much later, causing a great deal of work to be wasted if we  
only then discover someone else updated it).  Sigh.  Per today's report from  
Takahiro Itagaki of inconsistent results during pgbench runs.  

M src/backend/executor/execMain.c

pgBufferUsage needs PGDLLIMPORT for pg_stat_statements on Windows.

commit   : 83a5a338bf0bab2507f9d72fc011845251248439    
  
author   : Itagaki Takahiro <[email protected]>    
date     : Fri, 8 Jan 2010 00:48:56 +0000    
  
committer: Itagaki Takahiro <[email protected]>    
date     : Fri, 8 Jan 2010 00:48:56 +0000    

Click here for diff

M src/include/executor/instrument.h

Add buffer access counters to pg_stat_statements.

commit   : 8964dbd51e4e3e7ea179f85b46ce52715383d869    
  
author   : Itagaki Takahiro <[email protected]>    
date     : Fri, 8 Jan 2010 00:38:20 +0000    
  
committer: Itagaki Takahiro <[email protected]>    
date     : Fri, 8 Jan 2010 00:38:20 +0000    

Click here for diff

This uses the same infrastructure with EXPLAIN BUFFERS to support  
{shared|local}_blks_{hit|read|written} andtemp_blks_{read|written}  
columns in the pg_stat_statements view. The dumped file format  
also updated.  
  
Thanks to Robert Haas for the review.  

M contrib/pg_stat_statements/pg_stat_statements.c
M contrib/pg_stat_statements/pg_stat_statements.sql.in
M doc/src/sgml/pgstatstatements.sgml

Document why we copy reloptions into CacheMemoryContext after-the-fact.

commit   : b1ee6daf2f101613c30ff26c705e3a5797af4407    
  
author   : Robert Haas <[email protected]>    
date     : Thu, 7 Jan 2010 20:39:45 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Thu, 7 Jan 2010 20:39:45 +0000    

Click here for diff

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

Fix 3-parameter form of bit substring() to throw error for negative length, as required by SQL standard.

commit   : 50626efe0aef19fa31fd9ccf79570a24b84bbf01    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 7 Jan 2010 20:17:44 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 7 Jan 2010 20:17:44 +0000    

Click here for diff

M src/backend/utils/adt/varbit.c
M src/include/catalog/catversion.h
M src/include/catalog/pg_proc.h
M src/include/utils/varbit.h

Make bit/varbit substring() treat any negative length as meaning "all the rest of the string". The previous coding treated only -1 that way, and would produce an invalid result value for other negative values.

commit   : e4a6ebf7dece1481b1432c8ac43124487bebf3d9    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 7 Jan 2010 19:53:11 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 7 Jan 2010 19:53:11 +0000    

Click here for diff

We ought to fix it so that 2-parameter bit substring() is a different C  
function and the 3-parameter form throws error for negative length, but  
that takes a pg_proc change which is impractical in the back branches;  
and in any case somebody might be relying on -1 working this way.  
So just do this as a back-patchable fix.  

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

Fix (some of the) breakage introduced into query-cancel processing by HS.

commit   : 82170c747bf74e31f7083849c07a53ec643356b4    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 7 Jan 2010 16:29:58 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 7 Jan 2010 16:29:58 +0000    

Click here for diff

It is absolutely not okay to throw an ereport(ERROR) in any random place in  
the code just because DoingCommandRead is set; interrupting, say, OpenSSL  
in the midst of its activities is guaranteed to result in heartache.  
  
Instead of that, undo the original optimizations that threw away  
QueryCancelPending anytime we were starting or finishing a command read, and  
instead discard the cancel request within ProcessInterrupts if we find that  
there is no HS reason for forcing a cancel and we are DoingCommandRead.  
  
In passing, may I once again condemn the practice of changing the code  
and not fixing the adjacent comment that you just turned into a lie?  

M src/backend/tcop/postgres.c

Use -Z for vacuumdb --analyze-only, rather than -o.

commit   : 6fb791199db1fd6650829cd39d9c26210c09e150    
  
author   : Bruce Momjian <[email protected]>    
date     : Thu, 7 Jan 2010 14:35:44 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Thu, 7 Jan 2010 14:35:44 +0000    

Click here for diff

M doc/src/sgml/ref/vacuumdb.sgml
M src/bin/scripts/vacuumdb.c

Rename new vacuumdb option to --analyze-only from --only-analyze.

commit   : 1a8d4c9277a906ff587581e85a85889f43bd2ddc    
  
author   : Bruce Momjian <[email protected]>    
date     : Thu, 7 Jan 2010 12:38:55 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Thu, 7 Jan 2010 12:38:55 +0000    

Click here for diff

M doc/src/sgml/ref/vacuumdb.sgml
M src/bin/scripts/vacuumdb.c

Remove all the special-case code for INT64_IS_BUSTED, per decision that we're not going to support that anymore.

commit   : 901be0fad4034c9cf8a3588fd6cf2ece82e4b8ce    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 7 Jan 2010 04:53:35 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 7 Jan 2010 04:53:35 +0000    

Click here for diff

I did keep the 64-bit-CRC-with-32-bit-arithmetic code, since it has a  
performance excuse to live.  It's a bit moot since that's all ifdef'd  
out, of course.  

M contrib/btree_gin/btree_gin.c
M src/backend/access/hash/hashfunc.c
M src/backend/libpq/pqformat.c
M src/backend/utils/adt/int8.c
M src/backend/utils/adt/numeric.c
M src/backend/utils/adt/txid.c
M src/backend/utils/adt/varbit.c
M src/backend/utils/fmgr/fmgr.c
M src/backend/utils/hash/pg_crc.c
M src/backend/utils/misc/guc.c
M src/bin/pg_dump/pg_backup_tar.c
M src/include/c.h
M src/include/commands/sequence.h
M src/include/pg_config_manual.h
M src/include/utils/pg_crc.h
M src/interfaces/ecpg/include/pgtypes_interval.h

More tablespace.c comment improvements.

commit   : c282b36dd2a19a4bc05cc81cb4996081a1731d2e    
  
author   : Bruce Momjian <[email protected]>    
date     : Thu, 7 Jan 2010 04:10:39 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Thu, 7 Jan 2010 04:10:39 +0000    

Click here for diff

M src/backend/commands/tablespace.c

Clarify tablespace.c::TablespaceCreateDbspace() comments.

commit   : 85fcbd865503689463399d7f5bb6d95eb49aea12    
  
author   : Bruce Momjian <[email protected]>    
date     : Thu, 7 Jan 2010 04:05:39 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Thu, 7 Jan 2010 04:05:39 +0000    

Click here for diff

M src/backend/commands/tablespace.c

Further fixes for per-tablespace options patch.

commit   : 814c8a03bacf9e30c2c7b4e652986b68a292ac30    
  
author   : Robert Haas <[email protected]>    
date     : Thu, 7 Jan 2010 03:53:08 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Thu, 7 Jan 2010 03:53:08 +0000    

Click here for diff

Add missing varlena header to TableSpaceOpts structure.  And, per  
Tom Lane, instead of calling tablespace_reloptions in CacheMemoryContext,  
call it in the caller's memory context and copy the value over  
afterwards, to reduce the chances of a session-lifetime memory leak.  

M src/backend/utils/cache/spccache.c
M src/include/commands/tablespace.h

Fail in a nicer way if we have --with-perl and no Perl.

commit   : c7f08913ba98931753f7acef39fc2d83a18f7b6e    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 7 Jan 2010 03:24:57 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 7 Jan 2010 03:24:57 +0000    

Click here for diff

M configure
M configure.in

Improve a couple of comments relating to large object snapshot management.

commit   : 2cb67c4c306f77782d9e6077c9d41630f3f6cbac    
  
author   : Robert Haas <[email protected]>    
date     : Thu, 7 Jan 2010 02:41:16 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Thu, 7 Jan 2010 02:41:16 +0000    

Click here for diff

M src/backend/catalog/aclchk.c
M src/backend/catalog/pg_largeobject.c

Make configure check the version of Perl we're building with, and reject versions < 5.8. Also, if there's no Perl, emit a warning informing the user that he won't be able to build from a CVS pull. This is exactly the same treatment we give Bison and Perl, and for the same reasons.

commit   : 55233c3382ed5b9981f232e2f43003dab84c3925    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 7 Jan 2010 01:41:11 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 7 Jan 2010 01:41:11 +0000    

Click here for diff

M config/perl.m4
M configure

Alter the configure script to fail immediately if the C compiler does not provide a working 64-bit integer datatype. As recently noted, we've been broken on such platforms since early in the 8.4 development cycle. Since it took nearly two years for anyone to even notice, it seems that the rationale for continuing to support such platforms has reached the point of non-existence. Rather than thrashing around to try to make it work again, we'll just admit up front that this no longer works.

commit   : d15cb38dec01fcc8d882706a3fa493517597c76b    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 7 Jan 2010 00:25:05 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 7 Jan 2010 00:25:05 +0000    

Click here for diff

Back-patch to 8.4 since that branch is also broken.  
  
We should go around to remove INT64_IS_BUSTED support, but just in HEAD,  
so that seems like material for a separate commit.  

M configure
M configure.in
M src/include/pg_config.h.in

PG_MAJORVERSION:

commit   : a6f56efc3518b1edbbe466277da7a604b4ffeb56    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 6 Jan 2010 23:23:51 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 6 Jan 2010 23:23:51 +0000    

Click here for diff

For simplicity, use PG_MAJORVERSION rather than PG_VERSION for creation  
of the PG_VERSION file.  

M src/backend/commands/tablespace.c
M src/bin/initdb/initdb.c

Fix spccache.c to not suppose that a cache entry will live across database access, per testing with CLOBBER_CACHE_ALWAYS. Minor other editorialization.

commit   : 9261b19fb51a45a915421966b29a2e6e92934c7b    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 6 Jan 2010 23:00:02 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 6 Jan 2010 23:00:02 +0000    

Click here for diff

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

Access hash entry before freeing it, not after.

commit   : 64b9c850e9c4963b2f21c5961fa7765f1ab59506    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 6 Jan 2010 22:27:09 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 6 Jan 2010 22:27:09 +0000    

Click here for diff

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

Make error messages for bad --set-version argument more useful. Per Stefan.

commit   : 87ac6e72cc09a32ae7670ef0e3c9ba0d2aac24cc    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 6 Jan 2010 22:02:45 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 6 Jan 2010 22:02:45 +0000    

Click here for diff

M src/backend/catalog/genbki.pl

Make the makefile pass $MAJORVERSION to genbki.pl, not $VERSION which is overridden in the snapshot build script. $MAJORVERSION is what it really wanted anyway, so we can tighten up the parsing of --set-version's argument.

commit   : d7085f24064c63ce1b48ace459df842816afe94f    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 6 Jan 2010 19:56:29 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 6 Jan 2010 19:56:29 +0000    

Click here for diff

M src/backend/catalog/Makefile
M src/backend/catalog/genbki.pl

commit   : f883e2007a6a8aecce2e2ffc7dae91ffc8fdac8c    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 6 Jan 2010 19:07:05 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 6 Jan 2010 19:07:05 +0000    

Click here for diff

M doc/src/sgml/Makefile
M doc/src/sgml/dblink.sgml

Add missing 'static' keywords.

commit   : cd958356bd201d1544ecebdd601b036e540ba859    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 6 Jan 2010 18:07:19 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 6 Jan 2010 18:07:19 +0000    

Click here for diff

M contrib/auto_explain/auto_explain.c

Corrected CVS entry:

commit   : 36f6b7ca38ccadffc654745780344ae77796e038    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 6 Jan 2010 16:04:05 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 6 Jan 2010 16:04:05 +0000    

Click here for diff

--only-analyze mode is for _vacuumdb_, not pg_dump.  

M src/bin/scripts/vacuumdb.c

Replaced int64_t with int64 as Andrew suggested.

commit   : 76e313c05f752add3b25d7c6376bf5463ffb29bb    
  
author   : Michael Meskes <[email protected]>    
date     : Wed, 6 Jan 2010 15:15:55 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Wed, 6 Jan 2010 15:15:55 +0000    

Click here for diff

M src/interfaces/ecpg/ecpglib/sqlda.c

Remove __FUNCTION__ keyword that is not recognized by som compilers.

commit   : 223a9cd33fccc83dfec8ce4761557e7f8c8e6836    
  
author   : Michael Meskes <[email protected]>    
date     : Wed, 6 Jan 2010 15:10:21 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Wed, 6 Jan 2010 15:10:21 +0000    

Click here for diff

M src/interfaces/ecpg/ecpglib/sqlda.c
M src/interfaces/ecpg/include/sqlda-native.h
M src/interfaces/ecpg/test/expected/compat_informix-sqlda.stderr
M src/interfaces/ecpg/test/expected/sql-sqlda.stderr

Removed test case using nan as float value because printf's output for nan is OS specific with some distinguishing between signaling and quiet nans. It's not really importnat for us here anyway.

commit   : 822697a26e49db966e1c4190e30befe4794da0cc    
  
author   : Michael Meskes <[email protected]>    
date     : Wed, 6 Jan 2010 11:59:52 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Wed, 6 Jan 2010 11:59:52 +0000    

Click here for diff

M src/interfaces/ecpg/test/compat_informix/sqlda.pgc
M src/interfaces/ecpg/test/expected/compat_informix-sqlda.c
M src/interfaces/ecpg/test/expected/compat_informix-sqlda.stderr
M src/interfaces/ecpg/test/expected/compat_informix-sqlda.stdout
M src/interfaces/ecpg/test/expected/sql-sqlda.c
M src/interfaces/ecpg/test/expected/sql-sqlda.stderr
M src/interfaces/ecpg/test/expected/sql-sqlda.stdout
M src/interfaces/ecpg/test/sql/sqlda.pgc

Removed more inttypes.h stuff.

commit   : 858dc6dc6f2f8dc1ca391b3c6b978378d7253295    
  
author   : Michael Meskes <[email protected]>    
date     : Wed, 6 Jan 2010 11:49:43 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Wed, 6 Jan 2010 11:49:43 +0000    

Click here for diff

M src/interfaces/ecpg/test/compat_informix/sqlda.pgc
M src/interfaces/ecpg/test/expected/compat_informix-sqlda.c
M src/interfaces/ecpg/test/expected/compat_informix-sqlda.stderr
M src/interfaces/ecpg/test/expected/sql-sqlda.c
M src/interfaces/ecpg/test/expected/sql-sqlda.stderr
M src/interfaces/ecpg/test/sql/sqlda.pgc

Silence compiler warning about uninitialized variables. This initialization is not necessary needed, but some compilers complain about it.

commit   : ee0b602425b01d52e25c8de1238c5bd2493ab8c4    
  
author   : Itagaki Takahiro <[email protected]>    
date     : Wed, 6 Jan 2010 11:25:39 +0000    
  
committer: Itagaki Takahiro <[email protected]>    
date     : Wed, 6 Jan 2010 11:25:39 +0000    

Click here for diff

M src/backend/commands/cluster.c

Applied Zoltan's patch to remove hardware dependant offset logging and superfluous include files.

commit   : faddd3f066ff510ae7b6bf23d7c4b8ea0eb31167    
  
author   : Michael Meskes <[email protected]>    
date     : Wed, 6 Jan 2010 09:44:05 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Wed, 6 Jan 2010 09:44:05 +0000    

Click here for diff

M src/interfaces/ecpg/ecpglib/sqlda.c
M src/interfaces/ecpg/test/expected/compat_informix-sqlda.stderr
M src/interfaces/ecpg/test/expected/sql-sqlda.stderr

Support rewritten-based full vacuum as VACUUM FULL. Traditional VACUUM FULL was renamed to VACUUM FULL INPLACE. Also added a new option -i, --inplace for vacuumdb to perform FULL INPLACE vacuuming.

commit   : 946cf229e89fda779161d707f3ba1f4d3cd024a1    
  
author   : Itagaki Takahiro <[email protected]>    
date     : Wed, 6 Jan 2010 05:31:14 +0000    
  
committer: Itagaki Takahiro <[email protected]>    
date     : Wed, 6 Jan 2010 05:31:14 +0000    

Click here for diff

Since the new VACUUM FULL uses CLUSTER infrastructure, we cannot  
use it for system tables. VACUUM FULL for system tables always  
fall back into VACUUM FULL INPLACE silently.  
  
Itagaki Takahiro, reviewed by Jeff Davis and Simon Riggs.  

M doc/src/sgml/ref/vacuum.sgml
M doc/src/sgml/ref/vacuumdb.sgml
M src/backend/commands/cluster.c
M src/backend/commands/vacuum.c
M src/backend/parser/gram.y
M src/bin/scripts/vacuumdb.c
M src/include/commands/cluster.h
M src/include/nodes/parsenodes.h
M src/include/parser/kwlist.h
M src/test/regress/expected/vacuum.out
M src/test/regress/sql/vacuum.sql

binary upgrade:

commit   : 28f6cab61ab8958b1a7dfb019724687d92722538    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 6 Jan 2010 05:18:18 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 6 Jan 2010 05:18:18 +0000    

Click here for diff

Preserve relfilenodes for views and composite types --- even though we  
don't store data in, them, they do consume relfilenodes.  
  
Bump catalog version.  

M src/backend/catalog/heap.c
M src/bin/pg_dump/pg_dump.c
M src/include/catalog/catversion.h

Remove erroneous comma added to pg_dumpall tablespace query when running with PG version 8.2-8.4.

commit   : 6f8d2008fcb4a866567f1ceaf76e0da5a66eab29    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 6 Jan 2010 03:34:41 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 6 Jan 2010 03:34:41 +0000    

Click here for diff

M src/bin/pg_dump/pg_dumpall.c

Update catalog version for recent relfilenode patch, so pg_migrator can identify the new API.

commit   : 2391396b3d9304765aea50d220180892b6937fb6    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 6 Jan 2010 03:07:24 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 6 Jan 2010 03:07:24 +0000    

Click here for diff

M src/include/catalog/catversion.h

Preserve relfilenodes:

commit   : f98fbc78c317754c7b356a988470c0c55e9f02b5    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 6 Jan 2010 03:04:03 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 6 Jan 2010 03:04:03 +0000    

Click here for diff

Add support to pg_dump --binary-upgrade to preserve all relfilenodes,  
for use by pg_migrator.  

M src/backend/catalog/heap.c
M src/backend/catalog/index.c
M src/backend/catalog/toasting.c
M src/backend/commands/cluster.c
M src/backend/commands/tablecmds.c
M src/backend/executor/execMain.c
M src/backend/tcop/utility.c
M src/bin/pg_dump/pg_dump.c
M src/include/catalog/toasting.h

pg_dump --only-analyze

commit   : 3ccb97b2e453cfba479dbbc48a91c6eff58b443e    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 6 Jan 2010 02:59:46 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 6 Jan 2010 02:59:46 +0000    

Click here for diff

Implement pg_dump --only-analyze for use by pg_migrator to only analyze  
all databases.  

M doc/src/sgml/ref/vacuumdb.sgml
M src/bin/scripts/vacuumdb.c

Remove tabs in SGML. Move OIDCHARS to proper include file.

commit   : 8cdb85b51232c6cdc0a1461d98bc6d46e6ce60c1    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 6 Jan 2010 02:41:37 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 6 Jan 2010 02:41:37 +0000    

Click here for diff

M doc/src/sgml/config.sgml
M src/backend/catalog/catalog.c
M src/include/catalog/catalog.h

Use OIDCHARS:

commit   : 5c82ccb1ddfc34d18de849cf6e5b2482887a87e2    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 6 Jan 2010 01:48:09 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 6 Jan 2010 01:48:09 +0000    

Click here for diff

Use OIDCHARS for oid character length, rather than '10', in tablespace  
code.  

M src/backend/commands/tablespace.c

Adjust headers to allow pgbench to be built with PGXS.

commit   : a8a198b10b11ed9fc959ab4582ee7dc8d97433ea    
  
author   : Itagaki Takahiro <[email protected]>    
date     : Wed, 6 Jan 2010 01:30:03 +0000    
  
committer: Itagaki Takahiro <[email protected]>    
date     : Wed, 6 Jan 2010 01:30:03 +0000    

Click here for diff

M contrib/pgbench/pgbench.c

Add verification of variable names in pgbench.

commit   : 660f532898f4f53a9df26296173268ba073ae8fb    
  
author   : Itagaki Takahiro <[email protected]>    
date     : Wed, 6 Jan 2010 01:12:14 +0000    
  
committer: Itagaki Takahiro <[email protected]>    
date     : Wed, 6 Jan 2010 01:12:14 +0000    

Click here for diff

Variables must consist of only alphabets, numerals and underscores.  
We had allowed to set variables with invalid names, but could not  
refer them in queries.  
  
Thanks to Robert Haas for the review.  

M contrib/pgbench/pgbench.c

Add support for doing FULL JOIN ON FALSE. While this is really a rather peculiar variant of UNION ALL, and so wouldn't likely get written directly as-is, it's possible for it to arise as a result of simplification of less-obviously-silly queries. In particular, now that we can do flattening of subqueries that have constant outputs and are underneath an outer join, it's possible for the case to result from simplification of queries of the type exhibited in bug #5263. Back-patch to 8.4 to avoid a functionality regression for this type of query.

commit   : 90f4c2d960a3f3b9d51d8349119f0fbb4c35fc9b    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 5 Jan 2010 23:25:36 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 5 Jan 2010 23:25:36 +0000    

Click here for diff

M src/backend/executor/nodeMergejoin.c
M src/backend/optimizer/path/joinpath.c
M src/include/nodes/execnodes.h
M src/test/regress/expected/join.out
M src/test/regress/sql/join.sql

Support ALTER TABLESPACE name SET/RESET ( tablespace_options ).

commit   : d86d51a95810caebcea587498068ff32fe28293e    
  
author   : Robert Haas <[email protected]>    
date     : Tue, 5 Jan 2010 21:54:00 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Tue, 5 Jan 2010 21:54:00 +0000    

Click here for diff

This patch only supports seq_page_cost and random_page_cost as parameters,  
but it provides the infrastructure to scalably support many more.  
In particular, we may want to add support for effective_io_concurrency,  
but I'm leaving that as future work for now.  
  
Thanks to Tom Lane for design help and Alvaro Herrera for the review.  

M doc/src/sgml/config.sgml
M doc/src/sgml/ref/alter_tablespace.sgml
M src/backend/access/common/reloptions.c
M src/backend/catalog/aclchk.c
M src/backend/commands/tablespace.c
M src/backend/nodes/copyfuncs.c
M src/backend/nodes/equalfuncs.c
M src/backend/nodes/outfuncs.c
M src/backend/optimizer/path/costsize.c
M src/backend/optimizer/util/plancat.c
M src/backend/parser/gram.y
M src/backend/tcop/utility.c
M src/backend/utils/adt/selfuncs.c
M src/backend/utils/cache/Makefile
A src/backend/utils/cache/spccache.c
M src/backend/utils/cache/syscache.c
M src/bin/pg_dump/pg_dumpall.c
M src/include/access/reloptions.h
M src/include/catalog/catversion.h
M src/include/catalog/pg_tablespace.h
M src/include/commands/tablespace.h
M src/include/nodes/nodes.h
M src/include/nodes/parsenodes.h
M src/include/nodes/relation.h
A src/include/utils/spccache.h
M src/include/utils/syscache.h
M src/test/regress/input/tablespace.source
M src/test/regress/output/tablespace.source

Fix genbki.pl and Gen_fmgrtab.pl to use PID-specific temp file names, so that it's safe if a parallel make chooses to run two concurrent copies. Also, work around a memory leak in some versions of Perl.

commit   : 72559b49c051ff7dc860068c96324ddf07d7955d    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 5 Jan 2010 20:23:32 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 5 Jan 2010 20:23:32 +0000    

Click here for diff

M src/backend/catalog/Catalog.pm
M src/backend/catalog/genbki.pl
M src/backend/utils/Gen_fmgrtab.pl

And another one

commit   : 1658f6bf58efbad93cc48b1821a7eddb9de1703b    
  
author   : Michael Meskes <[email protected]>    
date     : Tue, 5 Jan 2010 17:10:23 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Tue, 5 Jan 2010 17:10:23 +0000    

Click here for diff

M src/interfaces/ecpg/include/pgtypes_numeric.h
M src/interfaces/ecpg/test/expected/compat_informix-sqlda.c
M src/interfaces/ecpg/test/expected/sql-sqlda.c

And another one of the same problem.

commit   : ed4295f5347a28ac486350f8adc2f5f3ee28157e    
  
author   : Michael Meskes <[email protected]>    
date     : Tue, 5 Jan 2010 17:07:51 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Tue, 5 Jan 2010 17:07:51 +0000    

Click here for diff

M src/interfaces/ecpg/include/sqltypes.h
M src/interfaces/ecpg/test/expected/compat_informix-sqlda.c
M src/interfaces/ecpg/test/expected/sql-sqlda.c

And then forgot to commit the fixed files. ARGH!

commit   : e24e18c609469083ddd342428cb105fe78750548    
  
author   : Michael Meskes <[email protected]>    
date     : Tue, 5 Jan 2010 17:05:49 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Tue, 5 Jan 2010 17:05:49 +0000    

Click here for diff

M src/interfaces/ecpg/test/expected/compat_informix-sqlda.c
M src/interfaces/ecpg/test/expected/sql-sqlda.c

Ah, should read the file completely. I got so used to git that I almost forgot about the cvs stuff.

commit   : 76ecbb5782deecb6805f2018fbf2f9e065d5fefe    
  
author   : Michael Meskes <[email protected]>    
date     : Tue, 5 Jan 2010 17:04:18 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Tue, 5 Jan 2010 17:04:18 +0000    

Click here for diff

M src/interfaces/ecpg/include/sqlda.h
M src/interfaces/ecpg/test/expected/compat_informix-sqlda.c
M src/interfaces/ecpg/test/expected/sql-sqlda.c

Thrid try. It seems my two checkouts need some cleaning up.

commit   : ab2f0ef7c1fd782d08b9644883f9bd2ee20c2411    
  
author   : Michael Meskes <[email protected]>    
date     : Tue, 5 Jan 2010 16:58:37 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Tue, 5 Jan 2010 16:58:37 +0000    

Click here for diff

M src/interfaces/ecpg/test/expected/compat_informix-sqlda.c
M src/interfaces/ecpg/test/expected/sql-sqlda.c

Still not correct.

commit   : 5126d680bb9e53a7781d4f5a630bd810da86f204    
  
author   : Michael Meskes <[email protected]>    
date     : Tue, 5 Jan 2010 16:52:15 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Tue, 5 Jan 2010 16:52:15 +0000    

Click here for diff

M src/interfaces/ecpg/test/expected/compat_informix-sqlda.c
M src/interfaces/ecpg/test/expected/sql-sqlda.c

Adjusted CVS headers.

commit   : bd41870c2a9e7142455a2827a5eb87deb2f75ad0    
  
author   : Michael Meskes <[email protected]>    
date     : Tue, 5 Jan 2010 16:49:46 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Tue, 5 Jan 2010 16:49:46 +0000    

Click here for diff

M src/interfaces/ecpg/test/expected/compat_informix-sqlda.c
M src/interfaces/ecpg/test/expected/sql-sqlda.c

Applied patch by Boszormenyi Zoltan <[email protected]> to add sqlda support to ecpg in both native and compatiblity mode.

commit   : 6d4a351fcbb780b89c638f48b81ab34d92c00ba8    
  
author   : Michael Meskes <[email protected]>    
date     : Tue, 5 Jan 2010 16:38:23 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Tue, 5 Jan 2010 16:38:23 +0000    

Click here for diff

M src/interfaces/ecpg/ecpglib/Makefile
M src/interfaces/ecpg/ecpglib/execute.c
M src/interfaces/ecpg/ecpglib/extern.h
A src/interfaces/ecpg/ecpglib/sqlda.c
M src/interfaces/ecpg/ecpglib/typename.c
M src/interfaces/ecpg/include/Makefile
M src/interfaces/ecpg/include/ecpgtype.h
A src/interfaces/ecpg/include/sqlda-compat.h
A src/interfaces/ecpg/include/sqlda-native.h
M src/interfaces/ecpg/include/sqlda.h
M src/interfaces/ecpg/include/sqltypes.h
M src/interfaces/ecpg/preproc/descriptor.c
M src/interfaces/ecpg/preproc/ecpg.addons
M src/interfaces/ecpg/preproc/ecpg.trailer
M src/interfaces/ecpg/preproc/ecpg.type
M src/interfaces/ecpg/preproc/extern.h
M src/interfaces/ecpg/preproc/type.c
M src/interfaces/ecpg/test/compat_informix/Makefile
A src/interfaces/ecpg/test/compat_informix/sqlda.pgc
M src/interfaces/ecpg/test/ecpg_schedule
M src/interfaces/ecpg/test/ecpg_schedule_tcp
A src/interfaces/ecpg/test/expected/compat_informix-sqlda.c
A src/interfaces/ecpg/test/expected/compat_informix-sqlda.stderr
A src/interfaces/ecpg/test/expected/compat_informix-sqlda.stdout
A src/interfaces/ecpg/test/expected/sql-sqlda.c
A src/interfaces/ecpg/test/expected/sql-sqlda.stderr
A src/interfaces/ecpg/test/expected/sql-sqlda.stdout
M src/interfaces/ecpg/test/sql/Makefile
M src/interfaces/ecpg/test/sql/desc.pgc
M src/interfaces/ecpg/test/sql/dynalloc.pgc
M src/interfaces/ecpg/test/sql/dynalloc2.pgc
A src/interfaces/ecpg/test/sql/sqlda.pgc

Move the default configuration for the MSVC build system to config_default.pl, and allow using config.pl to override the defaults. config.pl is removed from the repository, so changes there will no longer show up when doing diff, and will not prevent switching branches and such things.

commit   : af322a8a3ef28d9b0425238353a8bffa94bfaa47    
  
author   : Magnus Hagander <[email protected]>    
date     : Tue, 5 Jan 2010 13:31:58 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Tue, 5 Jan 2010 13:31:58 +0000    

Click here for diff

config.pl would normally be used to override single values, but if an  
old-style config.pl is read, it will override the entire default configuration,  
making it backwards compatible.  

M src/tools/msvc/Install.pm
M src/tools/msvc/Solution.pm
M src/tools/msvc/build.pl
R053 src/tools/msvc/config.pl src/tools/msvc/config_default.pl
M src/tools/msvc/mkvcbuild.pl

Disable linker warning 4197 on Win64, that is caused by the fact that we export symbols both using __declspec(dllexport) (via the PGDLLIMPORT macro) and using full-dll-export. This works without warning on Win32, but not on Win64.

commit   : 04de9be9106987a889429048bb3cc7ef5fa5d31f    
  
author   : Magnus Hagander <[email protected]>    
date     : Tue, 5 Jan 2010 11:12:50 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Tue, 5 Jan 2010 11:12:50 +0000    

Click here for diff

In passing, fix the fact that the framework could never deal with more than  
one disbled linker warning - because MSVC wants commas between linker warnings,  
and semicolons between compiler warnings...  

M src/tools/msvc/Project.pm

Use _mm_pause() for win64 spin_delay(), per note from Tsutomu Yamada.

commit   : ce92f8b4634b128c4e1090d26617a17fb73ae3d5    
  
author   : Magnus Hagander <[email protected]>    
date     : Tue, 5 Jan 2010 11:06:28 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Tue, 5 Jan 2010 11:06:28 +0000    

Click here for diff

M src/include/storage/s_lock.h

Further code review for genbki.pl. Improve comments, fix some rather random code choices, don't slavishly duplicate the original pg_attribute.h's failure to put an OID into Schema_pg_index entries.

commit   : 5219f803123cda0e94f07827236ffe5424c2d016    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 5 Jan 2010 06:41:44 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 5 Jan 2010 06:41:44 +0000    

Click here for diff

M src/backend/catalog/genbki.pl

Fix a few places where we needed -I. in CPPFLAGS to work properly in VPATH builds. We had this already in several places, but not all.

commit   : daf5b0f2977d6395daf404cfa1b60b361af86377    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 5 Jan 2010 03:56:52 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 5 Jan 2010 03:56:52 +0000    

Click here for diff

M src/backend/bootstrap/Makefile
M src/backend/parser/Makefile
M src/makefiles/pgxs.mk

Remove too-smart-for-its-own-good optimization of not overwriting the output files when they haven't changed. This confuses make because the build fails to update the file timestamps, and so it keeps on doing the action over again.

commit   : 9d781b55f4ba2481a6217316361ddfd67cc06318    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 5 Jan 2010 02:34:03 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 5 Jan 2010 02:34:03 +0000    

Click here for diff

M src/backend/catalog/Catalog.pm
M src/backend/catalog/genbki.pl

Verify input in pg_read_file().

commit   : c3a1eae252d2a5e5e8ff81b79f88b1bc12b5e01e    
  
author   : Itagaki Takahiro <[email protected]>    
date     : Tue, 5 Jan 2010 01:29:36 +0000    
  
committer: Itagaki Takahiro <[email protected]>    
date     : Tue, 5 Jan 2010 01:29:36 +0000    

Click here for diff

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

Fix parallel-make timing problem.

commit   : 54b47c803e9381abf78f4b07498e5f0b3c61e4bc    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 5 Jan 2010 01:20:35 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 5 Jan 2010 01:20:35 +0000    

Click here for diff

M src/backend/Makefile

Get rid of the need for manual maintenance of the initial contents of pg_attribute, by having genbki.pl derive the information from the various catalog header files. This greatly simplifies modification of the "bootstrapped" catalogs.

commit   : 64737e93132b036006ca16e793c634e5939d42db    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 5 Jan 2010 01:06:57 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 5 Jan 2010 01:06:57 +0000    

Click here for diff

This patch finally kills genbki.sh and Gen_fmgrtab.sh; we now rely entirely on  
Perl scripts for those build steps.  To avoid creating a Perl build dependency  
where there was not one before, the output files generated by these scripts  
are now treated as distprep targets, ie, they will be built and shipped in  
tarballs.  But you will need a reasonably modern Perl (probably at least  
5.6) if you want to build from a CVS pull.  
  
The changes to the MSVC build process are untested, and may well break ---  
we'll soon find out from the buildfarm.  
  
John Naylor, based on ideas from Robert Haas and others  

M doc/src/sgml/bki.sgml
M doc/src/sgml/installation.sgml
M src/backend/Makefile
A src/backend/catalog/.cvsignore
A src/backend/catalog/Catalog.pm
M src/backend/catalog/Makefile
M src/backend/catalog/README
A src/backend/catalog/genbki.pl
D src/backend/catalog/genbki.sh
M src/backend/utils/Gen_fmgrtab.pl
D src/backend/utils/Gen_fmgrtab.sh
M src/backend/utils/Makefile
M src/backend/utils/cache/relcache.c
M src/include/Makefile
M src/include/catalog/genbki.h
M src/include/catalog/indexing.h
M src/include/catalog/pg_aggregate.h
M src/include/catalog/pg_am.h
M src/include/catalog/pg_amop.h
M src/include/catalog/pg_amproc.h
M src/include/catalog/pg_attrdef.h
M src/include/catalog/pg_attribute.h
M src/include/catalog/pg_auth_members.h
M src/include/catalog/pg_authid.h
M src/include/catalog/pg_cast.h
M src/include/catalog/pg_class.h
M src/include/catalog/pg_constraint.h
M src/include/catalog/pg_conversion.h
M src/include/catalog/pg_database.h
M src/include/catalog/pg_db_role_setting.h
M src/include/catalog/pg_default_acl.h
M src/include/catalog/pg_depend.h
M src/include/catalog/pg_description.h
M src/include/catalog/pg_enum.h
M src/include/catalog/pg_foreign_data_wrapper.h
M src/include/catalog/pg_foreign_server.h
M src/include/catalog/pg_index.h
M src/include/catalog/pg_inherits.h
M src/include/catalog/pg_language.h
M src/include/catalog/pg_largeobject.h
M src/include/catalog/pg_largeobject_metadata.h
M src/include/catalog/pg_listener.h
M src/include/catalog/pg_namespace.h
M src/include/catalog/pg_opclass.h
M src/include/catalog/pg_operator.h
M src/include/catalog/pg_opfamily.h
M src/include/catalog/pg_pltemplate.h
M src/include/catalog/pg_proc.h
M src/include/catalog/pg_rewrite.h
M src/include/catalog/pg_shdepend.h
M src/include/catalog/pg_shdescription.h
M src/include/catalog/pg_statistic.h
M src/include/catalog/pg_tablespace.h
M src/include/catalog/pg_trigger.h
M src/include/catalog/pg_ts_config.h
M src/include/catalog/pg_ts_config_map.h
M src/include/catalog/pg_ts_dict.h
M src/include/catalog/pg_ts_parser.h
M src/include/catalog/pg_ts_template.h
M src/include/catalog/pg_type.h
M src/include/catalog/pg_user_mapping.h
M src/include/catalog/toasting.h
M src/interfaces/ecpg/ecpglib/pg_type.h
D src/tools/msvc/Genbki.pm
M src/tools/msvc/Solution.pm
M src/tools/msvc/clean.bat

Remove sometimes inaccurate error hint about source of wrongly encoded data.

commit   : fc09fb7bcf0ec3320331744c9523b71349d55fb6    
  
author   : Andrew Dunstan <[email protected]>    
date     : Mon, 4 Jan 2010 20:38:31 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Mon, 4 Jan 2010 20:38:31 +0000    

Click here for diff

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

commit   : 1c4c741ea93018cc30719e2e24206996018301d4    
  
author   : Andrew Dunstan <[email protected]>    
date     : Mon, 4 Jan 2010 20:29:59 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Mon, 4 Jan 2010 20:29:59 +0000    

Click here for diff

M src/pl/plperl/plperl.c

Add a Win64-specific spin_delay() function. We can't use the same as before, since MSVC on Win64 doesn't support inline assembly.

commit   : 305e85b0983e6e18d38d12a575b60ccb8102f4fe    
  
author   : Magnus Hagander <[email protected]>    
date     : Mon, 4 Jan 2010 17:10:24 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Mon, 4 Jan 2010 17:10:24 +0000    

Click here for diff

M src/include/storage/s_lock.h

Improve PGXS makefile system to allow the module's makefile to specify where to install DATA and DOCS files. This is mainly intended to allow versioned installation, eg, install into contrib/fooM.N/ rather than directly into contrib/.

commit   : 4c5b4c8bd00d27df22311c57ca4f0ebe1c562089    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 4 Jan 2010 16:34:11 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 4 Jan 2010 16:34:11 +0000    

Click here for diff

Mark Cave-Ayland  

M doc/src/sgml/xfunc.sgml
M src/makefiles/pgxs.mk

Write an end-of-backup WAL record at pg_stop_backup(), and wait for it at recovery instead of reading the backup history file. This is more robust, as it stops you from prematurely starting up an inconsisten cluster if the backup history file is lost for some reason, or if the base backup was never finished with pg_stop_backup().

commit   : 06f82b29616cd9effcaefd99c6b6e2e80697482f    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Mon, 4 Jan 2010 12:50:50 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Mon, 4 Jan 2010 12:50:50 +0000    

Click here for diff

This also paves the way for a simpler streaming replication patch, which  
doesn't need to care about backup history files anymore.  
  
The backup history file is still created and archived as before, but it's  
not used by the system anymore. It's just for informational purposes now.  
  
Bump PG_CONTROL_VERSION as the location of the backup startpoint is now  
written to a new field in pg_control, and catversion because initdb is  
required  
  
Original patch by Fujii Masao per Simon's idea, with further fixes by me.  

M src/backend/access/transam/xlog.c
M src/bin/pg_controldata/pg_controldata.c
M src/bin/pg_resetxlog/pg_resetxlog.c
M src/include/catalog/catversion.h
M src/include/catalog/pg_control.h

When estimating the selectivity of an inequality "column > constant" or "column < constant", and the comparison value is in the first or last histogram bin or outside the histogram entirely, try to fetch the actual column min or max value using an index scan (if there is an index on the column). If successful, replace the lower or upper histogram bound with that value before carrying on with the estimate. This limits the estimation error caused by moving min/max values when the comparison value is close to the min or max. Per a complaint from Josh Berkus.

commit   : 40608e7f949fb7e4025c0ddd5be01939adc79eec    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 4 Jan 2010 02:44:40 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 4 Jan 2010 02:44:40 +0000    

Click here for diff

It is tempting to consider using this mechanism for mergejoinscansel as well,  
but that would inject index fetches into main-line join estimation not just  
endpoint cases.  I'm refraining from that until we can get a better handle  
on the costs of doing this type of lookup.  

M src/backend/executor/nodeHash.c
M src/backend/tsearch/ts_selfuncs.c
M src/backend/utils/adt/selfuncs.c
M src/backend/utils/cache/lsyscache.c
M src/include/utils/lsyscache.h

Silence compiler warning about printf format for HANDLE.

commit   : 89a091edd24f23e6abffa215548b38ec538b9d2f    
  
author   : Itagaki Takahiro <[email protected]>    
date     : Mon, 4 Jan 2010 01:06:21 +0000    
  
committer: Itagaki Takahiro <[email protected]>    
date     : Mon, 4 Jan 2010 01:06:21 +0000    

Click here for diff

M src/backend/port/win32_shmem.c

Dept of second thoughts: my first cut at supporting "x IS NOT NULL" btree indexscans would do the wrong thing if index_rescan() was called with a NULL instead of a new set of scankeys and the index was DESC order, because sk_strategy would not get flipped a second time. I think that those provisions for a NULL argument are dead code now as far as the core backend goes, but possibly somebody somewhere is still using it. In any case, this refactoring seems clearer, and it's definitely shorter.

commit   : 5b76bb180f4091823fa33f474601ada34eda2c39    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 3 Jan 2010 05:39:08 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 3 Jan 2010 05:39:08 +0000    

Click here for diff

M src/backend/access/nbtree/nbtutils.c

Make ssize_t 64-bit on Win64, for compatibility with for example plpython.

commit   : c3705d8cc5bb7197295c1965c80ccf247716318d    
  
author   : Magnus Hagander <[email protected]>    
date     : Sat, 2 Jan 2010 22:47:37 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Sat, 2 Jan 2010 22:47:37 +0000    

Click here for diff

M src/include/port/win32.h

Add missing schema-qualification in tab completion query.

commit   : 96c40c6e4b79da504c5855f1e3a0ce7e1a1a559c    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 2 Jan 2010 21:28:46 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 2 Jan 2010 21:28:46 +0000    

Click here for diff

M src/bin/psql/tab-complete.c

Fix similar_escape() to convert parentheses to non-capturing style. This is needed to avoid unwanted interference with SUBSTRING behavior, as per bug #5257 from Roman Kononov. Also, add some basic intelligence about character classes (bracket expressions) since we now have several behaviors that aren't appropriate inside a character class.

commit   : e15d53e7a419dcff49e108c78c8f70be6b18598b    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 2 Jan 2010 20:59:16 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 2 Jan 2010 20:59:16 +0000    

Click here for diff

As with the previous patch in this area, I'm reluctant to back-patch  
since it might affect applications that are relying on the prior  
behavior.  

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

check_exclusion_constraint didn't actually work correctly for index expressions: FormIndexDatum requires the estate's scantuple to already point at the tuple the values are supposedly being extracted from. Adjust test case so that this type of confusion will be exposed. Per report from hubert depesz lubaczewski.

commit   : 2b59274c0925ca980748edf57723f3c3e026f619    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 2 Jan 2010 17:53:57 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 2 Jan 2010 17:53:57 +0000    

Click here for diff

M src/backend/executor/execUtils.c
M src/test/regress/input/constraints.source
M src/test/regress/output/constraints.source

commit   : 0239800893ef4901e3c085e06534934a485d3bf0    
  
author   : Bruce Momjian <[email protected]>    
date     : Sat, 2 Jan 2010 16:58:17 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sat, 2 Jan 2010 16:58:17 +0000    

Click here for diff

M COPYRIGHT
M configure
M configure.in
M contrib/adminpack/adminpack.c
M contrib/auto_explain/auto_explain.c
M contrib/dblink/dblink.c
M contrib/dblink/dblink.h
M contrib/dict_int/dict_int.c
M contrib/dict_xsyn/dict_xsyn.c
M contrib/fuzzystrmatch/fuzzystrmatch.c
M contrib/isn/isn.c
M contrib/isn/isn.h
M contrib/pageinspect/fsmfuncs.c
M contrib/pageinspect/heapfuncs.c
M contrib/pageinspect/rawpage.c
M contrib/passwordcheck/passwordcheck.c
M contrib/pg_stat_statements/pg_stat_statements.c
M contrib/pgbench/pgbench.c
M contrib/tablefunc/tablefunc.c
M contrib/tablefunc/tablefunc.h
M contrib/test_parser/test_parser.c
M contrib/tsearch2/tsearch2.c
M contrib/unaccent/unaccent.c
M contrib/uuid-ossp/uuid-ossp.c
M contrib/vacuumlo/vacuumlo.c
M doc/src/sgml/legal.sgml
M src/backend/Makefile
M src/backend/access/common/heaptuple.c
M src/backend/access/common/indextuple.c
M src/backend/access/common/printtup.c
M src/backend/access/common/reloptions.c
M src/backend/access/common/scankey.c
M src/backend/access/common/tupconvert.c
M src/backend/access/common/tupdesc.c
M src/backend/access/gin/ginarrayproc.c
M src/backend/access/gin/ginbtree.c
M src/backend/access/gin/ginbulk.c
M src/backend/access/gin/gindatapage.c
M src/backend/access/gin/ginentrypage.c
M src/backend/access/gin/ginfast.c
M src/backend/access/gin/ginget.c
M src/backend/access/gin/gininsert.c
M src/backend/access/gin/ginscan.c
M src/backend/access/gin/ginutil.c
M src/backend/access/gin/ginvacuum.c
M src/backend/access/gin/ginxlog.c
M src/backend/access/gist/gist.c
M src/backend/access/gist/gistget.c
M src/backend/access/gist/gistproc.c
M src/backend/access/gist/gistscan.c
M src/backend/access/gist/gistsplit.c
M src/backend/access/gist/gistutil.c
M src/backend/access/gist/gistvacuum.c
M src/backend/access/gist/gistxlog.c
M src/backend/access/hash/hash.c
M src/backend/access/hash/hashfunc.c
M src/backend/access/hash/hashinsert.c
M src/backend/access/hash/hashovfl.c
M src/backend/access/hash/hashpage.c
M src/backend/access/hash/hashscan.c
M src/backend/access/hash/hashsearch.c
M src/backend/access/hash/hashsort.c
M src/backend/access/hash/hashutil.c
M src/backend/access/heap/heapam.c
M src/backend/access/heap/hio.c
M src/backend/access/heap/pruneheap.c
M src/backend/access/heap/rewriteheap.c
M src/backend/access/heap/syncscan.c
M src/backend/access/heap/tuptoaster.c
M src/backend/access/heap/visibilitymap.c
M src/backend/access/index/genam.c
M src/backend/access/index/indexam.c
M src/backend/access/nbtree/nbtcompare.c
M src/backend/access/nbtree/nbtinsert.c
M src/backend/access/nbtree/nbtpage.c
M src/backend/access/nbtree/nbtree.c
M src/backend/access/nbtree/nbtsearch.c
M src/backend/access/nbtree/nbtsort.c
M src/backend/access/nbtree/nbtutils.c
M src/backend/access/nbtree/nbtxlog.c
M src/backend/access/transam/clog.c
M src/backend/access/transam/multixact.c
M src/backend/access/transam/slru.c
M src/backend/access/transam/subtrans.c
M src/backend/access/transam/transam.c
M src/backend/access/transam/twophase.c
M src/backend/access/transam/twophase_rmgr.c
M src/backend/access/transam/varsup.c
M src/backend/access/transam/xact.c
M src/backend/access/transam/xlog.c
M src/backend/access/transam/xlogutils.c
M src/backend/bootstrap/bootparse.y
M src/backend/bootstrap/bootscanner.l
M src/backend/bootstrap/bootstrap.c
M src/backend/catalog/aclchk.c
M src/backend/catalog/catalog.c
M src/backend/catalog/dependency.c
M src/backend/catalog/genbki.sh
M src/backend/catalog/heap.c
M src/backend/catalog/index.c
M src/backend/catalog/indexing.c
M src/backend/catalog/information_schema.sql
M src/backend/catalog/namespace.c
M src/backend/catalog/pg_aggregate.c
M src/backend/catalog/pg_constraint.c
M src/backend/catalog/pg_conversion.c
M src/backend/catalog/pg_db_role_setting.c
M src/backend/catalog/pg_depend.c
M src/backend/catalog/pg_enum.c
M src/backend/catalog/pg_inherits.c
M src/backend/catalog/pg_largeobject.c
M src/backend/catalog/pg_namespace.c
M src/backend/catalog/pg_operator.c
M src/backend/catalog/pg_proc.c
M src/backend/catalog/pg_shdepend.c
M src/backend/catalog/pg_type.c
M src/backend/catalog/storage.c
M src/backend/catalog/system_views.sql
M src/backend/catalog/toasting.c
M src/backend/commands/aggregatecmds.c
M src/backend/commands/alter.c
M src/backend/commands/analyze.c
M src/backend/commands/async.c
M src/backend/commands/cluster.c
M src/backend/commands/comment.c
M src/backend/commands/constraint.c
M src/backend/commands/conversioncmds.c
M src/backend/commands/copy.c
M src/backend/commands/dbcommands.c
M src/backend/commands/define.c
M src/backend/commands/discard.c
M src/backend/commands/explain.c
M src/backend/commands/foreigncmds.c
M src/backend/commands/functioncmds.c
M src/backend/commands/indexcmds.c
M src/backend/commands/lockcmds.c
M src/backend/commands/opclasscmds.c
M src/backend/commands/operatorcmds.c
M src/backend/commands/portalcmds.c
M src/backend/commands/prepare.c
M src/backend/commands/proclang.c
M src/backend/commands/schemacmds.c
M src/backend/commands/sequence.c
M src/backend/commands/tablecmds.c
M src/backend/commands/tablespace.c
M src/backend/commands/trigger.c
M src/backend/commands/tsearchcmds.c
M src/backend/commands/typecmds.c
M src/backend/commands/user.c
M src/backend/commands/vacuum.c
M src/backend/commands/vacuumlazy.c
M src/backend/commands/variable.c
M src/backend/commands/view.c
M src/backend/executor/execAmi.c
M src/backend/executor/execCurrent.c
M src/backend/executor/execGrouping.c
M src/backend/executor/execJunk.c
M src/backend/executor/execMain.c
M src/backend/executor/execProcnode.c
M src/backend/executor/execQual.c
M src/backend/executor/execScan.c
M src/backend/executor/execTuples.c
M src/backend/executor/execUtils.c
M src/backend/executor/functions.c
M src/backend/executor/instrument.c
M src/backend/executor/nodeAgg.c
M src/backend/executor/nodeAppend.c
M src/backend/executor/nodeBitmapAnd.c
M src/backend/executor/nodeBitmapHeapscan.c
M src/backend/executor/nodeBitmapIndexscan.c
M src/backend/executor/nodeBitmapOr.c
M src/backend/executor/nodeCtescan.c
M src/backend/executor/nodeFunctionscan.c
M src/backend/executor/nodeGroup.c
M src/backend/executor/nodeHash.c
M src/backend/executor/nodeHashjoin.c
M src/backend/executor/nodeIndexscan.c
M src/backend/executor/nodeLimit.c
M src/backend/executor/nodeLockRows.c
M src/backend/executor/nodeMaterial.c
M src/backend/executor/nodeMergejoin.c
M src/backend/executor/nodeModifyTable.c
M src/backend/executor/nodeNestloop.c
M src/backend/executor/nodeRecursiveunion.c
M src/backend/executor/nodeResult.c
M src/backend/executor/nodeSeqscan.c
M src/backend/executor/nodeSetOp.c
M src/backend/executor/nodeSort.c
M src/backend/executor/nodeSubplan.c
M src/backend/executor/nodeSubqueryscan.c
M src/backend/executor/nodeTidscan.c
M src/backend/executor/nodeUnique.c
M src/backend/executor/nodeValuesscan.c
M src/backend/executor/nodeWindowAgg.c
M src/backend/executor/nodeWorktablescan.c
M src/backend/executor/spi.c
M src/backend/executor/tstoreReceiver.c
M src/backend/foreign/foreign.c
M src/backend/lib/dllist.c
M src/backend/lib/stringinfo.c
M src/backend/libpq/auth.c
M src/backend/libpq/be-fsstubs.c
M src/backend/libpq/be-secure.c
M src/backend/libpq/crypt.c
M src/backend/libpq/hba.c
M src/backend/libpq/ip.c
M src/backend/libpq/md5.c
M src/backend/libpq/pqcomm.c
M src/backend/libpq/pqformat.c
M src/backend/libpq/pqsignal.c
M src/backend/main/main.c
M src/backend/nodes/bitmapset.c
M src/backend/nodes/copyfuncs.c
M src/backend/nodes/equalfuncs.c
M src/backend/nodes/list.c
M src/backend/nodes/makefuncs.c
M src/backend/nodes/nodeFuncs.c
M src/backend/nodes/nodes.c
M src/backend/nodes/outfuncs.c
M src/backend/nodes/params.c
M src/backend/nodes/print.c
M src/backend/nodes/read.c
M src/backend/nodes/readfuncs.c
M src/backend/nodes/tidbitmap.c
M src/backend/nodes/value.c
M src/backend/optimizer/geqo/geqo_copy.c
M src/backend/optimizer/geqo/geqo_eval.c
M src/backend/optimizer/geqo/geqo_main.c
M src/backend/optimizer/geqo/geqo_misc.c
M src/backend/optimizer/geqo/geqo_pool.c
M src/backend/optimizer/geqo/geqo_random.c
M src/backend/optimizer/geqo/geqo_selection.c
M src/backend/optimizer/path/allpaths.c
M src/backend/optimizer/path/clausesel.c
M src/backend/optimizer/path/costsize.c
M src/backend/optimizer/path/equivclass.c
M src/backend/optimizer/path/indxpath.c
M src/backend/optimizer/path/joinpath.c
M src/backend/optimizer/path/joinrels.c
M src/backend/optimizer/path/orindxpath.c
M src/backend/optimizer/path/pathkeys.c
M src/backend/optimizer/path/tidpath.c
M src/backend/optimizer/plan/createplan.c
M src/backend/optimizer/plan/initsplan.c
M src/backend/optimizer/plan/planagg.c
M src/backend/optimizer/plan/planmain.c
M src/backend/optimizer/plan/planner.c
M src/backend/optimizer/plan/setrefs.c
M src/backend/optimizer/plan/subselect.c
M src/backend/optimizer/prep/prepjointree.c
M src/backend/optimizer/prep/prepqual.c
M src/backend/optimizer/prep/preptlist.c
M src/backend/optimizer/prep/prepunion.c
M src/backend/optimizer/util/clauses.c
M src/backend/optimizer/util/joininfo.c
M src/backend/optimizer/util/pathnode.c
M src/backend/optimizer/util/placeholder.c
M src/backend/optimizer/util/plancat.c
M src/backend/optimizer/util/predtest.c
M src/backend/optimizer/util/relnode.c
M src/backend/optimizer/util/restrictinfo.c
M src/backend/optimizer/util/tlist.c
M src/backend/optimizer/util/var.c
M src/backend/parser/analyze.c
M src/backend/parser/gram.y
M src/backend/parser/keywords.c
M src/backend/parser/kwlookup.c
M src/backend/parser/parse_agg.c
M src/backend/parser/parse_clause.c
M src/backend/parser/parse_coerce.c
M src/backend/parser/parse_cte.c
M src/backend/parser/parse_expr.c
M src/backend/parser/parse_func.c
M src/backend/parser/parse_node.c
M src/backend/parser/parse_oper.c
M src/backend/parser/parse_param.c
M src/backend/parser/parse_relation.c
M src/backend/parser/parse_target.c
M src/backend/parser/parse_type.c
M src/backend/parser/parse_utilcmd.c
M src/backend/parser/parser.c
M src/backend/parser/scan.l
M src/backend/parser/scansup.c
M src/backend/port/dynloader/aix.h
M src/backend/port/dynloader/bsdi.c
M src/backend/port/dynloader/bsdi.h
M src/backend/port/dynloader/cygwin.h
M src/backend/port/dynloader/dgux.h
M src/backend/port/dynloader/freebsd.c
M src/backend/port/dynloader/freebsd.h
M src/backend/port/dynloader/hpux.c
M src/backend/port/dynloader/hpux.h
M src/backend/port/dynloader/irix.h
M src/backend/port/dynloader/linux.c
M src/backend/port/dynloader/linux.h
M src/backend/port/dynloader/netbsd.c
M src/backend/port/dynloader/netbsd.h
M src/backend/port/dynloader/openbsd.c
M src/backend/port/dynloader/openbsd.h
M src/backend/port/dynloader/osf.h
M src/backend/port/dynloader/sco.h
M src/backend/port/dynloader/solaris.h
M src/backend/port/dynloader/sunos4.h
M src/backend/port/dynloader/svr4.h
M src/backend/port/dynloader/ultrix4.c
M src/backend/port/dynloader/ultrix4.h
M src/backend/port/dynloader/univel.h
M src/backend/port/dynloader/unixware.h
M src/backend/port/ipc_test.c
M src/backend/port/posix_sema.c
M src/backend/port/sysv_sema.c
M src/backend/port/sysv_shmem.c
M src/backend/port/tas/sunstudio_sparc.s
M src/backend/port/tas/sunstudio_x86.s
M src/backend/port/win32/mingwcompat.c
M src/backend/port/win32/security.c
M src/backend/port/win32/signal.c
M src/backend/port/win32/socket.c
M src/backend/port/win32/timer.c
M src/backend/port/win32_sema.c
M src/backend/port/win32_shmem.c
M src/backend/postmaster/autovacuum.c
M src/backend/postmaster/bgwriter.c
M src/backend/postmaster/fork_process.c
M src/backend/postmaster/pgarch.c
M src/backend/postmaster/pgstat.c
M src/backend/postmaster/postmaster.c
M src/backend/postmaster/syslogger.c
M src/backend/postmaster/walwriter.c
M src/backend/rewrite/rewriteDefine.c
M src/backend/rewrite/rewriteHandler.c
M src/backend/rewrite/rewriteManip.c
M src/backend/rewrite/rewriteRemove.c
M src/backend/rewrite/rewriteSupport.c
M src/backend/snowball/dict_snowball.c
M src/backend/storage/buffer/buf_init.c
M src/backend/storage/buffer/buf_table.c
M src/backend/storage/buffer/bufmgr.c
M src/backend/storage/buffer/freelist.c
M src/backend/storage/buffer/localbuf.c
M src/backend/storage/file/buffile.c
M src/backend/storage/file/fd.c
M src/backend/storage/freespace/freespace.c
M src/backend/storage/freespace/fsmpage.c
M src/backend/storage/freespace/indexfsm.c
M src/backend/storage/ipc/ipc.c
M src/backend/storage/ipc/ipci.c
M src/backend/storage/ipc/pmsignal.c
M src/backend/storage/ipc/procarray.c
M src/backend/storage/ipc/procsignal.c
M src/backend/storage/ipc/shmem.c
M src/backend/storage/ipc/shmqueue.c
M src/backend/storage/ipc/sinval.c
M src/backend/storage/ipc/sinvaladt.c
M src/backend/storage/ipc/standby.c
M src/backend/storage/large_object/inv_api.c
M src/backend/storage/lmgr/deadlock.c
M src/backend/storage/lmgr/lmgr.c
M src/backend/storage/lmgr/lock.c
M src/backend/storage/lmgr/lwlock.c
M src/backend/storage/lmgr/proc.c
M src/backend/storage/lmgr/s_lock.c
M src/backend/storage/lmgr/spin.c
M src/backend/storage/page/bufpage.c
M src/backend/storage/page/itemptr.c
M src/backend/storage/smgr/md.c
M src/backend/storage/smgr/smgr.c
M src/backend/storage/smgr/smgrtype.c
M src/backend/tcop/dest.c
M src/backend/tcop/fastpath.c
M src/backend/tcop/postgres.c
M src/backend/tcop/pquery.c
M src/backend/tcop/utility.c
M src/backend/tsearch/Makefile
M src/backend/tsearch/dict.c
M src/backend/tsearch/dict_ispell.c
M src/backend/tsearch/dict_simple.c
M src/backend/tsearch/dict_synonym.c
M src/backend/tsearch/dict_thesaurus.c
M src/backend/tsearch/regis.c
M src/backend/tsearch/spell.c
M src/backend/tsearch/to_tsany.c
M src/backend/tsearch/ts_locale.c
M src/backend/tsearch/ts_parse.c
M src/backend/tsearch/ts_selfuncs.c
M src/backend/tsearch/ts_typanalyze.c
M src/backend/tsearch/ts_utils.c
M src/backend/tsearch/wparser.c
M src/backend/tsearch/wparser_def.c
M src/backend/utils/Gen_dummy_probes.sed
M src/backend/utils/Gen_fmgrtab.pl
M src/backend/utils/Gen_fmgrtab.sh
M src/backend/utils/adt/acl.c
M src/backend/utils/adt/array_userfuncs.c
M src/backend/utils/adt/arrayfuncs.c
M src/backend/utils/adt/arrayutils.c
M src/backend/utils/adt/ascii.c
M src/backend/utils/adt/bool.c
M src/backend/utils/adt/char.c
M src/backend/utils/adt/date.c
M src/backend/utils/adt/datetime.c
M src/backend/utils/adt/datum.c
M src/backend/utils/adt/dbsize.c
M src/backend/utils/adt/domains.c
M src/backend/utils/adt/encode.c
M src/backend/utils/adt/enum.c
M src/backend/utils/adt/float.c
M src/backend/utils/adt/format_type.c
M src/backend/utils/adt/formatting.c
M src/backend/utils/adt/genfile.c
M src/backend/utils/adt/geo_ops.c
M src/backend/utils/adt/geo_selfuncs.c
M src/backend/utils/adt/int.c
M src/backend/utils/adt/int8.c
M src/backend/utils/adt/like.c
M src/backend/utils/adt/like_match.c
M src/backend/utils/adt/lockfuncs.c
M src/backend/utils/adt/misc.c
M src/backend/utils/adt/nabstime.c
M src/backend/utils/adt/name.c
M src/backend/utils/adt/numeric.c
M src/backend/utils/adt/numutils.c
M src/backend/utils/adt/oid.c
M src/backend/utils/adt/oracle_compat.c
M src/backend/utils/adt/pg_locale.c
M src/backend/utils/adt/pg_lzcompress.c
M src/backend/utils/adt/pgstatfuncs.c
M src/backend/utils/adt/pseudotypes.c
M src/backend/utils/adt/quote.c
M src/backend/utils/adt/regexp.c
M src/backend/utils/adt/regproc.c
M src/backend/utils/adt/ri_triggers.c
M src/backend/utils/adt/rowtypes.c
M src/backend/utils/adt/ruleutils.c
M src/backend/utils/adt/selfuncs.c
M src/backend/utils/adt/tid.c
M src/backend/utils/adt/timestamp.c
M src/backend/utils/adt/trigfuncs.c
M src/backend/utils/adt/tsginidx.c
M src/backend/utils/adt/tsgistidx.c
M src/backend/utils/adt/tsquery.c
M src/backend/utils/adt/tsquery_cleanup.c
M src/backend/utils/adt/tsquery_gist.c
M src/backend/utils/adt/tsquery_op.c
M src/backend/utils/adt/tsquery_rewrite.c
M src/backend/utils/adt/tsquery_util.c
M src/backend/utils/adt/tsrank.c
M src/backend/utils/adt/tsvector.c
M src/backend/utils/adt/tsvector_op.c
M src/backend/utils/adt/tsvector_parser.c
M src/backend/utils/adt/txid.c
M src/backend/utils/adt/uuid.c
M src/backend/utils/adt/varbit.c
M src/backend/utils/adt/varchar.c
M src/backend/utils/adt/varlena.c
M src/backend/utils/adt/version.c
M src/backend/utils/adt/windowfuncs.c
M src/backend/utils/adt/xid.c
M src/backend/utils/adt/xml.c
M src/backend/utils/cache/catcache.c
M src/backend/utils/cache/inval.c
M src/backend/utils/cache/lsyscache.c
M src/backend/utils/cache/plancache.c
M src/backend/utils/cache/relcache.c
M src/backend/utils/cache/syscache.c
M src/backend/utils/cache/ts_cache.c
M src/backend/utils/cache/typcache.c
M src/backend/utils/error/assert.c
M src/backend/utils/error/elog.c
M src/backend/utils/fmgr/dfmgr.c
M src/backend/utils/fmgr/fmgr.c
M src/backend/utils/fmgr/funcapi.c
M src/backend/utils/hash/dynahash.c
M src/backend/utils/hash/hashfn.c
M src/backend/utils/hash/pg_crc.c
M src/backend/utils/init/globals.c
M src/backend/utils/init/miscinit.c
M src/backend/utils/init/postinit.c
M src/backend/utils/mb/Unicode/Makefile
M src/backend/utils/mb/Unicode/UCS_to_BIG5.pl
M src/backend/utils/mb/Unicode/UCS_to_EUC_CN.pl
M src/backend/utils/mb/Unicode/UCS_to_EUC_JIS_2004.pl
M src/backend/utils/mb/Unicode/UCS_to_EUC_JP.pl
M src/backend/utils/mb/Unicode/UCS_to_EUC_KR.pl
M src/backend/utils/mb/Unicode/UCS_to_EUC_TW.pl
M src/backend/utils/mb/Unicode/UCS_to_SHIFT_JIS_2004.pl
M src/backend/utils/mb/Unicode/UCS_to_SJIS.pl
M src/backend/utils/mb/Unicode/UCS_to_most.pl
M src/backend/utils/mb/Unicode/ucs2utf.pl
M src/backend/utils/mb/conv.c
M src/backend/utils/mb/conversion_procs/ascii_and_mic/ascii_and_mic.c
M src/backend/utils/mb/conversion_procs/cyrillic_and_mic/cyrillic_and_mic.c
M src/backend/utils/mb/conversion_procs/euc2004_sjis2004/euc2004_sjis2004.c
M src/backend/utils/mb/conversion_procs/euc_cn_and_mic/euc_cn_and_mic.c
M src/backend/utils/mb/conversion_procs/euc_jp_and_sjis/euc_jp_and_sjis.c
M src/backend/utils/mb/conversion_procs/euc_kr_and_mic/euc_kr_and_mic.c
M src/backend/utils/mb/conversion_procs/euc_tw_and_big5/euc_tw_and_big5.c
M src/backend/utils/mb/conversion_procs/latin2_and_win1250/latin2_and_win1250.c
M src/backend/utils/mb/conversion_procs/latin_and_mic/latin_and_mic.c
M src/backend/utils/mb/conversion_procs/utf8_and_ascii/utf8_and_ascii.c
M src/backend/utils/mb/conversion_procs/utf8_and_big5/utf8_and_big5.c
M src/backend/utils/mb/conversion_procs/utf8_and_cyrillic/utf8_and_cyrillic.c
M src/backend/utils/mb/conversion_procs/utf8_and_euc2004/utf8_and_euc2004.c
M src/backend/utils/mb/conversion_procs/utf8_and_euc_cn/utf8_and_euc_cn.c
M src/backend/utils/mb/conversion_procs/utf8_and_euc_jp/utf8_and_euc_jp.c
M src/backend/utils/mb/conversion_procs/utf8_and_euc_kr/utf8_and_euc_kr.c
M src/backend/utils/mb/conversion_procs/utf8_and_euc_tw/utf8_and_euc_tw.c
M src/backend/utils/mb/conversion_procs/utf8_and_gb18030/utf8_and_gb18030.c
M src/backend/utils/mb/conversion_procs/utf8_and_gbk/utf8_and_gbk.c
M src/backend/utils/mb/conversion_procs/utf8_and_iso8859/utf8_and_iso8859.c
M src/backend/utils/mb/conversion_procs/utf8_and_iso8859_1/utf8_and_iso8859_1.c
M src/backend/utils/mb/conversion_procs/utf8_and_johab/utf8_and_johab.c
M src/backend/utils/mb/conversion_procs/utf8_and_sjis/utf8_and_sjis.c
M src/backend/utils/mb/conversion_procs/utf8_and_sjis2004/utf8_and_sjis2004.c
M src/backend/utils/mb/conversion_procs/utf8_and_uhc/utf8_and_uhc.c
M src/backend/utils/mb/conversion_procs/utf8_and_win/utf8_and_win.c
M src/backend/utils/misc/guc-file.l
M src/backend/utils/misc/guc.c
M src/backend/utils/misc/help_config.c
M src/backend/utils/misc/pg_rusage.c
M src/backend/utils/misc/ps_status.c
M src/backend/utils/misc/superuser.c
M src/backend/utils/misc/tzparser.c
M src/backend/utils/mmgr/aset.c
M src/backend/utils/mmgr/mcxt.c
M src/backend/utils/mmgr/portalmem.c
M src/backend/utils/probes.d
M src/backend/utils/resowner/resowner.c
M src/backend/utils/sort/logtape.c
M src/backend/utils/sort/tuplesort.c
M src/backend/utils/sort/tuplestore.c
M src/backend/utils/time/combocid.c
M src/backend/utils/time/snapmgr.c
M src/backend/utils/time/tqual.c
M src/bin/Makefile
M src/bin/initdb/Makefile
M src/bin/initdb/initdb.c
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_ctl/pg_ctl.c
M src/bin/pg_dump/Makefile
M src/bin/pg_dump/common.c
M src/bin/pg_dump/dumputils.c
M src/bin/pg_dump/dumputils.h
M src/bin/pg_dump/keywords.c
M src/bin/pg_dump/pg_dump.c
M src/bin/pg_dump/pg_dump.h
M src/bin/pg_dump/pg_dump_sort.c
M src/bin/pg_dump/pg_dumpall.c
M src/bin/pg_resetxlog/Makefile
M src/bin/pg_resetxlog/pg_resetxlog.c
M src/bin/pgevent/Makefile
M src/bin/psql/Makefile
M src/bin/psql/command.c
M src/bin/psql/command.h
M src/bin/psql/common.c
M src/bin/psql/common.h
M src/bin/psql/copy.c
M src/bin/psql/copy.h
M src/bin/psql/create_help.pl
M src/bin/psql/describe.c
M src/bin/psql/describe.h
M src/bin/psql/help.c
M src/bin/psql/help.h
M src/bin/psql/input.c
M src/bin/psql/input.h
M src/bin/psql/large_obj.c
M src/bin/psql/large_obj.h
M src/bin/psql/mainloop.c
M src/bin/psql/mainloop.h
M src/bin/psql/mbprint.c
M src/bin/psql/print.c
M src/bin/psql/print.h
M src/bin/psql/prompt.c
M src/bin/psql/prompt.h
M src/bin/psql/psqlscan.h
M src/bin/psql/psqlscan.l
M src/bin/psql/settings.h
M src/bin/psql/startup.c
M src/bin/psql/stringutils.c
M src/bin/psql/stringutils.h
M src/bin/psql/tab-complete.c
M src/bin/psql/tab-complete.h
M src/bin/psql/variables.c
M src/bin/psql/variables.h
M src/bin/scripts/Makefile
M src/bin/scripts/clusterdb.c
M src/bin/scripts/common.c
M src/bin/scripts/common.h
M src/bin/scripts/createdb.c
M src/bin/scripts/createlang.c
M src/bin/scripts/createuser.c
M src/bin/scripts/dropdb.c
M src/bin/scripts/droplang.c
M src/bin/scripts/dropuser.c
M src/bin/scripts/reindexdb.c
M src/bin/scripts/vacuumdb.c
M src/include/access/attnum.h
M src/include/access/clog.h
M src/include/access/genam.h
M src/include/access/gin.h
M src/include/access/gist.h
M src/include/access/gist_private.h
M src/include/access/gistscan.h
M src/include/access/hash.h
M src/include/access/heapam.h
M src/include/access/hio.h
M src/include/access/htup.h
M src/include/access/itup.h
M src/include/access/multixact.h
M src/include/access/nbtree.h
M src/include/access/printtup.h
M src/include/access/reloptions.h
M src/include/access/relscan.h
M src/include/access/rewriteheap.h
M src/include/access/sdir.h
M src/include/access/skey.h
M src/include/access/slru.h
M src/include/access/subtrans.h
M src/include/access/sysattr.h
M src/include/access/transam.h
M src/include/access/tupconvert.h
M src/include/access/tupdesc.h
M src/include/access/tupmacs.h
M src/include/access/tuptoaster.h
M src/include/access/twophase.h
M src/include/access/twophase_rmgr.h
M src/include/access/valid.h
M src/include/access/visibilitymap.h
M src/include/access/xact.h
M src/include/access/xlog.h
M src/include/access/xlog_internal.h
M src/include/access/xlogdefs.h
M src/include/access/xlogutils.h
M src/include/bootstrap/bootstrap.h
M src/include/c.h
M src/include/catalog/catalog.h
M src/include/catalog/catversion.h
M src/include/catalog/dependency.h
M src/include/catalog/genbki.h
M src/include/catalog/heap.h
M src/include/catalog/index.h
M src/include/catalog/indexing.h
M src/include/catalog/namespace.h
M src/include/catalog/pg_aggregate.h
M src/include/catalog/pg_am.h
M src/include/catalog/pg_amop.h
M src/include/catalog/pg_amproc.h
M src/include/catalog/pg_attrdef.h
M src/include/catalog/pg_attribute.h
M src/include/catalog/pg_auth_members.h
M src/include/catalog/pg_authid.h
M src/include/catalog/pg_cast.h
M src/include/catalog/pg_class.h
M src/include/catalog/pg_constraint.h
M src/include/catalog/pg_control.h
M src/include/catalog/pg_conversion.h
M src/include/catalog/pg_conversion_fn.h
M src/include/catalog/pg_database.h
M src/include/catalog/pg_db_role_setting.h
M src/include/catalog/pg_default_acl.h
M src/include/catalog/pg_depend.h
M src/include/catalog/pg_description.h
M src/include/catalog/pg_enum.h
M src/include/catalog/pg_foreign_data_wrapper.h
M src/include/catalog/pg_foreign_server.h
M src/include/catalog/pg_index.h
M src/include/catalog/pg_inherits.h
M src/include/catalog/pg_inherits_fn.h
M src/include/catalog/pg_language.h
M src/include/catalog/pg_largeobject.h
M src/include/catalog/pg_largeobject_metadata.h
M src/include/catalog/pg_listener.h
M src/include/catalog/pg_namespace.h
M src/include/catalog/pg_opclass.h
M src/include/catalog/pg_operator.h
M src/include/catalog/pg_opfamily.h
M src/include/catalog/pg_pltemplate.h
M src/include/catalog/pg_proc.h
M src/include/catalog/pg_proc_fn.h
M src/include/catalog/pg_rewrite.h
M src/include/catalog/pg_shdepend.h
M src/include/catalog/pg_shdescription.h
M src/include/catalog/pg_statistic.h
M src/include/catalog/pg_tablespace.h
M src/include/catalog/pg_trigger.h
M src/include/catalog/pg_ts_config.h
M src/include/catalog/pg_ts_config_map.h
M src/include/catalog/pg_ts_dict.h
M src/include/catalog/pg_ts_parser.h
M src/include/catalog/pg_ts_template.h
M src/include/catalog/pg_type.h
M src/include/catalog/pg_type_fn.h
M src/include/catalog/pg_user_mapping.h
M src/include/catalog/storage.h
M src/include/catalog/toasting.h
M src/include/commands/alter.h
M src/include/commands/async.h
M src/include/commands/cluster.h
M src/include/commands/comment.h
M src/include/commands/conversioncmds.h
M src/include/commands/copy.h
M src/include/commands/dbcommands.h
M src/include/commands/defrem.h
M src/include/commands/discard.h
M src/include/commands/explain.h
M src/include/commands/lockcmds.h
M src/include/commands/portalcmds.h
M src/include/commands/prepare.h
M src/include/commands/schemacmds.h
M src/include/commands/sequence.h
M src/include/commands/tablecmds.h
M src/include/commands/tablespace.h
M src/include/commands/trigger.h
M src/include/commands/typecmds.h
M src/include/commands/vacuum.h
M src/include/commands/variable.h
M src/include/commands/view.h
M src/include/executor/execdebug.h
M src/include/executor/execdefs.h
M src/include/executor/execdesc.h
M src/include/executor/executor.h
M src/include/executor/functions.h
M src/include/executor/hashjoin.h
M src/include/executor/instrument.h
M src/include/executor/nodeAgg.h
M src/include/executor/nodeAppend.h
M src/include/executor/nodeBitmapAnd.h
M src/include/executor/nodeBitmapHeapscan.h
M src/include/executor/nodeBitmapIndexscan.h
M src/include/executor/nodeBitmapOr.h
M src/include/executor/nodeCtescan.h
M src/include/executor/nodeFunctionscan.h
M src/include/executor/nodeGroup.h
M src/include/executor/nodeHash.h
M src/include/executor/nodeHashjoin.h
M src/include/executor/nodeIndexscan.h
M src/include/executor/nodeLimit.h
M src/include/executor/nodeLockRows.h
M src/include/executor/nodeMaterial.h
M src/include/executor/nodeMergejoin.h
M src/include/executor/nodeModifyTable.h
M src/include/executor/nodeNestloop.h
M src/include/executor/nodeRecursiveunion.h
M src/include/executor/nodeResult.h
M src/include/executor/nodeSeqscan.h
M src/include/executor/nodeSetOp.h
M src/include/executor/nodeSort.h
M src/include/executor/nodeSubplan.h
M src/include/executor/nodeSubqueryscan.h
M src/include/executor/nodeTidscan.h
M src/include/executor/nodeUnique.h
M src/include/executor/nodeValuesscan.h
M src/include/executor/nodeWindowAgg.h
M src/include/executor/nodeWorktablescan.h
M src/include/executor/spi.h
M src/include/executor/spi_priv.h
M src/include/executor/tstoreReceiver.h
M src/include/executor/tuptable.h
M src/include/fmgr.h
M src/include/foreign/foreign.h
M src/include/funcapi.h
M src/include/getaddrinfo.h
M src/include/getopt_long.h
M src/include/lib/dllist.h
M src/include/lib/stringinfo.h
M src/include/libpq/auth.h
M src/include/libpq/be-fsstubs.h
M src/include/libpq/crypt.h
M src/include/libpq/ip.h
M src/include/libpq/libpq-be.h
M src/include/libpq/libpq-fs.h
M src/include/libpq/libpq.h
M src/include/libpq/md5.h
M src/include/libpq/pqcomm.h
M src/include/libpq/pqformat.h
M src/include/libpq/pqsignal.h
M src/include/mb/pg_wchar.h
M src/include/miscadmin.h
M src/include/nodes/bitmapset.h
M src/include/nodes/execnodes.h
M src/include/nodes/makefuncs.h
M src/include/nodes/memnodes.h
M src/include/nodes/nodeFuncs.h
M src/include/nodes/nodes.h
M src/include/nodes/params.h
M src/include/nodes/parsenodes.h
M src/include/nodes/pg_list.h
M src/include/nodes/plannodes.h
M src/include/nodes/primnodes.h
M src/include/nodes/print.h
M src/include/nodes/readfuncs.h
M src/include/nodes/relation.h
M src/include/nodes/tidbitmap.h
M src/include/nodes/value.h
M src/include/optimizer/clauses.h
M src/include/optimizer/cost.h
M src/include/optimizer/geqo.h
M src/include/optimizer/geqo_copy.h
M src/include/optimizer/geqo_gene.h
M src/include/optimizer/geqo_misc.h
M src/include/optimizer/geqo_mutation.h
M src/include/optimizer/geqo_pool.h
M src/include/optimizer/geqo_random.h
M src/include/optimizer/geqo_recombination.h
M src/include/optimizer/geqo_selection.h
M src/include/optimizer/joininfo.h
M src/include/optimizer/pathnode.h
M src/include/optimizer/paths.h
M src/include/optimizer/placeholder.h
M src/include/optimizer/plancat.h
M src/include/optimizer/planmain.h
M src/include/optimizer/planner.h
M src/include/optimizer/predtest.h
M src/include/optimizer/prep.h
M src/include/optimizer/restrictinfo.h
M src/include/optimizer/subselect.h
M src/include/optimizer/tlist.h
M src/include/optimizer/var.h
M src/include/parser/analyze.h
M src/include/parser/gramparse.h
M src/include/parser/keywords.h
M src/include/parser/kwlist.h
M src/include/parser/parse_agg.h
M src/include/parser/parse_clause.h
M src/include/parser/parse_coerce.h
M src/include/parser/parse_cte.h
M src/include/parser/parse_expr.h
M src/include/parser/parse_func.h
M src/include/parser/parse_node.h
M src/include/parser/parse_oper.h
M src/include/parser/parse_param.h
M src/include/parser/parse_relation.h
M src/include/parser/parse_target.h
M src/include/parser/parse_type.h
M src/include/parser/parse_utilcmd.h
M src/include/parser/parser.h
M src/include/parser/parsetree.h
M src/include/parser/scanner.h
M src/include/parser/scansup.h
M src/include/pg_trace.h
M src/include/pgstat.h
M src/include/pgtime.h
M src/include/port.h
M src/include/portability/instr_time.h
M src/include/postgres.h
M src/include/postgres_fe.h
M src/include/postmaster/autovacuum.h
M src/include/postmaster/bgwriter.h
M src/include/postmaster/fork_process.h
M src/include/postmaster/pgarch.h
M src/include/postmaster/postmaster.h
M src/include/postmaster/syslogger.h
M src/include/postmaster/walwriter.h
M src/include/rewrite/prs2lock.h
M src/include/rewrite/rewriteDefine.h
M src/include/rewrite/rewriteHandler.h
M src/include/rewrite/rewriteManip.h
M src/include/rewrite/rewriteRemove.h
M src/include/rewrite/rewriteSupport.h
M src/include/rusagestub.h
M src/include/snowball/header.h
M src/include/storage/backendid.h
M src/include/storage/block.h
M src/include/storage/buf.h
M src/include/storage/buf_internals.h
M src/include/storage/buffile.h
M src/include/storage/bufmgr.h
M src/include/storage/bufpage.h
M src/include/storage/fd.h
M src/include/storage/freespace.h
M src/include/storage/fsm_internals.h
M src/include/storage/indexfsm.h
M src/include/storage/ipc.h
M src/include/storage/item.h
M src/include/storage/itemid.h
M src/include/storage/itemptr.h
M src/include/storage/large_object.h
M src/include/storage/lmgr.h
M src/include/storage/lock.h
M src/include/storage/lwlock.h
M src/include/storage/off.h
M src/include/storage/pg_sema.h
M src/include/storage/pg_shmem.h
M src/include/storage/pmsignal.h
M src/include/storage/pos.h
M src/include/storage/proc.h
M src/include/storage/procarray.h
M src/include/storage/procsignal.h
M src/include/storage/relfilenode.h
M src/include/storage/s_lock.h
M src/include/storage/shmem.h
M src/include/storage/sinval.h
M src/include/storage/sinvaladt.h
M src/include/storage/smgr.h
M src/include/storage/spin.h
M src/include/storage/standby.h
M src/include/tcop/dest.h
M src/include/tcop/fastpath.h
M src/include/tcop/pquery.h
M src/include/tcop/tcopdebug.h
M src/include/tcop/tcopprot.h
M src/include/tcop/utility.h
M src/include/tsearch/dicts/regis.h
M src/include/tsearch/dicts/spell.h
M src/include/tsearch/ts_cache.h
M src/include/tsearch/ts_locale.h
M src/include/tsearch/ts_public.h
M src/include/tsearch/ts_type.h
M src/include/tsearch/ts_utils.h
M src/include/utils/acl.h
M src/include/utils/array.h
M src/include/utils/ascii.h
M src/include/utils/builtins.h
M src/include/utils/bytea.h
M src/include/utils/catcache.h
M src/include/utils/combocid.h
M src/include/utils/date.h
M src/include/utils/datetime.h
M src/include/utils/datum.h
M src/include/utils/dynahash.h
M src/include/utils/dynamic_loader.h
M src/include/utils/elog.h
M src/include/utils/errcodes.h
M src/include/utils/fmgrtab.h
M src/include/utils/formatting.h
M src/include/utils/geo_decls.h
M src/include/utils/guc.h
M src/include/utils/guc_tables.h
M src/include/utils/help_config.h
M src/include/utils/hsearch.h
M src/include/utils/inet.h
M src/include/utils/int8.h
M src/include/utils/inval.h
M src/include/utils/logtape.h
M src/include/utils/lsyscache.h
M src/include/utils/memutils.h
M src/include/utils/nabstime.h
M src/include/utils/numeric.h
M src/include/utils/palloc.h
M src/include/utils/pg_crc.h
M src/include/utils/pg_locale.h
M src/include/utils/pg_rusage.h
M src/include/utils/plancache.h
M src/include/utils/portal.h
M src/include/utils/rel.h
M src/include/utils/relcache.h
M src/include/utils/resowner.h
M src/include/utils/selfuncs.h
M src/include/utils/snapmgr.h
M src/include/utils/snapshot.h
M src/include/utils/syscache.h
M src/include/utils/timestamp.h
M src/include/utils/tqual.h
M src/include/utils/tuplesort.h
M src/include/utils/tuplestore.h
M src/include/utils/typcache.h
M src/include/utils/tzparser.h
M src/include/utils/uuid.h
M src/include/utils/varbit.h
M src/include/utils/xml.h
M src/include/windowapi.h
M src/interfaces/ecpg/compatlib/Makefile
M src/interfaces/ecpg/ecpglib/Makefile
M src/interfaces/ecpg/ecpglib/pg_type.h
M src/interfaces/ecpg/pgtypeslib/Makefile
M src/interfaces/ecpg/preproc/Makefile
M src/interfaces/ecpg/preproc/check_rules.pl
M src/interfaces/ecpg/preproc/ecpg.c
M src/interfaces/ecpg/preproc/keywords.c
M src/interfaces/ecpg/preproc/parse.pl
M src/interfaces/ecpg/preproc/parser.c
M src/interfaces/ecpg/preproc/pgc.l
M src/interfaces/ecpg/test/pg_regress_ecpg.c
M src/interfaces/libpq/Makefile
M src/interfaces/libpq/fe-auth.c
M src/interfaces/libpq/fe-auth.h
M src/interfaces/libpq/fe-connect.c
M src/interfaces/libpq/fe-exec.c
M src/interfaces/libpq/fe-lobj.c
M src/interfaces/libpq/fe-misc.c
M src/interfaces/libpq/fe-print.c
M src/interfaces/libpq/fe-protocol2.c
M src/interfaces/libpq/fe-protocol3.c
M src/interfaces/libpq/fe-secure.c
M src/interfaces/libpq/libpq-events.c
M src/interfaces/libpq/libpq-events.h
M src/interfaces/libpq/libpq-fe.h
M src/interfaces/libpq/libpq-int.h
M src/interfaces/libpq/libpq.rc.in
M src/interfaces/libpq/pqexpbuffer.c
M src/interfaces/libpq/pqexpbuffer.h
M src/interfaces/libpq/pqsignal.c
M src/interfaces/libpq/pqsignal.h
M src/interfaces/libpq/pthread-win32.c
M src/interfaces/libpq/win32.c
M src/pl/plperl/plperl.h
M src/pl/plpgsql/src/gram.y
M src/pl/plpgsql/src/pl_comp.c
M src/pl/plpgsql/src/pl_exec.c
M src/pl/plpgsql/src/pl_funcs.c
M src/pl/plpgsql/src/pl_handler.c
M src/pl/plpgsql/src/pl_scanner.c
M src/pl/plpgsql/src/plerrcodes.h
M src/pl/plpgsql/src/plpgsql.h
M src/port/chklocale.c
M src/port/copydir.c
M src/port/dirent.c
M src/port/dirmod.c
M src/port/exec.c
M src/port/fseeko.c
M src/port/getaddrinfo.c
M src/port/gethostname.c
M src/port/getrusage.c
M src/port/isinf.c
M src/port/kill.c
M src/port/memcmp.c
M src/port/noblock.c
M src/port/open.c
M src/port/path.c
M src/port/pgsleep.c
M src/port/pgstrcasecmp.c
M src/port/pipe.c
M src/port/random.c
M src/port/sprompt.c
M src/port/srandom.c
M src/port/strdup.c
M src/port/strlcpy.c
M src/port/strtol.c
M src/port/thread.c
M src/port/unsetenv.c
M src/port/win32env.c
M src/port/win32error.c
M src/port/win32ver.rc
M src/test/examples/testlo.c
M src/test/regress/GNUmakefile
M src/test/regress/pg_regress.c
M src/test/regress/pg_regress.h
M src/test/regress/pg_regress_main.c
M src/test/thread/Makefile
M src/test/thread/thread_test.c
M src/timezone/pgtz.c
M src/timezone/pgtz.h
M src/tools/findoidjoins/Makefile
M src/tools/findoidjoins/findoidjoins.c
M src/tools/fsync/Makefile
M src/tools/ifaddrs/Makefile
M src/tools/msvc/Genbki.pm
M src/tools/version_stamp.pl
M src/tutorial/complex.source
M src/tutorial/syscat.source

Silence compiler warning about size of size_t being larger than the result variable it's stored in. We know this can never happen. Per discussion.

commit   : 8292079ad3db05faff01d03c7a8646704edbf54b    
  
author   : Magnus Hagander <[email protected]>    
date     : Sat, 2 Jan 2010 15:18:42 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Sat, 2 Jan 2010 15:18:42 +0000    

Click here for diff

M src/tools/msvc/Project.pm

Set proper sizes for size_t and void* on 64-bit Windows builds.

commit   : 8491998d3d31ff24875eae514aa83c6b8b3079a3    
  
author   : Magnus Hagander <[email protected]>    
date     : Sat, 2 Jan 2010 13:56:37 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Sat, 2 Jan 2010 13:56:37 +0000    

Click here for diff

Tsutomu Yamada  

M src/include/pg_config.h.win32

Support 64-bit shared memory when building on 64-bit Windows.

commit   : 2de9a463ff076caefd19e16c123e9f60491d1180    
  
author   : Magnus Hagander <[email protected]>    
date     : Sat, 2 Jan 2010 12:18:45 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Sat, 2 Jan 2010 12:18:45 +0000    

Click here for diff

Tsutomu Yamada  

M src/backend/port/win32_shmem.c
M src/include/storage/pg_shmem.h

Fix one more cast for _open_osfhandle().

commit   : 13c5fdb5c8f8e1275bc3c31f196e574ab5177f3d    
  
author   : Magnus Hagander <[email protected]>    
date     : Sat, 2 Jan 2010 12:01:29 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Sat, 2 Jan 2010 12:01:29 +0000    

Click here for diff

Tsutomu Yamada  

M src/backend/postmaster/postmaster.c
M src/backend/postmaster/syslogger.c

Fix cast for _open_osfhandle().

commit   : f509944e6ecd36aec9a9f946a100d7c9c1a30281    
  
author   : Magnus Hagander <[email protected]>    
date     : Sat, 2 Jan 2010 12:00:08 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Sat, 2 Jan 2010 12:00:08 +0000    

Click here for diff

Tsutomu Yamada  

M src/port/open.c

Add an "argisrow" field to NullTest nodes, following a plan made way back in 8.2beta but never carried out. This avoids repetitive tests of whether the argument is of scalar or composite type. Also, be a bit more paranoid about composite arguments in some places where we previously weren't checking.

commit   : 7839d35991f1c79a291e67635d5f4c5750c16e9b    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 1 Jan 2010 23:03:10 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 1 Jan 2010 23:03:10 +0000    

Click here for diff

M src/backend/executor/execQual.c
M src/backend/nodes/copyfuncs.c
M src/backend/nodes/equalfuncs.c
M src/backend/nodes/outfuncs.c
M src/backend/nodes/readfuncs.c
M src/backend/optimizer/path/indxpath.c
M src/backend/optimizer/plan/planagg.c
M src/backend/optimizer/util/clauses.c
M src/backend/optimizer/util/plancat.c
M src/backend/optimizer/util/predtest.c
M src/backend/parser/parse_expr.c
M src/include/catalog/catversion.h
M src/include/nodes/execnodes.h
M src/include/nodes/primnodes.h

Support "x IS NOT NULL" clauses as indexscan conditions. This turns out to be just a minor extension of the previous patch that made "x IS NULL" indexable, because we can treat the IS NOT NULL condition as if it were "x < NULL" or "x > NULL" (depending on the index's NULLS FIRST/LAST option), just like IS NULL is treated like "x = NULL". Aside from any possible usefulness in its own right, this is an important improvement for index-optimized MAX/MIN aggregates: it is now reliably possible to get a column's min or max value cheaply, even when there are a lot of nulls cluttering the interesting end of the index.

commit   : 29c4ad98293e3c5cb3fcdd413a3f4904efff8762    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 1 Jan 2010 21:53:49 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 1 Jan 2010 21:53:49 +0000    

Click here for diff

M doc/src/sgml/catalogs.sgml
M doc/src/sgml/indexam.sgml
M doc/src/sgml/indices.sgml
M src/backend/access/common/scankey.c
M src/backend/access/gist/gistget.c
M src/backend/access/gist/gistscan.c
M src/backend/access/nbtree/nbtutils.c
M src/backend/executor/nodeIndexscan.c
M src/backend/optimizer/path/indxpath.c
M src/backend/optimizer/plan/createplan.c
M src/backend/optimizer/plan/planagg.c
M src/backend/utils/adt/selfuncs.c
M src/include/access/skey.h
M src/include/catalog/pg_am.h
M src/include/nodes/relation.h
M src/include/optimizer/planmain.h
M src/test/regress/expected/create_index.out
M src/test/regress/sql/create_index.sql

Silence compiler warning on 64-bit windows build

commit   : 15faca259651c065bb20e746777f5fb9eb9d50a1    
  
author   : Magnus Hagander <[email protected]>    
date     : Fri, 1 Jan 2010 19:57:07 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Fri, 1 Jan 2010 19:57:07 +0000    

Click here for diff

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

Detect a 64-bit build environment on Windows, and generate the appropriate project files.

commit   : f9c5d3e5556ef82758ea7cc3d769ad0ff7f6531d    
  
author   : Magnus Hagander <[email protected]>    
date     : Fri, 1 Jan 2010 17:34:25 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Fri, 1 Jan 2010 17:34:25 +0000    

Click here for diff

Based on the work of Tsutomu Yamada, but much refactored.  

M src/tools/msvc/Project.pm
M src/tools/msvc/Solution.pm
M src/tools/msvc/gendef.pl

Delete solution cache file on clean, if it exists.

commit   : 5069e959b0195fc1d3dcd78fb3bb8ea2d304b2d6    
  
author   : Magnus Hagander <[email protected]>    
date     : Fri, 1 Jan 2010 16:58:53 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Fri, 1 Jan 2010 16:58:53 +0000    

Click here for diff

M src/tools/msvc/clean.bat

Update SQL features supported list

commit   : 2c4d456d51cc60466ee5c4533bfa93ff5632c1ae    
  
author   : Peter Eisentraut <[email protected]>    
date     : Fri, 1 Jan 2010 16:54:48 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Fri, 1 Jan 2010 16:54:48 +0000    

Click here for diff

M src/backend/catalog/sql_features.txt

Make the win32 putenv() override update *all* present versions of the MSVCRxx runtime, not just the current + Visual Studio 6 (MSVCRT). Clearly there can be an almost unlimited number of runtimes loaded at the same time.

commit   : 741e4ad7de9e0069533d90efdd5b1fc9f3a64c81    
  
author   : Magnus Hagander <[email protected]>    
date     : Fri, 1 Jan 2010 14:57:16 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Fri, 1 Jan 2010 14:57:16 +0000    

Click here for diff

Per report from Hiroshi Inoue  

M src/port/win32env.c

Suppress compiler warning, per buildfarm member narwhal

commit   : 2aff8c422eaf27df15f55a75660e747c5d39b664    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 31 Dec 2009 22:11:10 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 31 Dec 2009 22:11:10 +0000    

Click here for diff

M src/backend/libpq/auth.c

Suppress compiler warning (pid_t isn't int everywhere)

commit   : bd8a35655b74bd017e1217f894cb93302486982b    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 31 Dec 2009 22:07:36 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 31 Dec 2009 22:07:36 +0000    

Click here for diff

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

Add missing 'static' tag.

commit   : b4594a66baeba2067c721ead552534a25af096cc    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 31 Dec 2009 21:47:12 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 31 Dec 2009 21:47:12 +0000    

Click here for diff

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

Redefine Datum as uintptr_t, instead of unsigned long.

commit   : 85d02a6586012edc385a420ebaca1c8ce4e93390    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 31 Dec 2009 19:41:37 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 31 Dec 2009 19:41:37 +0000    

Click here for diff

This is more in keeping with modern practice, and is a first step towards  
porting to Win64 (which has sizeof(pointer) > sizeof(long)).  
  
Tsutomu Yamada, Magnus Hagander, Tom Lane  

M configure
M configure.in
M src/backend/access/common/heaptuple.c
M src/backend/access/hash/hashfunc.c
M src/backend/port/hpux/tas.c.template
M src/backend/storage/lmgr/lwlock.c
M src/backend/utils/misc/guc.c
M src/include/access/tupmacs.h
M src/include/c.h
M src/include/pg_config.h.in
M src/include/pg_config.h.win32
M src/include/postgres.h
M src/include/storage/s_lock.h
M src/interfaces/ecpg/ecpglib/data.c
M src/pl/plperl/plperl.c
M src/pl/tcl/pltcl.c

Update SQL features list for aggregate ORDER BY support

commit   : 8abb0110479382b1873715052933f600d682654c    
  
author   : Peter Eisentraut <[email protected]>    
date     : Thu, 31 Dec 2009 14:51:16 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Thu, 31 Dec 2009 14:51:16 +0000    

Click here for diff

M src/backend/catalog/sql_features.txt

Add information_schema.triggered_update_columns

commit   : c584d11bb3a371dfca3d28f116b9c5af5f21338b    
  
author   : Peter Eisentraut <[email protected]>    
date     : Thu, 31 Dec 2009 14:41:23 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Thu, 31 Dec 2009 14:41:23 +0000    

Click here for diff

This reflects the recently added support for triggers on columns.  

M doc/src/sgml/information_schema.sgml
M src/backend/catalog/information_schema.sql

enable examples to compile on Windows. patch from Hiroshi Saito.

commit   : 31cf893088cf643b553918b2a93164c95cf6a903    
  
author   : Andrew Dunstan <[email protected]>    
date     : Thu, 31 Dec 2009 00:16:47 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Thu, 31 Dec 2009 00:16:47 +0000    

Click here for diff

M src/test/examples/Makefile
M src/test/examples/testlibpq2.c
M src/test/examples/testlibpq3.c

Fill in information schema column for trigger WHEN condition

commit   : 3c505ef5777351e051ff11e981ddbb3da6fb6448    
  
author   : Peter Eisentraut <[email protected]>    
date     : Wed, 30 Dec 2009 22:48:10 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Wed, 30 Dec 2009 22:48:10 +0000    

Click here for diff

M doc/src/sgml/information_schema.sgml
M src/backend/catalog/information_schema.sql

Dept of second thoughts: recursive case in ANALYZE shouldn't emit a pgstats message. This might need to be done differently later, but with the current logic that's what should happen.

commit   : e6df063cf2e7b0d91e23de3a39cb67863af4bb33    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 30 Dec 2009 21:21:33 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 30 Dec 2009 21:21:33 +0000    

Click here for diff

M src/backend/commands/analyze.c

Revise pgstat's tracking of tuple changes to improve the reliability of decisions about when to auto-analyze.

commit   : 48c192c15e828812d62194126d869d0b104a4ef1    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 30 Dec 2009 20:32:14 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 30 Dec 2009 20:32:14 +0000    

Click here for diff

The previous code depended on n_live_tuples + n_dead_tuples - last_anl_tuples,  
where all three of these numbers could be bad estimates from ANALYZE itself.  
Even worse, in the presence of a steady flow of HOT updates and matching  
HOT-tuple reclamations, auto-analyze might never trigger at all, even if all  
three numbers are exactly right, because n_dead_tuples could hold steady.  
  
To fix, replace last_anl_tuples with an accurately tracked count of the total  
number of committed tuple inserts + updates + deletes since the last ANALYZE  
on the table.  This can still be compared to the same threshold as before, but  
it's much more trustworthy than the old computation.  Tracking this requires  
one more intra-transaction counter per modified table within backends, but no  
additional memory space in the stats collector.  There probably isn't any  
measurable speed difference; if anything it might be a bit faster than before,  
since I was able to eliminate some per-tuple arithmetic operations in favor of  
adding sums once per (sub)transaction.  
  
Also, simplify the logic around pgstat vacuum and analyze reporting messages  
by not trying to fold VACUUM ANALYZE into a single pgstat message.  
  
The original thought behind this patch was to allow scheduling of analyzes  
on parent tables by artificially inflating their changes_since_analyze count.  
I've left that for a separate patch since this change seems to stand on its  
own merit.  

M src/backend/commands/analyze.c
M src/backend/commands/vacuum.c
M src/backend/commands/vacuumlazy.c
M src/backend/postmaster/autovacuum.c
M src/backend/postmaster/pgstat.c
M src/include/pgstat.h

Update SQL conformance: search conditions on triggers are supported

commit   : 6761cff37636ecfb213a538be7c1ba4f1aa3519b    
  
author   : Peter Eisentraut <[email protected]>    
date     : Wed, 30 Dec 2009 19:37:47 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Wed, 30 Dec 2009 19:37:47 +0000    

Click here for diff

M src/backend/catalog/sql_features.txt

Revert makefile refactoring (version 1.123) because it doesn't work when building several files at once (e.g., gmake postgres-A4.pdf postgres-US.pdf).

commit   : ab1725d50b45abbcb246e0c0b81806f0cbd74798    
  
author   : Peter Eisentraut <[email protected]>    
date     : Wed, 30 Dec 2009 13:48:52 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Wed, 30 Dec 2009 13:48:52 +0000    

Click here for diff

M doc/src/sgml/Makefile

Exclude part of the product name string that is localized in Japanese versions of MSVC when detecting MSVC version.

commit   : 50a4054d63ac8114df0bc280a99458f7b451114c    
  
author   : Magnus Hagander <[email protected]>    
date     : Wed, 30 Dec 2009 12:26:41 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Wed, 30 Dec 2009 12:26:41 +0000    

Click here for diff

Hiroshi Inoue  

M src/tools/msvc/Solution.pm

Reset minRecoveryPoint at checkpoints, so that we don't uselessly update it in the control file at crash recovery following an archive recovery.

commit   : ff1e1e45b913e7c94a9a972645dbd016cf6368fc    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Wed, 30 Dec 2009 08:37:21 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Wed, 30 Dec 2009 08:37:21 +0000    

Click here for diff

Per Fujii Masao and subsequent discussion.  

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

Set errno to zero before invoking SSL_read or SSL_write. It appears that at least in some Windows versions, these functions are capable of returning a failure indication without setting errno. That puts us into an infinite loop if the previous value happened to be EINTR. Per report from Brendan Hill.

commit   : 4847d5956c58faad15d03926e2cf97d59822a6ae    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 30 Dec 2009 03:45:46 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 30 Dec 2009 03:45:46 +0000    

Click here for diff

Back-patch to 8.2.  We could take it further back, but since this is only  
known to be an issue on Windows and we don't support Windows before 8.2,  
it does not seem worth the trouble.  

M src/backend/libpq/be-secure.c
M src/interfaces/libpq/fe-secure.c

Reject invalid input in int2vectorin.

commit   : 3d4b0ab29cfee7cbb9932065216b58b6c820a791    
  
author   : Robert Haas <[email protected]>    
date     : Wed, 30 Dec 2009 01:29:22 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Wed, 30 Dec 2009 01:29:22 +0000    

Click here for diff

Since the int2vector type is intended only for internal use, this patch doesn't  
worry about prettifying the error messages, which has the fringe benefit of  
avoiding creating additional translatable strings.  For a type intended to be  
used by end-users, we would want to do better, but the approach taken here  
seems like the correct trade-off for this case.  
  
Caleb Welton  

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

Add an index on pg_inherits.inhparent, and use it to avoid seqscans in find_inheritance_children(). This is a complete no-op in databases without any inheritance. In databases where there are just a few entries in pg_inherits, it could conceivably be a small loss. However, in databases with many inheritance parents, it can be a big win.

commit   : 540e69a0613bad2b6ad15b237a8df27110f4b213    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 29 Dec 2009 22:00:14 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 29 Dec 2009 22:00:14 +0000    

Click here for diff

M src/backend/catalog/pg_inherits.c
M src/backend/commands/tablecmds.c
M src/include/catalog/catversion.h
M src/include/catalog/indexing.h

Add the ability to store inheritance-tree statistics in pg_statistic, and teach ANALYZE to compute such stats for tables that have subclasses. Per my proposal of yesterday.

commit   : 649b5ec7c8a3050a30bd6d36003ba3a681c9a198    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 29 Dec 2009 20:11:45 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 29 Dec 2009 20:11:45 +0000    

Click here for diff

autovacuum still needs to be taught about running ANALYZE on parent tables  
when their subclasses change, but the feature is useful even without that.  

M doc/src/sgml/catalogs.sgml
M src/backend/catalog/heap.c
M src/backend/catalog/system_views.sql
M src/backend/commands/analyze.c
M src/backend/commands/vacuum.c
M src/backend/executor/nodeHash.c
M src/backend/nodes/copyfuncs.c
M src/backend/nodes/outfuncs.c
M src/backend/optimizer/plan/createplan.c
M src/backend/utils/adt/selfuncs.c
M src/backend/utils/cache/lsyscache.c
M src/backend/utils/cache/syscache.c
M src/include/catalog/catversion.h
M src/include/catalog/indexing.h
M src/include/catalog/pg_statistic.h
M src/include/nodes/plannodes.h
M src/include/utils/syscache.h
M src/test/regress/expected/rules.out

Previous fix for temporary file management broke returning a set from PL/pgSQL function within an exception handler. Make sure we use the right resource owner when we create the tuplestore to hold returned tuples.

commit   : 84d723b6cefcf25b8c800f8aa6cf3c9538a546b4    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Tue, 29 Dec 2009 17:40:59 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Tue, 29 Dec 2009 17:40:59 +0000    

Click here for diff

Simplify tuplestore API so that the caller doesn't need to be in the right  
memory context when calling tuplestore_put* functions. tuplestore.c  
automatically switches to the memory context used when the tuplestore was  
created. Tuplesort was already modified like this earlier. This patch also  
removes the now useless MemoryContextSwitch calls from callers.  
  
Report by Aleksei on pgsql-bugs on Dec 22 2009. Backpatch to 8.1, like  
the previous patch that broke this.  

M contrib/dblink/dblink.c
M contrib/pg_stat_statements/pg_stat_statements.c
M contrib/tablefunc/tablefunc.c
M contrib/xml2/xpath.c
M src/backend/commands/prepare.c
M src/backend/executor/execQual.c
M src/backend/executor/functions.c
M src/backend/executor/nodeWindowAgg.c
M src/backend/executor/tstoreReceiver.c
M src/backend/utils/mmgr/portalmem.c
M src/backend/utils/sort/tuplestore.c
M src/pl/plperl/plperl.c
M src/pl/plpgsql/src/pl_exec.c
M src/pl/plpgsql/src/plpgsql.h

Small wording improvement and clarification in PL/pgSQL trigger documentation

commit   : 50ef9f7b0612c755097bbddd7f2985237030c31a    
  
author   : Peter Eisentraut <[email protected]>    
date     : Mon, 28 Dec 2009 19:11:51 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Mon, 28 Dec 2009 19:11:51 +0000    

Click here for diff

M doc/src/sgml/plpgsql.sgml

Remove PGDLLIMPORT used for binary upgrade; must be on the externs, per Tom.

commit   : 0d399d57d581c257470359e59167dbf344d69eb6    
  
author   : Bruce Momjian <[email protected]>    
date     : Mon, 28 Dec 2009 18:49:05 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Mon, 28 Dec 2009 18:49:05 +0000    

Click here for diff

M src/backend/catalog/pg_type.c
M src/backend/catalog/toasting.c
M src/backend/commands/typecmds.c

Add PGDLLIMPORT for binary_upgrade global variables so shared object libraries can access them.

commit   : 3687b2e0eb2a9beae0c3abd9a291ec1ef9c876a6    
  
author   : Bruce Momjian <[email protected]>    
date     : Mon, 28 Dec 2009 18:39:03 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Mon, 28 Dec 2009 18:39:03 +0000    

Click here for diff

M src/backend/catalog/pg_type.c
M src/backend/catalog/toasting.c
M src/backend/commands/typecmds.c

Remove non-ascii characters from source code.

commit   : d2225da79fd6ab40d3416621c4c82bbe64a7fa37    
  
author   : Bruce Momjian <[email protected]>    
date     : Mon, 28 Dec 2009 18:09:44 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Mon, 28 Dec 2009 18:09:44 +0000    

Click here for diff

M src/backend/port/win32/mingwcompat.c

Avoid memory leak if pgstat_vacuum_stat is interrupted partway through. The temporary hash tables made by pgstat_collect_oids should be allocated in a short-term memory context, which is not the default behavior of hash_create. Noted while looking through hash_create calls in connection with Robert Haas' recent complaint.

commit   : 0b392314315a55aa201f53b2ba71986be91ebc69    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 27 Dec 2009 19:40:07 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 27 Dec 2009 19:40:07 +0000    

Click here for diff

This is a pre-existing bug, but it doesn't seem important enough to  
back-patch.  The hash table is not so large that it would matter unless this  
happened many times within a session, which seems quite unlikely.  

M src/backend/postmaster/pgstat.c

Remove a couple of unnecessary calls of CreateCacheMemoryContext. These probably got there via blind copy-and-paste from one of the legitimate callers, so rearrange and comment that code a bit to make it clearer that this isn't a necessary prerequisite to hash_create. Per observation from Robert Haas.

commit   : d4d1885e42ecc7d61c045f6d53b8fef4454083a9    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 27 Dec 2009 18:55:52 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 27 Dec 2009 18:55:52 +0000    

Click here for diff

M src/backend/optimizer/util/predtest.c
M src/backend/parser/parse_oper.c
M src/backend/utils/cache/relcache.c
M src/backend/utils/cache/ts_cache.c
M src/backend/utils/cache/typcache.c

Remove now unreferenced variable.

commit   : c4371cdb8b7615938c255ba584ea67f8b7d496b5    
  
author   : Magnus Hagander <[email protected]>    
date     : Sun, 27 Dec 2009 16:11:28 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Sun, 27 Dec 2009 16:11:28 +0000    

Click here for diff

M src/port/win32env.c

If the MSVCRT module is not found in the current binary, proceed to update system and local environments anyway, instead of aborting. (This will happen in a MSVC build with no or very few external libraries linked in)

commit   : 8c940a30ae7ed41298c81012f9542ada1e26eb72    
  
author   : Magnus Hagander <[email protected]>    
date     : Sun, 27 Dec 2009 16:01:39 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Sun, 27 Dec 2009 16:01:39 +0000    

Click here for diff

M src/port/win32env.c

Add backend and pg_dump code to allow preservation of pg_enum oids, for use in binary upgrades.

commit   : e5b457c2ac0f5b843f53bd5719a620e7fcc4961d    
  
author   : Bruce Momjian <[email protected]>    
date     : Sun, 27 Dec 2009 14:50:46 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sun, 27 Dec 2009 14:50:46 +0000    

Click here for diff

Bump catalog version for detection by pg_migrator of new backend API.  

M src/backend/catalog/pg_enum.c
M src/backend/commands/typecmds.c
M src/bin/pg_dump/pg_dump.c
M src/include/catalog/catversion.h
M src/include/catalog/pg_enum.h

Zero-label enums:

commit   : 1fd9883ff49fdc4008c6a17936441b74696ff1a9    
  
author   : Bruce Momjian <[email protected]>    
date     : Sat, 26 Dec 2009 16:55:21 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sat, 26 Dec 2009 16:55:21 +0000    

Click here for diff

Allow enums to be created with zero labels, for use during binary upgrade.  

M doc/src/sgml/ref/create_type.sgml
M src/backend/parser/gram.y
M src/bin/pg_dump/pg_dump.c

Fix brain fade in join-removal patch: a pushed-down clause in the outer join's restrict list is not just something to ignore, it's actually grounds to abandon the optimization entirely. Per bug #5255 from Matteo Beccati.

commit   : f9845aca2b0f123b759ce1624d563c497902703f    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 25 Dec 2009 17:11:32 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 25 Dec 2009 17:11:32 +0000    

Click here for diff

M src/backend/optimizer/path/joinpath.c

commit   : 666c845c75bcef8482f0b6cb83adbc23ad345e5e    
  
author   : Robert Haas <[email protected]>    
date     : Fri, 25 Dec 2009 01:09:31 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Fri, 25 Dec 2009 01:09:31 +0000    

Click here for diff

Fujii Masao  

M doc/src/sgml/config.sgml

Upgrade to latest ppport.h. Patch from Tim Bunce.

commit   : 56a4e19c013973a1faa02e4f540bbb90a3dde664    
  
author   : Andrew Dunstan <[email protected]>    
date     : Fri, 25 Dec 2009 00:24:59 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Fri, 25 Dec 2009 00:24:59 +0000    

Click here for diff

M src/pl/plperl/ppport.h

Try to improve the clarity of the psql documentation for the \d family of commands, as per recent discussion. Includes suggestions from Adrian Klaver and Filip Rembialkowski.

commit   : 5b7d2a9465bda7aef9a1f64427224ec76b2583b3    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 24 Dec 2009 23:36:39 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 24 Dec 2009 23:36:39 +0000    

Click here for diff

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

Rename EnumValuesCreate() single-letter variable names to useful variable names.

commit   : 0ef5910d6dfb5d85cb8540478cc0b6d75ea4a864    
  
author   : Bruce Momjian <[email protected]>    
date     : Thu, 24 Dec 2009 22:17:58 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Thu, 24 Dec 2009 22:17:58 +0000    

Click here for diff

M src/backend/catalog/pg_enum.c

Binary upgrade:

commit   : c44327afa4f22fc5f9dfef83b7ec377f001f0930    
  
author   : Bruce Momjian <[email protected]>    
date     : Thu, 24 Dec 2009 22:09:24 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Thu, 24 Dec 2009 22:09:24 +0000    

Click here for diff

Modify pg_dump --binary-upgrade and add backend support routines to  
support the preservation of pg_type oids when doing a binary upgrade.  
This allows user-defined composite types and arrays to be binary  
upgraded.  

M src/backend/catalog/heap.c
M src/backend/catalog/pg_type.c
M src/backend/catalog/toasting.c
M src/backend/commands/typecmds.c
M src/bin/pg_dump/pg_dump.c
M src/include/commands/typecmds.h

Fix wrong WAL info value generated when gistContinueInsert() performs an index page split. This would result in index corruption, or even more likely an error during WAL replay, if we were unlucky enough to crash during end-of-recovery cleanup after having completed an incomplete GIST insertion.

commit   : 668e37d13853b29f5549e78aaf678a32d19b9b8e    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 24 Dec 2009 17:52:04 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 24 Dec 2009 17:52:04 +0000    

Click here for diff

Yoichi Hirai  

M src/backend/access/gist/gistxlog.c

Revert brainfart: Of course the wildcard only works in GNU make itself. Instead, add a few targets that were missing.

commit   : 98e8a419ef1c766319b528fb876eca340aaf228e    
  
author   : Peter Eisentraut <[email protected]>    
date     : Wed, 23 Dec 2009 19:42:15 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Wed, 23 Dec 2009 19:42:15 +0000    

Click here for diff

M Makefile

Replace target list by a wildcard, so that this workaround makefile also works transparently for lesser used targets.

commit   : ada3c65e456daec07244c9bf94b30976e7161cca    
  
author   : Peter Eisentraut <[email protected]>    
date     : Wed, 23 Dec 2009 19:17:45 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Wed, 23 Dec 2009 19:17:45 +0000    

Click here for diff

M Makefile

Allow the index name to be omitted in CREATE INDEX, causing the system to choose an index name the same as it would do for an unnamed index constraint. (My recent changes to the index naming logic have helped to ensure that this will be a reasonable choice.) Per a suggestion from Peter.

commit   : d68e08d1fea8b71057849321a17f87839a2ecbd0    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 23 Dec 2009 17:41:45 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 23 Dec 2009 17:41:45 +0000    

Click here for diff

A necessary side-effect is to promote CONCURRENTLY to type_func_name_keyword  
status, ie, it can't be a table/column/index name anymore unless quoted.  
This is not all bad, since we have heard more than once of people typing  
CREATE INDEX CONCURRENTLY ON foo (...) and getting a normal index build of  
an index named "concurrently", which was not what they wanted.  Now this  
syntax will result in a concurrent build of an index with system-chosen  
name; which they can rename afterwards if they want something else.  

M doc/src/sgml/keywords.sgml
M doc/src/sgml/ref/create_index.sgml
M src/backend/parser/gram.y
M src/include/parser/kwlist.h
M src/test/regress/expected/create_index.out
M src/test/regress/sql/create_index.sql

Remove code that attempted to rename index columns to keep them in sync with their underlying table columns. That code was not bright enough to cope with collision situations (ie, new name conflicts with some other column of the index). Since there is no functional reason to do this at all, trying to upgrade the logic to be bulletproof doesn't seem worth the trouble.

commit   : c176e122222c63844c0a2f3f8c568c3fe6c57d15    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 23 Dec 2009 16:43:43 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 23 Dec 2009 16:43:43 +0000    

Click here for diff

This change means that both the index name and the column names of an index  
are set when it's created, and won't be automatically changed when the  
underlying table columns are renamed.  Neatnik DBAs are still free to rename  
them manually, of course.  

M src/backend/commands/tablecmds.c

Add basic build support for Visual Studio 2008, without resorting to generating the build files for 2005 and then converting them.

commit   : df0cdd53d6b849d13d897403dbcaa36c91d7f21c    
  
author   : Magnus Hagander <[email protected]>    
date     : Wed, 23 Dec 2009 13:27:04 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Wed, 23 Dec 2009 13:27:04 +0000    

Click here for diff

M src/tools/msvc/Project.pm
M src/tools/msvc/Solution.pm

Always pass catalog id to the options validator function specified in CREATE FOREIGN DATA WRAPPER. Arguably it wasn't a bug because the documentation said that it's passed the catalog ID or zero, but surely we should provide it when it's known. And there isn't currently any scenario where it's not known, and I can't imagine having one in the future either, so better remove the "or zero" escape hatch and always pass a valid catalog ID. Backpatch to 8.4.

commit   : 4e766f2d176af92a8372b28a9ec2aa1eb8083063    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Wed, 23 Dec 2009 12:23:59 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Wed, 23 Dec 2009 12:23:59 +0000    

Click here for diff

Martin Pihlak  

M doc/src/sgml/ref/create_foreign_data_wrapper.sgml
M src/backend/commands/foreigncmds.c
M src/backend/foreign/foreign.c
M src/test/regress/expected/foreign_data.out

Rename pg_dump.c TypeInfo variable tinfo to tyinfo, for clarity.

commit   : b683908064e1fa4db26348ca43081dc6a99e3e4e    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 23 Dec 2009 04:10:50 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 23 Dec 2009 04:10:50 +0000    

Click here for diff

M src/bin/pg_dump/pg_dump.c

Adjust naming of indexes and their columns per recent discussion.

commit   : cfc5008a51f4f1e83e9209071882ace91abe1f3f    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 23 Dec 2009 02:35:25 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 23 Dec 2009 02:35:25 +0000    

Click here for diff

Index expression columns are now named after the FigureColname result for  
their expressions, rather than always being "pg_expression_N".  Digits are  
appended to this name if needed to make the column name unique within the  
index.  (That happens for regular columns too, thus fixing the old problem  
that CREATE INDEX fooi ON foo (f1, f1) fails.  Before exclusion indexes  
there was no real reason to do such a thing, but now maybe there is.)  
  
Default names for indexes and associated constraints now include the column  
names of all their columns, not only the first one as in previous practice.  
(Of course, this will be truncated as needed to fit in NAMEDATALEN.  Also,  
pkey indexes retain the historical behavior of not naming specific columns  
at all.)  
  
An example of the results:  
  
regression=# create table foo (f1 int, f2 text,  
regression(# exclude (f1 with =, lower(f2) with =));  
NOTICE:  CREATE TABLE / EXCLUDE will create implicit index "foo_f1_lower_exclusion" for table "foo"  
CREATE TABLE  
regression=# \d foo_f1_lower_exclusion  
Index "public.foo_f1_lower_exclusion"  
 Column |  Type   | Definition  
--------+---------+------------  
 f1     | integer | f1  
 lower  | text    | lower(f2)  
btree, for table "public.foo"  

M src/backend/bootstrap/bootparse.y
M src/backend/catalog/index.c
M src/backend/catalog/toasting.c
M src/backend/commands/indexcmds.c
M src/backend/nodes/copyfuncs.c
M src/backend/nodes/equalfuncs.c
M src/backend/nodes/outfuncs.c
M src/backend/parser/gram.y
M src/backend/parser/parse_target.c
M src/backend/parser/parse_utilcmd.c
M src/include/catalog/index.h
M src/include/commands/defrem.h
M src/include/nodes/parsenodes.h
M src/include/parser/parse_target.h
M src/test/regress/expected/alter_table.out
M src/test/regress/expected/foreign_key.out
M src/test/regress/expected/inherit.out
M src/test/regress/output/constraints.source

Disallow comments on columns of relation types other than tables, views, and composite types, which are the only relkinds for which pg_dump support exists for dumping column comments. There is no obvious usefulness for comments on columns of sequences or toast tables; and while comments on index columns might have some value, it's not worth the risk of compatibility problems due to possible changes in the algorithm for assigning names to index columns. Per discussion.

commit   : b7d67954456f15762c04e5269b64adc88dcd0860    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 22 Dec 2009 23:54:17 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 22 Dec 2009 23:54:17 +0000    

Click here for diff

In consequence, remove now-dead code for copying such comments in CREATE TABLE  
LIKE.  

M src/backend/commands/comment.c
M src/backend/parser/parse_utilcmd.c
M src/test/regress/expected/inherit.out
M src/test/regress/sql/inherit.sql

In CREATE SEQUENCE dump, put MINVALUE before MAXVALUE so it reads better.

commit   : de0d75ea2416eb86f9d686432bd8961b04a8d9eb    
  
author   : Peter Eisentraut <[email protected]>    
date     : Tue, 22 Dec 2009 23:27:41 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Tue, 22 Dec 2009 23:27:41 +0000    

Click here for diff

M src/bin/pg_dump/pg_dump.c

More cleanups for the recent large object permissions patch.

commit   : c7e4be59ae389f73b5d5145603eb8e4f2ba5a748    
  
author   : Robert Haas <[email protected]>    
date     : Mon, 21 Dec 2009 01:34:11 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Mon, 21 Dec 2009 01:34:11 +0000    

Click here for diff

Rewrite or adjust various comments for clarity.  Remove one bogus comment that  
doesn't reflect what the code actually does.  Improve the description of the  
lo_compat_privileges option.  

M src/backend/catalog/aclchk.c
M src/backend/catalog/pg_largeobject.c
M src/backend/commands/comment.c
M src/backend/utils/adt/acl.c
M src/backend/utils/misc/guc.c

There is no good reason for the CREATE TABLE LIKE INCLUDING COMMENTS code to have hard-wired knowledge of the rules for naming index columns. It can just look at the actual names in the source index, instead. Do some minor formatting cleanup too.

commit   : cb05f5388d81ff35e00162764b66683e00b7be0d    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 20 Dec 2009 18:28:14 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 20 Dec 2009 18:28:14 +0000    

Click here for diff

M src/backend/parser/parse_utilcmd.c

Fix two small typos in Hot Standby docs.

commit   : 7d672e1e1db1b85b0b1e1c7e47d12059a57457fb    
  
author   : Robert Haas <[email protected]>    
date     : Sun, 20 Dec 2009 03:49:58 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Sun, 20 Dec 2009 03:49:58 +0000    

Click here for diff

John Naylor  

M doc/src/sgml/backup.sgml

Add documentation why reassigning PL/Python function parameters in the function body can have undesirable outcomes. (bug #5232)

commit   : 8f649c9ac45fbdff06efce84eb8cca17b29e9d3a    
  
author   : Peter Eisentraut <[email protected]>    
date     : Sat, 19 Dec 2009 22:23:21 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Sat, 19 Dec 2009 22:23:21 +0000    

Click here for diff

M doc/src/sgml/plpython.sgml

Add hot standby to release notes

commit   : 16dc6f0cf2474d36166cae77d239f85ccbf88880    
  
author   : Peter Eisentraut <[email protected]>    
date     : Sat, 19 Dec 2009 20:33:12 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Sat, 19 Dec 2009 20:33:12 +0000    

Click here for diff

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

Translation updates

commit   : baab7a0427a05c2726c39c130693f6a7147ea565    
  
author   : Peter Eisentraut <[email protected]>    
date     : Sat, 19 Dec 2009 20:23:26 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Sat, 19 Dec 2009 20:23:26 +0000    

Click here for diff

M src/backend/po/de.po
M src/backend/po/fr.po
M src/bin/initdb/po/de.po
M src/bin/initdb/po/fr.po
M src/bin/pg_controldata/po/es.po
M src/bin/pg_controldata/po/fr.po
M src/bin/pg_ctl/po/fr.po
M src/bin/pg_dump/nls.mk
M src/bin/pg_dump/po/es.po
M src/bin/pg_dump/po/fr.po
A src/bin/pg_dump/po/it.po
M src/bin/pg_dump/po/tr.po
M src/bin/pg_resetxlog/po/es.po
M src/bin/pg_resetxlog/po/fr.po
M src/bin/psql/po/fr.po
M src/interfaces/ecpg/preproc/po/fr.po
M src/interfaces/libpq/po/de.po
M src/interfaces/libpq/po/fr.po
M src/pl/plperl/po/es.po
M src/pl/plperl/po/fr.po
M src/pl/plpgsql/src/po/es.po
M src/pl/plpgsql/src/po/fr.po
M src/pl/plpython/po/es.po
M src/pl/plpython/po/fr.po

Convert tabs to spaces in SGML.

commit   : 7ba1f8fcb50e6c61ad87ee9723f32049f75d1a05    
  
author   : Bruce Momjian <[email protected]>    
date     : Sat, 19 Dec 2009 17:49:50 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sat, 19 Dec 2009 17:49:50 +0000    

Click here for diff

M doc/src/sgml/backup.sgml
M doc/src/sgml/config.sgml
M doc/src/sgml/func.sgml

commit   : 0e9c1b1c996863b030328d2c1b404bdb65f4ac56    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 19 Dec 2009 05:37:01 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 19 Dec 2009 05:37:01 +0000    

Click here for diff

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

Add a whitespace to fix the query to dump large objects.

commit   : ce1489fa942a0e5713456563afb8debaefeecd38    
  
author   : Itagaki Takahiro <[email protected]>    
date     : Sat, 19 Dec 2009 04:13:30 +0000    
  
committer: Itagaki Takahiro <[email protected]>    
date     : Sat, 19 Dec 2009 04:13:30 +0000    

Click here for diff

PL/pgSQL-by-default patch broke the code for 8.3 <= server_version < 8.5.  

M src/bin/pg_dump/pg_dump.c

Bump catversion to reflect the fact that HS patch changed pg_proc contents, and PG_CONTROL_VERSION to reflect the fact that it changed pg_control contents. (I see we did at least remember to change XLOG_PAGE_MAGIC for the WAL contents changes.)

commit   : 4fca795de4f18bfdcd5421b50837832923c32ba9    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 19 Dec 2009 04:08:32 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 19 Dec 2009 04:08:32 +0000    

Click here for diff

M src/include/catalog/catversion.h
M src/include/catalog/pg_control.h

Add missing Id keyword to alter_large_object.sgml.

commit   : 50b5bec4855cf59963651e0c32a7b63964b77c1d    
  
author   : Itagaki Takahiro <[email protected]>    
date     : Sat, 19 Dec 2009 03:29:28 +0000    
  
committer: Itagaki Takahiro <[email protected]>    
date     : Sat, 19 Dec 2009 03:29:28 +0000    

Click here for diff

M doc/src/sgml/ref/alter_large_object.sgml

plpgsql patch broke the MSVC build, too.

commit   : d37cda2c0c042049a3419f03dc90cadf023b28b8    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 19 Dec 2009 02:44:06 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 19 Dec 2009 02:44:06 +0000    

Click here for diff

M src/tools/msvc/vcregress.pl

Join in the fun of editorializing on the alpha release notes.

commit   : d2903637b897ffdba4faf79e2c95dacd5ab820ee    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 19 Dec 2009 02:38:54 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 19 Dec 2009 02:38:54 +0000    

Click here for diff

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

Update ecpg regression tests to plpgsql installed by default.

commit   : 1b612dfeb6d2b06519f4c59d8d127f889e2b7ffd    
  
author   : Alvaro Herrera <[email protected]>    
date     : Sat, 19 Dec 2009 02:38:51 +0000    
  
committer: Alvaro Herrera <[email protected]>    
date     : Sat, 19 Dec 2009 02:38:51 +0000    

Click here for diff

M src/interfaces/ecpg/test/Makefile

Update tutorial on the fact that backslash commands are no longer listed in psql's startup banner.

commit   : 40ee42b4470055de8d4d80d9bc54315db0157f35    
  
author   : Alvaro Herrera <[email protected]>    
date     : Sat, 19 Dec 2009 02:34:17 +0000    
  
committer: Alvaro Herrera <[email protected]>    
date     : Sat, 19 Dec 2009 02:34:17 +0000    

Click here for diff

M doc/src/sgml/start.sgml

Adjust some more places in the documentation to match the fact that plpgsql is now installed by default.

commit   : c43d26c1af6405331a15df5d4867cea63127ccfe    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 19 Dec 2009 01:49:02 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 19 Dec 2009 01:49:02 +0000    

Click here for diff

M doc/src/sgml/manage-ag.sgml
M doc/src/sgml/plpgsql.sgml
M doc/src/sgml/ref/create_language.sgml
M doc/src/sgml/xplang.sgml

Allow read only connections during recovery, known as Hot Standby.

commit   : efc16ea520679d713d98a2c7bf1453c4ff7b91ec    
  
author   : Simon Riggs <[email protected]>    
date     : Sat, 19 Dec 2009 01:32:45 +0000    
  
committer: Simon Riggs <[email protected]>    
date     : Sat, 19 Dec 2009 01:32:45 +0000    

Click here for diff

Enabled by recovery_connections = on (default) and forcing archive recovery using a recovery.conf. Recovery processing now emulates the original transactions as they are replayed, providing full locking and MVCC behaviour for read only queries. Recovery must enter consistent state before connections are allowed, so there is a delay, typically short, before connections succeed. Replay of recovering transactions can conflict and in some cases deadlock with queries during recovery; these result in query cancellation after max_standby_delay seconds have expired. Infrastructure changes have minor effects on normal running, though introduce four new types of WAL record.  
  
New test mode "make standbycheck" allows regression tests of static command behaviour on a standby server while in recovery. Typical and extreme dynamic behaviours have been checked via code inspection and manual testing. Few port specific behaviours have been utilised, though primary testing has been on Linux only so far.  
  
This commit is the basic patch. Additional changes will follow in this release to enhance some aspects of behaviour, notably improved handling of conflicts, deadlock detection and query cancellation. Changes to VACUUM FULL are also required.  
  
Simon Riggs, with significant and lengthy review by Heikki Linnakangas, including streamlined redesign of snapshot creation and two-phase commit.  
  
Important contributions from Florian Pflug, Mark Kirkwood, Merlin Moncure, Greg Stark, Gianni Ciolli, Gabriele Bartolini, Hannu Krosing, Robert Haas, Tatsuo Ishii, Hiroyuki Yamada plus support and feedback from many other community members.  

M doc/src/sgml/backup.sgml
M doc/src/sgml/config.sgml
M doc/src/sgml/func.sgml
M doc/src/sgml/ref/checkpoint.sgml
M src/backend/access/gin/ginxlog.c
M src/backend/access/gist/gistxlog.c
M src/backend/access/heap/heapam.c
M src/backend/access/heap/pruneheap.c
M src/backend/access/index/genam.c
M src/backend/access/index/indexam.c
M src/backend/access/nbtree/README
M src/backend/access/nbtree/nbtinsert.c
M src/backend/access/nbtree/nbtpage.c
M src/backend/access/nbtree/nbtree.c
M src/backend/access/nbtree/nbtxlog.c
M src/backend/access/transam/README
M src/backend/access/transam/clog.c
M src/backend/access/transam/multixact.c
M src/backend/access/transam/recovery.conf.sample
M src/backend/access/transam/rmgr.c
M src/backend/access/transam/subtrans.c
M src/backend/access/transam/twophase.c
M src/backend/access/transam/twophase_rmgr.c
M src/backend/access/transam/xact.c
M src/backend/access/transam/xlog.c
M src/backend/commands/dbcommands.c
M src/backend/commands/lockcmds.c
M src/backend/commands/sequence.c
M src/backend/commands/tablespace.c
M src/backend/commands/vacuum.c
M src/backend/commands/vacuumlazy.c
M src/backend/postmaster/postmaster.c
M src/backend/storage/ipc/Makefile
M src/backend/storage/ipc/procarray.c
M src/backend/storage/ipc/sinvaladt.c
A src/backend/storage/ipc/standby.c
M src/backend/storage/lmgr/README
M src/backend/storage/lmgr/lock.c
M src/backend/storage/lmgr/proc.c
M src/backend/tcop/postgres.c
M src/backend/tcop/utility.c
M src/backend/utils/adt/txid.c
M src/backend/utils/adt/xid.c
M src/backend/utils/cache/inval.c
M src/backend/utils/error/elog.c
M src/backend/utils/init/postinit.c
M src/backend/utils/misc/guc.c
M src/backend/utils/misc/postgresql.conf.sample
M src/backend/utils/time/snapmgr.c
M src/backend/utils/time/tqual.c
M src/bin/pg_controldata/pg_controldata.c
M src/include/access/heapam.h
M src/include/access/htup.h
M src/include/access/nbtree.h
M src/include/access/relscan.h
M src/include/access/rmgr.h
M src/include/access/subtrans.h
M src/include/access/transam.h
M src/include/access/twophase.h
M src/include/access/twophase_rmgr.h
M src/include/access/xact.h
M src/include/access/xlog.h
M src/include/access/xlog_internal.h
M src/include/catalog/pg_control.h
M src/include/catalog/pg_proc.h
M src/include/miscadmin.h
M src/include/storage/lock.h
M src/include/storage/proc.h
M src/include/storage/procarray.h
M src/include/storage/sinval.h
M src/include/storage/sinvaladt.h
A src/include/storage/standby.h
M src/include/utils/builtins.h
M src/include/utils/snapshot.h
M src/test/regress/GNUmakefile
A src/test/regress/expected/hs_standby_allowed.out
A src/test/regress/expected/hs_standby_check.out
A src/test/regress/expected/hs_standby_disallowed.out
A src/test/regress/expected/hs_standby_functions.out
M src/test/regress/pg_regress.c
A src/test/regress/sql/hs_primary_extremes.sql
A src/test/regress/sql/hs_primary_setup.sql
A src/test/regress/sql/hs_standby_allowed.sql
A src/test/regress/sql/hs_standby_check.sql
A src/test/regress/sql/hs_standby_disallowed.sql
A src/test/regress/sql/hs_standby_functions.sql
A src/test/regress/standby_schedule

binary migration: pg_migrator

commit   : 78a09145e0f8322e625bbc7d69fcb865ce4f3034    
  
author   : Bruce Momjian <[email protected]>    
date     : Sat, 19 Dec 2009 00:47:57 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sat, 19 Dec 2009 00:47:57 +0000    

Click here for diff

Add comments about places where system oids have to be preserved for  
binary migration.  

M src/backend/catalog/pg_enum.c
M src/backend/commands/typecmds.c
M src/backend/utils/adt/arrayfuncs.c
M src/backend/utils/adt/enum.c
M src/backend/utils/adt/rowtypes.c

Fix a few typos in the latest 8.5alpha3 release notes.

commit   : 2e9468f2c850f2b712d23d110042cf14678c6791    
  
author   : Robert Haas <[email protected]>    
date     : Sat, 19 Dec 2009 00:05:27 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Sat, 19 Dec 2009 00:05:27 +0000    

Click here for diff

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

8.5alpha3 release notes up to Fri Dec 18 21:37:38 2009 +0000

commit   : 2692274dd94e860403679d0d0e5c14f64ae3499c    
  
author   : Peter Eisentraut <[email protected]>    
date     : Fri, 18 Dec 2009 22:11:09 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Fri, 18 Dec 2009 22:11:09 +0000    

Click here for diff

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

commit   : b35b16e6966ea04d932eab49cdb6a8c1e93fa932    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 18 Dec 2009 21:37:38 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 18 Dec 2009 21:37:38 +0000    

Click here for diff

M doc/src/sgml/installation.sgml

Install server-side language PL/pgSQL by default.

commit   : 96c102fe27de36eefb7a73c1147da2143e2e1a03    
  
author   : Bruce Momjian <[email protected]>    
date     : Fri, 18 Dec 2009 21:28:42 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Fri, 18 Dec 2009 21:28:42 +0000    

Click here for diff

M doc/src/sgml/installation.sgml
M src/bin/initdb/initdb.c
M src/bin/pg_dump/pg_dump.c
M src/test/regress/GNUmakefile

Force the TZ environment variable to be set during initdb. This is to short-circuit the rather expensive identify_system_timezone() procedure, which we have no real need for during initdb since nothing done here depends on the timezone setting. Since we launch quite a few standalone backends during the initdb sequence, this adds up to a significant savings, and seems worth doing to save developer time even though it will hardly matter to end users. Per my report today on pgsql-hackers.

commit   : be3a24de196ba81d30e134829412476e200cb228    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 18 Dec 2009 18:45:50 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 18 Dec 2009 18:45:50 +0000    

Click here for diff

M src/bin/initdb/initdb.c

Improve documentation for pg_largeobject changes.

commit   : f5fd651e1b96db6fa89ae540214e180ecf36a547    
  
author   : Robert Haas <[email protected]>    
date     : Thu, 17 Dec 2009 14:36:16 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Thu, 17 Dec 2009 14:36:16 +0000    

Click here for diff

Rewrite the documentation in more idiomatic English, and in the process make  
it somewhat more succinct.  Move the discussion of specific large object  
privileges out of the "server-side functions" section, where it certainly  
doesn't belong, and into "implementation features".  That might not be  
exactly right either, but it doesn't seem worth creating a new section for  
this amount of information. Fix a few spelling and layout problems, too.  

M doc/src/sgml/catalogs.sgml
M doc/src/sgml/config.sgml
M doc/src/sgml/lobj.sgml
M doc/src/sgml/ref/grant.sgml

Reverting accidently commited changes.

commit   : 36d192ad7d69be9e1b39602f1e1ca6ff410dedfb    
  
author   : Michael Meskes <[email protected]>    
date     : Thu, 17 Dec 2009 07:28:58 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Thu, 17 Dec 2009 07:28:58 +0000    

Click here for diff

M src/interfaces/ecpg/test/expected/thread-prep.stdout
M src/interfaces/ecpg/test/expected/thread-thread.stdout
M src/interfaces/ecpg/test/expected/thread-thread_implicit.stdout

Don't unblock SIGQUIT in the SIGQUIT handler

commit   : d6de43099ac0bddb4b1da40088487616da892164    
  
author   : Peter Eisentraut <[email protected]>    
date     : Wed, 16 Dec 2009 23:05:00 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Wed, 16 Dec 2009 23:05:00 +0000    

Click here for diff

This was possibly linked to a deadlock-like situation in glibc syslog code  
invoked by the ereport call in quickdie().  In any case, a signal handler  
should not unblock its own signal unless there is a specific reason to.  

M src/backend/tcop/postgres.c
M src/include/libpq/pqsignal.h

If there is no sigdelset(), define it as a macro.

commit   : b63b967a7e68c0f157958406aaa78285ba6e5dd7    
  
author   : Peter Eisentraut <[email protected]>    
date     : Wed, 16 Dec 2009 22:55:34 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Wed, 16 Dec 2009 22:55:34 +0000    

Click here for diff

This removes some duplicate code that recreated the identical workaround  
when the newer signal API is missing.  

M src/backend/postmaster/bgwriter.c
M src/backend/postmaster/walwriter.c
M src/backend/tcop/postgres.c
M src/include/libpq/pqsignal.h

Avoid a premature coercion failure in transformSetOperationTree() when presented with an UNKNOWN-type Var, which can happen in cases where an unknown literal appeared in a subquery. While many such cases will fail later on anyway in the planner, there are some cases where the planner is able to flatten the query and replace the Var by the constant before it has to coerce the union column to the final type. I had added this check in 8.4 to provide earlier/better error detection, but it causes a regression for some cases that worked OK before. Fix by not making the check if the input node is UNKNOWN type and not a Const or Param. If it isn't going to work, it will fail anyway at plan time, with the only real loss being inability to provide an error cursor. Per gripe from Britt Piehler.

commit   : 52fc0075ab794136f12847971068cbddba297fe4    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 16 Dec 2009 22:24:13 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 16 Dec 2009 22:24:13 +0000    

Click here for diff

In passing, rename a couple of variables to remove confusion from an  
inner scope masking the same variable names in an outer scope.  

M src/backend/parser/analyze.c
M src/test/regress/expected/union.out
M src/test/regress/sql/union.sql

Several fixes for EXPLAIN (FORMAT YAML), plus one for EXPLAIN (FORMAT JSON).

commit   : ff499613d2dd2c89b93379dbee943b8e6cee5f20    
  
author   : Robert Haas <[email protected]>    
date     : Wed, 16 Dec 2009 22:16:16 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Wed, 16 Dec 2009 22:16:16 +0000    

Click here for diff

ExplainSeparatePlans() was busted for both JSON and YAML output - the present  
code is a holdover from the original version of my machine-readable explain  
patch, which didn't have the grouping_stack machinery.  Also, fix an odd  
distribution of labor between ExplainBeginGroup() and ExplainYAMLLineStarting()  
when marking lists with "- ", with each providing one character.  This broke  
the output format for multi-query statements.  Also, fix ExplainDummyGroup()  
for the YAML output format.  
  
Along the way, make the YAML format use escape_yaml() in situations where the  
JSON format uses escape_json().  Right now, it doesn't matter because all the  
values are known not to need escaping, but it seems safer this way.  Finally,  
I added some comments to better explain what the YAML output format is doing.  
  
Greg Sabino Mullane reported the issues with multi-query statements.  
Analysis and remaining cleanups by me.  

M src/backend/commands/explain.c

Remove spurious '22' that clearly shouldn't be there.

commit   : 3dfe7e8e0fdd42c5faea44c6235d1583205dc2e7    
  
author   : Magnus Hagander <[email protected]>    
date     : Wed, 16 Dec 2009 19:38:54 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Wed, 16 Dec 2009 19:38:54 +0000    

Click here for diff

David E. Wheeler  

M doc/src/sgml/hstore.sgml

Fixed auto-prepare to not try preparing statements that are not preparable. Bug found and solved by Boszormenyi Zoltan <[email protected]>, some small adjustments by me.

commit   : d19669e5f90b7dd860f47a399329c5f921908bcf    
  
author   : Michael Meskes <[email protected]>    
date     : Wed, 16 Dec 2009 10:15:07 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Wed, 16 Dec 2009 10:15:07 +0000    

Click here for diff

M src/interfaces/ecpg/preproc/ecpg.addons
M src/interfaces/ecpg/preproc/output.c
M src/interfaces/ecpg/test/expected/preproc-autoprep.c
M src/interfaces/ecpg/test/expected/preproc-autoprep.stderr
M src/interfaces/ecpg/test/expected/preproc-autoprep.stdout
M src/interfaces/ecpg/test/expected/sql-desc.c
M src/interfaces/ecpg/test/expected/sql-execute.c
M src/interfaces/ecpg/test/expected/sql-oldexec.c
M src/interfaces/ecpg/test/expected/thread-prep.c
M src/interfaces/ecpg/test/expected/thread-prep.stdout
M src/interfaces/ecpg/test/expected/thread-thread.stdout
M src/interfaces/ecpg/test/expected/thread-thread_implicit.stdout
M src/interfaces/ecpg/test/preproc/autoprep.pgc

Python 3 support in PL/Python

commit   : dd4cd55c15886c46378dc27f44f59a6de8c4d45b    
  
author   : Peter Eisentraut <[email protected]>    
date     : Tue, 15 Dec 2009 22:59:55 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Tue, 15 Dec 2009 22:59:55 +0000    

Click here for diff

Behaves more or less unchanged compared to Python 2, but the new language  
variant is called plpython3u.  Documentation describing the naming scheme  
is included.  

M config/python.m4
M configure
M doc/src/sgml/installation.sgml
M doc/src/sgml/plpython.sgml
M src/Makefile.global.in
M src/include/catalog/catversion.h
M src/include/catalog/pg_pltemplate.h
M src/pl/plpython/Makefile
M src/pl/plpython/expected/README
M src/pl/plpython/expected/plpython_test.out
M src/pl/plpython/expected/plpython_trigger.out
A src/pl/plpython/expected/plpython_types_3.out
M src/pl/plpython/plpython.c
M src/pl/plpython/sql/plpython_test.sql
M src/pl/plpython/sql/plpython_trigger.sql

Avoid unnecessary copying of source string when generating a cloned TParser. For long source strings the copying results in O(N^2) behavior, and the multiplier can be significant if wide-char conversion is involved.

commit   : 21d11e7ee2d9fb47fc06b53f8e54fe07e7f1c18a    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 15 Dec 2009 20:37:17 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 15 Dec 2009 20:37:17 +0000    

Click here for diff

Andres Freund, reviewed by Kevin Grittner.  

M src/backend/tsearch/wparser_def.c

Add a hook to let loadable modules get control at ProcessUtility execution, and use it to extend contrib/pg_stat_statements to track utility commands.

commit   : a5495cd8411b65de86a0ad5bf4e29a8e985eb677    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 15 Dec 2009 20:04:49 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 15 Dec 2009 20:04:49 +0000    

Click here for diff

Itagaki Takahiro, reviewed by Euler Taveira de Oliveira.  

M contrib/pg_stat_statements/pg_stat_statements.c
M doc/src/sgml/pgstatstatements.sgml
M src/backend/tcop/utility.c
M src/include/tcop/utility.h

Support ORDER BY within aggregate function calls, at long last providing a non-kluge method for controlling the order in which values are fed to an aggregate function. At the same time eliminate the old implementation restriction that DISTINCT was only supported for single-argument aggregates.

commit   : 34d26872ed816b299eef2fa4240d55316697f42d    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 15 Dec 2009 17:57:48 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 15 Dec 2009 17:57:48 +0000    

Click here for diff

Possibly release-notable behavioral change: formerly, agg(DISTINCT x)  
dropped null values of x unconditionally.  Now, it does so only if the  
agg transition function is strict; otherwise nulls are treated as DISTINCT  
normally would, ie, you get one copy.  
  
Andrew Gierth, reviewed by Hitoshi Harada  

M doc/src/sgml/func.sgml
M doc/src/sgml/syntax.sgml
M src/backend/executor/nodeAgg.c
M src/backend/nodes/copyfuncs.c
M src/backend/nodes/equalfuncs.c
M src/backend/nodes/nodeFuncs.c
M src/backend/nodes/outfuncs.c
M src/backend/nodes/readfuncs.c
M src/backend/optimizer/plan/planagg.c
M src/backend/optimizer/plan/planner.c
M src/backend/optimizer/util/clauses.c
M src/backend/parser/analyze.c
M src/backend/parser/gram.y
M src/backend/parser/parse_agg.c
M src/backend/parser/parse_clause.c
M src/backend/parser/parse_expr.c
M src/backend/parser/parse_func.c
M src/backend/parser/parse_utilcmd.c
M src/backend/utils/adt/ruleutils.c
M src/include/catalog/catversion.h
M src/include/nodes/parsenodes.h
M src/include/nodes/primnodes.h
M src/include/optimizer/clauses.h
M src/include/parser/parse_agg.h
M src/include/parser/parse_clause.h
M src/include/parser/parse_func.h
M src/test/regress/expected/aggregates.out
M src/test/regress/expected/create_aggregate.out
M src/test/regress/output/misc.source
M src/test/regress/sql/aggregates.sql
M src/test/regress/sql/create_aggregate.sql

Fix broken markup.

commit   : 6a6efb964092902bf53965649c3ed78b1868b37e    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 15 Dec 2009 15:59:57 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 15 Dec 2009 15:59:57 +0000    

Click here for diff

M doc/src/sgml/pgbench.sgml

Add \shell and \setshell meta commands to pgbench.

commit   : 7d67e06297f1a16bc642f685a976228ac34399c9    
  
author   : Itagaki Takahiro <[email protected]>    
date     : Tue, 15 Dec 2009 07:17:57 +0000    
  
committer: Itagaki Takahiro <[email protected]>    
date     : Tue, 15 Dec 2009 07:17:57 +0000    

Click here for diff

\shell command runs an external shell command.  
\setshell also does the same and sets the result to a variable.  
  
original patch by Michael Paquier with some editorialization by Itagaki,  
and reviewed by Greg Smith.  

M contrib/pgbench/pgbench.c
M doc/src/sgml/pgbench.sgml

Add an EXPLAIN (BUFFERS) option to show buffer-usage statistics.

commit   : cddca5ec13d27017281422124cae0480cddfb663    
  
author   : Robert Haas <[email protected]>    
date     : Tue, 15 Dec 2009 04:57:48 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Tue, 15 Dec 2009 04:57:48 +0000    

Click here for diff

This patch also removes buffer-usage statistics from the track_counts  
output, since this (or the global server statistics) is deemed to be a better  
interface to this information.  
  
Itagaki Takahiro, reviewed by Euler Taveira de Oliveira.  

M contrib/auto_explain/auto_explain.c
M contrib/pg_stat_statements/pg_stat_statements.c
M doc/src/sgml/auto-explain.sgml
M doc/src/sgml/ref/explain.sgml
M src/backend/commands/copy.c
M src/backend/commands/explain.c
M src/backend/commands/tablecmds.c
M src/backend/executor/execMain.c
M src/backend/executor/execProcnode.c
M src/backend/executor/functions.c
M src/backend/executor/instrument.c
M src/backend/executor/spi.c
M src/backend/storage/buffer/buf_init.c
M src/backend/storage/buffer/bufmgr.c
M src/backend/storage/buffer/localbuf.c
M src/backend/storage/file/buffile.c
M src/backend/tcop/postgres.c
M src/backend/tcop/pquery.c
M src/include/commands/explain.h
M src/include/executor/execdesc.h
M src/include/executor/executor.h
M src/include/executor/instrument.h
M src/include/nodes/execnodes.h
M src/include/storage/buf_internals.h
M src/include/storage/bufmgr.h

Fix pg_ctl initdb without options. Passing NULL string to snprintf is avoided.

commit   : 6f1bf75d50a576a326c1529180982622981855f5    
  
author   : Itagaki Takahiro <[email protected]>    
date     : Tue, 15 Dec 2009 00:17:50 +0000    
  
committer: Itagaki Takahiro <[email protected]>    
date     : Tue, 15 Dec 2009 00:17:50 +0000    

Click here for diff

M src/bin/pg_ctl/pg_ctl.c

Fix a bug introduced when set-returning SQL functions were made inline-able: we have to cope with the possibility that the declared result rowtype contains dropped columns. This fails in 8.4, as per bug #5240.

commit   : a620d5005df6e4b6fc09ba914f19402dc07289dd    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 14 Dec 2009 02:15:54 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 14 Dec 2009 02:15:54 +0000    

Click here for diff

While at it, be more paranoid about inserting binary coercions when inlining.  
The pre-8.4 code did not really need to worry about that because it could not  
inline at all in any case where an added coercion could change the behavior  
of the function's statement.  However, when inlining a SRF we allow sorting,  
grouping, and set-ops such as UNION.  In these cases, modifying one of the  
targetlist entries that the sort/group/setop depends on could conceivably  
change the behavior of the function's statement --- so don't inline when  
such a case applies.  

M src/backend/catalog/pg_proc.c
M src/backend/executor/execQual.c
M src/backend/executor/functions.c
M src/backend/optimizer/util/clauses.c
M src/include/executor/functions.h
M src/test/regress/expected/rangefuncs.out
M src/test/regress/sql/rangefuncs.sql

Additional fixes for large object access control. Use pg_largeobject_metadata.oid instead of pg_largeobject.loid to enumerate existing large objects in pg_dump, pg_restore, and contrib modules.

commit   : 84f910a7076e09e551bf69e0972473ec15d33c79    
  
author   : Itagaki Takahiro <[email protected]>    
date     : Mon, 14 Dec 2009 00:39:11 +0000    
  
committer: Itagaki Takahiro <[email protected]>    
date     : Mon, 14 Dec 2009 00:39:11 +0000    

Click here for diff

M contrib/lo/lo_test.sql
M contrib/vacuumlo/vacuumlo.c
M src/bin/pg_dump/pg_backup_archiver.c
M src/bin/pg_dump/pg_backup_archiver.h
M src/bin/pg_dump/pg_backup_db.c
M src/bin/pg_dump/pg_backup_null.c
M src/bin/pg_dump/pg_dump.c
M src/test/regress/expected/privileges.out
M src/test/regress/sql/privileges.sql

Allow LDAP authentication to operate in search+bind mode, meaning it does a search for the user in the directory first, and then binds with the DN found for this user.

commit   : 0182d6f646997e486f56f847001ff74694bdd7da    
  
author   : Magnus Hagander <[email protected]>    
date     : Sat, 12 Dec 2009 21:35:21 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Sat, 12 Dec 2009 21:35:21 +0000    

Click here for diff

This allows for LDAP logins in scenarios where the DN of the user cannot  
be determined simply by prefix and suffix, such as the case where different  
users are located in different containers.  
  
The old way of authentication can be significantly faster, so it's kept  
as an option.  
  
Robert Fleming and Magnus Hagander  

M doc/src/sgml/client-auth.sgml
M src/backend/libpq/auth.c
M src/backend/libpq/hba.c
M src/include/libpq/hba.h

Fix integer-to-bit-string conversions to handle the first fractional byte correctly when the output bit width is wider than the given integer by something other than a multiple of 8 bits.

commit   : a4e035b2f1313b268dc6b8a1ff908cdd5ad96625    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 12 Dec 2009 19:24:35 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 12 Dec 2009 19:24:35 +0000    

Click here for diff

This has been wrong since I first wrote that code for 8.0 :-(.  Kudos to  
Roman Kononov for being the first to notice, though I didn't use his  
patch.  Per bug #5237.  

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

Export ExplainBeginOutput() and ExplainEndOutput() for auto_explain.

commit   : 02490d4692c46bee3e9279e79c5d07c576d2a32c    
  
author   : Robert Haas <[email protected]>    
date     : Sat, 12 Dec 2009 00:35:34 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Sat, 12 Dec 2009 00:35:34 +0000    

Click here for diff

Without these functions, anyone outside of explain.c can't actually use  
ExplainPrintPlan, because the ExplainState won't be initialized properly.  
The user-visible result of this was a crash when using auto_explain with  
the JSON output format.  
  
Report by Euler Taveira de Oliveira.  Analysis by Tom Lane.  Patch by me.  

M contrib/auto_explain/auto_explain.c
M src/backend/commands/explain.c
M src/include/commands/explain.h

Arrange to generate different random sequences in the different child processes of a pgbench run, when we are using -j > 1 and are emulating threads via fork(). Otherwise the children all inherit the same random sequence state and produce the same random-number sequence.

commit   : 6b45e3b7aaa0a66082f61921e01f6df6e9f9253f    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 11 Dec 2009 21:50:06 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 11 Dec 2009 21:50:06 +0000    

Click here for diff

In the threaded case the different threads will share one RNG state, so  
they will produce different subsets of one sequence, which is maybe more  
correlated than a purist would like but will not be "the same".  So we  
leave that case alone.  
  
First noticed by Takahiro Itagaki, and is also part of the explanation  
for the pgbench misbehavior recently reported by Jaime Casanova.  

M contrib/pgbench/pgbench.c

Ensure that the result tuple of an EvalPlanQual cycle gets materialized before we zap the input tuple. Otherwise, pass-by-reference columns of the result slot are likely to contain just references to the input tuple, leading to big trouble if the pfree'd space is reused. Per trouble report from Jaime Casanova. This is a new bug in the recent rewrite of EvalPlanQual, so nothing to back-patch.

commit   : d8e511fabbff0554cb872186c8a5de3b7715ec9b    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 11 Dec 2009 18:14:43 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 11 Dec 2009 18:14:43 +0000    

Click here for diff

M src/backend/executor/execMain.c

Add large object access control.

commit   : f1325ce213ae1843d2ee636ff6780c3f8ac9ada6    
  
author   : Itagaki Takahiro <[email protected]>    
date     : Fri, 11 Dec 2009 03:34:57 +0000    
  
committer: Itagaki Takahiro <[email protected]>    
date     : Fri, 11 Dec 2009 03:34:57 +0000    

Click here for diff

A new system catalog pg_largeobject_metadata manages  
ownership and access privileges of large objects.  
  
KaiGai Kohei, reviewed by Jaime Casanova.  

M doc/src/sgml/catalogs.sgml
M doc/src/sgml/config.sgml
M doc/src/sgml/lobj.sgml
M doc/src/sgml/ref/allfiles.sgml
A doc/src/sgml/ref/alter_large_object.sgml
M doc/src/sgml/ref/grant.sgml
M doc/src/sgml/ref/revoke.sgml
M doc/src/sgml/reference.sgml
M src/backend/catalog/Makefile
M src/backend/catalog/aclchk.c
M src/backend/catalog/dependency.c
M src/backend/catalog/pg_largeobject.c
M src/backend/catalog/pg_shdepend.c
M src/backend/commands/alter.c
M src/backend/commands/comment.c
M src/backend/commands/tablecmds.c
M src/backend/libpq/be-fsstubs.c
M src/backend/parser/gram.y
M src/backend/storage/large_object/inv_api.c
M src/backend/tcop/utility.c
M src/backend/utils/adt/acl.c
M src/backend/utils/misc/guc.c
M src/backend/utils/misc/postgresql.conf.sample
M src/bin/initdb/initdb.c
M src/bin/pg_dump/dumputils.c
M src/bin/pg_dump/pg_dump.c
M src/bin/psql/large_obj.c
M src/bin/psql/tab-complete.c
M src/include/catalog/catversion.h
M src/include/catalog/dependency.h
M src/include/catalog/indexing.h
M src/include/catalog/pg_largeobject.h
A src/include/catalog/pg_largeobject_metadata.h
M src/include/libpq/be-fsstubs.h
M src/include/nodes/parsenodes.h
M src/include/utils/acl.h
M src/test/regress/expected/privileges.out
M src/test/regress/expected/sanity_check.out
M src/test/regress/sql/privileges.sql

Properly define ENABLE_THREAD_SAFETY in conflgure, per suggestion from Peter.

commit   : 64579962bbe522bf9ced8e4ed712b9072fb89142    
  
author   : Bruce Momjian <[email protected]>    
date     : Fri, 11 Dec 2009 02:21:21 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Fri, 11 Dec 2009 02:21:21 +0000    

Click here for diff

M configure
M configure.in

Add YAML to list of EXPLAIN formats. Greg Sabino Mullane, reviewed by Takahiro Itagaki.

commit   : 324385d67fe87e182325decdef1756a8f76733a8    
  
author   : Andrew Dunstan <[email protected]>    
date     : Fri, 11 Dec 2009 01:33:35 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Fri, 11 Dec 2009 01:33:35 +0000    

Click here for diff

M contrib/auto_explain/auto_explain.c
M doc/src/sgml/auto-explain.sgml
M doc/src/sgml/ref/explain.sgml
M doc/src/sgml/release-8.5.sgml
M src/backend/commands/explain.c
M src/include/commands/explain.h

PL/Python array support

commit   : db7386187f78dfc45b86b6f4f382f6b12cdbc693    
  
author   : Peter Eisentraut <[email protected]>    
date     : Thu, 10 Dec 2009 20:43:40 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Thu, 10 Dec 2009 20:43:40 +0000    

Click here for diff

Support arrays as parameters and return values of PL/Python functions.  

M doc/src/sgml/plpython.sgml
M src/pl/plpython/expected/plpython_types.out
M src/pl/plpython/plpython.c
M src/pl/plpython/sql/plpython_types.sql

Add init[db] option to pg_ctl

commit   : a37b001b8048a17f40a59cb8e26c593a6a21e500    
  
author   : Peter Eisentraut <[email protected]>    
date     : Thu, 10 Dec 2009 06:32:28 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Thu, 10 Dec 2009 06:32:28 +0000    

Click here for diff

pg_ctl gets a new mode that runs initdb.  Adjust the documentation a bit to  
not assume that initdb is the only way to run database cluster initialization.  
But don't replace initdb as the canonical way.  
  
Author: Zdenek Kotala <[email protected]>  

M doc/src/sgml/config.sgml
M doc/src/sgml/manage-ag.sgml
M doc/src/sgml/ref/initdb.sgml
M doc/src/sgml/ref/pg_ctl-ref.sgml
M doc/src/sgml/runtime.sgml
M doc/src/sgml/xfunc.sgml
M src/bin/pg_ctl/pg_ctl.c

Fix levenshtein with costs. The previous code multiplied by the cost in only 3 of the 7 relevant locations.

commit   : da07641481bcad3d21f6d7cee0690a1c75f89c54    
  
author   : Robert Haas <[email protected]>    
date     : Thu, 10 Dec 2009 01:54:17 +0000    
  
committer: Robert Haas <[email protected]>    
date     : Thu, 10 Dec 2009 01:54:17 +0000    

Click here for diff

Marcin Mank, slightly adjusted by me.  

M contrib/fuzzystrmatch/fuzzystrmatch.c

Update release notes for releases 8.4.2, 8.3.9, 8.2.15, 8.1.19, 8.0.23, 7.4.27.

commit   : 03d7b0647fa45a83724e440cf9c122327d436dd2    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 10 Dec 2009 00:31:14 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 10 Dec 2009 00:31:14 +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

Prevent indirect security attacks via changing session-local state within an allegedly immutable index function. It was previously recognized that we had to prevent such a function from executing SET/RESET ROLE/SESSION AUTHORIZATION, or it could trivially obtain the privileges of the session user. However, since there is in general no privilege checking for changes of session-local state, it is also possible for such a function to change settings in a way that might subvert later operations in the same session. Examples include changing search_path to cause an unexpected function to be called, or replacing an existing prepared statement with another one that will execute a function of the attacker's choosing.

commit   : 62aba76568e58698ad5eaa6153bc45186aacbde2    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 9 Dec 2009 21:57:51 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 9 Dec 2009 21:57:51 +0000    

Click here for diff

The present patch secures VACUUM, ANALYZE, and CREATE INDEX/REINDEX against  
these threats, which are the same places previously deemed to need protection  
against the SET ROLE issue.  GUC changes are still allowed, since there are  
many useful cases for that, but we prevent security problems by forcing a  
rollback of any GUC change after completing the operation.  Other cases are  
handled by throwing an error if any change is attempted; these include temp  
table creation, closing a cursor, and creating or deleting a prepared  
statement.  (In 7.4, the infrastructure to roll back GUC changes doesn't  
exist, so we settle for rejecting changes of "search_path" in these contexts.)  
  
Original report and patch by Gurjeet Singh, additional analysis by  
Tom Lane.  
  
Security: CVE-2009-4136  

M src/backend/access/transam/xact.c
M src/backend/catalog/index.c
M src/backend/commands/analyze.c
M src/backend/commands/schemacmds.c
M src/backend/commands/tablecmds.c
M src/backend/commands/vacuum.c
M src/backend/executor/execMain.c
M src/backend/tcop/utility.c
M src/backend/utils/adt/ri_triggers.c
M src/backend/utils/fmgr/fmgr.c
M src/backend/utils/init/miscinit.c
M src/backend/utils/misc/guc.c
M src/include/miscadmin.h
M src/include/utils/guc.h

Add notes about updating disk and shared memory size information in the documentation when doing new major release.

commit   : 7aeaa97de2b9c8661cd4ef2f3470d0df47458853    
  
author   : Magnus Hagander <[email protected]>    
date     : Wed, 9 Dec 2009 17:03:30 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Wed, 9 Dec 2009 17:03:30 +0000    

Click here for diff

M src/tools/RELEASE_CHANGES

Update size references in installation instructions to be a bit more up-to-date with current versions.

commit   : 2367d6893f3737c36341176728f089cc4e84d8d6    
  
author   : Magnus Hagander <[email protected]>    
date     : Wed, 9 Dec 2009 16:16:34 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Wed, 9 Dec 2009 16:16:34 +0000    

Click here for diff

M doc/src/sgml/installation.sgml

Reject certificates with embedded NULLs in the commonName field. This stops attacks where an attacker would put <attack>\0<propername> in the field and trick the validation code that the certificate was for <attack>.

commit   : abf23ee86d871850347cfec80636537e9eb20ea6    
  
author   : Magnus Hagander <[email protected]>    
date     : Wed, 9 Dec 2009 06:37:06 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Wed, 9 Dec 2009 06:37:06 +0000    

Click here for diff

This is a very low risk attack since it reuqires the attacker to trick the  
CA into issuing a certificate with an incorrect field, and the common  
PostgreSQL deployments are with private CAs, and not external ones. Also,  
default mode in 8.4 does not do any name validation, and is thus also not  
vulnerable - but the higher security modes are.  
  
Backpatch all the way. Even though versions 8.3.x and before didn't have  
certificate name validation support, they still exposed this field for  
the user to perform the validation in the application code, and there  
is no way to detect this problem through that API.  
  
Security: CVE-2009-4034  

M src/backend/libpq/be-secure.c
M src/interfaces/libpq/fe-secure.c

Update time zone data files to tzdata release 2009s: DST law changes in Antarctica, Argentina, Bangladesh, Fiji, Novokuznetsk, Pakistan, Palestine, Samoa, Syria. Also historical corrections for Hong Kong.

commit   : 65ed203910abfb7c39a77a1e0be8d8ac14652e8e    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 9 Dec 2009 00:35:32 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 9 Dec 2009 00:35:32 +0000    

Click here for diff

M src/timezone/data/antarctica
M src/timezone/data/asia
M src/timezone/data/australasia
M src/timezone/data/europe
M src/timezone/data/southamerica
M src/timezone/data/zone.tab

commit   : 28519de02dc779f643eded3da09e1d826780f9f0    
  
author   : Magnus Hagander <[email protected]>    
date     : Tue, 8 Dec 2009 20:08:30 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Tue, 8 Dec 2009 20:08:30 +0000    

Click here for diff

M doc/src/sgml/cube.sgml
M doc/src/sgml/installation.sgml
M doc/src/sgml/pgcrypto.sgml
M doc/src/sgml/seg.sgml

commit   : ac1b614cc0a3a7d417d1f3c1c0559f2e9e88b419    
  
author   : Magnus Hagander <[email protected]>    
date     : Tue, 8 Dec 2009 19:22:43 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Tue, 8 Dec 2009 19:22:43 +0000    

Click here for diff

M doc/src/sgml/installation.sgml

Update CVS documentation to be more current and add documentation about git mirror.

commit   : 8df283d25afc4d58a82ff0e6b58f025bbbbb7982    
  
author   : Magnus Hagander <[email protected]>    
date     : Mon, 7 Dec 2009 19:19:56 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Mon, 7 Dec 2009 19:19:56 +0000    

Click here for diff

Remove information about cvsup and documentation that's more about cvs  
than our use of cvs.  
  
Backpatch to 8.4 so we get the git information up on the website as  
soon as possible.  

M doc/src/sgml/cvs.sgml
M doc/src/sgml/installation.sgml

Add exclusion constraints, which generalize the concept of uniqueness to support any indexable commutative operator, not just equality. Two rows violate the exclusion constraint if "row1.col OP row2.col" is TRUE for each of the columns in the constraint.

commit   : 0cb65564e5f855b1e9aa145fd645352130f74646    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 7 Dec 2009 05:22:23 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 7 Dec 2009 05:22:23 +0000    

Click here for diff

Jeff Davis, reviewed by Robert Haas  

M doc/src/sgml/catalogs.sgml
M doc/src/sgml/errcodes.sgml
M doc/src/sgml/ref/create_table.sgml
M src/backend/access/index/genam.c
M src/backend/bootstrap/bootparse.y
M src/backend/bootstrap/bootstrap.c
M src/backend/catalog/heap.c
M src/backend/catalog/index.c
M src/backend/catalog/indexing.c
M src/backend/catalog/information_schema.sql
M src/backend/catalog/pg_constraint.c
M src/backend/catalog/toasting.c
M src/backend/commands/constraint.c
M src/backend/commands/indexcmds.c
M src/backend/commands/tablecmds.c
M src/backend/commands/typecmds.c
M src/backend/commands/vacuum.c
M src/backend/executor/execUtils.c
M src/backend/nodes/copyfuncs.c
M src/backend/nodes/equalfuncs.c
M src/backend/nodes/outfuncs.c
M src/backend/parser/gram.y
M src/backend/parser/parse_utilcmd.c
M src/backend/tcop/utility.c
M src/backend/utils/adt/ruleutils.c
M src/backend/utils/cache/relcache.c
M src/bin/pg_dump/pg_dump.c
M src/bin/psql/describe.c
M src/include/catalog/catversion.h
M src/include/catalog/pg_attribute.h
M src/include/catalog/pg_class.h
M src/include/catalog/pg_constraint.h
M src/include/commands/defrem.h
M src/include/executor/executor.h
M src/include/nodes/execnodes.h
M src/include/nodes/parsenodes.h
M src/include/parser/kwlist.h
M src/include/utils/errcodes.h
M src/include/utils/rel.h
M src/include/utils/relcache.h
M src/pl/plpgsql/src/plerrcodes.h
M src/test/regress/input/constraints.source
M src/test/regress/output/constraints.source

Don't use a duplicate OID for aclexplode().

commit   : 8de7472b45859108761223fb19b396efaa8f0a4d    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 6 Dec 2009 02:55:54 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 6 Dec 2009 02:55:54 +0000    

Click here for diff

M src/include/catalog/pg_proc.h

Speed up information schema privilege views

commit   : 36f887c41c294d0035d84dfac75b4cc68a514950    
  
author   : Peter Eisentraut <[email protected]>    
date     : Sat, 5 Dec 2009 21:43:36 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Sat, 5 Dec 2009 21:43:36 +0000    

Click here for diff

Instead of expensive cross joins to resolve the ACL, add table-returning  
function aclexplode() that expands the ACL into a useful form, and join  
against that.  
  
Also, implement the role_*_grants views as a thin layer over the respective  
*_privileges views instead of essentially repeating the same code twice.  
  
fixes bug #4596  
  
by Joachim Wieland, with cleanup by me  

M src/backend/catalog/information_schema.sql
M src/backend/utils/adt/acl.c
M src/include/catalog/catversion.h
M src/include/catalog/pg_proc.h
M src/include/utils/acl.h

Information schema documentation

commit   : 636bac6e4617caa60dbbd5a2e3f4cf7afa88281a    
  
author   : Peter Eisentraut <[email protected]>    
date     : Sat, 5 Dec 2009 21:31:05 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Sat, 5 Dec 2009 21:31:05 +0000    

Click here for diff

Add a sentence of documentation about the differences between the  
*_privileges and the role_*_grants views.  

M doc/src/sgml/information_schema.sgml

commit   : ab3148b7128e1fe67d8badc9327fd958d2a14c90    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Thu, 3 Dec 2009 11:03:29 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Thu, 3 Dec 2009 11:03:29 +0000    

Click here for diff

At end of top transaction, we still check that there's no temporary files  
marked as close-at-end-of-transaction open, but that's now just a debugging  
cross-check as the resource owner cleanup should've closed them already.  

M src/backend/storage/file/fd.c
M src/backend/utils/resowner/resowner.c
M src/include/utils/resowner.h

Clarify what's supposed to happen when a cursor FETCH is rolled back by aborting a subtransaction. Per discussion with Heikki.

commit   : dc588058a033ee9a6f9f84f30cef13b2aafee0bc    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 2 Dec 2009 21:11:12 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 2 Dec 2009 21:11:12 +0000    

Click here for diff

M doc/src/sgml/ref/rollback_to.sgml

thread-safety

commit   : 8c1c2e38f6806379c46b4f8a85d9a7e0c6f9fc04    
  
author   : Bruce Momjian <[email protected]>    
date     : Wed, 2 Dec 2009 14:07:26 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Wed, 2 Dec 2009 14:07:26 +0000    

Click here for diff

Apply full patch to enable thread-safety by default, e.g. doc changes.  

M configure
M configure.in
M doc/src/sgml/ecpg.sgml
M doc/src/sgml/installation.sgml
M doc/src/sgml/libpq.sgml
M src/test/thread/README

Preventing intersection of ranges during page split. Changes are only optimization, so don't backpatch.

commit   : aebc4e67fffc89a0cf933b9617316b7019318db4    
  
author   : Teodor Sigaev <[email protected]>    
date     : Wed, 2 Dec 2009 13:13:24 +0000    
  
committer: Teodor Sigaev <[email protected]>    
date     : Wed, 2 Dec 2009 13:13:24 +0000    

Click here for diff

M contrib/btree_gist/btree_cash.c
M contrib/btree_gist/btree_date.c
M contrib/btree_gist/btree_float4.c
M contrib/btree_gist/btree_float8.c
M contrib/btree_gist/btree_inet.c
M contrib/btree_gist/btree_int2.c
M contrib/btree_gist/btree_int4.c
M contrib/btree_gist/btree_int8.c
M contrib/btree_gist/btree_interval.c
M contrib/btree_gist/btree_macaddr.c
M contrib/btree_gist/btree_oid.c
M contrib/btree_gist/btree_time.c
M contrib/btree_gist/btree_ts.c
M contrib/btree_gist/btree_utils_var.c

Mark application_name as GUC_REPORT so that the value will be reported back to the client by the server. This might seem pretty pointless but apparently it will help pgbouncer, and perhaps other connection poolers. Anyway it's practically free to do so for the normal use-case where appname is only set in the startup packet --- we're just adding a few more bytes to the initial ParameterStatus response packet. Per comments from Marko Kreen.

commit   : 59ed94ad0c9f74a3f057f359316c845cedc4461e    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 2 Dec 2009 04:54:10 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 2 Dec 2009 04:54:10 +0000    

Click here for diff

M doc/src/sgml/libpq.sgml
M doc/src/sgml/protocol.sgml
M src/backend/utils/misc/guc.c

Instead of sending application_name as a SET command after the connection is made, include it in the startup-packet options. This makes it work more like every other libpq connection option, in particular it now has the same response to RESET ALL as the rest. This also saves one network round trip for new applications using application_name. The cost is that if the server is pre-8.5, it'll reject the startup packet altogether, forcing us to retry the entire connection cycle. But on balance we shouldn't be optimizing that case in preference to the behavior with a new server, especially when doing so creates visible behavioral oddities. Per discussion.

commit   : 3dfcf8cc15aeae3d30a0470b7d6bd5d4d462805d    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 2 Dec 2009 04:38:35 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 2 Dec 2009 04:38:35 +0000    

Click here for diff

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

Enable thread safety

commit   : 925b32bba17179aee759f52791c50dea8cfb41b8    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 1 Dec 2009 23:02:44 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 1 Dec 2009 23:02:44 +0000    

Click here for diff

Enable thread safety on all platforms.  This will either be followed up  
by a more extensive patch, or reverted, depending on the build farm  
results.  

M configure
M configure.in

psql -f -

commit   : b291c0fba83a1e93868e2f69c03be195d620f30c    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 1 Dec 2009 22:34:33 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 1 Dec 2009 22:34:33 +0000    

Click here for diff

Adjust psql -f - to behave like a normal file and honor the -1 flag.  
  
Report from Robert Haas  

M src/bin/psql/command.c
M src/bin/psql/startup.c

Teach the regular expression functions to do case-insensitive matching and locale-dependent character classification properly when the database encoding is UTF8.

commit   : 0d32342501f2a562bc57156dc92d59a0624be4a6    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 1 Dec 2009 21:00:24 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 1 Dec 2009 21:00:24 +0000    

Click here for diff

The previous coding worked okay in single-byte encodings, or in any case for  
ASCII characters, but failed entirely on multibyte characters.  The fix  
assumes that the <wctype.h> functions use Unicode code points as the wchar  
representation for Unicode, ie, wchar matches pg_wchar.  
  
This is only a partial solution, since we're still stupid about non-ASCII  
characters in multibyte encodings other than UTF8.  The practical effect  
of that is limited, however, since those cases are generally Far Eastern  
glyphs for which concepts like case-folding don't apply anyway.  Certainly  
all or nearly all of the field reports of problems have been about UTF8.  
A more general solution would require switching to the platform's wchar  
representation for all regex operations; which is possible but would have  
substantial disadvantages.  Let's try this and see if it's sufficient in  
practice.  

M src/backend/regex/regc_locale.c
M src/include/regex/regcustom.h

Revert due to Tom's concerns:

commit   : ef51395e24c7452a9a50e3576b52fb64602f8cad    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 1 Dec 2009 02:31:13 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 1 Dec 2009 02:31:13 +0000    

Click here for diff

Add ProcessUtility_hook() to handle all DDL to  
contrib/pg_stat_statements.  

M contrib/pg_stat_statements/pg_stat_statements.c
M doc/src/sgml/pgstatstatements.sgml
M src/backend/tcop/utility.c
M src/include/tcop/utility.h

ProcessUtility_hook:

commit   : d85cb27293a2bafb2f6f8c5d965cc8af33c4bf48    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 1 Dec 2009 01:08:46 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 1 Dec 2009 01:08:46 +0000    

Click here for diff

Add ProcessUtility_hook() to handle all DDL to contrib/pg_stat_statements.  
  
Itagaki Takahiro  

M contrib/pg_stat_statements/pg_stat_statements.c
M doc/src/sgml/pgstatstatements.sgml
M src/backend/tcop/utility.c
M src/include/tcop/utility.h

hstore docs

commit   : 29fd97d98283be781ceaf6cbf29db6768ef09a37    
  
author   : Bruce Momjian <[email protected]>    
date     : Mon, 30 Nov 2009 17:56:09 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Mon, 30 Nov 2009 17:56:09 +0000    

Click here for diff

Update hstore docs, mostly word-smithing.  
  
David E. Wheeler  

M doc/src/sgml/hstore.sgml

THREAD_SUPPORT

commit   : 891f924bad098b0e8ede5f76747de9b55eb0b3e1    
  
author   : Bruce Momjian <[email protected]>    
date     : Mon, 30 Nov 2009 16:50:38 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Mon, 30 Nov 2009 16:50:38 +0000    

Click here for diff

There is no reference to THREAD_SUPPORT outside configure, and it is  
never set, so remove it.  

M configure
M configure.in

Avoid core dump on empty thesaurus dictionary. Per report from Robert Gravsjö.

commit   : 908854209b142b5c69b54ac929200ae9746e439a    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 30 Nov 2009 16:38:31 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 30 Nov 2009 16:38:31 +0000    

Click here for diff

M src/backend/tsearch/dict_thesaurus.c

In SRF example, move oldcontext variable definition into the FIRSTCALL branch, which is how most actual code is actually structured. Also fix slight whitespace misalignment.

commit   : bb1e8bea020fb3d83df308bfd263968fb0374ff7    
  
author   : Peter Eisentraut <[email protected]>    
date     : Mon, 30 Nov 2009 15:49:35 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Mon, 30 Nov 2009 15:49:35 +0000    

Click here for diff

M doc/src/sgml/xfunc.sgml

Properly indent SGML.

commit   : be64b3edd11ac6f19ed45fcbd873d917af427acc    
  
author   : Bruce Momjian <[email protected]>    
date     : Mon, 30 Nov 2009 14:47:37 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Mon, 30 Nov 2009 14:47:37 +0000    

Click here for diff

M doc/src/sgml/ecpg.sgml

Fix session-lifespan memory leak when a plperl function is redefined: we have to tell Perl it can release its compiled copy of the function text. Noted by Alexey Klyukin.

commit   : 67ec9adaf13fe79c13a53c6513ec3eb7adfaaddd    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 29 Nov 2009 21:02:16 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 29 Nov 2009 21:02:16 +0000    

Click here for diff

Back-patch to 8.2 --- the problem exists further back, but this patch  
won't work without modification, and it's probably not worth the trouble.  

M src/pl/plperl/plperl.c

Error when a specified connection service is not found, instead of ignoring it

commit   : 22032820f958de081553da4b4475a78a8e7b2989    
  
author   : Peter Eisentraut <[email protected]>    
date     : Sun, 29 Nov 2009 20:14:53 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Sun, 29 Nov 2009 20:14:53 +0000    

Click here for diff

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

Add some opr_sanity checks that the lengths of the various argument-info arrays in a pg_proc entry match. Seems like an easy mistake to make when manually adjusting these values in a pg_proc.h entry.

commit   : c19781ac3d5e1e3763e3dab87690dabff2d7130a    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 29 Nov 2009 18:53:54 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 29 Nov 2009 18:53:54 +0000    

Click here for diff

M src/test/regress/expected/opr_sanity.out
M src/test/regress/sql/opr_sanity.sql

Remove prefix "ERROR:" from some messages, to make everything consistent

commit   : e527d5010b3c78df67b38a9eb838cda7d8cf1c6d    
  
author   : Peter Eisentraut <[email protected]>    
date     : Sun, 29 Nov 2009 18:53:44 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Sun, 29 Nov 2009 18:53:44 +0000    

Click here for diff

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

Make pg_stat_activity.application_name visible to all users, rather than being hidden when current_query is. Relocate it to a column position more consistent with that behavior. Per discussion.

commit   : 0c61cff57a1dc7685fcac9f09451b261f14cb711    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 29 Nov 2009 18:14:32 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 29 Nov 2009 18:14:32 +0000    

Click here for diff

M doc/src/sgml/monitoring.sgml
M src/backend/catalog/system_views.sql
M src/backend/utils/adt/pgstatfuncs.c
M src/include/catalog/catversion.h
M src/include/catalog/pg_proc.h
M src/test/regress/expected/rules.out

Add support for anonymous code blocks (DO blocks) to PL/Perl.

commit   : 42b2907d125f377f4ca2b46e652fa2b810c31337    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 29 Nov 2009 03:02:27 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 29 Nov 2009 03:02:27 +0000    

Click here for diff

Joshua Tolley, reviewed by Brendan Jurd and Tim Bunce  

M doc/src/sgml/plperl.sgml
M src/include/catalog/catversion.h
M src/include/catalog/pg_pltemplate.h
M src/pl/plperl/expected/plperl.out
M src/pl/plperl/plperl.c
M src/pl/plperl/sql/plperl.sql

Add support for an application_name parameter, which is displayed in pg_stat_activity and recorded in log entries.

commit   : 8217cfbd991856d25d73b0f7afcf43d99f90b653    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 28 Nov 2009 23:38:08 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 28 Nov 2009 23:38:08 +0000    

Click here for diff

Dave Page, reviewed by Andres Freund  

M doc/src/sgml/config.sgml
M doc/src/sgml/libpq.sgml
M doc/src/sgml/monitoring.sgml
M src/backend/catalog/system_views.sql
M src/backend/postmaster/pgstat.c
M src/backend/utils/adt/pgstatfuncs.c
M src/backend/utils/error/elog.c
M src/backend/utils/misc/guc.c
M src/backend/utils/misc/postgresql.conf.sample
M src/include/catalog/catversion.h
M src/include/catalog/pg_proc.h
M src/include/pgstat.h
M src/include/utils/guc.h
M src/interfaces/libpq/fe-connect.c
M src/interfaces/libpq/libpq-int.h
M src/test/regress/expected/rules.out

fsync test tools

commit   : cb98f615383ccf2f9f339b4e812b23e840b12d9f    
  
author   : Bruce Momjian <[email protected]>    
date     : Sat, 28 Nov 2009 16:21:31 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sat, 28 Nov 2009 16:21:31 +0000    

Click here for diff

Add link to exteran fsync testing script and our fsync test tool.  

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

test_fsync:

commit   : 017c47bf51f47b61df04ef563bab0424e9975858    
  
author   : Bruce Momjian <[email protected]>    
date     : Sat, 28 Nov 2009 15:04:54 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sat, 28 Nov 2009 15:04:54 +0000    

Click here for diff

Improve test descriptions displayed during test_fsync;  increase default  
loops to 5k.  

M src/tools/fsync/README
M src/tools/fsync/test_fsync.c

Eliminate a lot of list-management overhead within join_search_one_level by adding a requirement that build_join_rel add new join RelOptInfos to the appropriate list immediately at creation. Per report from Robert Haas, the list_concat_unique_ptr() calls that this change eliminates were taking the lion's share of the runtime in larger join problems. This doesn't do anything to fix the fundamental combinatorial explosion in large join problems, but it should push out the threshold of pain a bit further.

commit   : 1a95f12702b4e535b5e26ed9c3fcd0b2a1b1a20f    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 28 Nov 2009 00:46:19 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 28 Nov 2009 00:46:19 +0000    

Click here for diff

Note: because this changes the order in which joinrel lists are built,  
it might result in changes in selected plans in cases where different  
alternatives have exactly the same costs.  There is one example in the  
regression tests.  

M src/backend/nodes/outfuncs.c
M src/backend/optimizer/geqo/geqo_eval.c
M src/backend/optimizer/path/allpaths.c
M src/backend/optimizer/path/joinrels.c
M src/backend/optimizer/plan/planmain.c
M src/backend/optimizer/util/relnode.c
M src/include/nodes/relation.h
M src/include/optimizer/paths.h
M src/test/regress/expected/join.out

Document ath vacuumdb --analyze does analyze _also_, not in place of vacuum.

commit   : fe83b975b2bdfa9b553872aa9a5dc959ca89a51f    
  
author   : Bruce Momjian <[email protected]>    
date     : Fri, 27 Nov 2009 17:41:26 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Fri, 27 Nov 2009 17:41:26 +0000    

Click here for diff

M doc/src/sgml/ref/vacuumdb.sgml

Remove */ characters from declare cursor statements before putting them into a comment.

commit   : bb28e836361b24229bd6fea2ca76a905faea5702    
  
author   : Michael Meskes <[email protected]>    
date     : Fri, 27 Nov 2009 16:07:22 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Fri, 27 Nov 2009 16:07:22 +0000    

Click here for diff

M src/interfaces/ecpg/preproc/ecpg.addons

If no result is given NOTFOUND should be returned. Check for empty result string too.

commit   : d7d5c6857b976c221e84ca8b461c7e8d14f0d994    
  
author   : Michael Meskes <[email protected]>    
date     : Fri, 27 Nov 2009 13:32:17 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Fri, 27 Nov 2009 13:32:17 +0000    

Click here for diff

M src/interfaces/ecpg/ecpglib/data.c

Added script to check if all rule re-definition in ecpg.addons are indeed used in the build process. If not the build process will stop with an error message.

commit   : 81a82a13b2465ab7eaacdd66ed1c77edfa325f18    
  
author   : Michael Meskes <[email protected]>    
date     : Fri, 27 Nov 2009 10:00:40 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Fri, 27 Nov 2009 10:00:40 +0000    

Click here for diff

M src/interfaces/ecpg/preproc/Makefile
A src/interfaces/ecpg/preproc/check_rules.pl

Fix missing end tag, per Jeff Davis.

commit   : f0edaecd48d86766a6a8af00cf11541bf140951c    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 26 Nov 2009 21:20:12 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 26 Nov 2009 21:20:12 +0000    

Click here for diff

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

Added missing files.

commit   : 280744d461fddb3ad43ca4950de91ff91ee7cae5    
  
author   : Michael Meskes <[email protected]>    
date     : Thu, 26 Nov 2009 15:55:57 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Thu, 26 Nov 2009 15:55:57 +0000    

Click here for diff

A src/interfaces/ecpg/test/expected/preproc-cursor.c
A src/interfaces/ecpg/test/expected/preproc-cursor.stderr
A src/interfaces/ecpg/test/expected/preproc-cursor.stdout
A src/interfaces/ecpg/test/preproc/cursor.pgc

Forgot to add dynamic cursors to Changelog.

commit   : c48d48d41f6985706f387da1b15b372ef2de196b    
  
author   : Michael Meskes <[email protected]>    
date     : Thu, 26 Nov 2009 15:40:43 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Thu, 26 Nov 2009 15:40:43 +0000    

Click here for diff

M src/interfaces/ecpg/ChangeLog

Synced addon rules after some renamings.

commit   : fb9d62805d02900aad5a9f8c8d1c835fa167c71c    
  
author   : Michael Meskes <[email protected]>    
date     : Thu, 26 Nov 2009 15:39:26 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Thu, 26 Nov 2009 15:39:26 +0000    

Click here for diff

M src/interfaces/ecpg/preproc/ecpg.addons

Added dynamic cursor names to ecpg. Almost the whole patch was done by Boszormenyi Zoltan, with only a minor tweak or two from me.

commit   : a160c421a5ee353ac55da6289ae722aed2e15644    
  
author   : Michael Meskes <[email protected]>    
date     : Thu, 26 Nov 2009 15:06:47 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Thu, 26 Nov 2009 15:06:47 +0000    

Click here for diff

M src/interfaces/ecpg/preproc/ecpg.addons
M src/interfaces/ecpg/preproc/ecpg.trailer
M src/interfaces/ecpg/preproc/ecpg.type
M src/interfaces/ecpg/preproc/extern.h
M src/interfaces/ecpg/preproc/parse.pl
M src/interfaces/ecpg/preproc/variable.c
M src/interfaces/ecpg/test/ecpg_schedule
M src/interfaces/ecpg/test/ecpg_schedule_tcp
M src/interfaces/ecpg/test/preproc/Makefile

Simplify psql's new linestyle behavior to default to linestyle=ascii all the time, rather than hoping we can tell whether the terminal supports UTF8 characters. Per discussion.

commit   : da29cc802215e3a01bab0f9fb5dd14c03d6f973d    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 25 Nov 2009 20:26:31 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 25 Nov 2009 20:26:31 +0000    

Click here for diff

M doc/src/sgml/ref/psql-ref.sgml
M doc/src/sgml/release-8.5.sgml
M src/bin/psql/mbprint.c
M src/bin/psql/mbprint.h
M src/bin/psql/print.c
M src/test/regress/pg_regress_main.c

Fix syntax in extract() examples

commit   : f6a79c5901f36a822bdbffda1077613828ce6863    
  
author   : Peter Eisentraut <[email protected]>    
date     : Tue, 24 Nov 2009 19:21:15 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Tue, 24 Nov 2009 19:21:15 +0000    

Click here for diff

Author: Erik Rijkers <[email protected]>  

M doc/src/sgml/func.sgml

Made function better readable.

commit   : 14cc1ed7eda121d7b19a3ae0ad4a7d22da2f7cf5    
  
author   : Michael Meskes <[email protected]>    
date     : Tue, 24 Nov 2009 16:30:31 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Tue, 24 Nov 2009 16:30:31 +0000    

Click here for diff

M src/interfaces/ecpg/ecpglib/misc.c

Add PG_MODULE_MAGIC and some missing include files to examples

commit   : 6e3117c3c917578ddf7f83a2abcea8f000d22199    
  
author   : Peter Eisentraut <[email protected]>    
date     : Mon, 23 Nov 2009 21:41:20 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Mon, 23 Nov 2009 21:41:20 +0000    

Click here for diff

Author: Euler Taveira de Oliveira <[email protected]>  

M doc/src/sgml/plhandler.sgml
M doc/src/sgml/trigger.sgml
M doc/src/sgml/xfunc.sgml

Use diff's -w switch only on Windows, to avoid problems with inconsistent newline representations. Per buildfarm results and subsequent discussion. Sync up a couple of other places that had their own policies.

commit   : 8d97c1dcfa44b8925c693cf605ec3ee0cf44e75f    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 23 Nov 2009 16:02:24 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 23 Nov 2009 16:02:24 +0000    

Click here for diff

M src/interfaces/ecpg/test/pg_regress_ecpg.c
M src/test/mb/mbregress.sh
M src/test/regress/pg_regress.c

Add missing library to standalone libpq build on Win32.

commit   : fe4b8c42add27d6961e6023ab04f054766378d45    
  
author   : Magnus Hagander <[email protected]>    
date     : Mon, 23 Nov 2009 12:54:37 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Mon, 23 Nov 2009 12:54:37 +0000    

Click here for diff

Hiroshi Saito  

M src/interfaces/libpq/win32.mak

Fix an old bug in multixact and two-phase commit. Prepared transactions can be part of multixacts, so allocate a slot for each prepared transaction in the "oldest member" array in multixact.c. On PREPARE TRANSACTION, transfer the oldest member value from the current backends slot to the prepared xact slot. Also save and recover the value from the 2pc state file.

commit   : cd87b6f8a5084c070c3e56b07794be8fea33647d    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Mon, 23 Nov 2009 09:58:36 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Mon, 23 Nov 2009 09:58:36 +0000    

Click here for diff

The symptom of the bug was that after a transaction prepared, a shared lock  
still held by the prepared transaction was sometimes ignored by other  
transactions.  
  
Fix back to 8.1, where both 2PC and multixact were introduced.  

M src/backend/access/transam/multixact.c
M src/backend/access/transam/twophase.c
M src/backend/access/transam/twophase_rmgr.c
M src/backend/access/transam/xact.c
M src/include/access/multixact.h
M src/include/access/twophase.h
M src/include/access/twophase_rmgr.h

Assorted wordsmithing on the documentation of \pset --- try to make it a bit more consistent and less obviously written by different people at different times.

commit   : c194ff20d2fa1541d62c366bb6a9000fb0d3b983    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 22 Nov 2009 22:06:30 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 22 Nov 2009 22:06:30 +0000    

Click here for diff

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

Adjust expected-results spacing per buildfarm results.

commit   : 1fe419279ccd93327f6cc41e630ce68413e6675b    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 22 Nov 2009 20:58:51 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 22 Nov 2009 20:58:51 +0000    

Click here for diff

M src/test/regress/output/largeobject_1.source

Remove -w (--ignore-all-space) option from pg_regress's diff calls.

commit   : ce3153fa93eee77caf08ac554907abc08af44244    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 22 Nov 2009 17:54:23 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 22 Nov 2009 17:54:23 +0000    

Click here for diff

We have used -w for a long time as a means of reducing the reported diff  
volume when one element of a result table isn't of the expected width.  
However, most of the time the results just pass anyway, so this isn't as  
important as it once was.  Meanwhile, the risk of missing potentially  
significant deviations has gone up, particularly with psql's ability to  
report error cursor positions.  So, let's switch over to space-sensitive  
comparisons.  Per my proposal of yesterday.  
  
(All the expected files that I can test here seem to be ready for this  
already, but we'll see what the buildfarm thinks about others.)  

M src/test/regress/pg_regress.c

Remove superfluous curly brace, fixing compilation with OPTIMIZER_DEBUG.

commit   : 997a6a278f6d2e0b64edae2b9a7313f2d6602cd7    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Sun, 22 Nov 2009 14:54:31 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Sun, 22 Nov 2009 14:54:31 +0000    

Click here for diff

Jan Urbanski  

M src/backend/optimizer/path/allpaths.c

Ooops, forgot to check the libxml cases for psql output wrapping change.

commit   : 1c499591f45e301e0e5c441273ecde3350732c10    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 22 Nov 2009 06:01:09 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 22 Nov 2009 06:01:09 +0000    

Click here for diff

M src/test/regress/expected/xmlmap.out

Improve psql's tabular display of wrapped-around data by inserting markers in the formerly-always-blank columns just to left and right of the data. Different marking is used for a line break caused by a newline in the data than for a straight wraparound. A newline break is signaled by a "+" in the right margin column in ASCII mode, or a carriage return arrow in UNICODE mode. Wraparound is signaled by a dot in the right margin as well as the following left margin in ASCII mode, or an ellipsis symbol in the same places in UNICODE mode. "\pset linestyle old-ascii" is added to make the previous behavior available if anyone really wants it.

commit   : 1753337cf5d0aa5ba04b29ded65b824d9cf12c00    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 22 Nov 2009 05:20:41 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 22 Nov 2009 05:20:41 +0000    

Click here for diff

In passing, this commit also cleans up a few regression test files that  
had unintended spacing differences from the current actual output.  
  
Roger Leigh, reviewed by Gabrielle Roth and other members of PDXPUG.  

M contrib/dblink/expected/dblink.out
M contrib/pgcrypto/expected/crypt-blowfish.out
M contrib/pgcrypto/expected/pgp-armor.out
M contrib/pgcrypto/expected/pgp-decrypt.out
M contrib/tsearch2/expected/tsearch2.out
M contrib/tsearch2/expected/tsearch2_1.out
M doc/src/sgml/ref/psql-ref.sgml
M src/bin/psql/command.c
M src/bin/psql/print.c
M src/bin/psql/print.h
M src/test/regress/expected/create_cast.out
M src/test/regress/expected/dependency.out
M src/test/regress/expected/foreign_data.out
M src/test/regress/expected/foreign_key.out
M src/test/regress/expected/guc.out
M src/test/regress/expected/prepare.out
M src/test/regress/expected/triggers.out
M src/test/regress/expected/tsearch.out
M src/test/regress/expected/with.out

Ignore UTF-8-encoded Unicode byte-order mark at the beginning of a file if the client encoding is UTF-8.

commit   : 93d3bac5648bddfe195a9cecc45ef0a2da5e85a8    
  
author   : Peter Eisentraut <[email protected]>    
date     : Sat, 21 Nov 2009 23:59:12 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Sat, 21 Nov 2009 23:59:12 +0000    

Click here for diff

a limited version of a patch proposed by Itagaki Takahiro  

M src/bin/psql/mainloop.c

Refactor ecpg grammar so that it uses the core grammar's unreserved_keyword list, minus a few specific words that have to be treated specially. This replaces a hard-wired list of keywords that would have needed manual maintenance, and was not getting it. The 8.4 coding was already missing these words, causing ecpg to incorrectly treat them as reserved words: CALLED, CATALOG, DEFINER, ENUM, FOLLOWING, INVOKER, OPTIONS, PARTITION, PRECEDING, RANGE, SECURITY, SERVER, UNBOUNDED, WRAPPER. In HEAD we were additionally missing COMMENTS, FUNCTIONS, SEQUENCES, TABLES. Per gripe from Bosco Rama.

commit   : e6c63bf6604f2fb3b17c15e0652686a92f8b8a77    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 21 Nov 2009 05:44:05 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 21 Nov 2009 05:44:05 +0000    

Click here for diff

M src/interfaces/ecpg/preproc/ecpg.trailer
M src/interfaces/ecpg/preproc/ecpg.type
M src/interfaces/ecpg/preproc/parse.pl

Add a WHEN clause to CREATE TRIGGER, allowing a boolean expression to be checked to determine whether the trigger should be fired.

commit   : 7fc0f06221d22632daa3ff8b70919b43e8a242ca    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 20 Nov 2009 20:38:12 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 20 Nov 2009 20:38:12 +0000    

Click here for diff

For BEFORE triggers this is mostly a matter of spec compliance; but for AFTER  
triggers it can provide a noticeable performance improvement, since queuing of  
a deferred trigger event and re-fetching of the row(s) at end of statement can  
be short-circuited if the trigger does not need to be fired.  
  
Takahiro Itagaki, reviewed by KaiGai Kohei.  

M doc/src/sgml/catalogs.sgml
M doc/src/sgml/ref/create_constraint.sgml
M doc/src/sgml/ref/create_trigger.sgml
M doc/src/sgml/trigger.sgml
M src/backend/catalog/index.c
M src/backend/commands/copy.c
M src/backend/commands/tablecmds.c
M src/backend/commands/trigger.c
M src/backend/executor/execMain.c
M src/backend/executor/execQual.c
M src/backend/executor/execUtils.c
M src/backend/executor/nodeModifyTable.c
M src/backend/nodes/copyfuncs.c
M src/backend/nodes/equalfuncs.c
M src/backend/parser/gram.y
M src/backend/tcop/utility.c
M src/backend/utils/adt/ruleutils.c
M src/bin/pg_dump/pg_dump.c
M src/include/catalog/catversion.h
M src/include/catalog/pg_trigger.h
M src/include/catalog/toasting.h
M src/include/commands/trigger.h
M src/include/nodes/execnodes.h
M src/include/nodes/parsenodes.h
M src/include/utils/rel.h
M src/test/regress/expected/triggers.out
M src/test/regress/sql/triggers.sql

Typo: dump -> restore

commit   : 201a45c4fa23c485cf2e14ac9db8064b2c559fdc    
  
author   : Peter Eisentraut <[email protected]>    
date     : Thu, 19 Nov 2009 22:05:48 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Thu, 19 Nov 2009 22:05:48 +0000    

Click here for diff

fixed in 8.4 and 8.5  
  
Author: Guillaume Lelarge <[email protected]>  

M src/bin/pg_dump/pg_restore.c

Fix memory leak in syslogger: logfile_rotate() would leak a copy of the output filename if CSV logging was enabled and only one of the two possible output files got rotated during a particular call (which would, in fact, typically be the case during a size-based rotation). This would amount to about MAXPGPATH (1KB) per rotation, and it's been there since the CSV code was put in, so it's surprising that nobody noticed it before. Per bug #5196 from Thomas Poindessous.

commit   : b1d55dca917c8595eb89bae5a93c5f81c8b10f81    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 19 Nov 2009 02:45:33 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 19 Nov 2009 02:45:33 +0000    

Click here for diff

M src/backend/postmaster/syslogger.c

Add a hook to CREATE/ALTER ROLE to allow an external module to check the strength of database passwords, and create a sample implementation of such a hook as a new contrib module "passwordcheck".

commit   : c742b795ddce852975c513a04c29966420937553    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 18 Nov 2009 21:57:56 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 18 Nov 2009 21:57:56 +0000    

Click here for diff

Laurenz Albe, reviewed by Takahiro Itagaki  

M contrib/Makefile
M contrib/README
A contrib/passwordcheck/Makefile
A contrib/passwordcheck/passwordcheck.c
M doc/src/sgml/contrib.sgml
M doc/src/sgml/filelist.sgml
A doc/src/sgml/passwordcheck.sgml
M src/backend/commands/user.c
M src/include/commands/user.h

Provide a parenthesized-options syntax for VACUUM, analogous to that recently adopted for EXPLAIN. This will allow additional options to be implemented in future without having to make them fully-reserved keywords. The old syntax remains available for existing options, however.

commit   : 5e66a51c2eebaad4c0d78e3f776d74b2c5a0d1bc    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 16 Nov 2009 21:32:07 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 16 Nov 2009 21:32:07 +0000    

Click here for diff

Itagaki Takahiro  

M doc/src/sgml/maintenance.sgml
M doc/src/sgml/ref/vacuum.sgml
M src/backend/commands/analyze.c
M src/backend/commands/vacuum.c
M src/backend/commands/vacuumlazy.c
M src/backend/nodes/copyfuncs.c
M src/backend/nodes/equalfuncs.c
M src/backend/parser/gram.y
M src/backend/postmaster/autovacuum.c
M src/backend/tcop/utility.c
M src/include/nodes/parsenodes.h
M src/test/regress/expected/vacuum.out
M src/test/regress/sql/vacuum.sql

While doing the final setrefs.c pass over a plan tree, try to match up non-Var sort/group expressions using ressortgroupref labels instead of depending entirely on equal()-ity of the upper node's tlist expressions to the lower node's. This avoids emitting the wrong outputs in cases where there are textually identical volatile sort/group expressions, as for example select distinct random(),random() from generate_series(1,10); Per report from Andrew Gierth.

commit   : 49ed392cd8721226c73b6bfe09e976acd72ef4de    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 16 Nov 2009 18:04:40 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 16 Nov 2009 18:04:40 +0000    

Click here for diff

Backpatch to 8.4.  Arguably this is wrong all the way back, but the only known  
case where there's an observable problem is when using hash aggregation to  
implement DISTINCT, which is new as of 8.4.  So for the moment I'll refrain  
from backpatching further.  

M src/backend/optimizer/plan/setrefs.c

Make text search parser accept underscores in XML attributes (bug #5075)

commit   : 66363e8d6d9f83ed0a1ecc19c1a0d08d65383c29    
  
author   : Peter Eisentraut <[email protected]>    
date     : Sun, 15 Nov 2009 13:57:01 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Sun, 15 Nov 2009 13:57:01 +0000    

Click here for diff

M src/backend/tsearch/wparser_def.c

Improve planning of Materialize nodes inserted atop the inner input of a mergejoin to shield it from doing mark/restore and refetches. Put an explicit flag in MergePath so we can centralize the logic that knows about this, and add costing logic that considers using Materialize even when it's not forced by the previously-existing considerations. This is in response to a discussion back in August that suggested that materializing an inner indexscan can be helpful when the refetch percentage is high enough.

commit   : caf9c830d9d1180ab693f8a6eb205f5862174158    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 15 Nov 2009 02:45:35 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 15 Nov 2009 02:45:35 +0000    

Click here for diff

M src/backend/nodes/outfuncs.c
M src/backend/optimizer/path/allpaths.c
M src/backend/optimizer/path/costsize.c
M src/backend/optimizer/plan/createplan.c
M src/backend/optimizer/util/pathnode.c
M src/include/nodes/relation.h
M src/include/optimizer/cost.h

Make unaccent's install/uninstall scripts look more like all the others. Set search_path explicitly, don't use IF EXISTS, etc.

commit   : 29faadcd2780f74550d6a983a81bc6bad3967bd6    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 14 Nov 2009 18:24:32 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 14 Nov 2009 18:24:32 +0000    

Click here for diff

M contrib/unaccent/unaccent.sql.in
M contrib/unaccent/uninstall_unaccent.sql

Add inheritable ACE when creating a restricted token for execution on Win32.

commit   : da8d684d39b7fa5d890b6596a9779c6e34112b43    
  
author   : Magnus Hagander <[email protected]>    
date     : Sat, 14 Nov 2009 15:39:36 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Sat, 14 Nov 2009 15:39:36 +0000    

Click here for diff

Also refactor the code around it to be more clear.  
  
Jesse Morris  

M src/bin/initdb/initdb.c
M src/bin/pg_ctl/pg_ctl.c
M src/include/port.h
M src/port/exec.c
M src/test/regress/pg_regress.c

Clean up a couple of bizarre code formatting choices in recent CREATE LIKE patch.

commit   : ef679ff6b7390c7773bf41d073dbe5f1502d9d04    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 13 Nov 2009 23:49:23 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 13 Nov 2009 23:49:23 +0000    

Click here for diff

M src/backend/parser/parse_utilcmd.c

Avoid assuming that enum CreateStmtLikeOption is unsigned. Zdenek Kotala

commit   : 82121aff12343a622d7aa611f937f7184e9a759e    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 13 Nov 2009 23:44:19 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 13 Nov 2009 23:44:19 +0000    

Click here for diff

M src/include/nodes/parsenodes.h

Add control knobs for plpgsql's variable resolution behavior, and make the default be "throw error on conflict", as per discussions. The GUC variable is plpgsql.variable_conflict, with values "error", "use_variable", "use_column". The behavior can also be specified per-function by inserting one of #variable_conflict error #variable_conflict use_variable #variable_conflict use_column at the start of the function body.

commit   : 631760998626e8fcc9d9d1ac6e7a2a5c5153b575    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 13 Nov 2009 22:43:42 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 13 Nov 2009 22:43:42 +0000    

Click here for diff

The 8.5 release notes will need to mention using "use_variable" to retain  
backward-compatible behavior, although we should encourage people to migrate  
to the much less mistake-prone "error" setting.  
  
Update the plpgsql documentation to match this and other recent changes.  

M doc/src/sgml/config.sgml
M doc/src/sgml/plpgsql.sgml
M src/pl/plpgsql/src/gram.y
M src/pl/plpgsql/src/pl_comp.c
M src/pl/plpgsql/src/pl_handler.c
M src/pl/plpgsql/src/pl_scanner.c
M src/pl/plpgsql/src/plpgsql.h
M src/test/regress/expected/plpgsql.out
M src/test/regress/sql/plpgsql.sql

A better fix for the "ARRAY[...]::domain" problem. The previous patch worked, but the transformed ArrayExpr claimed to have a return type of "domain", even though the domain constraint was only checked by the enclosing CoerceToDomain node. With this fix, the ArrayExpr is correctly labeled with the base type of the domain. Per gripe by Tom Lane.

commit   : 01038d4ad77eec8cdf16a39c69fc902bf30c4072    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Fri, 13 Nov 2009 19:48:20 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Fri, 13 Nov 2009 19:48:20 +0000    

Click here for diff

M src/backend/parser/parse_expr.c

When you do "ARRAY[...]::domain", where domain is a domain over an array type, we need to check domain constraints. We used to do it correctly, but 8.4 introduced a separate code path for the "ARRAY[]::arraytype" case to infer the type of an empty ARRAY construct from the cast target, and forgot to take domains into account.

commit   : 942702a496c3c45f5f8205ebd59a2827678bed25    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Fri, 13 Nov 2009 16:09:10 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Fri, 13 Nov 2009 16:09:10 +0000    

Click here for diff

Per report from Florian G. Pflug.  

M src/backend/parser/parse_expr.c

Fix multicolumn GIN's wrong results with fastupdate enabled. User-defined consistent functions believes the check array contains at least one true element which was not a true for scanning pending list.

commit   : 5e75f6790c6abc3bb5954ea380fb92e40f867d5e    
  
author   : Teodor Sigaev <[email protected]>    
date     : Fri, 13 Nov 2009 11:17:04 +0000    
  
committer: Teodor Sigaev <[email protected]>    
date     : Fri, 13 Nov 2009 11:17:04 +0000    

Click here for diff

Per report from Yury Don <[email protected]>  

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

The recent patch to log changes in postgresql.conf settings dumped core if the initial value of a string variable was NULL, which is entirely possible. Noted while experimenting with custom_variable_classes.

commit   : 0894c6b83862f1d091e3c37713e6e5db355248ef    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 12 Nov 2009 18:20:23 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 12 Nov 2009 18:20:23 +0000    

Click here for diff

M src/backend/utils/misc/guc-file.l

Check for C/POSIX before assuming that nl_langinfo or win32_langinfo will work. Per buildfarm results.

commit   : 8539a0e00a39872a58dc004e3c131bfb7be23609    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 12 Nov 2009 03:37:15 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 12 Nov 2009 03:37:15 +0000    

Click here for diff

M src/port/chklocale.c

Make initdb behave sanely when the selected locale has codeset "US-ASCII". Per discussion, this should result in defaulting to SQL_ASCII encoding. The original coding could not support that because it conflated selection of SQL_ASCII encoding with not being able to determine the encoding. Adjust pg_get_encoding_from_locale()'s API to distinguish these cases, and fix callers appropriately. Only initdb actually changes behavior, since the other callers were perfectly content to consider these cases equivalent.

commit   : 8f8a5df694e7a012dfd762cb74d2083d83cf573b    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 12 Nov 2009 02:46:16 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 12 Nov 2009 02:46:16 +0000    

Click here for diff

Per bug #5178 from Boh Yap.  Not going to bother back-patching, since  
no one has complained before and there's an easy workaround (namely,  
specify the encoding you want).  

M src/backend/commands/dbcommands.c
M src/backend/utils/mb/mbutils.c
M src/bin/initdb/initdb.c
M src/port/chklocale.c

Remove pg_parse_string_token() --- not needed anymore.

commit   : 19d802767d7b9c37390c46d337e6558c0b60ea57    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 12 Nov 2009 01:13:12 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 12 Nov 2009 01:13:12 +0000    

Click here for diff

M src/backend/parser/parser.c
M src/include/parser/parser.h

Remove plpgsql's separate lexer (finally!), in favor of using the core lexer directly. This was a lot of trouble, but should be worth it in terms of not having to keep the plpgsql lexer in step with core anymore. In addition the handling of keywords is significantly better-structured, allowing us to de-reserve a number of words that plpgsql formerly treated as reserved.

commit   : 2dee828cacfe58f6babe2c86f95bf106c8060ca4    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 12 Nov 2009 00:13:00 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 12 Nov 2009 00:13:00 +0000    

Click here for diff

M src/backend/parser/scan.l
M src/backend/parser/scansup.c
M src/bin/psql/psqlscan.l
M src/pl/plpgsql/src/.cvsignore
M src/pl/plpgsql/src/Makefile
M src/pl/plpgsql/src/gram.y
M src/pl/plpgsql/src/nls.mk
M src/pl/plpgsql/src/pl_comp.c
M src/pl/plpgsql/src/pl_funcs.c
A src/pl/plpgsql/src/pl_scanner.c
M src/pl/plpgsql/src/plpgsql.h
D src/pl/plpgsql/src/scan.l
M src/test/regress/expected/plpgsql.out
M src/test/regress/sql/plpgsql.sql
M src/tools/msvc/Mkvcbuild.pm
M src/tools/msvc/Project.pm
M src/tools/msvc/clean.bat
M src/tools/msvc/pgflex.bat

In psql \du, separate the role attributes by comma instead of newline, for an arguably more pleasant display.

commit   : 60cd1f182943448eeb662b0f73ecb985ad9cc26e    
  
author   : Peter Eisentraut <[email protected]>    
date     : Wed, 11 Nov 2009 21:07:41 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Wed, 11 Nov 2009 21:07:41 +0000    

Click here for diff

M src/bin/psql/describe.c

commit   : e9984c47e94dc3bc06a15e654a525110f12883e8    
  
author   : Alvaro Herrera <[email protected]>    
date     : Wed, 11 Nov 2009 20:31:26 +0000    
  
committer: Alvaro Herrera <[email protected]>    
date     : Wed, 11 Nov 2009 20:31:26 +0000    

Click here for diff

This is a preparatory patch for allowing a dynamic cursor name be used in the  
ECPG grammar.  
  
Author: Zoltan Boszormenyi  

M src/backend/parser/gram.y
M src/interfaces/ecpg/preproc/ecpg.addons
M src/interfaces/ecpg/preproc/ecpg.trailer

Document the previous FETCH and MOVE changes.

commit   : af054db6ef2cddb821bb0b0f50db9e6d4d39bc3d    
  
author   : Alvaro Herrera <[email protected]>    
date     : Wed, 11 Nov 2009 20:07:57 +0000    
  
committer: Alvaro Herrera <[email protected]>    
date     : Wed, 11 Nov 2009 20:07:57 +0000    

Click here for diff

M doc/src/sgml/ref/fetch.sgml
M doc/src/sgml/ref/move.sgml

Support optional FROM/IN in FETCH and MOVE

commit   : 2ea179f36102edc8df6be9e728b24bcb264ec52e    
  
author   : Alvaro Herrera <[email protected]>    
date     : Wed, 11 Nov 2009 19:25:42 +0000    
  
committer: Alvaro Herrera <[email protected]>    
date     : Wed, 11 Nov 2009 19:25:42 +0000    

Click here for diff

The main motivation for this is that it's required for Informix compatibility  
in ECPG.  
  
This patch makes the ECPG and core grammars a bit closer to one another for  
these productions.  
  
Author: Zoltan Boszormenyi  

M src/backend/parser/gram.y
M src/interfaces/ecpg/preproc/ecpg.addons
M src/interfaces/ecpg/test/expected/compat_informix-test_informix.c
M src/interfaces/ecpg/test/expected/compat_informix-test_informix.stderr

Do not build psql's flex module on its own, but instead include it in mainloop.c. This ensures that postgres_fe.h is read before including any system headers, which is necessary to avoid problems on some platforms where we make nondefault selections of feature macros for stdio.h or other headers. We have had this policy for flex modules in the backend for many years, but for some reason it was not applied to psql. Per trouble report from Alexandra Roy and diagnosis by Albe Laurenz.

commit   : 90bfe99963aaf22830c4a9b989c525858bf7ff46    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 10 Nov 2009 23:12:13 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 10 Nov 2009 23:12:13 +0000    

Click here for diff

M src/bin/psql/Makefile
M src/bin/psql/mainloop.c

Revert the temporary patch to work around Snow Leopard readdir() bug. Apple has fixed that bug in 10.6.2, and we should encourage users to update to that version rather than trusting this cosmetic patch. As was recently noted by Stephen Tyler, this patch was only masking the problem in the context of DROP TABLESPACE, but the failure could occur in other places such as pg_xlog cleanup.

commit   : 21e3edd6cac14f121867f4f9578db34eba7b2492    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 10 Nov 2009 18:53:38 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 10 Nov 2009 18:53:38 +0000    

Click here for diff

M src/backend/commands/tablespace.c

interval_abs():

commit   : 089f4b921c3ae0947e7ffd0ad18be83afecc33a6    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 10 Nov 2009 18:41:24 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 10 Nov 2009 18:41:24 +0000    

Click here for diff

Add C comment about why there is no interval_abs():  it is unclear what  
value to return:  
  
    http://archives.postgresql.org/pgsql-general/2009-10/msg01031.php  
    http://archives.postgresql.org/pgsql-general/2009-11/msg00041.php  

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

Fix longstanding problems in VACUUM caused by untimely interruptions

commit   : e7ec0222660636870ad85cde25cf1778c9d82a0b    
  
author   : Alvaro Herrera <[email protected]>    
date     : Tue, 10 Nov 2009 18:00:06 +0000    
  
committer: Alvaro Herrera <[email protected]>    
date     : Tue, 10 Nov 2009 18:00:06 +0000    

Click here for diff

In VACUUM FULL, an interrupt after the initial transaction has been recorded  
as committed can cause postmaster to restart with the following error message:  
PANIC: cannot abort transaction NNNN, it was already committed  
This problem has been reported many times.  
  
In lazy VACUUM, an interrupt after the table has been truncated by  
lazy_truncate_heap causes other backends' relcache to still point to the  
removed pages; this can cause future INSERT and UPDATE queries to error out  
with the following error message:  
could not read block XX of relation 1663/NNN/MMMM: read only 0 of 8192 bytes  
The window to this race condition is extremely narrow, but it has been seen in  
the wild involving a cancelled autovacuum process.  
  
The solution for both problems is to inhibit interrupts in both operations  
until after the respective transactions have been committed.  It's not a  
complete solution, because the transaction could theoretically be aborted by  
some other error, but at least fixes the most common causes of both problems.  

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

DIAGNOSTICS/FOUND wording

commit   : b538b72eeb7ce4a84077e18374587e3a8a0d7a14    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 10 Nov 2009 14:22:45 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 10 Nov 2009 14:22:45 +0000    

Click here for diff

Update wording of GET DIAGNOSTICS/FOUND, per David Fetter.  

M doc/src/sgml/plpgsql.sgml

More incremental refactoring in plpgsql: get rid of gram.y dependencies on yytext. This is a necessary change if we're going to have a lexer interface layer that does lookahead, since yytext won't necessarily be in step with what the grammar thinks is the current token. yylval and yylloc should be the only side-variables that we need to manage when doing lookahead.

commit   : 73a2f6c653cabe57f93e4a7f51dfea7b753076b4    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 10 Nov 2009 02:13:13 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 10 Nov 2009 02:13:13 +0000    

Click here for diff

M src/pl/plpgsql/src/gram.y
M src/pl/plpgsql/src/pl_comp.c
M src/pl/plpgsql/src/plpgsql.h
M src/pl/plpgsql/src/scan.l

PL/pgSQL FOUND

commit   : 6ac697f18065f41cad4e3c63a674575b711e03b6    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 10 Nov 2009 02:09:54 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 10 Nov 2009 02:09:54 +0000    

Click here for diff

Document that GET DIAGNOSTICS is affected by EXECUTE, while FOUND is  
not.  

M doc/src/sgml/plpgsql.sgml

Re-refactor the core scanner's API, in order to get out from under the problem of different parsers having different YYSTYPE unions that they want to use with it. I defined a new union core_YYSTYPE that is just the (very short) list of semantic values returned by the core scanner. I had originally worried that this would require an extra interface layer, but actually we can have parser.c's base_yylex (formerly filtered_base_yylex) take care of that at no extra cost. Names associated with the core scanner are now "core_yy_foo", with "base_yy_foo" being used in the core Bison parser and the parser.c interface layer.

commit   : 10bcfa189bedaeaa6bfe8d7841ed3b17f23c0df4    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 9 Nov 2009 18:38:48 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 9 Nov 2009 18:38:48 +0000    

Click here for diff

This solves the last serious stumbling block to eliminating plpgsql's separate  
lexer.  One restriction that will still be present is that plpgsql and the  
core will have to agree on the token numbers assigned to tokens that can be  
returned by the core lexer.  Since Bison doesn't seem willing to accept  
external assignments of those numbers, we'll have to live with decreeing that  
core and plpgsql grammars declare these tokens first and in the same order.  

M src/backend/parser/gram.y
M src/backend/parser/parser.c
M src/backend/parser/scan.l
M src/include/parser/gramparse.h
A src/include/parser/scanner.h

Fix WHERE CURRENT OF to work as designed within plpgsql. The argument can be the name of a plpgsql cursor variable, which formerly was converted to $N before the core parser saw it, but that's no longer the case. Deal with plain name references to plpgsql variables, and add a regression test case that exposes the failure.

commit   : 2ace38d226246b83e5cc4d8f4063a82a485ddc95    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 9 Nov 2009 02:36:59 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 9 Nov 2009 02:36:59 +0000    

Click here for diff

M src/backend/executor/execCurrent.c
M src/backend/parser/gram.y
M src/backend/parser/parse_expr.c
M src/test/regress/expected/plpgsql.out
M src/test/regress/sql/plpgsql.sql

Modernize plpgsql's handling of parse locations, making it look a lot more like the core parser's code. In particular, track locations at the character rather than line level during parsing, allowing many more parse-time error conditions to be reported with precise error pointers rather than just "near line N".

commit   : 39bd3fd1db6f3aa3764d4a1bebcd71c4e9c00281    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 9 Nov 2009 00:26:55 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 9 Nov 2009 00:26:55 +0000    

Click here for diff

Also, exploit the fact that we no longer need to substitute $N for variable  
references by making extracted SQL queries and expressions be exact copies  
of subranges of the function text, rather than having random whitespace  
changes within them.  This makes it possible to directly map parse error  
positions from the core parser onto positions in the function text, which  
lets us report them without the previous kluge of showing the intermediate  
internal-query form.  (Later it might be good to do that for core  
parse-analysis errors too, but this patch is just touching plpgsql's  
lexer/parser, not what happens at runtime.)  
  
In passing, make plpgsql's lexer use palloc not malloc.  
  
These changes make plpgsql's parse-time error reports noticeably nicer  
(as illustrated by the regression test changes), and will also simplify  
the planned removal of plpgsql's separate lexer by reducing the impedance  
mismatch between what it does and what the core lexer does.  

M src/pl/plpgsql/src/gram.y
M src/pl/plpgsql/src/pl_comp.c
M src/pl/plpgsql/src/pl_exec.c
M src/pl/plpgsql/src/plpgsql.h
M src/pl/plpgsql/src/scan.l
M src/test/regress/expected/plpgsql.out

Remove ancient text file containing plpgsql installation instructions. This was long ago superseded by the standard build process and main SGML documentation.

commit   : fb60af4127c006cb2e945fc1ee461264988ca753    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 7 Nov 2009 17:21:34 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 7 Nov 2009 17:21:34 +0000    

Click here for diff

D src/pl/plpgsql/src/INSTALL

Rearrange plpgsql parsing to simplify and speed it up a bit.

commit   : f2b7692e7532dde046b70d0761302356cae9af2b    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 7 Nov 2009 00:52:26 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 7 Nov 2009 00:52:26 +0000    

Click here for diff

* Pull the responsibility for %TYPE and %ROWTYPE out of the scanner,  
letting read_datatype manage it instead.  
  
* Avoid unnecessary scanner-driven lookups of plpgsql variables in  
places where it's not needed, which is actually most of the time;  
we do not need it in DECLARE sections nor in text that is a SQL  
query or expression.  
  
* Rationalize the set of token types returned by the scanner:  
distinguishing T_SCALAR, T_RECORD, T_ROW seems to complicate the grammar  
in more places than it simplifies it, so merge these into one  
token type T_DATUM; but split T_ERROR into T_DBLWORD and T_TRIPWORD  
for clarity and simplicity of later processing.  
  
Some of this will need to be revisited again when we try to make  
plpgsql use the core scanner, but this patch gets some of the bigger  
stumbling blocks out of the way.  

M src/pl/plpgsql/src/gram.y
M src/pl/plpgsql/src/pl_comp.c
M src/pl/plpgsql/src/pl_funcs.c
M src/pl/plpgsql/src/plpgsql.h
M src/pl/plpgsql/src/scan.l

Keep track of language's trusted flag in InlineCodeBlock. Needed to support DO blocks for languages that have both trusted and untrusted variants.

commit   : b79f49c780ac35907392916138475452191412c6    
  
author   : Andrew Dunstan <[email protected]>    
date     : Fri, 6 Nov 2009 21:57:57 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Fri, 6 Nov 2009 21:57:57 +0000    

Click here for diff

M src/backend/commands/functioncmds.c
M src/include/nodes/parsenodes.h

Change plpgsql from using textual substitution to insert variable references into SQL expressions, to using the newly added parser callback hooks.

commit   : 0772f1e53d2b10021a1c1513a8d44e2eb137a570    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 6 Nov 2009 18:37:55 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 6 Nov 2009 18:37:55 +0000    

Click here for diff

This allows us to do the substitutions in a more semantically-aware way:  
a variable reference will only be recognized where it can validly go,  
ie, a place where a column value or parameter would be legal, instead of  
the former behavior that would replace any textual match including  
table names and column aliases (leading to syntax errors later on).  
A release-note-worthy fine point is that plpgsql variable names that match  
fully-reserved words will now need to be quoted.  
  
This commit preserves the former behavior that variable references take  
precedence over any possible match to a column name.  The infrastructure  
is in place to support the reverse precedence or throwing an error on  
ambiguity, but those behaviors aren't accessible yet.  
  
Most of the code changes here are associated with making the namespace  
data structure persist so that it can be consulted at runtime, instead  
of throwing it away at the end of initial function parsing.  
  
The plpgsql scanner is still doing name lookups, but that behavior is  
now irrelevant for SQL expressions.  A future commit will deal with  
removing unnecessary lookups.  

M src/pl/plpgsql/src/gram.y
M src/pl/plpgsql/src/pl_comp.c
M src/pl/plpgsql/src/pl_exec.c
M src/pl/plpgsql/src/pl_funcs.c
M src/pl/plpgsql/src/plpgsql.h
M src/test/regress/expected/plpgsql.out
M src/test/regress/sql/plpgsql.sql

Don't treat NEW and OLD as reserved words anymore. For the purposes of rules it works just as well to have them be ordinary identifiers, and this gets rid of a number of ugly special cases. Plus we aren't interfering with non-rule usage of these names.

commit   : 593f4b854a8bb384547b8fa9854c73dcd88d4876    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 5 Nov 2009 23:24:27 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 5 Nov 2009 23:24:27 +0000    

Click here for diff

catversion bump because the names change internally in stored rules.  

M doc/src/sgml/keywords.sgml
M doc/src/sgml/rules.sgml
M doc/src/sgml/syntax.sgml
M src/backend/commands/view.c
M src/backend/parser/gram.y
M src/backend/parser/parse_utilcmd.c
M src/backend/rewrite/rewriteDefine.c
M src/backend/rewrite/rewriteHandler.c
M src/backend/rewrite/rewriteManip.c
M src/backend/utils/adt/ruleutils.c
M src/include/catalog/catversion.h
M src/include/parser/gramparse.h
M src/include/parser/kwlist.h
M src/interfaces/ecpg/preproc/ecpg.addons
M src/interfaces/ecpg/preproc/ecpg.header
M src/interfaces/ecpg/preproc/ecpg.trailer
M src/interfaces/ecpg/preproc/ecpg.type
M src/interfaces/ecpg/preproc/parse.pl

reenable -> re-enable

commit   : 45d7e04fce5c00b1242787bc0fc150f9ecaf029e    
  
author   : Peter Eisentraut <[email protected]>    
date     : Thu, 5 Nov 2009 20:13:06 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Thu, 5 Nov 2009 20:13:06 +0000    

Click here for diff

Pointed out by Debian's lintian.  

M src/backend/postmaster/syslogger.c

Remove plpgsql's RENAME declaration, which has bizarre and mostly nonfunctional behavior, and is so little used that no one has been interested in fixing it. To ensure that possible uses are covered, remove the ALIAS declaration's arbitrary restriction that only $n identifiers can be aliased.

commit   : c29ae527e90d7704ec85f69a3fe67996e654a6bd    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 5 Nov 2009 16:58:36 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 5 Nov 2009 16:58:36 +0000    

Click here for diff

(We could alternatively make RENAME act just like ALIAS, but per discussion  
having two different ways to do the same thing is probably more confusing than  
helpful.)  

M doc/src/sgml/plpgsql.sgml
M src/pl/plpgsql/src/gram.y
M src/pl/plpgsql/src/pl_funcs.c
M src/pl/plpgsql/src/plpgsql.h
M src/pl/plpgsql/src/scan.l
M src/test/regress/expected/plpgsql.out
M src/test/regress/sql/plpgsql.sql

Allow binary-coercible cases in ri_HashCompareOp; there are some such cases that are not handled by find_coercion_pathway, notably composite->RECORD. Now that 8.4 supports composites as primary keys, it's worth dealing with this case.

commit   : 8e792776997698bd1dcf6e1403ed994e3e739f16    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 5 Nov 2009 04:38:29 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 5 Nov 2009 04:38:29 +0000    

Click here for diff

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

Rename some encoding conversion modules to keep pathnames in our source tarballs under 100 characters. This should avoid failures with certain untarring tools (WinZip and Midnight Commander have been mentioned as likely suspects). Per my proposal of yesterday. catversion bumped since the initial contents of pg_proc change.

commit   : 6bef82b38a67b493fc82990e41946c1bd2ea1b03    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 4 Nov 2009 23:47:04 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 4 Nov 2009 23:47:04 +0000    

Click here for diff

M src/backend/utils/mb/conversion_procs/Makefile
R050 src/backend/utils/mb/conversion_procs/euc_jis_2004_and_shift_jis_2004/Makefile src/backend/utils/mb/conversion_procs/euc2004_sjis2004/Makefile
R098 src/backend/utils/mb/conversion_procs/euc_jis_2004_and_shift_jis_2004/euc_jis_2004_and_shift_jis_2004.c src/backend/utils/mb/conversion_procs/euc2004_sjis2004/euc2004_sjis2004.c
R066 src/backend/utils/mb/conversion_procs/utf8_and_euc_jis_2004/Makefile src/backend/utils/mb/conversion_procs/utf8_and_euc2004/Makefile
R096 src/backend/utils/mb/conversion_procs/utf8_and_euc_jis_2004/utf8_and_euc_jis_2004.c src/backend/utils/mb/conversion_procs/utf8_and_euc2004/utf8_and_euc2004.c
R065 src/backend/utils/mb/conversion_procs/utf8_and_shift_jis_2004/Makefile src/backend/utils/mb/conversion_procs/utf8_and_sjis2004/Makefile
R096 src/backend/utils/mb/conversion_procs/utf8_and_shift_jis_2004/utf8_and_shift_jis_2004.c src/backend/utils/mb/conversion_procs/utf8_and_sjis2004/utf8_and_sjis2004.c
M src/include/catalog/catversion.h

Make expression locations for LIKE and SIMILAR TO constructs uniformly point at the first keyword of the expression, rather than drawing a rather artificial distinction between the ESCAPE subclause and the rest. Per gripe from Gokulakannan Somasundaram and subsequent discusssion.

commit   : 9ab6c3033e1177d98f53a8f9f812c1428b2f8505    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 4 Nov 2009 23:15:08 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 4 Nov 2009 23:15:08 +0000    

Click here for diff

M src/backend/parser/gram.y

Add support for invoking parser callback hooks via SPI and in cached plans.

commit   : 9bedd128d6ed83798004b3c7ddc33f33703ccf23    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 4 Nov 2009 22:26:08 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 4 Nov 2009 22:26:08 +0000    

Click here for diff

As proof of concept, modify plpgsql to use the hooks.  plpgsql is still  
inserting $n symbols textually, but the "back end" of the parsing process now  
goes through the ParamRef hook instead of using a fixed parameter-type array,  
and then execution only fetches actually-referenced parameters, using a hook  
added to ParamListInfo.  
  
Although there's a lot left to be done in plpgsql, this already cures the  
"if (TG_OP = 'INSERT' and NEW.foo ...)"  problem, as illustrated by the  
changed regression test.  

M doc/src/sgml/spi.sgml
M src/backend/commands/explain.c
M src/backend/commands/prepare.c
M src/backend/executor/execCurrent.c
M src/backend/executor/execQual.c
M src/backend/executor/functions.c
M src/backend/executor/spi.c
M src/backend/nodes/params.c
M src/backend/tcop/postgres.c
M src/backend/utils/cache/plancache.c
M src/include/executor/spi.h
M src/include/executor/spi_priv.h
M src/include/nodes/params.h
M src/include/tcop/tcopprot.h
M src/include/utils/plancache.h
M src/pl/plpgsql/src/gram.y
M src/pl/plpgsql/src/pl_comp.c
M src/pl/plpgsql/src/pl_exec.c
M src/pl/plpgsql/src/pl_funcs.c
M src/pl/plpgsql/src/pl_handler.c
M src/pl/plpgsql/src/plpgsql.h
M src/test/regress/expected/plpgsql.out
M src/test/regress/sql/plpgsql.sql

Disable triggering failover with a signal in pg_standby on Windows, because Windows doesn't do signal processing like other platforms do. It never really worked, but recent changes to the signal handling made it crash.

commit   : 48912acc089a6148529f12ab0a75b1bf026f231d    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Wed, 4 Nov 2009 12:51:30 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Wed, 4 Nov 2009 12:51:30 +0000    

Click here for diff

This fixes bug #4961. Patch by Fujii Masao.  

M contrib/pg_standby/pg_standby.c

Allow rewriting ALTER TABLE to skip WAL logging.

commit   : 91ce16a9035120d41f28f54df28d03d75211287d    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Wed, 4 Nov 2009 12:24:23 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Wed, 4 Nov 2009 12:24:23 +0000    

Click here for diff

Itagaki Takahiro, with small changes by me and Simon.  

M src/backend/commands/tablecmds.c

Build bzip2 tarball in dist target as well

commit   : a4d03bbcdaf7739d7e9073ee76bb186f68ddc163    
  
author   : Peter Eisentraut <[email protected]>    
date     : Tue, 3 Nov 2009 21:28:10 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Tue, 3 Nov 2009 21:28:10 +0000    

Click here for diff

M GNUmakefile.in
M src/Makefile.global.in

Fix regression tests for psql \d view patch

commit   : 16cd34a4352cc61d52b0aa99a8ece0926d236b03    
  
author   : Peter Eisentraut <[email protected]>    
date     : Tue, 3 Nov 2009 14:52:10 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Tue, 3 Nov 2009 14:52:10 +0000    

Click here for diff

M src/test/regress/expected/polymorphism.out
M src/test/regress/sql/polymorphism.sql

Improve PL/Python elog output

commit   : 2e3b16c8ba22991c4c1e165cf02050ca89309c05    
  
author   : Peter Eisentraut <[email protected]>    
date     : Tue, 3 Nov 2009 11:05:03 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Tue, 3 Nov 2009 11:05:03 +0000    

Click here for diff

When the elog functions (plpy.info etc.) get a single argument, just print  
that argument instead of printing the single-member tuple like ('foo',).  

M src/pl/plpython/expected/plpython_import.out
M src/pl/plpython/expected/plpython_spi.out
M src/pl/plpython/expected/plpython_test.out
M src/pl/plpython/expected/plpython_trigger.out
M src/pl/plpython/plpython.c
M src/pl/plpython/sql/plpython_test.sql

In psql, show view definition only with \d+, not with \d

commit   : 2fe1b4dd651917aad2accac7ba8adb44d9f54930    
  
author   : Peter Eisentraut <[email protected]>    
date     : Tue, 3 Nov 2009 10:34:47 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Tue, 3 Nov 2009 10:34:47 +0000    

Click here for diff

The rationale is that view definitions tend to be long and obscure the  
main information about the view.  

M src/bin/psql/describe.c

Fix obscure segfault condition in PL/Python

commit   : 9e41114676aee46c1aec0212405ee95c131c157e    
  
author   : Peter Eisentraut <[email protected]>    
date     : Tue, 3 Nov 2009 09:35:18 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Tue, 3 Nov 2009 09:35:18 +0000    

Click here for diff

In PLy_output(), when the elog() call in the TRY branch throws an exception  
(this can happen when a statement timeout kicks in, for example), the  
PyErr_SetString() call in the CATCH branch can cause a segfault, because the  
Py_XDECREF(so) call before it releases memory that is still used by the sv  
variable that PyErr_SetString() uses as argument, because sv points into  
memory owned by so.  
  
Backpatched back to 8.0, where this code was introduced.  
  
I also threw in a couple of volatile declarations for variables that are used  
before and after the TRY.  I don't think they caused the crash that I  
observed, but they could become issues.  

M src/pl/plpython/plpython.c

Dept of second thoughts: after studying index_getnext() a bit more I realize that it can scribble on scan->xs_ctup.t_self while following HOT chains, so we can't rely on that to stay valid between hashgettuple() calls. Introduce a private variable in HashScanOpaque, instead.

commit   : 7d535ebe5bf95ca88891c0288fa1c6575498185e    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 1 Nov 2009 22:30:54 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 1 Nov 2009 22:30:54 +0000    

Click here for diff

M src/backend/access/hash/hash.c
M src/backend/access/hash/hashsearch.c
M src/include/access/hash.h

Fix two serious bugs introduced into hash indexes by the 8.4 patch that made hash indexes keep entries sorted by hash value. First, the original plans for concurrency assumed that insertions would happen only at the end of a page, which is no longer true; this could cause scans to transiently fail to find index entries in the presence of concurrent insertions. We can compensate by teaching scans to re-find their position after re-acquiring read locks. Second, neither the bucket split nor the bucket compaction logic had been fixed to preserve hashvalue ordering, so application of either of those processes could lead to permanent corruption of an index, in the sense that searches might fail to find entries that are present.

commit   : c4afdca4c26df63e4942ef300e544c7118c6af56    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 1 Nov 2009 21:25:25 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 1 Nov 2009 21:25:25 +0000    

Click here for diff

This patch fixes the split and compaction logic to preserve hashvalue  
ordering, but it cannot do anything about pre-existing corruption.  We will  
need to recommend reindexing all hash indexes in the 8.4.2 release notes.  
  
To buy back the performance loss hereby induced in split and compaction,  
fix them to use PageIndexMultiDelete instead of retail PageIndexDelete  
operations.  We might later want to do something with qsort'ing the  
page contents rather than doing a binary search for each insertion,  
but that seemed more invasive than I cared to risk in a back-patch.  
  
Per bug #5157 from Jeff Janes and subsequent investigation.  

M src/backend/access/hash/README
M src/backend/access/hash/hash.c
M src/backend/access/hash/hashinsert.c
M src/backend/access/hash/hashovfl.c
M src/backend/access/hash/hashpage.c
M src/include/access/hash.h

Ensure the previous Perl interpreter selection is restored upon exit from plperl_call_handler, in both the normal and error-exit paths. Per report from Alexey Klyukin.

commit   : ef59fa0453566ba13ca62d91d5c27050390c8dbb    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 31 Oct 2009 18:11:59 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 31 Oct 2009 18:11:59 +0000    

Click here for diff

M src/pl/plperl/plperl.c

Implement parser hooks for processing ColumnRef and ParamRef nodes, as per my recent proposal. As proof of concept, remove knowledge of Params from the core parser, arranging for them to be handled entirely by parser hook functions. It turns out we need an additional hook for that --- I had forgotten about the code that handles inferring a parameter's type from context.

commit   : fb5d05805b3f7658e47ad2c6a4631e497bb3f627    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 31 Oct 2009 01:41:31 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 31 Oct 2009 01:41:31 +0000    

Click here for diff

This is a preliminary step towards letting plpgsql handle its variables  
through parser hooks.  Additional work remains to be done to expose the  
facility through SPI, but I think this is all the changes needed in the core  
parser.  

M src/backend/catalog/namespace.c
M src/backend/parser/Makefile
M src/backend/parser/README
M src/backend/parser/analyze.c
M src/backend/parser/parse_coerce.c
M src/backend/parser/parse_expr.c
M src/backend/parser/parse_func.c
M src/backend/parser/parse_node.c
A src/backend/parser/parse_param.c
M src/backend/parser/parse_relation.c
M src/backend/parser/parse_target.c
M src/include/catalog/namespace.h
M src/include/parser/parse_node.h
A src/include/parser/parse_param.h
M src/include/parser/parse_relation.h

Make the overflow guards in ExecChooseHashTableSize be more protective. The original coding ensured nbuckets and nbatch didn't exceed INT_MAX, which while not insane on its own terms did nothing to protect subsequent code like "palloc(nbatch * sizeof(BufFile *))". Since enormous join size estimates might well be planner error rather than reality, it seems best to constrain the initial sizes to be not more than work_mem/sizeof(pointer), thus ensuring the allocated arrays don't exceed work_mem. We will allow nbatch to get bigger than that during subsequent ExecHashIncreaseNumBatches calls, but we should still guard against integer overflow in those palloc requests. Per bug #5145 from Bernt Marius Johnsen.

commit   : 8442317beb8fb6f180880a977c03ccae4304df25    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 30 Oct 2009 20:58:45 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 30 Oct 2009 20:58:45 +0000    

Click here for diff

Although the given test case only seems to fail back to 8.2, previous  
releases have variants of this issue, so patch all supported branches.  

M src/backend/executor/nodeHash.c

Remove some leftovers of split tarball support

commit   : 90412225d2e2c03ed91c707931941784a216760b    
  
author   : Peter Eisentraut <[email protected]>    
date     : Thu, 29 Oct 2009 21:57:17 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Thu, 29 Oct 2009 21:57:17 +0000    

Click here for diff

M GNUmakefile.in

Un-break EXPLAIN for Append plans. I messed this up a few days ago while adding the ModifyTable node type --- I had been thinking ModifyTable should replace Append as a special case in push_plan(), but actually both of them have to be special-cased.

commit   : 77c666fe422b99675ac285fecc0253fc4fe2bb7c    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 28 Oct 2009 18:51:56 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 28 Oct 2009 18:51:56 +0000    

Click here for diff

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

Fix \df to re-allow regexp special characters in the function name pattern. This has always worked, up until somebody's thinko here: http://archives.postgresql.org/pgsql-committers/2009-04/msg00233.php Per bug #5143 from Piotr Wolinski.

commit   : be6899f13941d42fe4ae2b71023241d22ecae8b8    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 28 Oct 2009 18:09:44 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 28 Oct 2009 18:09:44 +0000    

Click here for diff

M src/bin/psql/describe.c

Fix AcquireRewriteLocks to be sure that it acquires the right lock strength when FOR UPDATE is propagated down into a sub-select expanded from a view. Similar bug to parser's isLockedRel issue that I fixed yesterday; likewise seems not quite worth the effort to back-patch.

commit   : cbcd1701f12d133a04b8a104bff20738b2c29e4b    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 28 Oct 2009 17:36:50 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 28 Oct 2009 17:36:50 +0000    

Click here for diff

M src/backend/rewrite/rewriteHandler.c
M src/backend/utils/adt/ruleutils.c
M src/include/rewrite/rewriteHandler.h

When FOR UPDATE/SHARE is used with LIMIT, put the LockRows plan node underneath the Limit node, not atop it. This fixes the old problem that such a query might unexpectedly return fewer rows than the LIMIT says, due to LockRows discarding updated rows.

commit   : 46e3a16b050a23b924e5d8a75c8bb7068c26aa96    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 28 Oct 2009 14:55:47 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 28 Oct 2009 14:55:47 +0000    

Click here for diff

There is a related problem that LockRows might destroy the sort ordering  
produced by earlier steps; but fixing that by pushing LockRows below Sort  
would create serious performance problems that are unjustified in many  
real-world applications, as well as potential deadlock problems from locking  
many more rows than expected.  Instead, keep the present semantics of applying  
FOR UPDATE after ORDER BY within a single query level; but allow the user to  
specify the other way by writing FOR UPDATE in a sub-select.  To make that  
work, track whether FOR UPDATE appeared explicitly in sub-selects or got  
pushed down from the parent, and don't flatten a sub-select that contained an  
explicit FOR UPDATE.  

M doc/src/sgml/ref/select.sgml
M src/backend/nodes/copyfuncs.c
M src/backend/nodes/equalfuncs.c
M src/backend/nodes/outfuncs.c
M src/backend/nodes/readfuncs.c
M src/backend/optimizer/plan/planner.c
M src/backend/optimizer/prep/prepjointree.c
M src/backend/parser/analyze.c
M src/backend/rewrite/rewriteHandler.c
M src/backend/utils/adt/ruleutils.c
M src/include/catalog/catversion.h
M src/include/nodes/parsenodes.h
M src/include/parser/analyze.h

Fix AfterTriggerSaveEvent to use a test and elog, not just Assert, to check that it's called within an AfterTriggerBeginQuery/AfterTriggerEndQuery pair. The RI cascade triggers suppress that overhead on the assumption that they are always run non-deferred, so it's possible to violate the condition if someone mistakenly changes pg_trigger to mark such a trigger deferred. We don't really care about supporting that, but throwing an error instead of crashing seems desirable. Per report from Marcelo Costa.

commit   : 44956c52c5fef0b2bb541e959bd65910949eb15f    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 27 Oct 2009 20:14:27 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 27 Oct 2009 20:14:27 +0000    

Click here for diff

M src/backend/commands/trigger.c

Make FOR UPDATE/SHARE in the primary query not propagate into WITH queries; for example in WITH w AS (SELECT * FROM foo) SELECT * FROM w, bar ... FOR UPDATE the FOR UPDATE will now affect bar but not foo. This is more useful and consistent than the original 8.4 behavior, which tried to propagate FOR UPDATE into the WITH query but always failed due to assorted implementation restrictions. Even though we are in process of removing those restrictions, it seems correct on philosophical grounds to not let the outer query's FOR UPDATE affect the WITH query.

commit   : 61e532820824504aa92ad93c427722d3fa9c1632    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 27 Oct 2009 17:11:18 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 27 Oct 2009 17:11:18 +0000    

Click here for diff

In passing, fix isLockedRel which frequently got things wrong in  
nested-subquery cases: "FOR UPDATE OF foo" applies to an alias foo in the  
current query level, not subqueries.  This has been broken for a long time,  
but it doesn't seem worth back-patching further than 8.4 because the actual  
consequences are minimal.  At worst the parser would sometimes get  
RowShareLock on a relation when it should be AccessShareLock or vice versa.  
That would only make a difference if someone were using ExclusiveLock  
concurrently, which no standard operation does, and anyway FOR UPDATE  
doesn't result in visible changes so it's not clear that the someone would  
notice any problem.  Between that and the fact that FOR UPDATE barely works  
with subqueries at all in existing releases, I'm not excited about worrying  
about it.  

M doc/src/sgml/ref/select.sgml
M src/backend/parser/analyze.c
M src/backend/parser/parse_clause.c
M src/backend/parser/parse_cte.c
M src/backend/parser/parse_expr.c
M src/backend/parser/parse_relation.c
M src/backend/rewrite/rewriteHandler.c
M src/include/parser/analyze.h
M src/include/parser/parse_node.h
M src/include/parser/parse_relation.h

Fix documentation on the toast.fillfactor reloption: it doesn't exist.

commit   : b091b9769a75bbd35c01ea1c26ee13498e390661    
  
author   : Alvaro Herrera <[email protected]>    
date     : Tue, 27 Oct 2009 13:58:28 +0000    
  
committer: Alvaro Herrera <[email protected]>    
date     : Tue, 27 Oct 2009 13:58:28 +0000    

Click here for diff

Per note from Zoltan Boszormenyi.  

M doc/src/sgml/ref/create_table.sgml

Simplify a few makefile rules since install-sh can now install multiple files in one run.

commit   : f1c5247563020acf45bbf828cce681cd1f1b1ef2    
  
author   : Peter Eisentraut <[email protected]>    
date     : Mon, 26 Oct 2009 21:33:01 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Mon, 26 Oct 2009 21:33:01 +0000    

Click here for diff

M src/backend/tsearch/Makefile
M src/interfaces/ecpg/include/Makefile

Check errors in for loop

commit   : 3ceae4795b1ae6414b7a04c60ace049737cdb3d6    
  
author   : Peter Eisentraut <[email protected]>    
date     : Mon, 26 Oct 2009 21:11:22 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Mon, 26 Oct 2009 21:11:22 +0000    

Click here for diff

M src/test/regress/GNUmakefile

Fix range check in date_recv that tried to limit accepted values to only those accepted by date_in(). I confused julian day numbers and number of days since the postgres epoch 2000-01-01 in the original patch.

commit   : 2078e384a3ac148b48973c0d67bce90d5792fe3b    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Mon, 26 Oct 2009 16:13:11 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Mon, 26 Oct 2009 16:13:11 +0000    

Click here for diff

I just noticed that it's still easy to get such out-of-range values into  
the database using to_date or +- operators, but this patch doesn't do  
anything about those functions.  
  
Per report from James Pye.  

M src/backend/utils/adt/date.c
M src/include/utils/datetime.h

Re-implement EvalPlanQual processing to improve its performance and eliminate a lot of strange behaviors that occurred in join cases. We now identify the "current" row for every joined relation in UPDATE, DELETE, and SELECT FOR UPDATE/SHARE queries. If an EvalPlanQual recheck is necessary, we jam the appropriate row into each scan node in the rechecking plan, forcing it to emit only that one row. The former behavior could rescan the whole of each joined relation for each recheck, which was terrible for performance, and what's much worse could result in duplicated output tuples.

commit   : 9f2ee8f287098fb8067593b38da0650df458b20a    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 26 Oct 2009 02:26:45 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 26 Oct 2009 02:26:45 +0000    

Click here for diff

Also, the original implementation of EvalPlanQual could not re-use the recheck  
execution tree --- it had to go through a full executor init and shutdown for  
every row to be tested.  To avoid this overhead, I've associated a special  
runtime Param with each LockRows or ModifyTable plan node, and arranged to  
make every scan node below such a node depend on that Param.  Thus, by  
signaling a change in that Param, the EPQ machinery can just rescan the  
already-built test plan.  
  
This patch also adds a prohibition on set-returning functions in the  
targetlist of SELECT FOR UPDATE/SHARE.  This is needed to avoid the  
duplicate-output-tuple problem.  It seems fairly reasonable since the  
other restrictions on SELECT FOR UPDATE are meant to ensure that there  
is a unique correspondence between source tuples and result tuples,  
which an output SRF destroys as much as anything else does.  

M src/backend/commands/trigger.c
M src/backend/commands/vacuum.c
M src/backend/executor/README
M src/backend/executor/execCurrent.c
M src/backend/executor/execMain.c
M src/backend/executor/execQual.c
M src/backend/executor/execScan.c
M src/backend/executor/execUtils.c
M src/backend/executor/nodeBitmapHeapscan.c
M src/backend/executor/nodeCtescan.c
M src/backend/executor/nodeFunctionscan.c
M src/backend/executor/nodeIndexscan.c
M src/backend/executor/nodeLockRows.c
M src/backend/executor/nodeModifyTable.c
M src/backend/executor/nodeSeqscan.c
M src/backend/executor/nodeSubqueryscan.c
M src/backend/executor/nodeTidscan.c
M src/backend/executor/nodeValuesscan.c
M src/backend/executor/nodeWorktablescan.c
M src/backend/nodes/copyfuncs.c
M src/backend/nodes/equalfuncs.c
M src/backend/nodes/outfuncs.c
M src/backend/nodes/readfuncs.c
M src/backend/optimizer/path/allpaths.c
M src/backend/optimizer/plan/createplan.c
M src/backend/optimizer/plan/initsplan.c
M src/backend/optimizer/plan/planner.c
M src/backend/optimizer/plan/setrefs.c
M src/backend/optimizer/plan/subselect.c
M src/backend/optimizer/prep/prepjointree.c
M src/backend/optimizer/prep/preptlist.c
M src/backend/optimizer/prep/prepunion.c
M src/backend/parser/analyze.c
M src/backend/parser/parse_relation.c
M src/backend/rewrite/rewriteHandler.c
M src/backend/rewrite/rewriteManip.c
M src/backend/tcop/utility.c
M src/backend/utils/cache/plancache.c
M src/include/catalog/catversion.h
M src/include/commands/trigger.h
M src/include/executor/executor.h
M src/include/nodes/execnodes.h
M src/include/nodes/nodes.h
M src/include/nodes/parsenodes.h
M src/include/nodes/plannodes.h
M src/include/nodes/relation.h
M src/include/optimizer/planmain.h
M src/include/optimizer/prep.h
M src/include/optimizer/subselect.h
M src/include/parser/parsetree.h

When querying a table with child tables, do not check permissions on the child tables. This was found to be useless and confusing in virtually all cases, and also contrary to the SQL standard.

commit   : 76d8883c8e3647ac2f7ff3c48226a25b1fd7888b    
  
author   : Peter Eisentraut <[email protected]>    
date     : Fri, 23 Oct 2009 05:24:52 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Fri, 23 Oct 2009 05:24:52 +0000    

Click here for diff

M doc/src/sgml/ddl.sgml
M src/backend/optimizer/prep/prepunion.c
M src/test/regress/expected/privileges.out
M src/test/regress/sql/privileges.sql

Remove regex_flavor GUC, so that regular expressions are always "advanced" style by default. Per discussion, there seems to be hardly anything that really relies on being able to change the regex flavor, so the ability to select it via embedded options ought to be enough for any stragglers. Also, if we didn't remove the GUC, we'd really be morally obligated to mark the regex functions non-immutable, which'd possibly create performance issues.

commit   : ab61df9e527dcedbd3bbefbcb8b634b0b72f2ad5    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 21 Oct 2009 20:38:58 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 21 Oct 2009 20:38:58 +0000    

Click here for diff

M doc/src/sgml/config.sgml
M doc/src/sgml/func.sgml
M src/backend/utils/adt/regexp.c
M src/backend/utils/adt/selfuncs.c
M src/backend/utils/misc/guc.c
M src/backend/utils/misc/postgresql.conf.sample
M src/include/regex/regex.h
M src/include/utils/builtins.h
M src/test/regress/expected/guc.out
M src/test/regress/sql/guc.sql

Remove add_missing_from GUC and associated parser support for "implicit RTEs". Per recent discussion, add_missing_from has been deprecated for long enough to consider removing, and it's getting in the way of planned parser refactoring. The system now always behaves as though add_missing_from were OFF.

commit   : 289e2905c82fc37f8b82b088bb823742aad4bb68    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 21 Oct 2009 20:22:38 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 21 Oct 2009 20:22:38 +0000    

Click here for diff

M doc/src/sgml/config.sgml
M doc/src/sgml/queries.sgml
M doc/src/sgml/ref/select.sgml
M doc/src/sgml/ref/show.sgml
M src/backend/parser/parse_expr.c
M src/backend/parser/parse_relation.c
M src/backend/parser/parse_target.c
M src/backend/utils/misc/guc.c
M src/backend/utils/misc/postgresql.conf.sample
M src/include/parser/parse_node.h
M src/include/parser/parse_relation.h
M src/test/regress/expected/delete.out
M src/test/regress/expected/rowtypes.out
M src/test/regress/expected/update.out
M src/test/regress/sql/delete.sql
M src/test/regress/sql/rowtypes.sql
M src/test/regress/sql/update.sql

Finalize 8.5alpha2 release notes, with updates from Josh Berkus

commit   : e1c96527c78bb47e1530a0f12d4f54777ef84d90    
  
author   : Peter Eisentraut <[email protected]>    
date     : Wed, 21 Oct 2009 19:43:06 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Wed, 21 Oct 2009 19:43:06 +0000    

Click here for diff

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

Preliminary release notes for 8.5alpha2

commit   : 7bd93589c8f05de9414f3fe97457b8e8ebaec7ff    
  
author   : Peter Eisentraut <[email protected]>    
date     : Tue, 20 Oct 2009 19:52:58 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Tue, 20 Oct 2009 19:52:58 +0000    

Click here for diff

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

Translations update for 8.5alpha2

commit   : ef8df75e67ab0c8dfbad30b2e767c4a0346da04a    
  
author   : Peter Eisentraut <[email protected]>    
date     : Tue, 20 Oct 2009 18:23:27 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Tue, 20 Oct 2009 18:23:27 +0000    

Click here for diff

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

Update translation updating procedure. This pertains to some changes I made to automatically exclude translations below the 80% minimum.

commit   : b1e71e8f35dce338aeb22152ef58c9a13840d72e    
  
author   : Peter Eisentraut <[email protected]>    
date     : Tue, 20 Oct 2009 18:22:19 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Tue, 20 Oct 2009 18:22:19 +0000    

Click here for diff

M src/tools/RELEASE_CHANGES

Fix typo in previous release as reported by Itagaki Takahiro, but missed by me.

commit   : c7b5e851ebbbd389a96e6e67b92064b07a0f2f76    
  
author   : Magnus Hagander <[email protected]>    
date     : Sat, 17 Oct 2009 05:14:52 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Sat, 17 Oct 2009 05:14:52 +0000    

Click here for diff

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

Write to the Windows eventlog in UTF16, converting the message encoding as necessary.

commit   : 748771379b9463ee7454630b3cb3f3087b3157cb    
  
author   : Magnus Hagander <[email protected]>    
date     : Sat, 17 Oct 2009 00:24:51 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Sat, 17 Oct 2009 00:24:51 +0000    

Click here for diff

Itagaki Takahiro with some changes from me  

M src/backend/utils/error/elog.c
M src/backend/utils/mb/encnames.c
M src/backend/utils/mb/mbutils.c
M src/include/mb/pg_wchar.h

Rewrite pam_passwd_conv_proc to be more robust: avoid assuming that the pam_message array contains exactly one PAM_PROMPT_ECHO_OFF message. Instead, deal with however many messages there are, and don't throw error for PAM_ERROR_MSG and PAM_TEXT_INFO messages. This logic is borrowed from openssh 5.2p1, which hopefully has seen more real-world PAM usage than we have. Per bug #5121 from Ryan Douglas, which turned out to be caused by the conv_proc being called with zero messages. Apparently that is normal behavior given the combination of Linux pam_krb5 with MS Active Directory as the domain controller.

commit   : 76c09dbe8d01a6932de321b97307b488b0f47d25    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 16 Oct 2009 22:08:36 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 16 Oct 2009 22:08:36 +0000    

Click here for diff

Patch all the way back, since this code has been essentially untouched  
since 7.4.  (Surprising we've not heard complaints before.)  

M src/backend/libpq/auth.c

FREEZE and VERBOSE options were in wrong order in the VACUUM command that vacuumdb produces. Per report by Thom Brown.

commit   : c02350dc2c22918ce75dcc8966fecb469a6129a9    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Fri, 16 Oct 2009 10:38:25 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Fri, 16 Oct 2009 10:38:25 +0000    

Click here for diff

M src/bin/scripts/vacuumdb.c

First committed version of plpython_unicode_0.out did not actually contain the required \200 bytes. Let's see if this commit works, or if CVS is messing it up.

commit   : 198483a2e452a6467b79b8508fbce1cbec0b724b    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 15 Oct 2009 23:39:13 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 15 Oct 2009 23:39:13 +0000    

Click here for diff

M src/pl/plpython/expected/plpython_unicode_0.out

Made ECPG more robust against applications freeing strings, based on patch send in by Boszormenyi Zoltan <[email protected]>.

commit   : d9623859e8af4a0bf8e47970c544dcb4d27028ec    
  
author   : Michael Meskes <[email protected]>    
date     : Thu, 15 Oct 2009 10:20:15 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Thu, 15 Oct 2009 10:20:15 +0000    

Click here for diff

M src/interfaces/ecpg/ChangeLog
M src/interfaces/ecpg/ecpglib/prepare.c

Avoid using trivial usernames in foreign_data regression test.

commit   : 314288fc04047f7dab8b571a41bbc57e8c2d4394    
  
author   : Alvaro Herrera <[email protected]>    
date     : Wed, 14 Oct 2009 23:36:43 +0000    
  
committer: Alvaro Herrera <[email protected]>    
date     : Wed, 14 Oct 2009 23:36:43 +0000    

Click here for diff

Author: Martin Pihlak  

M src/test/regress/expected/foreign_data.out
M src/test/regress/sql/foreign_data.sql

Support SQL-compliant triggers on columns, ie fire only if certain columns are named in the UPDATE's SET list.

commit   : b2734a0d792df710aeeab21242cfa21ab470c773    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 14 Oct 2009 22:14:25 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 14 Oct 2009 22:14:25 +0000    

Click here for diff

Note: the schema of pg_trigger has not actually changed; we've just started  
to use a column that was there all along.  catversion bumped anyway so that  
this commit is included in the history of potentially interesting changes  
to system catalog contents.  
  
Itagaki Takahiro  

M doc/src/sgml/catalogs.sgml
M doc/src/sgml/ref/create_trigger.sgml
M doc/src/sgml/trigger.sgml
M src/backend/catalog/index.c
M src/backend/commands/tablecmds.c
M src/backend/commands/trigger.c
M src/backend/nodes/copyfuncs.c
M src/backend/nodes/equalfuncs.c
M src/backend/optimizer/plan/setrefs.c
M src/backend/parser/gram.y
M src/backend/utils/adt/ruleutils.c
M src/bin/pg_dump/pg_dump.c
M src/include/catalog/catversion.h
M src/include/catalog/pg_trigger.h
M src/include/nodes/parsenodes.h
M src/test/regress/expected/triggers.out
M src/test/regress/sql/triggers.sql

Rename the new MAX_AUTH_TOKEN_LENGTH #define to PG_MAX_AUTH_MAX_TOKEN_LENGTH, to make it more obvious that it's a PostgreSQL internal limit, not something that comes from system header files.

commit   : be922e8555a87263973a038c54171f2db833810d    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Wed, 14 Oct 2009 22:09:46 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Wed, 14 Oct 2009 22:09:46 +0000    

Click here for diff

M src/backend/libpq/auth.c

In the configure check for the Python distutils module, use a less obscure shell construct to hide away the stderr output. Python 3.1 actually core dumps on the current invocation (http://bugs.python.org/issue7111), but the new version also has the more general advantage of saving the error message in config.log for analysis.

commit   : de7ee9e2e9baad7d575ef4fd177f96f3a32678d8    
  
author   : Peter Eisentraut <[email protected]>    
date     : Wed, 14 Oct 2009 21:59:15 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Wed, 14 Oct 2009 21:59:15 +0000    

Click here for diff

M config/python.m4
M configure

Add alternative expected file for unicode test for client encoding not UTF8

commit   : ea2467d78bec32a8c423ef887aa56f80b5806bb1    
  
author   : Peter Eisentraut <[email protected]>    
date     : Wed, 14 Oct 2009 21:42:58 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Wed, 14 Oct 2009 21:42:58 +0000    

Click here for diff

M src/pl/plpython/expected/README
A src/pl/plpython/expected/plpython_unicode_0.out

Raise the maximum authentication token (Kerberos ticket) size in GSSAPI and SSPI athentication methods. While the old 2000 byte limit was more than enough for Unix Kerberos implementations, tickets issued by Windows Domain Controllers can be much larger.

commit   : e2a41957a4236f43ceeac08a6a05de7d4bb3a6a9    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Wed, 14 Oct 2009 07:27:13 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Wed, 14 Oct 2009 07:27:13 +0000    

Click here for diff

Ian Turner  

M src/backend/libpq/auth.c

Replace unmatched " by &quot; to avoid throwing off syntax highlighters.

commit   : 207b4da51d2da0b9ce6ea2b2a86e9de22df0d689    
  
author   : Peter Eisentraut <[email protected]>    
date     : Tue, 13 Oct 2009 22:46:13 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Tue, 13 Oct 2009 22:46:13 +0000    

Click here for diff

M doc/src/sgml/func.sgml

Add "\pset linestyle ascii/unicode" option to psql, allowing our traditional ASCII-art style of table output to be upgraded to use Unicode box drawing characters if desired. By default, psql will use the Unicode characters whenever client_encoding is UTF8.

commit   : 42ec8ad6286be046d86fc9f09bb4cdeefc395bfe    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 13 Oct 2009 21:04:01 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 13 Oct 2009 21:04:01 +0000    

Click here for diff

The patch forces linestyle=ascii in pg_regress usage, ensuring we don't  
break the regression tests in Unicode locales.  
  
Roger Leigh  

M doc/src/sgml/ref/psql-ref.sgml
M src/bin/psql/command.c
M src/bin/psql/mbprint.c
M src/bin/psql/mbprint.h
M src/bin/psql/print.c
M src/bin/psql/print.h
M src/bin/psql/tab-complete.c
M src/test/regress/pg_regress_main.c

Fix ts_stat's failure on empty tsvector. Also insert a couple of Asserts that check for stack overflow. Bogus coding appears to be new in 8.4 --- older releases had a much simpler algorithm here. Per bug #5111.

commit   : b14071164366e7efee9dc3a017eb7cb4cfac3428    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 13 Oct 2009 14:33:14 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 13 Oct 2009 14:33:14 +0000    

Click here for diff

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

Add new PGC_S_DATABASE_USER enum value to several places missed by my patch last week.

commit   : 201e5b282bd34379532e9c039e92c88966642951    
  
author   : Alvaro Herrera <[email protected]>    
date     : Tue, 13 Oct 2009 14:18:40 +0000    
  
committer: Alvaro Herrera <[email protected]>    
date     : Tue, 13 Oct 2009 14:18:40 +0000    

Click here for diff

Per note and patch from Jeff Davis.  

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

Code review for LIKE INCLUDING patch --- clean up some cosmetic and not so cosmetic stuff.

commit   : 8d54c2482b264ef621ec315f127a565ff4387042    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 13 Oct 2009 00:53:08 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 13 Oct 2009 00:53:08 +0000    

Click here for diff

M doc/src/sgml/ref/create_table.sgml
M src/backend/access/common/tupdesc.c
M src/backend/catalog/pg_constraint.c
M src/backend/commands/sequence.c
M src/backend/commands/tablecmds.c
M src/backend/commands/view.c
M src/backend/nodes/copyfuncs.c
M src/backend/nodes/equalfuncs.c
M src/backend/nodes/outfuncs.c
M src/backend/parser/parse_utilcmd.c
M src/include/nodes/parsenodes.h

Use plurals (TABLES, FUNCTIONS, etc) in ALTER DEFAULT PRIVILEGES. We have the keywords as a consequence of the GRANT ALL patch, so we might as well use them and make the ALTER commands read more naturally.

commit   : 5ec1341136941b538d07f54b2a6d7554857f8dc3    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 12 Oct 2009 23:41:45 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 12 Oct 2009 23:41:45 +0000    

Click here for diff

M doc/src/sgml/ref/alter_default_privileges.sgml
M src/backend/parser/gram.y
M src/bin/pg_dump/dumputils.c
M src/bin/pg_dump/pg_dump.c
M src/test/regress/expected/privileges.out
M src/test/regress/sql/privileges.sql

Support GRANT/REVOKE ON ALL TABLES/SEQUENCES/FUNCTIONS IN SCHEMA.

commit   : 11ca04b4b71dd5bebafc97eefe96614873158f87    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 12 Oct 2009 20:39:42 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 12 Oct 2009 20:39:42 +0000    

Click here for diff

Petr Jelinek  

M doc/src/sgml/ref/grant.sgml
M doc/src/sgml/ref/revoke.sgml
M src/backend/catalog/aclchk.c
M src/backend/nodes/copyfuncs.c
M src/backend/nodes/equalfuncs.c
M src/backend/parser/gram.y
M src/include/nodes/parsenodes.h
M src/include/parser/kwlist.h
M src/test/regress/expected/privileges.out
M src/test/regress/sql/privileges.sql

CREATE LIKE INCLUDING COMMENTS and STORAGE, and INCLUDING ALL shortcut. Itagaki Takahiro.

commit   : faa1afc6c16631424579548a6e2fafb130f834f4    
  
author   : Andrew Dunstan <[email protected]>    
date     : Mon, 12 Oct 2009 19:49:24 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Mon, 12 Oct 2009 19:49:24 +0000    

Click here for diff

M doc/src/sgml/ref/create_table.sgml
M src/backend/access/common/tupdesc.c
M src/backend/catalog/pg_constraint.c
M src/backend/commands/comment.c
M src/backend/commands/tablecmds.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/include/catalog/pg_constraint.h
M src/include/commands/comment.h
M src/include/nodes/parsenodes.h
M src/include/parser/kwlist.h
M src/test/regress/expected/inherit.out
M src/test/regress/sql/inherit.sql

Move the handling of SELECT FOR UPDATE locking and rechecking out of execMain.c and into a new plan node type LockRows. Like the recent change to put table updating into a ModifyTable plan node, this increases planning flexibility by allowing the operations to occur below the top level of the plan tree. It's necessary in any case to restore the previous behavior of having FOR UPDATE locking occur before ModifyTable does.

commit   : 0adaf4cb312fe3eff83e786d6a0b53ae2cdc9302    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 12 Oct 2009 18:10:51 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 12 Oct 2009 18:10:51 +0000    

Click here for diff

This partially refactors EvalPlanQual to allow multiple rows-under-test  
to be inserted into the EPQ machinery before starting an EPQ test query.  
That isn't sufficient to fix EPQ's general bogosity in the face of plans  
that return multiple rows per test row, though.  Since this patch is  
mostly about getting some plan node infrastructure in place and not about  
fixing ten-year-old bugs, I will leave EPQ improvements for another day.  
  
Another behavioral change that we could now think about is doing FOR UPDATE  
before LIMIT, but that too seems like it should be treated as a followon  
patch.  

M src/backend/commands/explain.c
M src/backend/executor/Makefile
M src/backend/executor/README
M src/backend/executor/execAmi.c
M src/backend/executor/execCurrent.c
M src/backend/executor/execMain.c
M src/backend/executor/execProcnode.c
M src/backend/executor/execUtils.c
A src/backend/executor/nodeLockRows.c
M src/backend/executor/nodeSubqueryscan.c
M src/backend/nodes/copyfuncs.c
M src/backend/nodes/equalfuncs.c
M src/backend/nodes/outfuncs.c
M src/backend/nodes/readfuncs.c
M src/backend/optimizer/path/allpaths.c
M src/backend/optimizer/plan/createplan.c
M src/backend/optimizer/plan/planner.c
M src/backend/optimizer/plan/setrefs.c
M src/backend/optimizer/plan/subselect.c
M src/backend/optimizer/prep/preptlist.c
M src/backend/optimizer/prep/prepunion.c
M src/backend/optimizer/util/relnode.c
M src/backend/parser/analyze.c
M src/include/catalog/catversion.h
M src/include/executor/executor.h
A src/include/executor/nodeLockRows.h
M src/include/nodes/execnodes.h
M src/include/nodes/nodes.h
M src/include/nodes/parsenodes.h
M src/include/nodes/plannodes.h
M src/include/nodes/relation.h
M src/include/optimizer/planmain.h

Improve similar_escape() in two different ways:

commit   : 05d249717d652f0b16960d8a58611e222f1f907b    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 10 Oct 2009 03:50:15 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 10 Oct 2009 03:50:15 +0000    

Click here for diff

* Stop escaping ? and {.  As of SQL:2008, SIMILAR TO is defined to have  
POSIX-compatible interpretation of ? as well as {m,n} and related constructs,  
so we should allow these things through to our regex engine.  
  
* Escape ^ and $.  It appears that our regex engine will treat ^^ at the  
beginning of the string the same as ^, and similarly for $$ at the end of  
the string, which meant that SIMILAR TO was effectively ignoring ^ at the  
start of the pattern and $ at the end.  Since these are not supposed to be  
metacharacters, this is a bug.  
  
The second part of this is arguably a back-patchable bug fix, but I'm  
hesitant to do that because it might break applications that are expecting  
something like "col SIMILAR TO '^foo$'" to work like a POSIX pattern.  
Seems safer to only change it at a major version boundary.  
  
Per discussion of an example from Doug Gorley.  

M doc/src/sgml/func.sgml
M src/backend/utils/adt/regexp.c

Split the processing of INSERT/UPDATE/DELETE operations out of execMain.c. They are now handled by a new plan node type called ModifyTable, which is placed at the top of the plan tree. In itself this change doesn't do much, except perhaps make the handling of RETURNING lists and inherited UPDATEs a tad less klugy. But it is necessary preparation for the intended extension of allowing RETURNING queries inside WITH.

commit   : 8a5849b7ff24c637a1140c26fc171e45c9142005    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 10 Oct 2009 01:43:50 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 10 Oct 2009 01:43:50 +0000    

Click here for diff

Marko Tiikkaja  

M doc/src/sgml/arch-dev.sgml
M src/backend/commands/explain.c
M src/backend/commands/trigger.c
M src/backend/executor/Makefile
M src/backend/executor/README
M src/backend/executor/execAmi.c
M src/backend/executor/execJunk.c
M src/backend/executor/execMain.c
M src/backend/executor/execProcnode.c
M src/backend/executor/nodeAppend.c
A src/backend/executor/nodeModifyTable.c
M src/backend/executor/spi.c
M src/backend/nodes/copyfuncs.c
M src/backend/nodes/outfuncs.c
M src/backend/optimizer/plan/createplan.c
M src/backend/optimizer/plan/planner.c
M src/backend/optimizer/plan/setrefs.c
M src/backend/optimizer/plan/subselect.c
M src/backend/optimizer/prep/prepunion.c
M src/backend/tcop/pquery.c
M src/backend/utils/adt/ruleutils.c
M src/backend/utils/cache/plancache.c
M src/include/commands/trigger.h
M src/include/executor/executor.h
A src/include/executor/nodeModifyTable.h
M src/include/nodes/execnodes.h
M src/include/nodes/nodes.h
M src/include/nodes/plannodes.h
M src/include/nodes/relation.h
M src/include/optimizer/planmain.h

Use pg_get_triggerdef in pg_dump

commit   : b865d2758255b767e30dc5f23c7c7d209e716f3b    
  
author   : Peter Eisentraut <[email protected]>    
date     : Fri, 9 Oct 2009 21:02:56 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Fri, 9 Oct 2009 21:02:56 +0000    

Click here for diff

Add a variant of pg_get_triggerdef with a second argument "pretty" that  
causes the output to be formatted in the way pg_dump used to do.  Use this  
variant in pg_dump with server versions >= 8.5.  
  
This insulates pg_dump from most future trigger feature additions, such as  
the upcoming column triggers patch.  
  
Author: Itagaki Takahiro <[email protected]>  

M doc/src/sgml/func.sgml
M src/backend/utils/adt/ruleutils.c
M src/bin/pg_dump/pg_dump.c
M src/bin/pg_dump/pg_dump.h
M src/include/catalog/catversion.h
M src/include/catalog/pg_proc.h
M src/include/utils/builtins.h

Remove very ancient tuple-counting infrastructure (IncrRetrieved() and friends). This code has all been ifdef'd out for many years, and doesn't seem to have any prospect of becoming any more useful in the future. EXPLAIN ANALYZE is what people use in practice, and I think if we did want process-wide counters we'd be more likely to put in dtrace events for that than try to resurrect this code. Get rid of it so as to have one less detail to worry about while refactoring execMain.c.

commit   : c970292a94e0fff468d500db430d751b6221a0b4    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 8 Oct 2009 22:34:57 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 8 Oct 2009 22:34:57 +0000    

Click here for diff

M src/backend/access/gist/gistget.c
M src/backend/access/hash/hashutil.c
M src/backend/access/nbtree/nbtutils.c
M src/backend/executor/execMain.c
M src/backend/executor/execQual.c
M src/backend/executor/execUtils.c
M src/backend/tcop/postgres.c
M src/include/executor/execdebug.h

Add the new psql command \drds to the psql docs, help and tab completion.

commit   : 474f825574db680ce638fce9b92254ff35fbc8fd    
  
author   : Alvaro Herrera <[email protected]>    
date     : Thu, 8 Oct 2009 16:34:01 +0000    
  
committer: Alvaro Herrera <[email protected]>    
date     : Thu, 8 Oct 2009 16:34:01 +0000    

Click here for diff

I also thank Bernd Helmle for the documentation help on the previous settings  
patch, which I forgot on the commit message.  

M doc/src/sgml/ref/psql-ref.sgml
M src/bin/psql/help.c
M src/bin/psql/tab-complete.c

Fix off-by-one bug in bitncmp(): When comparing a number of bits divisible by 8, bitncmp() may dereference a pointer one byte out of bounds.

commit   : eab94d8182691aa64126736c546d7c5215187d79    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Thu, 8 Oct 2009 04:46:21 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Thu, 8 Oct 2009 04:46:21 +0000    

Click here for diff

Chris Mikkelson (bug #5101)  

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

Update plhandler.sgml to describe validators and inline handlers for procedural languages.

commit   : 822b0159cc4a4411bb8d2829f7328b7c52fef2f2    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 8 Oct 2009 04:41:07 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 8 Oct 2009 04:41:07 +0000    

Click here for diff

M doc/src/sgml/plhandler.sgml
M doc/src/sgml/ref/create_language.sgml

Support use of function argument names to identify which actual arguments match which function parameters. The syntax uses AS, for example funcname(value AS arg1, anothervalue AS arg2)

commit   : 717fa274d14d9cd25396b85bb92f567e1c623f0c    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 8 Oct 2009 02:39:25 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 8 Oct 2009 02:39:25 +0000    

Click here for diff

Pavel Stehule  

M doc/src/sgml/ref/create_function.sgml
M doc/src/sgml/sources.sgml
M doc/src/sgml/syntax.sgml
M doc/src/sgml/xfunc.sgml
M src/backend/catalog/namespace.c
M src/backend/catalog/pg_aggregate.c
M src/backend/catalog/pg_proc.c
M src/backend/commands/aggregatecmds.c
M src/backend/commands/functioncmds.c
M src/backend/commands/tsearchcmds.c
M src/backend/commands/typecmds.c
M src/backend/nodes/copyfuncs.c
M src/backend/nodes/equalfuncs.c
M src/backend/nodes/nodeFuncs.c
M src/backend/nodes/outfuncs.c
M src/backend/nodes/readfuncs.c
M src/backend/optimizer/plan/planner.c
M src/backend/optimizer/util/clauses.c
M src/backend/parser/gram.y
M src/backend/parser/parse_expr.c
M src/backend/parser/parse_func.c
M src/backend/utils/adt/regproc.c
M src/backend/utils/adt/ruleutils.c
M src/backend/utils/fmgr/funcapi.c
M src/include/catalog/catversion.h
M src/include/catalog/namespace.h
M src/include/funcapi.h
M src/include/nodes/nodes.h
M src/include/nodes/primnodes.h
M src/include/parser/parse_func.h
M src/test/regress/expected/polymorphism.out
M src/test/regress/expected/rangefuncs.out
M src/test/regress/sql/polymorphism.sql
M src/test/regress/sql/rangefuncs.sql

Make it possibly to specify GUC params per user and per database.

commit   : 2eda8dfb52ed9962920282d8384da8bb4c22514d    
  
author   : Alvaro Herrera <[email protected]>    
date     : Wed, 7 Oct 2009 22:14:26 +0000    
  
committer: Alvaro Herrera <[email protected]>    
date     : Wed, 7 Oct 2009 22:14:26 +0000    

Click here for diff

Create a new catalog pg_db_role_setting where they are now stored, and better  
encapsulate the code that deals with settings into its realm.  The old  
datconfig and rolconfig columns are removed.  
  
psql has gained a \drds command to display the settings.  
  
Backwards compatibility warning: while the backwards-compatible system views  
still have the config columns, they no longer completely represent the  
configuration for a user or database.  
  
Catalog version bumped.  

M doc/src/sgml/catalogs.sgml
M doc/src/sgml/ref/alter_role.sgml
M src/backend/catalog/Makefile
M src/backend/catalog/catalog.c
A src/backend/catalog/pg_db_role_setting.c
M src/backend/catalog/pg_shdepend.c
M src/backend/catalog/system_views.sql
M src/backend/commands/dbcommands.c
M src/backend/commands/user.c
M src/backend/nodes/copyfuncs.c
M src/backend/nodes/equalfuncs.c
M src/backend/parser/gram.y
M src/backend/utils/init/miscinit.c
M src/backend/utils/init/postinit.c
M src/bin/pg_dump/dumputils.c
M src/bin/pg_dump/dumputils.h
M src/bin/pg_dump/pg_dumpall.c
M src/bin/psql/command.c
M src/bin/psql/describe.c
M src/bin/psql/describe.h
M src/include/catalog/catversion.h
M src/include/catalog/dependency.h
M src/include/catalog/indexing.h
M src/include/catalog/pg_attribute.h
M src/include/catalog/pg_authid.h
M src/include/catalog/pg_database.h
A src/include/catalog/pg_db_role_setting.h
M src/include/catalog/toasting.h
M src/include/nodes/parsenodes.h
M src/include/utils/guc.h
M src/test/regress/expected/rules.out
M src/test/regress/expected/sanity_check.out

Fix snapshot management, take two.

commit   : 07cefdfb7a1c1a7ae96783c9723102250a4c3bad    
  
author   : Alvaro Herrera <[email protected]>    
date     : Wed, 7 Oct 2009 16:27:18 +0000    
  
committer: Alvaro Herrera <[email protected]>    
date     : Wed, 7 Oct 2009 16:27:18 +0000    

Click here for diff

Partially revert the previous patch I installed and replace it with a more  
general fix: any time a snapshot is pushed as Active, we need to ensure that it  
will not be modified in the future.  This means that if the same snapshot is  
used as CurrentSnapshot, it needs to be copied separately.  This affects  
serializable transactions only, because CurrentSnapshot has already been copied  
by RegisterSnapshot and so PushActiveSnapshot does not think it needs another  
copy.  However, CommandCounterIncrement would modify CurrentSnapshot, whereas  
ActiveSnapshots must not have their command counters incremented.  
  
I say "partially" because the regression test I added for the previous bug  
has been kept.  
  
(This restores 8.3 behavior, because before snapmgr.c existed, any snapshot set  
as Active was copied.)  
  
Per bug report from Stuart Bishop in  
[email protected]  

M src/backend/commands/portalcmds.c
M src/backend/utils/time/snapmgr.c
M src/include/utils/snapmgr.h
M src/test/regress/expected/triggers.out
M src/test/regress/sql/triggers.sql

Clean up the clean rules of the documentation

commit   : 603e72b0bea008edba86f8d366b675992e0bcf90    
  
author   : Peter Eisentraut <[email protected]>    
date     : Tue, 6 Oct 2009 20:00:44 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Tue, 6 Oct 2009 20:00:44 +0000    

Click here for diff

Most things should be cleaned by "make clean", except the parts that are  
shipped in the tarball.  These rules had gotten a bit out of whack after  
the various restructurings of the documentation build rules.  

M doc/src/sgml/Makefile

Change CREATE TABLE so that column default expressions coming from different inheritance parent tables are compared using equal(), instead of doing strcmp() on the nodeToString representation. The old implementation was always a tad cheesy, and it finally fails completely as of 8.4, now that the node tree might contain syntax location information. equal() knows it's supposed to ignore those fields, but strcmp() hardly can. Per recent report from Scott Ribe.

commit   : e0c433c4a34efa6ec2ca216d201cf5dfd8515a36    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 6 Oct 2009 00:55:26 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 6 Oct 2009 00:55:26 +0000    

Click here for diff

M src/backend/commands/tablecmds.c
M src/backend/nodes/copyfuncs.c
M src/backend/nodes/equalfuncs.c
M src/backend/nodes/outfuncs.c
M src/backend/parser/parse_utilcmd.c
M src/include/nodes/parsenodes.h
M src/test/regress/expected/inherit.out
M src/test/regress/sql/inherit.sql

Really unbreak maintainer-clean.

commit   : 051168b6ac7429e2d9405e2b15998c3568d666e8    
  
author   : Alvaro Herrera <[email protected]>    
date     : Tue, 6 Oct 2009 00:54:26 +0000    
  
committer: Alvaro Herrera <[email protected]>    
date     : Tue, 6 Oct 2009 00:54:26 +0000    

Click here for diff

(Or rather, unbreak what the previous commit broke)  

M doc/src/sgml/Makefile

Unbreak doc/src/sgml maintainer-clean rule on VPATH builds.

commit   : 1cb4d22e18795bd0590a398e56fa438498cc7f19    
  
author   : Alvaro Herrera <[email protected]>    
date     : Mon, 5 Oct 2009 23:58:49 +0000    
  
committer: Alvaro Herrera <[email protected]>    
date     : Mon, 5 Oct 2009 23:58:49 +0000    

Click here for diff

M doc/src/sgml/Makefile

Create an ALTER DEFAULT PRIVILEGES command, which allows users to adjust the privileges that will be applied to subsequently-created objects.

commit   : 249724cb014bd341cf51a8c4284fca9767a556d1    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 5 Oct 2009 19:24:49 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 5 Oct 2009 19:24:49 +0000    

Click here for diff

Such adjustments are always per owning role, and can be restricted to objects  
created in particular schemas too.  A notable benefit is that users can  
override the traditional default privilege settings, eg, the PUBLIC EXECUTE  
privilege traditionally granted by default for functions.  
  
Petr Jelinek  

M doc/src/sgml/catalogs.sgml
M doc/src/sgml/ref/allfiles.sgml
A doc/src/sgml/ref/alter_default_privileges.sgml
M doc/src/sgml/ref/grant.sgml
M doc/src/sgml/ref/psql-ref.sgml
M doc/src/sgml/reference.sgml
M src/backend/bootstrap/bootparse.y
M src/backend/catalog/Makefile
M src/backend/catalog/aclchk.c
M src/backend/catalog/dependency.c
M src/backend/catalog/heap.c
M src/backend/catalog/index.c
M src/backend/catalog/pg_proc.c
M src/backend/catalog/pg_shdepend.c
M src/backend/catalog/toasting.c
M src/backend/commands/cluster.c
M src/backend/commands/tablecmds.c
M src/backend/executor/execMain.c
M src/backend/nodes/copyfuncs.c
M src/backend/nodes/equalfuncs.c
M src/backend/parser/gram.y
M src/backend/tcop/utility.c
M src/backend/utils/adt/acl.c
M src/backend/utils/cache/syscache.c
M src/bin/pg_dump/common.c
M src/bin/pg_dump/dumputils.c
M src/bin/pg_dump/dumputils.h
M src/bin/pg_dump/pg_backup_archiver.c
M src/bin/pg_dump/pg_dump.c
M src/bin/pg_dump/pg_dump.h
M src/bin/pg_dump/pg_dump_sort.c
M src/bin/pg_dump/pg_dumpall.c
M src/bin/psql/command.c
M src/bin/psql/describe.c
M src/bin/psql/describe.h
M src/bin/psql/help.c
M src/include/catalog/catversion.h
M src/include/catalog/dependency.h
M src/include/catalog/heap.h
M src/include/catalog/indexing.h
A src/include/catalog/pg_default_acl.h
M src/include/nodes/nodes.h
M src/include/nodes/parsenodes.h
M src/include/utils/acl.h
M src/include/utils/syscache.h
M src/test/regress/expected/privileges.out
M src/test/regress/expected/sanity_check.out
M src/test/regress/sql/privileges.sql

Document the purpose of the GUC listen_addresses.

commit   : 41f89e3bbc3138d82fe26084236f9687414091e4    
  
author   : Bruce Momjian <[email protected]>    
date     : Sat, 3 Oct 2009 23:10:47 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sat, 3 Oct 2009 23:10:47 +0000    

Click here for diff

M doc/src/sgml/config.sgml

Fix assorted memory leaks in pg_hba.conf parsing. Over a sufficiently large number of SIGHUP cycles, these would have run the postmaster out of memory. Noted while testing memory-leak scenario in postgresql.conf configuration-change-printing patch.

commit   : 35a173ab335a2a1842b5d81f58cb9f0f10a22aff    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 3 Oct 2009 20:04:39 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 3 Oct 2009 20:04:39 +0000    

Click here for diff

M src/backend/libpq/hba.c

Fix a couple of issues in recent patch to print updates to postgresql.conf settings: avoid calling superuser() in contexts where it's not defined, don't leak the transient copies of GetConfigOption output, and avoid the whole exercise in postmaster child processes.

commit   : 54d60bbd075a61c7dd2ef384dc930d726d68ee64    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 3 Oct 2009 18:04:57 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 3 Oct 2009 18:04:57 +0000    

Click here for diff

I found that actually no current caller of GetConfigOption has any use for  
its internal check of GUC_SUPERUSER_ONLY.  But rather than just remove  
that entirely, it seemed better to add a parameter indicating whether to  
enforce the check.  
  
Per report from Simon and subsequent testing.  

M src/backend/utils/misc/guc-file.l
M src/backend/utils/misc/guc.c
M src/include/utils/guc.h
M src/timezone/pgtz.c

Fix an oversight in an 8.3-era patch: pgstat_initstats should allow stats to be collected for sequences.

commit   : 66a8417f4e595fe72bf610f58fa013823f00cb47    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 2 Oct 2009 22:49:50 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 2 Oct 2009 22:49:50 +0000    

Click here for diff

Report and fix by Akira Kurosawa  

M src/backend/postmaster/pgstat.c

Make sure that GIN fast-insert and regular code paths enforce the same tuple size limit. Improve the error message for index-tuple-too-large so that it includes the actual size, the limit, and the index name. Sync with the btree occurrences of the same error.

commit   : e66d714386cd3040b328d6a894802d01dd1d395d    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 2 Oct 2009 21:14:04 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 2 Oct 2009 21:14:04 +0000    

Click here for diff

Back-patch to 8.4 because it appears that the out-of-sync problem  
is occurring in the field.  
  
Teodor and Tom  

M src/backend/access/gin/ginentrypage.c
M src/backend/access/gin/ginfast.c
M src/backend/access/gin/gininsert.c
M src/backend/access/gin/ginvacuum.c
M src/backend/access/nbtree/nbtinsert.c
M src/backend/access/nbtree/nbtsort.c
M src/include/access/gin.h

Fix erroneous handling of shared dependencies (ie dependencies on roles) in CREATE OR REPLACE FUNCTION. The original code would update pg_shdepend as if a new function was being created, even if it wasn't, with two bad consequences: pg_shdepend might record the wrong owner for the function, and any dependencies for roles mentioned in the function's ACL would be lost. The fix is very easy: just don't touch pg_shdepend at all when doing a function replacement.

commit   : d691cb91415542e398aa6ad015ea6a5eab53ab0d    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 2 Oct 2009 18:13:04 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 2 Oct 2009 18:13:04 +0000    

Click here for diff

Also update the CREATE FUNCTION reference page, which never explained  
exactly what changes and doesn't change in a function replacement.  
In passing, fix the CREATE VIEW reference page similarly; there's no  
code bug there, but the docs didn't say what happens.  

M doc/src/sgml/ref/create_function.sgml
M doc/src/sgml/ref/create_view.sgml
M src/backend/catalog/pg_proc.c

Ensure that a cursor has an immutable snapshot throughout its lifespan.

commit   : caa4cfa3697472a6673eb817eb34681684cba14f    
  
author   : Alvaro Herrera <[email protected]>    
date     : Fri, 2 Oct 2009 17:57:30 +0000    
  
committer: Alvaro Herrera <[email protected]>    
date     : Fri, 2 Oct 2009 17:57:30 +0000    

Click here for diff

The old coding was using a regular snapshot, referenced elsewhere, that was  
subject to having its command counter updated.  Fix by creating a private copy  
of the snapshot exclusively for the cursor.  
  
Backpatch to 8.4, which is when the bug was introduced during the snapshot  
management rewrite.  

M src/backend/commands/portalcmds.c
M src/backend/executor/spi.c
M src/backend/utils/time/snapmgr.c
M src/include/utils/snapmgr.h
M src/test/regress/expected/portals.out
M src/test/regress/sql/portals.sql

Applied patch by Boszormenyi Zoltan <[email protected]> to fix memory leak in decimal handling.

commit   : fabf75cffc34b187aba57b0d3a086ebec586d016    
  
author   : Michael Meskes <[email protected]>    
date     : Thu, 1 Oct 2009 18:03:54 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Thu, 1 Oct 2009 18:03:54 +0000    

Click here for diff

M src/interfaces/ecpg/ChangeLog
M src/interfaces/ecpg/compatlib/informix.c
M src/interfaces/ecpg/ecpglib/data.c

Support "samehost" and "samenet" specifications in pg_hba.conf, by enumerating the machine's IP interfaces to look for a match.

commit   : f3aec2c7f51904e7920cd27115fdab831795d96b    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 1 Oct 2009 01:58:58 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 1 Oct 2009 01:58:58 +0000    

Click here for diff

Stef Walter  

M configure
M configure.in
M doc/src/sgml/client-auth.sgml
M src/backend/libpq/hba.c
M src/backend/libpq/ip.c
M src/backend/libpq/pg_hba.conf.sample
M src/include/libpq/hba.h
M src/include/libpq/ip.h
M src/include/pg_config.h.in
A src/tools/ifaddrs/Makefile
A src/tools/ifaddrs/README
A src/tools/ifaddrs/test_ifaddrs.c
M src/tools/msvc/Mkvcbuild.pm

Fix bogus Assert, per buildfarm results.

commit   : f7082f269eb2ee5347ddd411602a870866d783d2    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 30 Sep 2009 21:26:17 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 30 Sep 2009 21:26:17 +0000    

Click here for diff

M contrib/hstore/hstore_op.c

Assorted improvements in contrib/hstore.

commit   : 172eacba43417c31e5eb61a5ae7a6aaca7a25928    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 30 Sep 2009 19:50:22 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 30 Sep 2009 19:50:22 +0000    

Click here for diff

Remove the 64K limit on the lengths of keys and values within an hstore.  
(This changes the on-disk format, but the old format can still be read.)  
Add support for btree/hash opclasses for hstore --- this is not so much  
for actual indexing purposes as to allow use of GROUP BY, DISTINCT, etc.  
Add various other new functions and operators.  
  
Andrew Gierth  

M contrib/hstore/Makefile
M contrib/hstore/expected/hstore.out
M contrib/hstore/hstore.h
M contrib/hstore/hstore.sql.in
A contrib/hstore/hstore_compat.c
M contrib/hstore/hstore_gin.c
M contrib/hstore/hstore_gist.c
M contrib/hstore/hstore_io.c
M contrib/hstore/hstore_op.c
M contrib/hstore/sql/hstore.sql
M contrib/hstore/uninstall_hstore.sql
M doc/src/sgml/hstore.sgml

commit   : 1d43e5314e30bbd10f51e4c740ab4814775375b0    
  
author   : Peter Eisentraut <[email protected]>    
date     : Tue, 29 Sep 2009 20:25:01 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Tue, 29 Sep 2009 20:25:01 +0000    

Click here for diff

based on an idea by Richard Huxton  

M doc/src/sgml/stylesheet.dsl

Allow MOVE FORWARD n, MOVE BACKWARD n, MOVE FORWARD ALL, MOVE BACKWARD ALL in plpgsql. Clean up a couple of corner cases in the MOVE/FETCH syntax.

commit   : 960d7ff02266b3e11684470d140ed26957aece5f    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 29 Sep 2009 20:05:29 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 29 Sep 2009 20:05:29 +0000    

Click here for diff

Pavel Stehule  

M doc/src/sgml/plpgsql.sgml
M src/pl/plpgsql/src/gram.y
M src/pl/plpgsql/src/pl_funcs.c
M src/pl/plpgsql/src/plpgsql.h
M src/pl/plpgsql/src/scan.l
M src/test/regress/expected/plpgsql.out
M src/test/regress/sql/plpgsql.sql

Fix equivclass.c's not-quite-right strategy for handling X=X clauses.

commit   : 25549edb268d5d02de16ce2cab33fee24c6d0873    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 29 Sep 2009 01:20:34 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 29 Sep 2009 01:20:34 +0000    

Click here for diff

The original coding correctly noted that these aren't just redundancies  
(they're effectively X IS NOT NULL, assuming = is strict).  However, they  
got treated that way if X happened to be in a single-member EquivalenceClass  
already, which could happen if there was an ORDER BY X clause, for instance.  
The simplest and most reliable solution seems to be to not try to process  
such clauses through the EquivalenceClass machinery; just throw them back  
for traditional processing.  The amount of work that'd be needed to be  
smarter than that seems out of proportion to the benefit.  
  
Per bug #5084 from Bernt Marius Johnsen, and analysis by Andrew Gierth.  

M src/backend/optimizer/README
M src/backend/optimizer/path/equivclass.c
M src/test/regress/expected/select.out
M src/test/regress/sql/select.sql

Convert a perl array to a postgres array when returned by Set Returning Functions as well as non SRFs. Backpatch to 8.1 where these facilities were introduced. with a little help from Abhijit Menon-Sen.

commit   : 176c3c8db95ee373c0fca412e395eb6a2499e660    
  
author   : Andrew Dunstan <[email protected]>    
date     : Mon, 28 Sep 2009 17:31:12 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Mon, 28 Sep 2009 17:31:12 +0000    

Click here for diff

M src/pl/plperl/plperl.c

Added some explanation about how the parser is generated, taken from an email by Zoltan Boszormenyi <[email protected]>.

commit   : 2ad57ee276e4a32124c7c94c347d18f420856855    
  
author   : Michael Meskes <[email protected]>    
date     : Mon, 28 Sep 2009 08:50:57 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Mon, 28 Sep 2009 08:50:57 +0000    

Click here for diff

A src/interfaces/ecpg/preproc/README.parser

Remove no-longer-needed ExecCountSlots infrastructure.

commit   : 421d7d8edb1bef2c354fe27f2ef4c4e8b6c1faf7    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 27 Sep 2009 21:10:53 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 27 Sep 2009 21:10:53 +0000    

Click here for diff

M src/backend/executor/execProcnode.c
M src/backend/executor/nodeAgg.c
M src/backend/executor/nodeAppend.c
M src/backend/executor/nodeBitmapAnd.c
M src/backend/executor/nodeBitmapHeapscan.c
M src/backend/executor/nodeBitmapIndexscan.c
M src/backend/executor/nodeBitmapOr.c
M src/backend/executor/nodeCtescan.c
M src/backend/executor/nodeFunctionscan.c
M src/backend/executor/nodeGroup.c
M src/backend/executor/nodeHash.c
M src/backend/executor/nodeHashjoin.c
M src/backend/executor/nodeIndexscan.c
M src/backend/executor/nodeLimit.c
M src/backend/executor/nodeMaterial.c
M src/backend/executor/nodeMergejoin.c
M src/backend/executor/nodeNestloop.c
M src/backend/executor/nodeRecursiveunion.c
M src/backend/executor/nodeResult.c
M src/backend/executor/nodeSeqscan.c
M src/backend/executor/nodeSetOp.c
M src/backend/executor/nodeSort.c
M src/backend/executor/nodeSubqueryscan.c
M src/backend/executor/nodeTidscan.c
M src/backend/executor/nodeUnique.c
M src/backend/executor/nodeValuesscan.c
M src/backend/executor/nodeWindowAgg.c
M src/backend/executor/nodeWorktablescan.c
M src/include/executor/executor.h
M src/include/executor/nodeAgg.h
M src/include/executor/nodeAppend.h
M src/include/executor/nodeBitmapAnd.h
M src/include/executor/nodeBitmapHeapscan.h
M src/include/executor/nodeBitmapIndexscan.h
M src/include/executor/nodeBitmapOr.h
M src/include/executor/nodeCtescan.h
M src/include/executor/nodeFunctionscan.h
M src/include/executor/nodeGroup.h
M src/include/executor/nodeHash.h
M src/include/executor/nodeHashjoin.h
M src/include/executor/nodeIndexscan.h
M src/include/executor/nodeLimit.h
M src/include/executor/nodeMaterial.h
M src/include/executor/nodeMergejoin.h
M src/include/executor/nodeNestloop.h
M src/include/executor/nodeRecursiveunion.h
M src/include/executor/nodeResult.h
M src/include/executor/nodeSeqscan.h
M src/include/executor/nodeSetOp.h
M src/include/executor/nodeSort.h
M src/include/executor/nodeSubqueryscan.h
M src/include/executor/nodeTidscan.h
M src/include/executor/nodeUnique.h
M src/include/executor/nodeValuesscan.h
M src/include/executor/nodeWindowAgg.h
M src/include/executor/nodeWorktablescan.h

Replace the array-style TupleTable data structure with a simple List of TupleTableSlot nodes. This eliminates the need to count in advance how many Slots will be needed, which seems more than worth the small increase in the amount of palloc traffic during executor startup.

commit   : f92e8a4b5ee6a22252cbba012d629f5cefef913f    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 27 Sep 2009 20:09:58 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 27 Sep 2009 20:09:58 +0000    

Click here for diff

The ExecCountSlots infrastructure is now all dead code, but I'll remove it  
in a separate commit for clarity.  
  
Per a comment from Robert Haas.  

M src/backend/executor/execMain.c
M src/backend/executor/execTuples.c
M src/backend/executor/execUtils.c
M src/backend/executor/nodeSubplan.c
M src/include/executor/tuptable.h
M src/include/nodes/execnodes.h

Make libpq reject non-numeric and out-of-range port numbers with a suitable error message, rather than blundering on and failing with something opaque.

commit   : 61be11ff088c1e2b22c7e2af6f93ccdc286dba01    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 27 Sep 2009 03:43:10 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 27 Sep 2009 03:43:10 +0000    

Click here for diff

Sam Mason  

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

Sync psql's scanner with recent changes in backend scanner's flex rules. Marko Kreen, Tom Lane

commit   : 799ac992014374c23a1fc437f4fd9aa413be4920    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 27 Sep 2009 03:27:24 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 27 Sep 2009 03:27:24 +0000    

Click here for diff

M src/backend/parser/scan.l
M src/bin/psql/psqlscan.l

Ooops, fix to Genbki.pm for ROWTYPE_OID wasn't quite right. Also, make a few spacing tweaks so it produces exactly the same output as genbki.sh.

commit   : 3686bcb9c9891d7b6404711ed8d91a3e01ddb8aa    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 27 Sep 2009 02:14:04 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 27 Sep 2009 02:14:04 +0000    

Click here for diff

M src/tools/msvc/Genbki.pm

Simplify the bootstrap (BKI) code by getting rid of a useless table of all the strings seen during the bootstrap run. There might have been some actual point to doing that, many years ago, but as far as I can see the only value now is to conserve a bit of memory. Even if we cared about wasting a megabyte or so during the initdb run, it'd be far more effective to arrange to release memory at the end of each BKI command, instead of intentionally hanging onto strings that might never be used again. Not maintaining the table probably makes it faster too; but the main point of this patch is to get rid of a couple hundred lines of unnecessary and rather crufty code.

commit   : 12d8fae4cd2c460a281c946c49629da1136ead08    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 27 Sep 2009 01:32:11 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 27 Sep 2009 01:32:11 +0000    

Click here for diff

M src/backend/bootstrap/bootparse.y
M src/backend/bootstrap/bootscanner.l
M src/backend/bootstrap/bootstrap.c
M src/include/bootstrap/bootstrap.h

Hmm, seems a lot of the buildfarm is running versions of awk that don't have gensub(). Use sub() instead, tedious though it be.

commit   : 23cf415a6556b3681a22a3b517893603f6e556f7    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 26 Sep 2009 23:22:48 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 26 Sep 2009 23:22:48 +0000    

Click here for diff

M src/backend/catalog/genbki.sh

Revert my ill-considered change that made formrdesc not insert the correct relation rowtype OID into the relcache entries it builds. This ensures that catcache copies of the relation tupdescs will be fully correct. While the deficiency doesn't seem to have any effect in the current sources, we have been bitten by not-quite-right catcache tupdescs before, so it seems like a good idea to maintain the rule that they should be right.

commit   : ca70c3cfda609d3b817c16b48f25c086c11b9e4c    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 26 Sep 2009 23:08:22 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 26 Sep 2009 23:08:22 +0000    

Click here for diff

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

Extend the BKI infrastructure to allow system catalogs to be given hand-assigned rowtype OIDs, even when they are not "bootstrapped" catalogs that have handmade type rows in pg_type.h. Give pg_database such an OID. Restore the availability of C macros for the rowtype OIDs of the bootstrapped catalogs. (These macros are now in the individual catalogs' .h files, though, not in pg_type.h.)

commit   : 49856352306d1c809c425a384d2887d0f8e1d544    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 26 Sep 2009 22:42:03 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 26 Sep 2009 22:42:03 +0000    

Click here for diff

This commit doesn't do anything especially useful by itself, but it's  
necessary infrastructure for reverting some ill-considered changes in  
relcache.c.  

M doc/src/sgml/bki.sgml
M src/backend/bootstrap/bootparse.y
M src/backend/bootstrap/bootscanner.l
M src/backend/catalog/genbki.sh
M src/backend/catalog/heap.c
M src/backend/catalog/toasting.c
M src/backend/commands/cluster.c
M src/backend/commands/tablecmds.c
M src/backend/executor/execMain.c
M src/include/catalog/catversion.h
M src/include/catalog/duplicate_oids
M src/include/catalog/genbki.h
M src/include/catalog/heap.h
M src/include/catalog/pg_attribute.h
M src/include/catalog/pg_class.h
M src/include/catalog/pg_database.h
M src/include/catalog/pg_proc.h
M src/include/catalog/pg_type.h
M src/include/catalog/unused_oids
M src/tools/msvc/Genbki.pm

Fix RelationCacheInitializePhase2 (Phase3, in HEAD) to cope with the possibility of shared-inval messages causing a relcache flush while it tries to fill in missing data in preloaded relcache entries. There are actually two distinct failure modes here:

commit   : c2e228d44ed919804728d29d87bd8accf3ec1084    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 26 Sep 2009 18:24:49 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 26 Sep 2009 18:24:49 +0000    

Click here for diff

1. The flush could delete the next-to-be-processed cache entry, causing  
the subsequent hash_seq_search calls to go off into the weeds.  This is  
the problem reported by Michael Brown, and I believe it also accounts  
for bug #5074.  The simplest fix is to restart the hashtable scan after  
we've read any new data from the catalogs.  It appears that pre-8.4  
branches have not suffered from this failure, because by chance there were  
no other catalogs sharing the same hash chains with the catalogs that  
RelationCacheInitializePhase2 had work to do for.  However that's obviously  
pretty fragile, and it seems possible that derivative versions with  
additional system catalogs might be vulnerable, so I'm back-patching this  
part of the fix anyway.  
  
2. The flush could delete the *current* cache entry, in which case the  
pointer to the newly-loaded data would end up being stored into an  
already-deleted Relation struct.  As long as it was still deleted, the only  
consequence would be some leaked space in CacheMemoryContext.  But it seems  
possible that the Relation struct could already have been recycled, in  
which case this represents a hard-to-reproduce clobber of cached data  
structures, with unforeseeable consequences.  The fix here is to pin the  
entry while we work on it.  
  
In passing, also change RelationCacheInitializePhase2 to Assert that  
formrdesc() set up the relation's cached TupleDesc (rd_att) with the  
correct type OID and hasoids values.  This is more appropriate than  
silently updating the values, because the original tupdesc might already  
have been copied into the catcache.  However this part of the patch is  
not in HEAD because it fails due to some questionable recent changes in  
formrdesc :-(.  That will be cleaned up in a subsequent patch.  

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

Prevent isolated second surrogate in U& syntax

commit   : d39a84a6120ac46c9ca3ac362f01844dd3db6ca4    
  
author   : Peter Eisentraut <[email protected]>    
date     : Fri, 25 Sep 2009 21:13:06 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Fri, 25 Sep 2009 21:13:06 +0000    

Click here for diff

M src/backend/parser/scan.l

Remove backup states from Unicode escapes patch

commit   : ada0116e56ae35bb25e45216319d90973ab26e8a    
  
author   : Peter Eisentraut <[email protected]>    
date     : Fri, 25 Sep 2009 20:51:37 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Fri, 25 Sep 2009 20:51:37 +0000    

Click here for diff

M src/backend/parser/scan.l

Improve example for DO, per Petr Jelinek.

commit   : e33eeb249e0bcb4ddbb763844024550df3c7bc69    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 23 Sep 2009 15:41:51 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 23 Sep 2009 15:41:51 +0000    

Click here for diff

M doc/src/sgml/ref/do.sgml

Unicode escapes in E'...' strings

commit   : c2bb0378cfcba28d57e357d0daa5ec895a51d8a8    
  
author   : Peter Eisentraut <[email protected]>    
date     : Tue, 22 Sep 2009 23:52:53 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Tue, 22 Sep 2009 23:52:53 +0000    

Click here for diff

Author: Marko Kreen <[email protected]>  

M doc/src/sgml/syntax.sgml
M src/backend/parser/scan.l
M src/include/parser/gramparse.h

Implement the DO statement to support execution of PL code without having to create a function for it.

commit   : 9048b73184b6852b71faf4481b75ab5850a9cd1b    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 22 Sep 2009 23:43:43 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 22 Sep 2009 23:43:43 +0000    

Click here for diff

Procedural languages now have an additional entry point, namely a function  
to execute an inline code block.  This seemed a better design than trying  
to hide the transient-ness of the code from the PL.  As of this patch, only  
plpgsql has an inline handler, but probably people will soon write handlers  
for the other standard PLs.  
  
In passing, remove the long-dead LANCOMPILER option of CREATE LANGUAGE.  
  
Petr Jelinek  

M doc/src/sgml/catalogs.sgml
M doc/src/sgml/config.sgml
M doc/src/sgml/keywords.sgml
M doc/src/sgml/ref/allfiles.sgml
M doc/src/sgml/ref/create_language.sgml
A doc/src/sgml/ref/do.sgml
M doc/src/sgml/reference.sgml
M doc/src/sgml/xplang.sgml
M src/backend/catalog/pg_proc.c
M src/backend/commands/functioncmds.c
M src/backend/commands/proclang.c
M src/backend/nodes/copyfuncs.c
M src/backend/nodes/equalfuncs.c
M src/backend/parser/gram.y
M src/backend/tcop/utility.c
M src/backend/utils/misc/guc.c
M src/backend/utils/misc/postgresql.conf.sample
M src/bin/pg_dump/pg_dump.c
M src/bin/pg_dump/pg_dump.h
M src/bin/scripts/droplang.c
M src/include/catalog/catversion.h
M src/include/catalog/pg_language.h
M src/include/catalog/pg_pltemplate.h
M src/include/commands/defrem.h
M src/include/nodes/nodes.h
M src/include/nodes/parsenodes.h
M src/include/parser/kwlist.h
M src/include/utils/guc.h
M src/interfaces/ecpg/preproc/ecpg.trailer
M src/pl/plpgsql/src/pl_comp.c
M src/pl/plpgsql/src/pl_handler.c
M src/pl/plpgsql/src/plpgsql.h
M src/test/regress/expected/plpgsql.out
M src/test/regress/sql/plpgsql.sql

Fix crash if a DROP is attempted on an internally-dependent object. Introduced in 8.4 rewrite of dependency.c. Per bug #5072 from Amit Khandekar.

commit   : d5a43ffde068d67409b494d812bd7e9f514db29c    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 22 Sep 2009 15:46:35 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 22 Sep 2009 15:46:35 +0000    

Click here for diff

M src/backend/catalog/dependency.c
M src/test/regress/expected/rules.out
M src/test/regress/sql/rules.sql

Surrogate pair support for U& string and identifier syntax

commit   : 02faeb4ac829910ff1183ab3e6a94f049d3fac35    
  
author   : Peter Eisentraut <[email protected]>    
date     : Mon, 21 Sep 2009 22:22:07 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Mon, 21 Sep 2009 22:22:07 +0000    

Click here for diff

This is mainly to make the functionality consistent with the proposed \u  
escape syntax.  

M doc/src/sgml/syntax.sgml
M src/backend/parser/scan.l

fsync test files

commit   : c6bc0feb007e42a3e81aaa95c3afc9592b4e2707    
  
author   : Bruce Momjian <[email protected]>    
date     : Mon, 21 Sep 2009 20:20:56 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Mon, 21 Sep 2009 20:20:56 +0000    

Click here for diff

Prevent creation of 16GB files during fsync testing; only create 16MB  
files;  backpatch to 8.4.X.  

M src/tools/fsync/test_fsync.c

Define a new, more extensible syntax for COPY options.

commit   : 923413ac6d31826bd599711962ce9cb7d51a997f    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 21 Sep 2009 20:10:21 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 21 Sep 2009 20:10:21 +0000    

Click here for diff

This is intentionally similar to the recently revised syntax for EXPLAIN  
options, ie, (name value, ...).  The old syntax is still supported for  
backwards compatibility, but we intend that any options added in future  
will be provided only in the new syntax.  
  
Robert Haas, Emmanuel Cecchet  

M doc/src/sgml/ref/copy.sgml
M src/backend/commands/copy.c
M src/backend/commands/define.c
M src/backend/parser/gram.y
M src/test/regress/expected/copy2.out
M src/test/regress/sql/copy2.sql

Allow plpgsql IN parameters to be assigned to. Since the parameters are just preinitialized local variables, this does not affect the function's semantics as seen by callers; allowing assignment simply avoids the need to create more local variables in some cases. In any case we were being rather inconsistent since only scalar parameters were getting marked constant.

commit   : 0f427dfe5ae26f4b792f4f0b8d235dd60a1d144f    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 20 Sep 2009 01:53:32 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 20 Sep 2009 01:53:32 +0000    

Click here for diff

No documentation change, since parameters were never documented as being  
marked constant anyway.  
  
Steve Prentice  

M src/pl/plpgsql/src/pl_comp.c

Remove a couple hundred lines of ugly and tedious-to-maintain code by not trying to parse COPY options exactly in psql's \copy support. Instead, just send the options as-is and let the backend sort it out.

commit   : 94f238cf1a51308c2377ddcd63ecc447ecb94a68    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 19 Sep 2009 21:51:21 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 19 Sep 2009 21:51:21 +0000    

Click here for diff

Emmanuel Cecchet  

M src/bin/psql/copy.c

sql_help.c needs to be cvsignore'd.

commit   : 9dcc9c6b3b08a046247f16c65d6c95b9b15e62a5    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 19 Sep 2009 18:50:18 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 19 Sep 2009 18:50:18 +0000    

Click here for diff

M src/bin/psql/.cvsignore

Rename new subroutine, per discussion with Robert Haas.

commit   : 9a98dd49f460927c9a0234e458398cc859a99d6a    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 19 Sep 2009 17:48:09 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 19 Sep 2009 17:48:09 +0000    

Click here for diff

M src/backend/optimizer/path/joinpath.c

Make the placeholder naming in the synopses of the SQL help more consistent

commit   : f7e508a759b9a763096a1ff485dc3e6517e3522e    
  
author   : Peter Eisentraut <[email protected]>    
date     : Sat, 19 Sep 2009 10:23:27 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Sat, 19 Sep 2009 10:23:27 +0000    

Click here for diff

M doc/src/sgml/ref/alter_conversion.sgml
M doc/src/sgml/ref/alter_database.sgml
M doc/src/sgml/ref/alter_group.sgml
M doc/src/sgml/ref/alter_language.sgml
M doc/src/sgml/ref/alter_opclass.sgml
M doc/src/sgml/ref/alter_operator.sgml
M doc/src/sgml/ref/alter_opfamily.sgml
M doc/src/sgml/ref/alter_role.sgml
M doc/src/sgml/ref/alter_schema.sgml
M doc/src/sgml/ref/alter_server.sgml
M doc/src/sgml/ref/alter_tablespace.sgml
M doc/src/sgml/ref/alter_trigger.sgml
M doc/src/sgml/ref/alter_tsconfig.sgml
M doc/src/sgml/ref/alter_tsdictionary.sgml
M doc/src/sgml/ref/alter_tsparser.sgml
M doc/src/sgml/ref/alter_tstemplate.sgml
M doc/src/sgml/ref/alter_user.sgml
M doc/src/sgml/ref/alter_user_mapping.sgml
M doc/src/sgml/ref/cluster.sgml
M doc/src/sgml/ref/comment.sgml
M doc/src/sgml/ref/copy.sgml
M doc/src/sgml/ref/create_cast.sgml
M doc/src/sgml/ref/create_constraint.sgml
M doc/src/sgml/ref/create_conversion.sgml
M doc/src/sgml/ref/create_database.sgml
M doc/src/sgml/ref/create_function.sgml
M doc/src/sgml/ref/create_group.sgml
M doc/src/sgml/ref/create_opclass.sgml
M doc/src/sgml/ref/create_operator.sgml
M doc/src/sgml/ref/create_role.sgml
M doc/src/sgml/ref/create_schema.sgml
M doc/src/sgml/ref/create_server.sgml
M doc/src/sgml/ref/create_tablespace.sgml
M doc/src/sgml/ref/create_trigger.sgml
M doc/src/sgml/ref/create_user.sgml
M doc/src/sgml/ref/create_user_mapping.sgml
M doc/src/sgml/ref/delete.sgml
M doc/src/sgml/ref/drop_cast.sgml
M doc/src/sgml/ref/drop_operator.sgml
M doc/src/sgml/ref/drop_rule.sgml
M doc/src/sgml/ref/drop_server.sgml
M doc/src/sgml/ref/drop_tablespace.sgml
M doc/src/sgml/ref/drop_user_mapping.sgml
M doc/src/sgml/ref/fetch.sgml
M doc/src/sgml/ref/grant.sgml
M doc/src/sgml/ref/move.sgml
M doc/src/sgml/ref/prepare.sgml
M doc/src/sgml/ref/revoke.sgml
M doc/src/sgml/ref/set_role.sgml
M doc/src/sgml/ref/set_session_auth.sgml
M doc/src/sgml/ref/update.sgml

Fix MSVC build breakage from psql help changes. Per Josh Williams.

commit   : 7ef5ffdeaf466ed4f5a642cc06c6779a40681538    
  
author   : Andrew Dunstan <[email protected]>    
date     : Sat, 19 Sep 2009 05:56:50 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Sat, 19 Sep 2009 05:56:50 +0000    

Click here for diff

M src/tools/msvc/Solution.pm

A bit more wordsmithing on the COPY CSV NULL business.

commit   : 726725d4d948d54959a535d9a89df2138d8168d7    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 18 Sep 2009 20:01:13 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 18 Sep 2009 20:01:13 +0000    

Click here for diff

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

Marginal code cleanup in joinpath.c: factor out clause variable-membership tests into a small common subroutine, and eliminate an unnecessary difference in the order in which conditions are tested. Per a comment from Robert Haas.

commit   : 1bd263537fb2eabda04891a5edb38893dabc281d    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 18 Sep 2009 17:24:51 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 18 Sep 2009 17:24:51 +0000    

Click here for diff

M src/backend/optimizer/path/joinpath.c

Fix incorrect arguments for gist_box_penalty call. The bug could be observed only for secondary page split (i.e. for non-first columns of index)

commit   : f92bbb899aa536924923463989289c8c33e28604    
  
author   : Teodor Sigaev <[email protected]>    
date     : Fri, 18 Sep 2009 14:01:56 +0000    
  
committer: Teodor Sigaev <[email protected]>    
date     : Fri, 18 Sep 2009 14:01:56 +0000    

Click here for diff

 Patch by Paul Ramsey <[email protected]>  

M src/backend/access/gist/gistproc.c

Added patch by Bernd Helmle <[email protected]> that adds a low level function that returns the current transaction status.

commit   : dacaeff5ae2978bd1e77c16bd79ce99d5f9b5382    
  
author   : Michael Meskes <[email protected]>    
date     : Fri, 18 Sep 2009 13:13:32 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Fri, 18 Sep 2009 13:13:32 +0000    

Click here for diff

M doc/src/sgml/ecpg.sgml
M src/interfaces/ecpg/ecpglib/exports.txt
M src/interfaces/ecpg/ecpglib/misc.c
M src/interfaces/ecpg/include/ecpglib.h

Easier to translate psql help

commit   : 20f7f019f9a6c44e71d33ca3d1b616b4fc1bb3c8    
  
author   : Peter Eisentraut <[email protected]>    
date     : Fri, 18 Sep 2009 05:00:42 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Fri, 18 Sep 2009 05:00:42 +0000    

Click here for diff

Instead of requiring translators to translate the entire SQL command  
synopses, change create_help.pl to only require them to translate the  
placeholders, and paste those into the synopsis using a printf mechanism.  
Make some small updates to the markup to make it easier to parse.  
  
Note: This causes msgmerge of gettext 0.17 to segfault.  You will need  
the patch from https://savannah.gnu.org/bugs/?27474 to make it work.  
msgmerge usually only runs on babel.postgresql.org, however.  

M doc/src/sgml/ref/alter_database.sgml
M doc/src/sgml/ref/alter_function.sgml
M doc/src/sgml/ref/alter_role.sgml
M doc/src/sgml/ref/alter_table.sgml
M doc/src/sgml/ref/alter_user.sgml
M doc/src/sgml/ref/begin.sgml
M doc/src/sgml/ref/create_domain.sgml
M doc/src/sgml/ref/create_group.sgml
M doc/src/sgml/ref/create_role.sgml
M doc/src/sgml/ref/create_table.sgml
M doc/src/sgml/ref/create_user.sgml
M doc/src/sgml/ref/fetch.sgml
M doc/src/sgml/ref/grant.sgml
M doc/src/sgml/ref/lock.sgml
M doc/src/sgml/ref/select.sgml
M doc/src/sgml/ref/set_transaction.sgml
M doc/src/sgml/ref/start_transaction.sgml
M src/bin/psql/Makefile
M src/bin/psql/create_help.pl
M src/bin/psql/help.c
M src/bin/psql/nls.mk

CSV NULL Documentation

commit   : ef9619609a2d616adc0f047c0ed559945422ec9d    
  
author   : Bruce Momjian <[email protected]>    
date     : Thu, 17 Sep 2009 21:49:15 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Thu, 17 Sep 2009 21:49:15 +0000    

Click here for diff

Update docs to clearly explain NULL value matching behavior, per Andrew.  
  
Backpatch to 8.4.X.  

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

Improve wording of error message when a postgresql.conf setting is ignored because it can only be set at server start. In particular, hiding the main reason in the detail message was suboptimal.

commit   : 87f4a26e5d592bdeeb877c1acf108e5ecdf7c9bc    
  
author   : Peter Eisentraut <[email protected]>    
date     : Thu, 17 Sep 2009 21:15:18 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Thu, 17 Sep 2009 21:15:18 +0000    

Click here for diff

M src/backend/utils/misc/guc-file.l
M src/backend/utils/misc/guc.c

CVS NULL Documentation

commit   : 41a40fe4a2acc1256556754228a650610dbffa42    
  
author   : Bruce Momjian <[email protected]>    
date     : Thu, 17 Sep 2009 21:13:01 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Thu, 17 Sep 2009 21:13:01 +0000    

Click here for diff

Clearify documentation of CVS's output of NULL values, per suggestion  
from Magnus.  
  
Backpatch to 8.4.X.  

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

When reloading postgresql.conf, log what parameters actually changed

commit   : 44608aee042b359a6928e72b0013c5c8b377129d    
  
author   : Peter Eisentraut <[email protected]>    
date     : Thu, 17 Sep 2009 20:54:03 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Thu, 17 Sep 2009 20:54:03 +0000    

Click here for diff

M src/backend/utils/misc/guc-file.l

Implement "join removal" for cases where the inner side of a left join is unique and is not referenced above the join. In this case the inner side doesn't affect the query result and can be thrown away entirely. Although perhaps nobody would ever write such a thing by hand, it's a reasonably common case in machine-generated SQL.

commit   : 488d70ab46311386801c10691196ec8d755f2283    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 17 Sep 2009 20:49:29 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 17 Sep 2009 20:49:29 +0000    

Click here for diff

The current implementation only recognizes the case where the inner side  
is a simple relation with a unique index matching the query conditions.  
This is enough for the use-cases that have been shown so far, but we  
might want to try to handle other cases later.  
  
Robert Haas, somewhat rewritten by Tom  

M src/backend/nodes/outfuncs.c
M src/backend/optimizer/README
M src/backend/optimizer/path/allpaths.c
M src/backend/optimizer/path/indxpath.c
M src/backend/optimizer/path/joinpath.c
M src/backend/optimizer/plan/createplan.c
M src/backend/optimizer/util/pathnode.c
M src/include/nodes/nodes.h
M src/include/nodes/relation.h
M src/include/optimizer/pathnode.h
M src/include/optimizer/paths.h

errcontext support in PL/Perl

commit   : e3f027115a5a5109527238886bde7f6d5b4a5b96    
  
author   : Peter Eisentraut <[email protected]>    
date     : Wed, 16 Sep 2009 06:06:12 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Wed, 16 Sep 2009 06:06:12 +0000    

Click here for diff

Author: Alexey Klyukin <[email protected]>  

M src/pl/plperl/expected/plperl.out
M src/pl/plperl/expected/plperl_elog.out
M src/pl/plperl/expected/plperl_trigger.out
M src/pl/plperl/plperl.c

Fix two distinct errors in creation of GIN_INSERT_LISTPAGE xlog records. In practice these mistakes were always masked when full_page_writes was on, because XLogInsert would always choose to log the full page, and then ginRedoInsertListPage wouldn't try to do anything. But with full_page_writes off a WAL replay failure was certain.

commit   : 384cad5c7b773da29c26fc08a7c969b35c94cb54    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 15 Sep 2009 20:31:30 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 15 Sep 2009 20:31:30 +0000    

Click here for diff

The GIN_INSERT_LISTPAGE record type could probably be eliminated entirely  
in favor of using XLOG_HEAP_NEWPAGE, but I refrained from doing that now  
since it would have required a significantly more invasive patch.  
  
In passing do a little bit of code cleanup, including making the accounting  
for free space on GIN list pages more precise.  (This wasn't a bug as the  
errors were always in the conservative direction.)  
  
Per report from Simon.  Back-patch to 8.4 which contains the identical code.  

M src/backend/access/gin/ginfast.c

Applied patch by Boszormenyi Zoltan <[email protected]> to add missing ";" to rule in pgc.l.

commit   : f3ef948592694f0015bc7f056bcdd687d6c67bfe    
  
author   : Michael Meskes <[email protected]>    
date     : Tue, 15 Sep 2009 08:44:57 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Tue, 15 Sep 2009 08:44:57 +0000    

Click here for diff

M src/interfaces/ecpg/ChangeLog
M src/interfaces/ecpg/preproc/pgc.l

Fix possible buffer overrun and/or unportable behavior in pg_md5_encrypt() if salt_len == 0. This seems to be mostly academic, since nearly all calling code paths guarantee nonempty salt; the only case that doesn't is PQencryptPassword where the caller could mistakenly pass an empty username. So, fix it but don't bother backpatching. Per ljb.

commit   : 9a3f5301ff0e4721e560eea698702c690f8d70db    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 15 Sep 2009 02:31:15 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 15 Sep 2009 02:31:15 +0000    

Click here for diff

M src/backend/libpq/md5.c

Print builds don't actually depend on html target (anymore).

commit   : c82fdb698425ddeb9e0c7d2d01c2ce0bc3fb088f    
  
author   : Peter Eisentraut <[email protected]>    
date     : Mon, 14 Sep 2009 13:23:48 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Mon, 14 Sep 2009 13:23:48 +0000    

Click here for diff

M doc/src/sgml/Makefile

Write psql's ~/.psql_history file using history_truncate_file() and append_history(), if libreadline is new enough to have those functions (they seem to be present at least since 4.2; but libedit may not have them). This gives significantly saner behavior when two or more sessions overlap in their use of the history file; although having two sessions exit at just the same time is still perilous to your history. The behavior of \s remains unchanged, ie, overwrite whatever was there. Per bug #5052 from Marek Wójtowicz.

commit   : e97281c46cb14ecb91c473b6bd2b0435a50c0875    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 13 Sep 2009 22:18:22 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 13 Sep 2009 22:18:22 +0000    

Click here for diff

M configure
M configure.in
M src/bin/psql/command.c
M src/bin/psql/input.c
M src/bin/psql/input.h
M src/include/pg_config.h.in
M src/include/pg_config.h.win32

Fix Unicode support in PL/Python

commit   : eb62398f391eedee7953becb410bf3ae86b9872b    
  
author   : Peter Eisentraut <[email protected]>    
date     : Sun, 13 Sep 2009 22:07:06 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Sun, 13 Sep 2009 22:07:06 +0000    

Click here for diff

Check calls of PyUnicode_AsEncodedString() for NULL return, probably  
because the encoding name is not known.  Add special treatment for  
SQL_ASCII, which Python definitely does not know.  
  
Since using SQL_ASCII produces errors in the regression tests when  
non-ASCII characters are involved, we have to put back various regression  
test result variants.  

M src/pl/plpython/expected/README
A src/pl/plpython/expected/plpython_unicode_2.out
A src/pl/plpython/expected/plpython_unicode_3.out
A src/pl/plpython/expected/plpython_unicode_5.out
M src/pl/plpython/plpython.c

Document that autovacuum_max_workers can only be set at server start

commit   : 6689ce3e6aba88682b9e7e276daa3c4c58e7df24    
  
author   : Peter Eisentraut <[email protected]>    
date     : Sun, 13 Sep 2009 19:52:29 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Sun, 13 Sep 2009 19:52:29 +0000    

Click here for diff

per Joshua Tolley  

M doc/src/sgml/config.sgml

Don't error out if recycling or removing an old WAL segment fails at the end of checkpoint. Although the checkpoint has been written to WAL at that point already, so that all data is safe, and we'll retry removing the WAL segment at the next checkpoint, if such a failure persists we won't be able to remove any other old WAL segments either and will eventually run out of disk space. It's better to treat the failure as non-fatal, and move on to clean any other WAL segment and continue with any other end-of-checkpoint cleanup.

commit   : 7f2a10fecd899608443f7e3f57a04ae7ae4a3398    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Sun, 13 Sep 2009 18:32:08 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Sun, 13 Sep 2009 18:32:08 +0000    

Click here for diff

We don't normally expect any such failures, but on Windows it can happen with  
some anti-virus or backup software that lock files without FILE_SHARE_DELETE  
flag.  
  
Also, the loop in pgrename() to retry when the file is locked was broken. If a  
file is locked on Windows, you get ERROR_SHARE_VIOLATION, not  
ERROR_ACCESS_DENIED, at least on modern versions. Fix that, although I left  
the check for ERROR_ACCESS_DENIED in there as well (presumably it was correct  
in some environment), and added ERROR_LOCK_VIOLATION to be consistent with  
similar checks in pgwin32_open(). Reduce the timeout on the loop from 30s to  
10s, on the grounds that since it's been broken, we've effectively had a  
timeout of 0s and no-one has complained, so a smaller timeout is actually  
closer to the old behavior. A longer timeout would mean that if recycling a  
WAL file fails because it's locked for some reason, InstallXLogFileSegment()  
will hold ControlFileLock for longer, potentially blocking other backends, so  
a long timeout isn't totally harmless.  
  
While we're at it, set errno correctly in pgrename().  
  
Backpatch to 8.2, which is the oldest version supported on Windows. The xlog.c  
changes would make sense on other platforms and thus on older versions as  
well, but since there's no such locking issues on other platforms, it's not  
worth it.  

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

commit   : d6119d8091b1bae568fd9083268ea392ccb2d939    
  
author   : Joe Conway <[email protected]>    
date     : Sat, 12 Sep 2009 23:20:52 +0000    
  
committer: Joe Conway <[email protected]>    
date     : Sat, 12 Sep 2009 23:20:52 +0000    

Click here for diff

dblink generates orphaned connections when called with a connection string,  
fail_on_error = true, and an ERROR occurs. Discovery and patch by  
Tatsuhito Kasahara. Introduced in 8.4.  

M contrib/dblink/dblink.c

Add Unicode support in PL/Python

commit   : 4ab6ebf3f4dc8182556dc23c49ee59e602a78f1c    
  
author   : Peter Eisentraut <[email protected]>    
date     : Sat, 12 Sep 2009 22:13:12 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Sat, 12 Sep 2009 22:13:12 +0000    

Click here for diff

PL/Python now accepts Unicode objects where it previously only accepted string  
objects (for example, as return value).  Unicode objects are converted to the  
PostgreSQL server encoding as necessary.  
  
This change is also necessary for future Python 3 support, which treats all  
strings as Unicode objects.  
  
Since this removes the error conditions that the plpython_unicode test file  
tested for, the alternative result files are no longer necessary.  

M src/pl/plpython/expected/README
M src/pl/plpython/expected/plpython_trigger.out
M src/pl/plpython/expected/plpython_unicode.out
D src/pl/plpython/expected/plpython_unicode_2.out
D src/pl/plpython/expected/plpython_unicode_3.out
M src/pl/plpython/plpython.c
M src/pl/plpython/sql/plpython_trigger.sql
M src/pl/plpython/sql/plpython_unicode.sql

Rewrite the planner's handling of materialized plan types so that there is an explicit model of rescan costs being different from first-time costs. The costing of Material nodes in particular now has some visible relationship to the actual runtime behavior, where before it was essentially fantasy. This also fixes up a couple of places where different materialized plan types were treated differently for no very good reason (probably just oversights).

commit   : 9bb342811bf6a93a574a648c5848feedbaaef8f2    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 12 Sep 2009 22:12:09 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 12 Sep 2009 22:12:09 +0000    

Click here for diff

A couple of the regression tests are affected, because the planner now chooses  
to put the other relation on the inside of a nestloop-with-materialize.  
So far as I can see both changes are sane, and the planner is now more  
consistently following the expectation that it should prefer to materialize  
the smaller of two relations.  
  
Per a recent discussion with Robert Haas.  

M src/backend/executor/execAmi.c
M src/backend/optimizer/path/costsize.c
M src/backend/optimizer/path/joinpath.c
M src/backend/optimizer/plan/createplan.c
M src/backend/optimizer/plan/subselect.c
M src/backend/optimizer/util/pathnode.c
M src/include/executor/executor.h
M src/include/optimizer/cost.h
M src/test/regress/expected/geometry.out
M src/test/regress/expected/geometry_1.out
M src/test/regress/expected/geometry_2.out
M src/test/regress/expected/join.out

Improve GRANT reference page's description of object ownership privileges by mentioning the possibility of granting membership in the owning role.

commit   : 5f1b32ddf826550d65dd6e84b965b6a98589ad19    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 12 Sep 2009 16:26:06 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 12 Sep 2009 16:26:06 +0000    

Click here for diff

M doc/src/sgml/ref/grant.sgml

Install a hopefully-temporary workaround for Snow Leopard readdir() bug. If Apple doesn't fix that reasonably soon, we'll have to consider back-patching a workaround; but for now, just hack it in HEAD so that we can get buildfarm reports on HEAD from OS X machines. Per Jan Otto.

commit   : 325aeb4a654435cd055c390ea9e28e1e563c7507    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 12 Sep 2009 15:51:52 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 12 Sep 2009 15:51:52 +0000    

Click here for diff

M src/backend/commands/tablespace.c

Remove TODO file; it has been added to the main Todo list in the wiki.

commit   : 762140f600adc5be28b083addc7a6551ef30aad5    
  
author   : Peter Eisentraut <[email protected]>    
date     : Sat, 12 Sep 2009 15:21:27 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Sat, 12 Sep 2009 15:21:27 +0000    

Click here for diff

D src/pl/plpython/TODO

Fix assertion failure when a SELECT DISTINCT ON expression is volatile. In this case we generate two PathKey references to the expression (one for DISTINCT and one for ORDER BY) and they really need to refer to the same EquivalenceClass. However get_eclass_for_sort_expr was being overly paranoid and creating two different EC's. Correct behavior is to use the SortGroupRef index to decide whether two references to volatile expressions that are equal() (ie textually equivalent) should be considered the same.

commit   : d5a4b69c3a0d2668fa6098c73be7b6f0036bb642    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 12 Sep 2009 00:04:59 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 12 Sep 2009 00:04:59 +0000    

Click here for diff

Backpatch to 8.4.  Possibly this should be changed in 8.3 as well, but  
I'll refrain in the absence of evidence of a visible failure in that branch.  
  
Per bug #5049.  

M src/backend/optimizer/path/equivclass.c
M src/backend/optimizer/path/pathkeys.c
M src/test/regress/expected/select_distinct_on.out
M src/test/regress/sql/select_distinct_on.sql

Increase the maximum value of extra_float_digits to 3, and have pg_dump use that value when the backend is new enough to allow it. This responds to bug report from Keh-Cheng Chu pointing out that although 2 extra digits should be sufficient to dump and restore float8 exactly, it is possible to need 3 extra digits for float4 values.

commit   : 8c5463a51176c8d2a01fcf154d7ac33fa9a74f6a    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 11 Sep 2009 19:17:04 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 11 Sep 2009 19:17:04 +0000    

Click here for diff

M doc/src/sgml/config.sgml
M src/backend/utils/adt/float.c
M src/backend/utils/adt/geo_ops.c
M src/backend/utils/misc/guc.c
M src/backend/utils/misc/postgresql.conf.sample
M src/bin/pg_dump/pg_dump.c

Remove claim that this chapter discusses rules and triggers.

commit   : 680bf3268c91d188c018470491ce6ab146960b28    
  
author   : Peter Eisentraut <[email protected]>    
date     : Fri, 11 Sep 2009 12:53:24 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Fri, 11 Sep 2009 12:53:24 +0000    

Click here for diff

per Bruno Guimarães Carneiro  

M doc/src/sgml/dml.sgml

Add note that the logging collector can block backends in high load situations.

commit   : 19fd0c2e56dab228385fba427e004715ae0482c7    
  
author   : Alvaro Herrera <[email protected]>    
date     : Thu, 10 Sep 2009 15:02:46 +0000    
  
committer: Alvaro Herrera <[email protected]>    
date     : Thu, 10 Sep 2009 15:02:46 +0000    

Click here for diff

M doc/src/sgml/config.sgml

pgbench has #defines for number of branches, tellers, and accounts. There are used to populate the tables with -i, but when running actual benchmark it has values separately hard-coded in the query metacommands. This patch makes the metacommands obtain their values from the relevant #defines.

commit   : f82d4d53020d2cb2444ea3ee18fe5a17fc2d73e7    
  
author   : Tatsuo Ishii <[email protected]>    
date     : Thu, 10 Sep 2009 13:59:57 +0000    
  
committer: Tatsuo Ishii <[email protected]>    
date     : Thu, 10 Sep 2009 13:59:57 +0000    

Click here for diff

Patch provided by Jeff Janes.  

M contrib/pgbench/pgbench.c

On Windows, when a file is deleted and another process still has an open file handle on it, the file goes into "pending deletion" state where it still shows up in directory listing, but isn't accessible otherwise. That confuses RemoveOldXLogFiles(), making it think that the file hasn't been archived yet, while it actually was, and it was deleted along with the .done file.

commit   : 4e2d5efc6a45b1f9f96df42629f6d1c7740e657e    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Thu, 10 Sep 2009 09:42:10 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Thu, 10 Sep 2009 09:42:10 +0000    

Click here for diff

Fix that by renaming the file with ".deleted" extension before deleting it.  
Also check the return value of rename() and unlink(), so that if the removal  
fails for any reason (e.g another process is holding the file locked), we  
don't delete the .done file until the WAL file is really gone.  
  
Backpatch to 8.2, which is the oldest version supported on Windows.  

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

Fix/improve bytea and boolean support in PL/Python

commit   : 3ab8b7fa6f9ac2fb04096f8860261dc42d59a570    
  
author   : Peter Eisentraut <[email protected]>    
date     : Wed, 9 Sep 2009 19:00:09 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Wed, 9 Sep 2009 19:00:09 +0000    

Click here for diff

Before, PL/Python converted data between SQL and Python by going  
through a C string representation.  This broke for bytea in two ways:  
  
- On input (function parameters), you would get a Python string that  
  contains bytea's particular external representation with backslashes  
  etc., instead of a sequence of bytes, which is what you would expect  
  in a Python environment.  This problem is exacerbated by the new  
  bytea output format.  
  
- On output (function return value), null bytes in the Python string  
  would cause truncation before the data gets stored into a bytea  
  datum.  
  
This is now fixed by converting directly between the PostgreSQL datum  
and the Python representation.  
  
The required generalized infrastructure also allows for other  
improvements in passing:  
  
- When returning a boolean value, the SQL datum is now true if and  
  only if Python considers the value that was passed out of the  
  PL/Python function to be true.  Previously, this determination was  
  left to the boolean data type input function.  So, now returning  
  'foo' results in true, because Python considers it true, rather than  
  false because PostgreSQL considers it false.  
  
- On input, we can convert the integer and float types directly to  
  their Python equivalents without having to go through an  
  intermediate string representation.  
  
original patch by Caleb Welton, with updates by myself  

M src/backend/utils/adt/domains.c
M src/include/utils/builtins.h
M src/pl/plpython/expected/plpython_types.out
M src/pl/plpython/plpython.c
M src/pl/plpython/sql/plpython_types.sql

Fix bug with WITH RECURSIVE immediately inside WITH RECURSIVE. 99% of the code was already okay with this, but the hack that obtained the output column types of a recursive union in advance of doing real parse analysis of the recursive union forgot to handle the case where there was an inner WITH clause available to the non-recursive term. Best fix seems to be to refactor so that we don't need the "throwaway" parse analysis step at all. Instead, teach the transformSetOperationStmt code to set up the CTE's output column information after it's processed the non-recursive term normally. Per report from David Fetter.

commit   : 255f66efa9b648500a4f06b839d0256987406f0f    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 9 Sep 2009 03:32:52 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 9 Sep 2009 03:32:52 +0000    

Click here for diff

M src/backend/parser/analyze.c
M src/backend/parser/parse_clause.c
M src/backend/parser/parse_cte.c
M src/backend/parser/parse_expr.c
M src/include/parser/analyze.h
M src/include/parser/parse_cte.h
M src/include/parser/parse_node.h
M src/test/regress/expected/with.out
M src/test/regress/sql/with.sql

commit   : d69a419e682c2d39c2355105a7e5e2b90357c8f0    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 8 Sep 2009 18:15:55 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 8 Sep 2009 18:15:55 +0000    

Click here for diff

M config/perl.m4
M configure

Add a boolean GUC parameter "bonjour" to control whether a Bonjour-enabled build actually attempts to advertise itself via Bonjour. Formerly it always did so, which meant that packagers had to decide for their users whether this behavior was wanted or not. The default is "off" to be on the safe side, though this represents a change in the default behavior of a Bonjour-enabled build. Per discussion.

commit   : eeb6cb143a005641841e718cb8638bc0c684ec25    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 8 Sep 2009 17:08:36 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 8 Sep 2009 17:08:36 +0000    

Click here for diff

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

Replace use of the long-deprecated Bonjour API DNSServiceRegistrationCreate with the not-so-deprecated DNSServiceRegister. This patch shouldn't change any user-visible behavior, it just gets rid of a deprecation warning in --with-bonjour builds. The new code will fail on OS X releases before 10.3, but it seems unlikely that anyone will want to run Postgres 8.5 on 10.2.

commit   : 59b9f3d36d56fa2bc998c4169f650b0a501874ea    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 8 Sep 2009 16:08:26 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 8 Sep 2009 16:08:26 +0000    

Click here for diff

M configure
M configure.in
M src/backend/postmaster/postmaster.c

Remove outside-the-scanner references to "yyleng".

commit   : 4d3456e85dabfbe4182f94178ecb8789d9592bf7    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 8 Sep 2009 04:25:00 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 8 Sep 2009 04:25:00 +0000    

Click here for diff

It seems the flex developers have decided to change yyleng from int to size_t.  
This has already happened in the latest release of OS X, and will start  
happening elsewhere once the next release of flex appears.  Rather than trying  
to divine how it's declared in any particular build, let's just remove the one  
existing not-very-necessary external usage.  
  
Back-patch to all supported branches; not so much because users in the field  
are likely to care about building old branches with cutting-edge flex, as  
to keep OSX-based buildfarm members from having problems with old branches.  

M src/interfaces/ecpg/preproc/ecpg.header
M src/interfaces/ecpg/preproc/extern.h

Change our WIN32 API version to be 5.01 (Windows XP), to bring in the proper IPV6 headers in newer SDKs.

commit   : 9f0e84a65da4e57318086aa75d1650e043b7a29a    
  
author   : Magnus Hagander <[email protected]>    
date     : Mon, 7 Sep 2009 11:22:12 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Mon, 7 Sep 2009 11:22:12 +0000    

Click here for diff

M src/bin/pg_ctl/pg_ctl.c
M src/include/port/win32.h

Update the tznames reference files, and add IDT (Israel Daylight Time) to the Default timezone abbreviation set.

commit   : 03650589d9f7be31f3725f199e863a71d5ee8d6a    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 6 Sep 2009 15:25:23 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 6 Sep 2009 15:25:23 +0000    

Click here for diff

Back-port the the current file set to all branches that contain tznames.  
This includes adding SGT to the Default set in pre-8.4 releases.  
  
Joachim Wieland  

M src/timezone/tznames/Africa.txt
M src/timezone/tznames/Asia.txt
M src/timezone/tznames/Australia.txt
M src/timezone/tznames/Default
M src/timezone/tznames/Europe.txt
M src/timezone/tznames/README

Add a note warning that COPY BINARY is very datatype-specific. Per a complaint from Gordon Shannon.

commit   : a2367f89ffc8de48fe681d2187eb108e3f469adc    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 5 Sep 2009 23:58:01 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 5 Sep 2009 23:58:01 +0000    

Click here for diff

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

Put back "ifeq ($(PORTNAME), solaris)", this time with some documentation of why it's not as broken as it appears on first glance.

commit   : e3b3878a0815e8c30fd4fd7050ab084688bbfe79    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 5 Sep 2009 21:14:04 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 5 Sep 2009 21:14:04 +0000    

Click here for diff

M src/backend/Makefile

Revert ill-considered restriction of dtrace support to Solaris only.

commit   : db13a81ab44f5ead85a4e77b30006c81bb6d20af    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 4 Sep 2009 23:11:05 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 4 Sep 2009 23:11:05 +0000    

Click here for diff

M src/backend/Makefile

Remove pgstat's discrimination against MsgVacuum and MsgAnalyze messages.

commit   : 47ef623c0bd35b90bb7861c036ccf45a86feaae8    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 4 Sep 2009 22:32:33 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 4 Sep 2009 22:32:33 +0000    

Click here for diff

Formerly, these message types would be discarded unless there was already  
a stats hash table entry for the target table.  However, the intent of  
saving hash table space for unused tables was subverted by the fact that  
the physical I/O done by the vacuum or analyze would result in an immediately  
following tabstat message, which would create the hash table entry anyway.  
All that we had left was surprising loss of statistical data, as in a recent  
complaint from Jaime Casanova.  
  
It seems unlikely that a real database would have many tables that go totally  
untouched over the long haul, so the consensus is that this "optimization"  
serves little purpose anyhow.  Remove it, and just create the hash table  
entry on demand in all cases.  

M src/backend/postmaster/pgstat.c

Tigthen binary receive functions so that they reject values that the text input functions don't accept either. While the backend can handle such values fine, they can cause trouble in clients and in pg_dump/restore.

commit   : 7be39bb0be87a2fe6ea64c9d48130b78412968a8    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Fri, 4 Sep 2009 11:20:23 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Fri, 4 Sep 2009 11:20:23 +0000    

Click here for diff

This is followup to the original issue on time datatype reported by Andrew  
McNamara a while ago. Like that one, none of these seem worth  
back-patching.  

M src/backend/utils/adt/arrayfuncs.c
M src/backend/utils/adt/date.c
M src/backend/utils/adt/int.c
M src/backend/utils/adt/nabstime.c
M src/backend/utils/adt/oid.c
M src/backend/utils/adt/timestamp.c
M src/include/utils/datetime.h

Fix encoding handling in xml binary input function. If the XML header didn't specify an encoding explicitly, we used to treat it as being in database encoding when we parsed it, but then perform a UTF-8 -> database encoding conversion on it, which was completely bogus. It's now consistently treated as UTF-8.

commit   : 237859e4fb13851ffd2f45a6706a0540ca014b5d    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Fri, 4 Sep 2009 10:49:29 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Fri, 4 Sep 2009 10:49:29 +0000    

Click here for diff

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

Final updates of release notes for 8.4.1, 8.3.8, 8.2.14, 8.1.18, 8.0.22, 7.4.26.

commit   : 1608489b2d2c99d0ee0b5aa5d367ac67f8ec06e6    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 3 Sep 2009 22:13:47 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 3 Sep 2009 22:13:47 +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

Make LOAD of an already-loaded library into a no-op, instead of attempting to unload and re-load the library.

commit   : 602a9ef5a7c60151e10293ae3c4bb3fbb0132d03    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 3 Sep 2009 22:11:07 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 3 Sep 2009 22:11:07 +0000    

Click here for diff

The difficulty with unloading a library is that we haven't defined safe  
protocols for doing so.  In particular, there's no safe mechanism for  
getting out of a "hook" function pointer unless libraries are unloaded  
in reverse order of loading.  And there's no mechanism at all for undefining  
a custom GUC variable, so GUC would be left with a pointer to an old value  
that might or might not still be valid, and very possibly wouldn't be in  
the same place anymore.  
  
While the unload and reload behavior had some usefulness in easing  
development of new loadable libraries, it's of no use whatever to normal  
users, so just disabling it isn't giving up that much.  Someday we might  
care to expend the effort to develop safe unload protocols; but even if  
we did, there'd be little certainty that every third-party loadable module  
was following them, so some security restrictions would still be needed.  
  
Back-patch to 8.2; before that, LOAD was superuser-only anyway.  
  
Security: unprivileged users could crash backend.  CVE not assigned yet  

M doc/src/sgml/ref/create_function.sgml
M doc/src/sgml/ref/load.sgml
M doc/src/sgml/xfunc.sgml
M src/backend/utils/fmgr/dfmgr.c

Disallow RESET ROLE and RESET SESSION AUTHORIZATION inside security-definer functions.

commit   : 187e5d8981210c00f7f824de4926d036006d5b02    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 3 Sep 2009 22:08:05 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 3 Sep 2009 22:08:05 +0000    

Click here for diff

This extends the previous patch that forbade SETting these variables inside  
security-definer functions.  RESET is equally a security hole, since it  
would allow regaining privileges of the caller; furthermore it can trigger  
Assert failures and perhaps other internal errors, since the code is not  
expecting these variables to change in such contexts.  The previous patch  
did not cover this case because assign hooks don't really have enough  
information, so move the responsibility for preventing this into guc.c.  
  
Problem discovered by Heikki Linnakangas.  
  
Security: no CVE assigned yet, extends CVE-2007-6600  

M src/backend/commands/variable.c
M src/backend/utils/misc/guc.c
M src/include/utils/guc.h

Install a workaround for a longstanding gcc bug that allows SIGFPE traps to occur for division by zero, even though the code is carefully avoiding that. All available evidence is that the only functions affected are int24div, int48div, and int28div, so patch just those three functions to include a "return" after the ereport() call.

commit   : d0a368c65699b32212575bb573474c18c29ddef9    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 3 Sep 2009 18:48:14 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 3 Sep 2009 18:48:14 +0000    

Click here for diff

Backpatch to 8.4 so that the fix can be tested in production builds.  
For older branches our recommendation will continue to be to use -O1  
on affected platforms (which are mostly non-mainstream anyway).  

M src/backend/utils/adt/int.c
M src/backend/utils/adt/int8.c

Fixed incorrect memory management.

commit   : fc19373993f69bcc26a3910374c4b8689966212d    
  
author   : Michael Meskes <[email protected]>    
date     : Thu, 3 Sep 2009 10:24:48 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Thu, 3 Sep 2009 10:24:48 +0000    

Click here for diff

M src/interfaces/ecpg/ecpglib/execute.c

Removed some variables no longer needed.

commit   : 2720c57005cf006d9a1a5bf82b0f1ed6e35b3151    
  
author   : Michael Meskes <[email protected]>    
date     : Thu, 3 Sep 2009 09:59:20 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Thu, 3 Sep 2009 09:59:20 +0000    

Click here for diff

M src/interfaces/ecpg/ChangeLog
M src/interfaces/ecpg/compatlib/informix.c
M src/interfaces/ecpg/pgtypeslib/interval.c
M src/interfaces/ecpg/pgtypeslib/numeric.c
M src/interfaces/ecpg/pgtypeslib/timestamp.c
M src/interfaces/ecpg/preproc/type.c

Do not set connection values if no connection is open.

commit   : fe35c8e145e1c970dcae1f7df840762a753f6ee2    
  
author   : Michael Meskes <[email protected]>    
date     : Thu, 3 Sep 2009 09:09:01 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Thu, 3 Sep 2009 09:09:01 +0000    

Click here for diff

M src/interfaces/ecpg/ecpglib/misc.c

Update time zone data files to tzdata release 2009l: DST law changes in Egypt, Mauritius, Bangladesh.

commit   : 49d960c4d9df2ce40dab1c025ca6a946d5328e00    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 3 Sep 2009 04:44:35 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 3 Sep 2009 04:44:35 +0000    

Click here for diff

M src/timezone/data/africa
M src/timezone/data/asia
M src/timezone/data/australasia
M src/timezone/data/europe
M src/timezone/data/leapseconds

Remove initdb's rather gratuitous check to see if the backend created a flat password file, because it never will anymore. We had managed to miss this during the recent flat-file-ectomy because it only happens if --pwfile or --pwprompt is specified to initdb. Apparently, few hackers use those. Reported by Erik Rijkers.

commit   : b02c32e11b187f2e2ccddd60a702674dec884b4f    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 3 Sep 2009 01:40:11 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 3 Sep 2009 01:40:11 +0000    

Click here for diff

M src/bin/initdb/initdb.c

Revert Makefile modification that broke the MSVC build.

commit   : 5c709eecdc323c93a731e1af94dc99bae86ab134    
  
author   : Magnus Hagander <[email protected]>    
date     : Wed, 2 Sep 2009 19:14:14 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Wed, 2 Sep 2009 19:14:14 +0000    

Click here for diff

M src/interfaces/ecpg/preproc/Makefile

Fix subquery pullup to wrap a PlaceHolderVar around the entire RowExpr that's generated for a whole-row Var referencing the subquery, when the subquery is in the nullable side of an outer join. The previous coding instead put PlaceHolderVars around the elements of the RowExpr. The effect was that when the outer join made the subquery outputs go to null, the whole-row Var produced ROW(NULL,NULL,...) rather than just NULL. There are arguments afoot about whether those things ought to be semantically indistinguishable, but for the moment they are not entirely so, and the planner needs to take care that its machinations preserve the difference. Per bug #5025.

commit   : 57c9dff9d1a6473042caa0f1065f85c57890d2a0    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 2 Sep 2009 17:52:24 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 2 Sep 2009 17:52:24 +0000    

Click here for diff

Making this feasible required refactoring ResolveNew() to allow more caller  
control over what is substituted for a Var.  I chose to make ResolveNew()  
a wrapper around a new general-purpose function replace_rte_variables().  
I also fixed the ancient bogosity that ResolveNew might fail to set  
a query's hasSubLinks field after inserting a SubLink in it.  Although  
all current callers make sure that happens anyway, we've had bugs of that  
sort before, and it seemed like a good time to install a proper solution.  
  
Back-patch to 8.4.  The problem can be demonstrated clear back to 8.0,  
but the fix would be too invasive in earlier branches; not to mention  
that people may be depending on the subtly-incorrect behavior.  The  
8.4 series is new enough that fixing this probably won't cause complaints,  
but it might in older branches.  Also, 8.4 shows the incorrect behavior  
in more cases than older branches do, because it is able to flatten  
subqueries in more cases.  

M src/backend/optimizer/path/allpaths.c
M src/backend/optimizer/prep/prepjointree.c
M src/backend/optimizer/prep/prepunion.c
M src/backend/rewrite/rewriteHandler.c
M src/backend/rewrite/rewriteManip.c
M src/include/rewrite/rewriteManip.h
M src/test/regress/expected/join.out
M src/test/regress/sql/join.sql

Fix pg_ctl's readfile() to not go into infinite loop on an empty file (could happen if either postgresql.conf or postmaster.opts is empty). It's been broken since the C version was written for 8.0, so patch all the way back.

commit   : 040f28b4b096b34f3e7bc62121a7be347bcebbc3    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 2 Sep 2009 02:40:52 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 2 Sep 2009 02:40:52 +0000    

Click here for diff

initdb's copy of the function is broken in the same way, but it's  
less important there since the input files should never be empty.  
Patch that in HEAD only, and also fix some cosmetic differences that  
crept into that copy of the function.  
  
Per report from Corry Haines and Jeff Davis.  

M src/bin/initdb/initdb.c
M src/bin/pg_ctl/pg_ctl.c

Force VACUUM to recalculate oldestXmin even when we haven't changed our own database's datfrozenxid, if the current value is old enough to be forcing autovacuums or warning messages. This ensures that a bogus value is replaced as soon as possible. Per a comment from Heikki.

commit   : 794e3e81a0e8068de2606015352c1254cb071a78    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 1 Sep 2009 04:46:49 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 1 Sep 2009 04:46:49 +0000    

Click here for diff

M src/backend/access/transam/varsup.c
M src/backend/commands/vacuum.c
M src/include/access/transam.h

Actually, we need to bump the format identifier on twophase files because of readjustment of 2PC rmgr IDs for flatfile removal.

commit   : 14f445fccf3735bf5bddf0a90ce0a15be263b576    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 1 Sep 2009 04:15:45 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 1 Sep 2009 04:15:45 +0000    

Click here for diff

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

Bump catversion for flat-file-ectomy. Also remove a missed dead extern declaration.

commit   : b92f7a22b962dcb3d156c561d0dcf7a5e4782681    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 1 Sep 2009 03:53:08 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 1 Sep 2009 03:53:08 +0000    

Click here for diff

M src/include/catalog/catversion.h
M src/include/libpq/hba.h

Remove flatfiles.c, which is now obsolete.

commit   : a8bb8eb58334e26eac0aa8d2db499a70e22b39d7    
  
author   : Alvaro Herrera <[email protected]>    
date     : Tue, 1 Sep 2009 02:54:52 +0000    
  
committer: Alvaro Herrera <[email protected]>    
date     : Tue, 1 Sep 2009 02:54:52 +0000    

Click here for diff

Recent commits have removed the various uses it was supporting.  It was a  
performance bottleneck, according to bug report #4919 by Lauris Ulmanis; seems  
it slowed down user creation after a billion users.  

M src/backend/access/transam/twophase_rmgr.c
M src/backend/access/transam/xact.c
M src/backend/access/transam/xlog.c
M src/backend/commands/dbcommands.c
M src/backend/commands/user.c
M src/backend/commands/vacuum.c
M src/backend/libpq/hba.c
M src/backend/tcop/postgres.c
M src/backend/utils/init/Makefile
D src/backend/utils/init/flatfiles.c
M src/bin/initdb/initdb.c
M src/include/access/twophase_rmgr.h
M src/include/catalog/pg_proc.h
D src/include/utils/flatfiles.h

Move processing of startup-packet switches and GUC settings into InitPostgres, to fix the problem that SetClientEncoding needs to be done before InitializeClientEncoding, as reported by Zdenek Kotala. We get at least the small consolation of being able to remove the bizarre API detail that had InitPostgres returning whether user is a superuser.

commit   : 0905e8aeebd141a311ddee9957f75b698e872370    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 1 Sep 2009 00:09:42 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 1 Sep 2009 00:09:42 +0000    

Click here for diff

M src/backend/tcop/postgres.c
M src/backend/utils/init/postinit.c
M src/include/miscadmin.h
M src/include/tcop/tcopprot.h

Change the autovacuum launcher to read pg_database directly, rather than via the "flat files" facility. This requires making it enough like a backend to be able to run transactions; it's no longer an "auxiliary process" but more like the autovacuum worker processes. Also, its signal handling has to be brought into line with backends/workers. In particular, since it now has to handle procsignal.c processing, the special autovac-launcher-only signal conditions are moved to SIGUSR2.

commit   : 00e6a16d01683762c2f34eb4909fc739093ab3bf    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 31 Aug 2009 19:41:00 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 31 Aug 2009 19:41:00 +0000    

Click here for diff

Alvaro, with some cleanup from Tom  

M src/backend/postmaster/autovacuum.c
M src/backend/postmaster/postmaster.c
M src/backend/storage/lmgr/proc.c
M src/backend/utils/init/globals.c
M src/backend/utils/init/postinit.c
M src/backend/utils/misc/guc.c
M src/include/postmaster/autovacuum.h
M src/include/storage/proc.h

Track the current XID wrap limit (or more accurately, the oldest unfrozen XID) in checkpoint records. This eliminates the need to recompute the value from scratch during database startup, which is one of the two remaining reasons for the flatfile code to exist. It should also simplify life for hot-standby operation.

commit   : 25ec228ef760eb91c094cc3b6dea7257cc22ffb5    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 31 Aug 2009 02:23:23 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 31 Aug 2009 02:23:23 +0000    

Click here for diff

To avoid bloating the checkpoint records unreasonably, I switched from  
tracking the oldest database by name to tracking it by OID.  This turns  
out to save cycles in general (everywhere but the warning-generating  
paths, which we hardly care about) and also helps us deal with the case  
that the oldest database got dropped instead of being vacuumed.  The prior  
coding might go for a long time without updating the wrap limit in that case,  
which is bad because it might result in a lot of useless autovacuum activity.  

M src/backend/access/transam/varsup.c
M src/backend/access/transam/xlog.c
M src/backend/commands/vacuum.c
M src/backend/utils/init/flatfiles.c
M src/backend/utils/misc/guc.c
M src/bin/pg_controldata/pg_controldata.c
M src/bin/pg_resetxlog/pg_resetxlog.c
M src/include/access/transam.h
M src/include/catalog/pg_control.h

Remove some useless assignments of the result of fread(). Quiets warnings from clang static checker, and makes the code more readable anyway IMO.

commit   : e1cc64197bd3a8d6fd5e4ca6830d514130f2737f    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 30 Aug 2009 17:18:52 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 30 Aug 2009 17:18:52 +0000    

Click here for diff

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

Remove duplicate variable initializations identified by clang static checker. One of these represents a nontrivial bug (a promptly-leaked palloc), so backpatch.

commit   : dd6de24e69cbe0d5cf342905e3b0ee98365402e7    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 30 Aug 2009 16:53:31 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 30 Aug 2009 16:53:31 +0000    

Click here for diff

Greg Stark  

M src/backend/tsearch/regis.c
M src/backend/tsearch/ts_parse.c
M src/backend/utils/adt/encode.c

Remove the use of the pg_auth flat file for client authentication. (That flat file is now completely useless, but removal will come later.)

commit   : e710b65c1c56ca7b91f662c63d37ff2e72862a94    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 29 Aug 2009 19:26:52 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 29 Aug 2009 19:26:52 +0000    

Click here for diff

To do this, postpone client authentication into the startup transaction  
that's run by InitPostgres.  We still collect the startup packet and do  
SSL initialization (if needed) at the same time we did before.  The  
AuthenticationTimeout is applied separately to startup packet collection  
and the actual authentication cycle.  (This is a bit annoying, since it  
means a couple extra syscalls; but the signal handling requirements inside  
and outside a transaction are sufficiently different that it seems best  
to treat the timeouts as completely independent.)  
  
A small security disadvantage is that if the given database name is invalid,  
this will be reported to the client before any authentication happens.  
We could work around that by connecting to database "postgres" instead,  
but consensus seems to be that it's not worth introducing such surprising  
behavior.  
  
Processing of all command-line switches and GUC options received from the  
client is now postponed until after authentication.  This means that  
PostAuthDelay is much less useful than it used to be --- if you need to  
investigate problems during InitPostgres you'll have to set PreAuthDelay  
instead.  However, allowing an unauthenticated user to set any GUC options  
whatever seems a bit too risky, so we'll live with that.  

M src/backend/libpq/auth.c
M src/backend/libpq/crypt.c
M src/backend/libpq/hba.c
M src/backend/libpq/pqsignal.c
M src/backend/postmaster/postmaster.c
M src/backend/tcop/postgres.c
M src/backend/utils/init/flatfiles.c
M src/backend/utils/init/postinit.c
M src/backend/utils/misc/guc.c
M src/include/libpq/hba.h
M src/include/libpq/pqsignal.h
M src/include/miscadmin.h
M src/include/storage/pmsignal.h
M src/include/tcop/tcopprot.h
M src/include/utils/guc.h

Remove handling of CVS entries for TODO/FAQ, because they are removed now.

commit   : 585806cb9fa0deeec94c8d76c20316ad0dfdd7eb    
  
author   : Bruce Momjian <[email protected]>    
date     : Sat, 29 Aug 2009 17:09:20 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Sat, 29 Aug 2009 17:09:20 +0000    

Click here for diff

M src/tools/pgcvslog

Derived files that are shipped in the distribution used to be built in the source directory even for out-of-tree builds. They are now alsl built in the build tree. This should be more convenient for certain developers' workflows, and shouldn't really break anything else.

commit   : 234c7ce9f2a0c8262d3b3a3fe3970c337f9f0286    
  
author   : Peter Eisentraut <[email protected]>    
date     : Fri, 28 Aug 2009 20:26:19 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Fri, 28 Aug 2009 20:26:19 +0000    

Click here for diff

M contrib/cube/Makefile
M contrib/seg/Makefile
M doc/src/sgml/Makefile
M src/Makefile.shlib
M src/backend/Makefile
M src/backend/bootstrap/Makefile
M src/backend/parser/Makefile
M src/backend/snowball/Makefile
M src/backend/utils/misc/Makefile
M src/bin/psql/Makefile
M src/interfaces/ecpg/preproc/Makefile
M src/interfaces/libpq/Makefile
M src/pl/plpgsql/src/Makefile

Remove useless code that propagated FrontendProtocol to a backend via a PostgresMain switch. In point of fact, FrontendProtocol is already set in a backend process, since ProcessStartupPacket() is executed inside the backend --- it hasn't been run by the postmaster for many years. And if it were, we'd still certainly want FrontendProtocol to be set before we get as far as PostgresMain, so that startup errors get reported in the right protocol.

commit   : 0a00c9a8efe95180d23705d92e67a581828f50ce    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 28 Aug 2009 18:23:53 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 28 Aug 2009 18:23:53 +0000    

Click here for diff

-v might have some future use in standalone backends, so I didn't go so  
far as to remove the switch outright.  
  
Also, initialize FrontendProtocol to 0 not PG_PROTOCOL_LATEST.  The only  
likely result of presetting it like that is to mask failure-to-set-it  
mistakes.  

M src/backend/postmaster/postmaster.c
M src/backend/tcop/postgres.c
M src/backend/utils/init/globals.c

Non-Windows EXEC_BACKEND path was broken by recent write_inheritable_socket change ... it's got to return true.

commit   : c66d9ce7741435a6741dcd34d25c58085c0c4240    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 28 Aug 2009 17:42:54 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 28 Aug 2009 17:42:54 +0000    

Click here for diff

M src/backend/postmaster/postmaster.c

Modify the definition of window-function PARTITION BY and ORDER BY clauses so that their elements are always taken as simple expressions over the query's input columns. It originally seemed like a good idea to make them act exactly like GROUP BY and ORDER BY, right down to the SQL92-era behavior of accepting output column names or numbers. However, that was not such a great idea, for two reasons:

commit   : bb16dc49abd5b5af8f10781fb10f0439cd8431d6    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 27 Aug 2009 20:08:03 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 27 Aug 2009 20:08:03 +0000    

Click here for diff

1. It permits circular references, as exhibited in bug #5018: the output  
column could be the one containing the window function itself.  (We actually  
had a regression test case illustrating this, but nobody thought twice about  
how confusing that would be.)  
  
2. It doesn't seem like a good idea for, eg, "lead(foo) OVER (ORDER BY foo)"  
to potentially use two completely different meanings for "foo".  
  
Accordingly, narrow down the behavior of window clauses to use only the  
SQL99-compliant interpretation that the expressions are simple expressions.  

M doc/src/sgml/ref/select.sgml
M doc/src/sgml/syntax.sgml
M src/backend/parser/analyze.c
M src/backend/parser/parse_clause.c
M src/include/parser/parse_clause.h
M src/test/regress/expected/window.out
M src/test/regress/sql/window.sql

Fix broken markup

commit   : f065b17d9fa1915b6f6ba7a265ebe6f285706f50    
  
author   : Alvaro Herrera <[email protected]>    
date     : Thu, 27 Aug 2009 20:05:28 +0000    
  
committer: Alvaro Herrera <[email protected]>    
date     : Thu, 27 Aug 2009 20:05:28 +0000    

Click here for diff

Jan Urbański  

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

Make the .DEF file generation rules safe against tabs in exports.txt. Per bug #5016, although I think the MSVC build scripts may need a similar fix.

commit   : 3d167209a799886184427fe49827b3bf90e9c1fe    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 27 Aug 2009 17:55:53 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 27 Aug 2009 17:55:53 +0000    

Click here for diff

M src/Makefile.shlib

Fix handling of autovacuum reloptions.

commit   : 53af86c55c1634d1ec7c9f6fefec5cf591967bc5    
  
author   : Alvaro Herrera <[email protected]>    
date     : Thu, 27 Aug 2009 17:18:44 +0000    
  
committer: Alvaro Herrera <[email protected]>    
date     : Thu, 27 Aug 2009 17:18:44 +0000    

Click here for diff

In the original coding, setting a single reloption would cause default  
values to be used for all the other reloptions.  This is a problem  
particularly for autovacuum reloptions.  
  
Itagaki Takahiro  

M src/backend/access/common/reloptions.c
M src/backend/postmaster/autovacuum.c

Make it reasonably safe to use pg_ctl to start the postmaster from a boot-time script.

commit   : 8f5500e6bdb4d42ea9620b0f515671be7d681bf6    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 27 Aug 2009 16:59:38 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 27 Aug 2009 16:59:38 +0000    

Click here for diff

To do this, have pg_ctl pass down its parent shell's PID in an environment  
variable PG_GRANDPARENT_PID, and teach CreateLockFile() to disregard that PID  
as a false match if it finds it in postmaster.pid.  This allows us to cope  
with one level of postgres-owned shell process even with pg_ctl in the way,  
so it's just as safe as starting the postmaster directly.  You still have to  
be careful about how you write the initscript though.  
  
Adjust the comments in contrib/start-scripts/ to not deprecate use of  
pg_ctl.  Also, fix the ROTATELOGS option in the OSX script, which was  
indulging in exactly the sort of unsafe coding that renders this fix  
pointless :-(.  A pipe inside the "sudo" will probably result in more  
than one postgres-owned process hanging around.  

M contrib/start-scripts/freebsd
M contrib/start-scripts/linux
M contrib/start-scripts/osx/PostgreSQL
M src/backend/utils/init/miscinit.c
M src/bin/pg_ctl/pg_ctl.c

exports.txt needs to use spaces as separators, not tabs, to work properly with the sed rules.

commit   : 0e3f0cbddcb6da390c1accc5fc6af4eedd33b6a2    
  
author   : Magnus Hagander <[email protected]>    
date     : Thu, 27 Aug 2009 16:49:41 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Thu, 27 Aug 2009 16:49:41 +0000    

Click here for diff

M src/interfaces/ecpg/compatlib/exports.txt

Remove some unnecessary variable assignments, per results of "clang" static checker. Paul Matthews

commit   : aaa9f7d49598524ecdfb5c288c67b8dca568e319    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 27 Aug 2009 15:59:22 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 27 Aug 2009 15:59:22 +0000    

Click here for diff

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

In the checkpoint written at the end of archive recovery, the WAL page header was incorrectly initialized with timeline ID 0. That rendered the WAL page unrecoverable, making a subsequent archive recovery stop at that point. ThisTimeLineID needs to be initialized before calling AdvanceXLInsertBuffer().

commit   : 9cd6685f918898eaa543fda95751fc804ee22348    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Thu, 27 Aug 2009 07:15:41 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Thu, 27 Aug 2009 07:15:41 +0000    

Click here for diff

This fixes bug #5011 reported by James Bardin. Backpatch to 8.4, as the bug  
was introduced by the changes to use of bgwriter for writing the  
end-of-archive-recovery checkpoint. Patch by Tom Lane.  

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

Update release notes for 7.4.26, 8.0.22, 8.1.18, 8.2.14, 8.3.8, 8.4.1.

commit   : a814170d8901a5039cf8e85e490c7cfc47ae33e2    
  
author   : Bruce Momjian <[email protected]>    
date     : Thu, 27 Aug 2009 01:27:34 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Thu, 27 Aug 2009 01:27:34 +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

Update of install-sh, mkinstalldirs, and associated configury

commit   : 9d182ef002b15c873074c710b709149450ddbcd9    
  
author   : Peter Eisentraut <[email protected]>    
date     : Wed, 26 Aug 2009 22:24:44 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Wed, 26 Aug 2009 22:24:44 +0000    

Click here for diff

Update install-sh to that from Autoconf 2.63, plus our Darwin-specific  
changes (which I simplified a bit).  install-sh is now able to install  
multiple files in one run, so we could simplify our makefiles sometime.  
  
install-sh also now has a -d option to create directories, so we don't need  
mkinstalldirs anymore.  
  
Use AC_PROG_MKDIR_P in configure.in, so we can use mkdir -p when available  
instead of install-sh -d.  For consistency with the rest of the world,  
the corresponding make variable has been renamed from $(mkinstalldirs) to  
$(MKDIR_P).  

M config/Makefile
M config/install-sh
D config/mkinstalldirs
M configure
M configure.in
M doc/src/sgml/Makefile
M src/Makefile
M src/Makefile.global.in
M src/Makefile.shlib
M src/backend/Makefile
M src/backend/catalog/Makefile
M src/backend/snowball/Makefile
M src/backend/tsearch/Makefile
M src/backend/utils/mb/conversion_procs/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/psql/Makefile
M src/bin/scripts/Makefile
M src/include/Makefile
M src/interfaces/ecpg/include/Makefile
M src/interfaces/ecpg/preproc/Makefile
M src/interfaces/libpq/Makefile
M src/makefiles/Makefile
M src/makefiles/pgxs.mk
M src/nls-global.mk
M src/pl/tcl/modules/Makefile
M src/port/Makefile
M src/test/regress/GNUmakefile
M src/timezone/Makefile
M src/timezone/tznames/Makefile

Add -Wno-error to CFLAGS from gram.o as long as it's broken.

commit   : 7ca774a8739bc3887abda2a0259703729026a5ca    
  
author   : Peter Eisentraut <[email protected]>    
date     : Wed, 26 Aug 2009 22:15:59 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Wed, 26 Aug 2009 22:15:59 +0000    

Click here for diff

M src/backend/parser/Makefile

Correct my overly enthusiastic CSS simplification.

commit   : 6c74c9dad8f929411fc6717cea6ab3c79d998dbd    
  
author   : Peter Eisentraut <[email protected]>    
date     : Wed, 26 Aug 2009 21:18:29 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Wed, 26 Aug 2009 21:18:29 +0000    

Click here for diff

M doc/src/sgml/stylesheet.css

Update the documentation CSS stylesheet to current web site style

commit   : ae3da8ad402f6a2398a722b40bfd5a3e68dd96e6    
  
author   : Peter Eisentraut <[email protected]>    
date     : Wed, 26 Aug 2009 13:56:24 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Wed, 26 Aug 2009 13:56:24 +0000    

Click here for diff

M doc/src/sgml/stylesheet.css

Enhanced error context support in PL/Python

commit   : 27c405d61a909d11ded22ed0ac8038810e3f36e9    
  
author   : Peter Eisentraut <[email protected]>    
date     : Tue, 25 Aug 2009 12:44:59 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Tue, 25 Aug 2009 12:44:59 +0000    

Click here for diff

Extract the "while creating return value" and "while modifying trigger  
row" parts of some error messages into another layer of error context.  
This will simplify the upcoming patch to improve data type support, but  
it can stand on its own.  

M src/pl/plpython/expected/plpython_record.out
M src/pl/plpython/expected/plpython_trigger.out
M src/pl/plpython/expected/plpython_types.out
M src/pl/plpython/expected/plpython_unicode.out
M src/pl/plpython/expected/plpython_unicode_2.out
M src/pl/plpython/expected/plpython_unicode_3.out
M src/pl/plpython/expected/plpython_void.out
M src/pl/plpython/plpython.c

Use generic attribute management in PL/Python

commit   : 983d10833e62d8f6e79e09a060e4e539b3a916c5    
  
author   : Peter Eisentraut <[email protected]>    
date     : Tue, 25 Aug 2009 08:14:42 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Tue, 25 Aug 2009 08:14:42 +0000    

Click here for diff

Switch the implementation of the plan and result types to generic attribute  
management, as described at <http://docs.python.org/extending/newtypes.html>.  
This modernizes and simplifies the code a bit and prepares for Python 3.1,  
where the old way doesn't work anymore.  

M src/pl/plpython/expected/plpython_spi.out
M src/pl/plpython/plpython.c
M src/pl/plpython/sql/plpython_spi.sql

Make PL/Python tests more compatible with Python 3

commit   : 5dff93638c4443d3afba017f64c9ade69e0fbd3b    
  
author   : Peter Eisentraut <[email protected]>    
date     : Mon, 24 Aug 2009 20:25:25 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Mon, 24 Aug 2009 20:25:25 +0000    

Click here for diff

This changes a bunch of incidentially used constructs in the PL/Python  
regression tests to equivalent constructs in cases where Python 3 no longer  
supports the old syntax.  Support for older Python versions is unchanged.  

M src/pl/plpython/expected/plpython_error.out
M src/pl/plpython/expected/plpython_error_2.out
M src/pl/plpython/expected/plpython_global.out
M src/pl/plpython/expected/plpython_import.out
M src/pl/plpython/expected/plpython_setof.out
M src/pl/plpython/expected/plpython_spi.out
M src/pl/plpython/expected/plpython_test.out
M src/pl/plpython/expected/plpython_trigger.out
M src/pl/plpython/sql/plpython_error.sql
M src/pl/plpython/sql/plpython_global.sql
M src/pl/plpython/sql/plpython_import.sql
M src/pl/plpython/sql/plpython_setof.sql
M src/pl/plpython/sql/plpython_spi.sql
M src/pl/plpython/sql/plpython_test.sql
M src/pl/plpython/sql/plpython_trigger.sql

Try to make silent_mode behave somewhat reasonably.

commit   : 8bed238c871fae205c5c6615f3b9ab8a039359e2    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 24 Aug 2009 20:08:32 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 24 Aug 2009 20:08:32 +0000    

Click here for diff

Instead of sending stdout/stderr to /dev/null after forking away from the  
terminal, send them to postmaster.log within the data directory.  Since  
this opens the door to indefinite logfile bloat, recommend even more  
strongly that log output be redirected when using silent_mode.  
  
Move the postmaster's initial calls of load_hba() and load_ident() down  
to after we have started the log collector, if we are going to.  This  
is so that errors reported by them will appear in the "usual" place.  
  
Reclassify silent_mode as a LOGGING_WHERE, not LOGGING_WHEN, parameter,  
since it's got absolutely nothing to do with the latter category.  
  
In passing, fix some obsolete references to -S ... this option hasn't  
had that switch letter for a long time.  
  
Back-patch to 8.4, since as of 8.4 load_hba() and load_ident() are more  
picky (and thus more likely to fail) than they used to be.  This entire  
change was driven by a complaint about those errors disappearing into  
the bit bucket.  

M doc/src/sgml/config.sgml
M src/backend/postmaster/postmaster.c
M src/backend/utils/misc/guc.c
M src/backend/utils/misc/postgresql.conf.sample

Small correction to previous patch: we shouldn't ReleasePostmasterChildSlot for a dead_end child, because we didn't AssignPostmasterChildSlot.

commit   : 5a4f7638419bb358a0bb82e5c0921a9ea9aa40b9    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 24 Aug 2009 18:09:37 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 24 Aug 2009 18:09:37 +0000    

Click here for diff

M src/backend/postmaster/postmaster.c

Avoid calling kill() in a postmaster signal handler.

commit   : 45f9b4646f2f5608d9dbf6357f5a317edcb1d7da    
  
author   : Alvaro Herrera <[email protected]>    
date     : Mon, 24 Aug 2009 17:23:02 +0000    
  
committer: Alvaro Herrera <[email protected]>    
date     : Mon, 24 Aug 2009 17:23:02 +0000    

Click here for diff

This causes problems when the system load is high, per report from Zdenek  
Kotala in <1250860954.1239.114.camel@localhost>; instead of calling kill  
directly, have the signal handler set a flag which is checked in ServerLoop.  
This way, the handler can return before being called again by a subsequent  
signal sent from the autovacuum launcher.  Also, increase the sleep in the  
launcher in this failure path to 1 second.  
  
Backpatch to 8.3, which is when the signalling between autovacuum  
launcher/postmaster was introduced.  
  
Also, add a couple of ReleasePostmasterChildSlot calls in error paths; this  
part backpatched to 8.4 which is when the child slot stuff was introduced.  

M src/backend/postmaster/autovacuum.c
M src/backend/postmaster/postmaster.c

Fix inclusions of readline/editline header files so that we only attempt to #include the version of history.h that is in the same directory as the readline.h we are using. This avoids problems in some scenarios where both readline and editline are installed. Report and patch by Zdenek Kotala.

commit   : 9b708f1f57e8303677f40e7773a3aee716f18a8d    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 24 Aug 2009 16:18:13 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 24 Aug 2009 16:18:13 +0000    

Click here for diff

M src/bin/psql/input.h

Remove unused variable.

commit   : 1e6bd556d8cc5346b38e7626b96edfab6ca0d544    
  
author   : Alvaro Herrera <[email protected]>    
date     : Mon, 24 Aug 2009 14:15:09 +0000    
  
committer: Alvaro Herrera <[email protected]>    
date     : Mon, 24 Aug 2009 14:15:09 +0000    

Click here for diff

Per Grzegorz Jaskiewicz report from LLVM static checker  

M src/bin/pg_dump/pg_backup_custom.c

Run the "tablespace" regression test first not last. The former placement renders useless one of the few test methodologies we have for WAL replay, which is to intentionally crash the system just after completing the regression tests and see if it recovers to the expected database state. The reason is that DROP TABLESPACE forces a checkpoint, so there's essentially no WAL available for replay after the tests complete.

commit   : 3bee0a46423f60df194f5ce8529530f271b68b86    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 24 Aug 2009 03:10:16 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 24 Aug 2009 03:10:16 +0000    

Click here for diff

M src/test/regress/parallel_schedule
M src/test/regress/serial_schedule

Fix a violation of WAL coding rules in the recent patch to include an "all tuples visible" flag in heap page headers. The flag update *must* be applied before calling XLogInsert, but heap_update and the tuple moving routines in VACUUM FULL were ignoring this rule. A crash and replay could therefore leave the flag incorrectly set, causing rows to appear visible in seqscans when they should not be. This might explain recent reports of data corruption from Jeff Ross and others.

commit   : 7fc7a7c4d082bfbd579f49e92b046dd51f1faf5f    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 24 Aug 2009 02:18:32 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 24 Aug 2009 02:18:32 +0000    

Click here for diff

In passing, do a bit of editorialization on comments in visibilitymap.c.  

M src/backend/access/heap/heapam.c
M src/backend/access/heap/visibilitymap.c
M src/backend/commands/vacuum.c
M src/backend/commands/vacuumlazy.c
M src/include/access/heapam.h
M src/include/access/visibilitymap.h

Make TRUNCATE do truncate-in-place when processing a relation that was created or previously truncated in the current (sub)transaction. This is safe since if the (sub)transaction later rolls back, we'd just discard the rel's current physical file anyway. This avoids unreasonable growth in the number of transient files when a relation is repeatedly truncated. Per a performance gripe a couple weeks ago from Todd Cook.

commit   : cab9a0656c36739f59277b34fea8ab9438395869    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 23 Aug 2009 19:23:41 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 23 Aug 2009 19:23:41 +0000    

Click here for diff

M src/backend/catalog/heap.c
M src/backend/commands/tablecmds.c
M src/include/catalog/heap.h

Tweak ExecIndexEvalRuntimeKeys to forcibly detoast any toasted comparison values before they get passed to the index access method. This avoids repeated detoastings that will otherwise ensue as the comparison value is examined by various index support functions. We have seen a couple of reports of cases where repeated detoastings result in an order-of-magnitude slowdown, so it seems worth adding a bit of extra logic to prevent this.

commit   : c38b75947e015afdd2a18d099f52d29748734e32    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 23 Aug 2009 18:26:08 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 23 Aug 2009 18:26:08 +0000    

Click here for diff

I had previously proposed trying to avoid duplicate detoastings in general,  
but this fix takes care of what seems the most important case in practice  
with very little effort or risk.  
  
Back-patch to 8.4 so that the PostGIS folk won't have to wait a year to  
have this fix in a production release.  (The issue exists further back,  
of course, but the code's diverged enough to make backpatching further a  
higher-risk action.  Also it appears that the possible gains may be limited  
in prior releases because of different handling of lossy operators.)  

M src/backend/executor/nodeIndexscan.c
M src/include/nodes/execnodes.h

Include resjunk columns in EXPLAIN VERBOSE output lists. Per discussion.

commit   : 56e985d02eb2940904bc9e881d251b692b93afc6    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 22 Aug 2009 02:06:32 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 22 Aug 2009 02:06:32 +0000    

Click here for diff

M src/backend/commands/explain.c

Remove tabs from SGML.

commit   : 1710800813df5563b50a95c0d9a2253b73b6f16a    
  
author   : Bruce Momjian <[email protected]>    
date     : Thu, 20 Aug 2009 12:12:37 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Thu, 20 Aug 2009 12:12:37 +0000    

Click here for diff

M doc/src/sgml/unaccent.sgml

Fix version_stamp.pl to allow 'alphaN' version stamps. Not sure how Peter did that without fixing this ...

commit   : e59686f029d7c5d1c1af0eaaf9df839fcf9b9f91    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 19 Aug 2009 15:03:56 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 19 Aug 2009 15:03:56 +0000    

Click here for diff

M src/tools/version_stamp.pl

Alter release note item about PL/pgSQL functions and dropped columns. per Pavel Stehule

commit   : c9ebd16dfa9bdef9090db405a842fb78f0128c34    
  
author   : Peter Eisentraut <[email protected]>    
date     : Wed, 19 Aug 2009 08:18:48 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Wed, 19 Aug 2009 08:18:48 +0000    

Click here for diff

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

Update alpha release notes to current.

commit   : 215988f7665d30879f3a397ebd0140986671296c    
  
author   : Peter Eisentraut <[email protected]>    
date     : Wed, 19 Aug 2009 07:54:21 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Wed, 19 Aug 2009 07:54:21 +0000    

Click here for diff

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

Allow mixing of traditional and SQL:2008 LIMIT/OFFSET syntax. Being rigid about it doesn't simplify the grammar at all, and it does invite confusion among those who only read the SELECT syntax summary and not the full details. Per gripe from Jaime Casanova.

commit   : be4cd18f71daef23d85703fb7542ae50d802e07c    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 18 Aug 2009 23:40:20 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 18 Aug 2009 23:40:20 +0000    

Click here for diff

M doc/src/sgml/ref/select.sgml
M src/backend/parser/gram.y

Pick up REGRESS_OPTS from contrib makefiles. Along the way, fix ordering of makefile tests to mimic gmake.

commit   : 514c3f19a2cba010c9e7b5abcd20c540fcbf6c0f    
  
author   : Andrew Dunstan <[email protected]>    
date     : Tue, 18 Aug 2009 22:36:56 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Tue, 18 Aug 2009 22:36:56 +0000    

Click here for diff

M src/tools/msvc/vcregress.pl

Fix overflow for INTERVAL 'x ms' where x is more than a couple million, and integer datetimes are in use. Per bug report from Hubert Depesz Lubaczewski.

commit   : 3bd2241135d18767cf40fc9a39a4afd4ce3ff3a6    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 18 Aug 2009 21:23:14 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 18 Aug 2009 21:23:14 +0000    

Click here for diff

Alex Hunsaker  

M src/backend/utils/adt/datetime.c
M src/include/utils/timestamp.h

Remove duplicate from release notes, and reorganize slightly.

commit   : e31b35faa5f1971ad847f238b6893fb805b74065    
  
author   : Peter Eisentraut <[email protected]>    
date     : Tue, 18 Aug 2009 16:54:12 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Tue, 18 Aug 2009 16:54:12 +0000    

Click here for diff

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

Print the actual DB encoding in the unaccent regression test. This is to help make it more obvious what the problem is, if the encoding isn't what the test expects.

commit   : 4b98b613f6980d4d14dada062b47322132107144    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 18 Aug 2009 16:00:50 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 18 Aug 2009 16:00:50 +0000    

Click here for diff

M contrib/unaccent/expected/unaccent.out
M contrib/unaccent/sql/unaccent.sql

Fix some *other* compiler warnings from a different gcc version.

commit   : 13845d261c9843cc3617a5e44fba09335bce3e83    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 18 Aug 2009 15:57:26 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 18 Aug 2009 15:57:26 +0000    

Click here for diff

M contrib/unaccent/unaccent.c

Fix copy-and-pasteo that might explain some of the buildfarm's indigestion about this module.

commit   : ed05063d272686ffc2de1d21991703a01098b60c    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 18 Aug 2009 15:51:16 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 18 Aug 2009 15:51:16 +0000    

Click here for diff

M contrib/unaccent/Makefile

Suppress compiler warnings about uninitialized variables.

commit   : ec8128465fe4251f412c60b6d1d9d7e5ef96cacf    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 18 Aug 2009 15:37:04 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 18 Aug 2009 15:37:04 +0000    

Click here for diff

M contrib/unaccent/unaccent.c

Unaccent dictionary.

commit   : 92e05bc6a5e2c8972bd128cbb9914b4149d58709    
  
author   : Teodor Sigaev <[email protected]>    
date     : Tue, 18 Aug 2009 10:34:39 +0000    
  
committer: Teodor Sigaev <[email protected]>    
date     : Tue, 18 Aug 2009 10:34:39 +0000    

Click here for diff

M contrib/Makefile
M contrib/README
A contrib/unaccent/Makefile
A contrib/unaccent/expected/unaccent.out
A contrib/unaccent/sql/unaccent.sql
A contrib/unaccent/unaccent.c
A contrib/unaccent/unaccent.rules
A contrib/unaccent/unaccent.sql.in
A contrib/unaccent/uninstall_unaccent.sql
M doc/src/sgml/contrib.sgml
M doc/src/sgml/filelist.sgml
A doc/src/sgml/unaccent.sgml

Introduce filtering dictionary support to tsearch. Propagate --nolocale option to CREATE DATABASE command in pg_regress to allow correct checking of locale-sensitive contrib modules.

commit   : a88a48011c00b6daa12e170f70b0b34cf9247113    
  
author   : Teodor Sigaev <[email protected]>    
date     : Tue, 18 Aug 2009 10:30:41 +0000    
  
committer: Teodor Sigaev <[email protected]>    
date     : Tue, 18 Aug 2009 10:30:41 +0000    

Click here for diff

M src/backend/tsearch/ts_parse.c
M src/include/tsearch/ts_public.h
M src/test/regress/pg_regress.c

Add release notes for 8.5alpha1

commit   : 77dfb64df4c1e7f2662b0199971ff4af289cb00e    
  
author   : Peter Eisentraut <[email protected]>    
date     : Mon, 17 Aug 2009 22:14:44 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Mon, 17 Aug 2009 22:14:44 +0000    

Click here for diff

M doc/src/sgml/filelist.sgml
A doc/src/sgml/release-8.5.sgml
M doc/src/sgml/release.sgml

Make version.sgml depend on configure instead of Makefile.global. This cheats a bit, but it avoids unsatisfied dependencies in distribution tarballs. (found by make distcheck)

commit   : 42d2470c38825ce719cb867eaca54586cc4fedd5    
  
author   : Peter Eisentraut <[email protected]>    
date     : Mon, 17 Aug 2009 21:29:30 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Mon, 17 Aug 2009 21:29:30 +0000    

Click here for diff

M doc/src/sgml/Makefile

Department of marginal improvements: teach tupconvert.c to avoid doing a physical conversion when there are dropped columns in the same places in the input and output tupdescs. This avoids possible performance loss from the recent patch to improve dropped-column handling, in some cases where the old code would have worked.

commit   : 67a5f8ff9e168bf2ec3540b8a389efb5f46b76fc    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 17 Aug 2009 20:34:31 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 17 Aug 2009 20:34:31 +0000    

Click here for diff

M src/backend/access/common/tupconvert.c

Fix imprecise documentation of random(): it never returns 1.0. This was changed in 8.2 but the documentation was not corrected. Per gripe from Sam Mason.

commit   : 26a90c654f19263449a70e24a3a7bc3df1908121    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 16 Aug 2009 19:55:21 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 16 Aug 2009 19:55:21 +0000    

Click here for diff

M doc/src/sgml/func.sgml

Fix incorrect encoding-aware name truncation in makeArrayTypeName().

commit   : 785cfee0313fb04713d11b23413abf9a61c89a6f    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 16 Aug 2009 18:14:34 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 16 Aug 2009 18:14:34 +0000    

Click here for diff

truncate_identifier won't do anything if the passed-in strlen is already  
less than NAMEDATALEN, which it always would be given the strlcpy usage.  
This has been broken since the arrays-of-composite-types code went in.  
  
Arguably truncate_identifier is suffering from excessive optimization  
and should always process the string, but for the moment I'll take the  
more localized patch.  
  
Per bug #4987.  

M src/backend/catalog/pg_type.c

Remove Wisconsin benchmark files.

commit   : a05a4b478d28b5a8b423b0374c3bf65d84c90a7d    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 15 Aug 2009 16:16:01 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 15 Aug 2009 16:16:01 +0000    

Click here for diff

This test is clearly not being used anymore, since it's been broken for  
long periods of time without anyone noticing.  Per discussion, it's not  
worth keeping in our source tree.  

D src/test/bench/Makefile
D src/test/bench/WISC-README
D src/test/bench/create.sh
D src/test/bench/create.source
D src/test/bench/perquery
D src/test/bench/query01
D src/test/bench/query02
D src/test/bench/query03
D src/test/bench/query04
D src/test/bench/query05
D src/test/bench/query06
D src/test/bench/query07
D src/test/bench/query08
D src/test/bench/query09
D src/test/bench/query10
D src/test/bench/query11
D src/test/bench/query12
D src/test/bench/query13
D src/test/bench/query14
D src/test/bench/query15
D src/test/bench/query16
D src/test/bench/query17
D src/test/bench/query18
D src/test/bench/query19
D src/test/bench/query20
D src/test/bench/query21
D src/test/bench/query22
D src/test/bench/query23
D src/test/bench/query24
D src/test/bench/query25
D src/test/bench/query26
D src/test/bench/query27
D src/test/bench/query28
D src/test/bench/query29
D src/test/bench/query30
D src/test/bench/query31
D src/test/bench/query32
D src/test/bench/runwisc.sh
D src/test/bench/wholebench.sh

Make sure that 'make distclean' cleans out all files that are not meant to be shipped. Also, allow 'make clean' to remove intermediate working files.

commit   : b328853733b9ff6084d31cd2a617b537a34d5bd6    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 15 Aug 2009 01:56:35 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 15 Aug 2009 01:56:35 +0000    

Click here for diff

M doc/src/sgml/Makefile

Clarify the documentation about PL/Perl nested subroutines, per Josh Berkus.

commit   : 1a6d678f00206b87a274c42fc4f1dcde5f1d14d0    
  
author   : Peter Eisentraut <[email protected]>    
date     : Sat, 15 Aug 2009 00:33:12 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Sat, 15 Aug 2009 00:33:12 +0000    

Click here for diff

M doc/src/sgml/plperl.sgml

Remove the test case that depends on the platform's float output format.

commit   : efc1aeb85a220d367d19d5bbb7817debd5920ab4    
  
author   : Peter Eisentraut <[email protected]>    
date     : Fri, 14 Aug 2009 23:25:51 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Fri, 14 Aug 2009 23:25:51 +0000    

Click here for diff

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

Be able to easily figure out the target directory of "make dist".

commit   : 3a00c0a6d45cae05d341a27f3d28f013c56851c7    
  
author   : Alvaro Herrera <[email protected]>    
date     : Fri, 14 Aug 2009 21:37:18 +0000    
  
committer: Alvaro Herrera <[email protected]>    
date     : Fri, 14 Aug 2009 21:37:18 +0000    

Click here for diff

M GNUmakefile.in

Repair breakage of Wisconsin benchmark due to change of command line syntax for standalone backends.

commit   : 3718b0c50dcde6cd384c051b6e610b369fe02a3d    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 14 Aug 2009 18:49:34 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 14 Aug 2009 18:49:34 +0000    

Click here for diff

Although we probably ought to just remove this long-obsolete test case from  
our code, it seems worthwhile to document the issue and fix in CVS first.  
  
Jeff Janes  

M src/test/bench/create.sh
M src/test/bench/runwisc.sh

Add prefix support for synonym dictionary

commit   : abd8c94ff98091a5134d905258c2835e72b2dbd8    
  
author   : Teodor Sigaev <[email protected]>    
date     : Fri, 14 Aug 2009 14:53:20 +0000    
  
committer: Teodor Sigaev <[email protected]>    
date     : Fri, 14 Aug 2009 14:53:20 +0000    

Click here for diff

M doc/src/sgml/textsearch.sgml
M src/backend/tsearch/dict_synonym.c
M src/backend/tsearch/synonym_sample.syn
M src/test/regress/expected/tsdicts.out
M src/test/regress/sql/tsdicts.sql

PL/Python regression tests for data type handling

commit   : 0c738084fbb2ef55dfe27702b9486bf44c911a0c    
  
author   : Peter Eisentraut <[email protected]>    
date     : Fri, 14 Aug 2009 13:42:16 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Fri, 14 Aug 2009 13:42:16 +0000    

Click here for diff

Add some checks on various data types are converted into and out of Python.  
This is extracted from Caleb Welton's patch for improved bytea support,  
but much expanded.  

M src/pl/plpython/Makefile
A src/pl/plpython/expected/plpython_types.out
A src/pl/plpython/sql/plpython_types.sql

Made sure sqlca is reset for declare cursor in Informix mode as pointed out by Böszörményi Zoltán <[email protected]>.

commit   : cf37d6846788a7c11b4a2a4500a819c3723d307c    
  
author   : Michael Meskes <[email protected]>    
date     : Fri, 14 Aug 2009 13:28:22 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Fri, 14 Aug 2009 13:28:22 +0000    

Click here for diff

M src/interfaces/ecpg/ChangeLog
M src/interfaces/ecpg/compatlib/Makefile
M src/interfaces/ecpg/compatlib/exports.txt
M src/interfaces/ecpg/compatlib/informix.c
M src/interfaces/ecpg/include/ecpg_informix.h
M src/interfaces/ecpg/preproc/ecpg.addons
M src/interfaces/ecpg/preproc/ecpg.trailer
M src/interfaces/ecpg/test/compat_informix/test_informix.pgc
M src/interfaces/ecpg/test/expected/compat_informix-test_informix.c
M src/interfaces/ecpg/test/expected/compat_informix-test_informix.stderr
M src/interfaces/ecpg/test/expected/compat_informix-test_informix.stdout
M src/interfaces/ecpg/test/expected/connect-test1.stderr

Domain support in PL/Python

commit   : c74d8a7708d188f06e0c8bdf340847084915138f    
  
author   : Peter Eisentraut <[email protected]>    
date     : Fri, 14 Aug 2009 13:12:21 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Fri, 14 Aug 2009 13:12:21 +0000    

Click here for diff

When examining what Python type to convert a PostgreSQL type to on input,  
look at the base type of the input type, otherwise all domains end up  
defaulting to string.  

M src/pl/plpython/plpython.c

Remove stray character in type description

commit   : 79023381920f84370149812df7ce9869f89420d1    
  
author   : Peter Eisentraut <[email protected]>    
date     : Thu, 13 Aug 2009 21:14:31 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Thu, 13 Aug 2009 21:14:31 +0000    

Click here for diff

M src/include/catalog/pg_type.h

Augment test coverage in PL/Python, especially for error conditions.

commit   : cfe380a6dd0dc7335ad83c3e0789357dc554fad3    
  
author   : Peter Eisentraut <[email protected]>    
date     : Thu, 13 Aug 2009 20:50:05 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Thu, 13 Aug 2009 20:50:05 +0000    

Click here for diff

M src/pl/plpython/expected/plpython_params.out
M src/pl/plpython/expected/plpython_record.out
M src/pl/plpython/expected/plpython_schema.out
M src/pl/plpython/expected/plpython_setof.out
M src/pl/plpython/expected/plpython_test.out
M src/pl/plpython/expected/plpython_trigger.out
M src/pl/plpython/plpython.c
M src/pl/plpython/sql/plpython_params.sql
M src/pl/plpython/sql/plpython_record.sql
M src/pl/plpython/sql/plpython_schema.sql
M src/pl/plpython/sql/plpython_setof.sql
M src/pl/plpython/sql/plpython_spi.sql
M src/pl/plpython/sql/plpython_test.sql
M src/pl/plpython/sql/plpython_trigger.sql

Add a simple test case covering a join against an inheritance tree, since we're evidently not testing that at all right now :-(

commit   : 501255114d0266a599c2b52fdf15fe8cac0a4650    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 13 Aug 2009 17:14:38 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 13 Aug 2009 17:14:38 +0000    

Click here for diff

M src/test/regress/expected/join.out
M src/test/regress/sql/join.sql

Put back adjust_appendrel_attrs()'s code for dealing with RestrictInfo. I mistakenly removed it last month, thinking it was no longer needed --- but it is still needed for dealing with joininfo lists. Fortunately this bit of brain fade hadn't made it into any released versions yet.

commit   : f959390cd0e016fa535c0ffc228a5aec9c8a4859    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 13 Aug 2009 16:53:09 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 13 Aug 2009 16:53:09 +0000    

Click here for diff

M src/backend/optimizer/prep/prepunion.c

Improve error message for the case where a requested foreign key constraint does match some unique index on the referenced table, but that index is only deferrably unique. We were doing this nicely for the default-to-primary-key case, but were being lazy for the other case.

commit   : b6bde524af5573f3db43c4b150fab0cbbf928670    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 12 Aug 2009 23:00:12 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 12 Aug 2009 23:00:12 +0000    

Click here for diff

Dean Rasheed  

M src/backend/commands/tablecmds.c

The html-stamp and man-stamp files also need to be cvsignore'd.

commit   : 5d3e2324a657d50046e7977fdff867891a3fe77c    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 12 Aug 2009 21:03:52 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 12 Aug 2009 21:03:52 +0000    

Click here for diff

M doc/src/sgml/.cvsignore

Allow backends to start up without use of the flat-file copy of pg_database.

commit   : 04011cc97060798a5d28219b731b3603dd112ab6    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 12 Aug 2009 20:53:31 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 12 Aug 2009 20:53:31 +0000    

Click here for diff

To make this work in the base case, pg_database now has a nailed-in-cache  
relation descriptor that is initialized using hardwired knowledge in  
relcache.c.  This means pg_database is added to the set of relations that  
need to have a Schema_pg_xxx macro maintained in pg_attribute.h.  When this  
path is taken, we'll have to do a seqscan of pg_database to find the row  
we need.  
  
In the normal case, we are able to do an indexscan to find the database's row  
by name.  This is made possible by storing a global relcache init file that  
describes only the shared catalogs and their indexes (and therefore is usable  
by all backends in any database).  A new backend loads this cache file,  
finds its database OID after an indexscan on pg_database, and then loads  
the local relcache init file for that database.  
  
This change should effectively eliminate number of databases as a factor  
in backend startup time, even with large numbers of databases.  However,  
the real reason for doing it is as a first step towards getting rid of  
the flat files altogether.  There are still several other sub-projects  
to be tackled before that can happen.  

M src/backend/access/transam/xlog.c
M src/backend/postmaster/autovacuum.c
M src/backend/postmaster/pgstat.c
M src/backend/storage/lmgr/proc.c
M src/backend/utils/cache/relcache.c
M src/backend/utils/init/flatfiles.c
M src/backend/utils/init/miscinit.c
M src/backend/utils/init/postinit.c
M src/include/catalog/pg_attribute.h
M src/include/catalog/pg_type.h
M src/include/miscadmin.h
M src/include/storage/proc.h
M src/include/utils/relcache.h

Fix old bug in log_autovacuum_min_duration code: it was relying on being able to access a Relation entry it had just closed. I happened to be testing with CLOBBER_CACHE_ALWAYS, which made this a guaranteed core dump (at least on machines where sprintf %s isn't forgiving of a NULL pointer). It's probably quite unlikely that it would fail in the field, but a bug is a bug. Fix by moving the relation_close call down past the logging action.

commit   : a1f0c9bab99edc6029dee3bf702348aa7eab0099    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 12 Aug 2009 18:23:49 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 12 Aug 2009 18:23:49 +0000    

Click here for diff

M src/backend/commands/analyze.c

Split the plpython regression test into test cases arranged by topic, instead of the previous monolithic setup-create-run sequence, that was apparently inherited from a previous test infrastructure, but makes working with the tests and adding new ones weird.

commit   : 9d9848668fd868a4e51f3a3f22c2807ff0e46582    
  
author   : Peter Eisentraut <[email protected]>    
date     : Wed, 12 Aug 2009 16:37:26 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Wed, 12 Aug 2009 16:37:26 +0000    

Click here for diff

M src/pl/plpython/Makefile
A src/pl/plpython/expected/README
M src/pl/plpython/expected/plpython_error.out
D src/pl/plpython/expected/plpython_error_1.out
M src/pl/plpython/expected/plpython_error_2.out
D src/pl/plpython/expected/plpython_function.out
A src/pl/plpython/expected/plpython_global.out
A src/pl/plpython/expected/plpython_import.out
A src/pl/plpython/expected/plpython_newline.out
A src/pl/plpython/expected/plpython_params.out
A src/pl/plpython/expected/plpython_record.out
M src/pl/plpython/expected/plpython_schema.out
A src/pl/plpython/expected/plpython_setof.out
A src/pl/plpython/expected/plpython_spi.out
M src/pl/plpython/expected/plpython_test.out
A src/pl/plpython/expected/plpython_trigger.out
R056 src/pl/plpython/expected/plpython_error_3.out src/pl/plpython/expected/plpython_unicode.out
A src/pl/plpython/expected/plpython_unicode_2.out
A src/pl/plpython/expected/plpython_unicode_3.out
A src/pl/plpython/expected/plpython_void.out
M src/pl/plpython/sql/plpython_error.sql
D src/pl/plpython/sql/plpython_function.sql
A src/pl/plpython/sql/plpython_global.sql
A src/pl/plpython/sql/plpython_import.sql
A src/pl/plpython/sql/plpython_newline.sql
A src/pl/plpython/sql/plpython_params.sql
A src/pl/plpython/sql/plpython_record.sql
M src/pl/plpython/sql/plpython_schema.sql
A src/pl/plpython/sql/plpython_setof.sql
A src/pl/plpython/sql/plpython_spi.sql
M src/pl/plpython/sql/plpython_test.sql
A src/pl/plpython/sql/plpython_trigger.sql
A src/pl/plpython/sql/plpython_unicode.sql
A src/pl/plpython/sql/plpython_void.sql

Document the minimum required Python version.

commit   : ef7574eb014b66d99a5e68cc254e7a2282e69a00    
  
author   : Peter Eisentraut <[email protected]>    
date     : Wed, 12 Aug 2009 16:32:35 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Wed, 12 Aug 2009 16:32:35 +0000    

Click here for diff

It turns out that Python 2.2 is the oldest version that PL/Python compiles  
with, apparently related to the introduction of iterators.  Might as well  
document this.  

M doc/src/sgml/installation.sgml

Add .cvsignore entries for documentation files

commit   : f4a4aec4b3af7154936c61eff17af8968ac17d4a    
  
author   : Peter Eisentraut <[email protected]>    
date     : Tue, 11 Aug 2009 22:22:15 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Tue, 11 Aug 2009 22:22:15 +0000    

Click here for diff

A doc/src/sgml/.cvsignore

Remove unnecessary files from distribution

commit   : 99909881fb24dd07a07946b6757a8cc942453198    
  
author   : Peter Eisentraut <[email protected]>    
date     : Tue, 11 Aug 2009 22:21:51 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Tue, 11 Aug 2009 22:21:51 +0000    

Click here for diff

M doc/src/sgml/Makefile

Simplify and speed up man page installation

commit   : a16461dfade44413ee4242c73a0d217b7fe61e34    
  
author   : Peter Eisentraut <[email protected]>    
date     : Tue, 11 Aug 2009 21:53:06 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Tue, 11 Aug 2009 21:53:06 +0000    

Click here for diff

M doc/src/sgml/Makefile

Refactor some $(JADE.tex.call)s

commit   : 61c4513cc982c59dfc9c95550b4b23eb3b01e2c9    
  
author   : Alvaro Herrera <[email protected]>    
date     : Tue, 11 Aug 2009 20:16:03 +0000    
  
committer: Alvaro Herrera <[email protected]>    
date     : Tue, 11 Aug 2009 20:16:03 +0000    

Click here for diff

M doc/src/sgml/Makefile

Remove tab in SGML.

commit   : 6f4487801888ceb6b3d742783df25507247d2642    
  
author   : Bruce Momjian <[email protected]>    
date     : Tue, 11 Aug 2009 12:02:58 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Tue, 11 Aug 2009 12:02:58 +0000    

Click here for diff

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

Fix URL to "The Hitch-Hiker's Guide to Evolutionary Computation".

commit   : 6c157684c75798c4089ff7f12ee138d95db77fc7    
  
author   : Alvaro Herrera <[email protected]>    
date     : Mon, 10 Aug 2009 22:41:38 +0000    
  
committer: Alvaro Herrera <[email protected]>    
date     : Mon, 10 Aug 2009 22:41:38 +0000    

Click here for diff

Per Andreas Wenk, Andres Freund and Rob Wultsh.  Thanks, Robert Haas, for the  
patch.  

M doc/src/sgml/geqo.sgml

Fix number of columns declared for pg_user_mappings description table.

commit   : 59ab8c6c738fa9ff21aaabf11503a649cb41ae59    
  
author   : Alvaro Herrera <[email protected]>    
date     : Mon, 10 Aug 2009 22:13:50 +0000    
  
committer: Alvaro Herrera <[email protected]>    
date     : Mon, 10 Aug 2009 22:13:50 +0000    

Click here for diff

M doc/src/sgml/catalogs.sgml

Refactor NUM_cache_remove calls in error report path to a PG_TRY block.

commit   : 55f927a46ebd603e298019333f48995f1db22a72    
  
author   : Alvaro Herrera <[email protected]>    
date     : Mon, 10 Aug 2009 20:16:05 +0000    
  
committer: Alvaro Herrera <[email protected]>    
date     : Mon, 10 Aug 2009 20:16:05 +0000    

Click here for diff

The code in the new block was not reindented; it will be fixed by pgindent  
eventually.  

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

Support EEEE (scientific notation) in to_char().

commit   : e61fd4ac7414a52714c3288889cc754d2e11c4a8    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 10 Aug 2009 18:29:27 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 10 Aug 2009 18:29:27 +0000    

Click here for diff

Pavel Stehule, Brendan Jurd  

M doc/src/sgml/func.sgml
M src/backend/utils/adt/formatting.c
M src/backend/utils/adt/numeric.c
M src/include/utils/numeric.h
M src/test/regress/expected/numeric.out
M src/test/regress/sql/numeric.sql

Adjust test_fsync code to be more sane.

commit   : 933b17b663f06bd5bbe24e8e12044a844fd79bbf    
  
author   : Bruce Momjian <[email protected]>    
date     : Mon, 10 Aug 2009 18:19:06 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Mon, 10 Aug 2009 18:19:06 +0000    

Click here for diff

Backpatch to 8.4.X.  

M src/tools/fsync/test_fsync.c

Adjust extract(epoch) example to clarify that it includes fractional seconds, per gripe from Richard Neill. Also, add a cross-reference to the to_timestamp function.

commit   : f3f6737af9ef1f5dc96faed3ba564137f3bc4dc3    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 10 Aug 2009 16:10:19 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 10 Aug 2009 16:10:19 +0000    

Click here for diff

M doc/src/sgml/func.sgml

Extend EXPLAIN to support output in XML or JSON format.

commit   : 9bd27b7c9e998087f390774bd0f43916813a2847    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 10 Aug 2009 05:46:50 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 10 Aug 2009 05:46:50 +0000    

Click here for diff

There are probably still some adjustments to be made in the details  
of the output, but this gets the basic structure in place.  
  
Robert Haas  

M contrib/auto_explain/auto_explain.c
M doc/src/sgml/auto-explain.sgml
M doc/src/sgml/ref/explain.sgml
M src/backend/commands/explain.c
M src/backend/commands/prepare.c
M src/backend/utils/adt/xml.c
M src/backend/utils/cache/lsyscache.c
M src/backend/utils/sort/tuplesort.c
M src/include/commands/explain.h
M src/include/utils/lsyscache.h
M src/include/utils/tuplesort.h
M src/include/utils/xml.h

Re-add documentation for --no-readline option of psql, mistakenly removed a decade ago. Backpatch to release 7.4.

commit   : 18894c401f1f5ec5af1d08a12da1f183599e8560    
  
author   : Andrew Dunstan <[email protected]>    
date     : Mon, 10 Aug 2009 02:39:04 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Mon, 10 Aug 2009 02:39:04 +0000    

Click here for diff

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

Ship documentation without intermediate tarballs

commit   : ed9208829afe90738608e3344b7cf0b7b323a371    
  
author   : Peter Eisentraut <[email protected]>    
date     : Sun, 9 Aug 2009 22:47:59 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Sun, 9 Aug 2009 22:47:59 +0000    

Click here for diff

Documentation files in HTML and man formats are now prepared for  
distribution using the distprep make target, like everything else.  They  
are placed in doc/src/sgml/html and manX and installed from there by  
make install, if present.  The business with the tarballs in the tarball  
is gone.  

M GNUmakefile.in
M doc/Makefile
M doc/src/Makefile
M doc/src/sgml/Makefile
M doc/src/sgml/docguide.sgml
M doc/src/sgml/stylesheet.dsl
M doc/src/sgml/stylesheet.xsl
M src/Makefile.global.in

Document that LocalSetXLogInsertAllowed can be re-executed. Per comment from Simon.

commit   : 97e14f6e931d31b6d30a5a30ebbdacdf9109d9ee    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 8 Aug 2009 16:39:17 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 8 Aug 2009 16:39:17 +0000    

Click here for diff

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

Modify parallel pg_restore to track pending and ready items by means of two new lists, rather than repeatedly rescanning the main TOC list. This avoids a potential O(N^2) slowdown, although you'd need a *lot* of tables to make that really significant; and it might simplify future improvements in the scheduling algorithm by making the set of ready items more easily inspectable. The original thought that it would in itself result in a more efficient job dispatch order doesn't seem to have been borne out in testing, but it seems worth doing anyway.

commit   : f033f6d28b014ff21c8ed250f55062c2fb1b12e8    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 7 Aug 2009 22:48:34 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 7 Aug 2009 22:48:34 +0000    

Click here for diff

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

Document that autovacuum may run ANALYZE

commit   : 05f43650fcf008a12dd92db4d1ae15c43046e62c    
  
author   : Alvaro Herrera <[email protected]>    
date     : Fri, 7 Aug 2009 20:54:31 +0000    
  
committer: Alvaro Herrera <[email protected]>    
date     : Fri, 7 Aug 2009 20:54:31 +0000    

Click here for diff

M doc/src/sgml/backup.sgml
M doc/src/sgml/indices.sgml
M doc/src/sgml/maintenance.sgml
M doc/src/sgml/perform.sgml
M doc/src/sgml/ref/pg_dump.sgml
M doc/src/sgml/ref/pg_restore.sgml

Expand test coverage support to entire tree

commit   : 7798147a7642521055f48e1b27b7024c46c6b446    
  
author   : Peter Eisentraut <[email protected]>    
date     : Fri, 7 Aug 2009 20:50:22 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Fri, 7 Aug 2009 20:50:22 +0000    

Click here for diff

Test coverage support now covers the entire source tree, including  
contrib, instead of just src/backend.  In a related but independent  
development, the commands make coverage and make coverage-html can be run  
in any directory.  
  
This turned out to be much easier than feared.  Besides a few ad hoc fixes  
to pass the make target down the tree, change all affected makefiles to  
list their directories in the SUBDIRS variable, changed from variants like  
DIRS and WANTED_DIRS.  MSVC build fix was attempted as well.  

M GNUmakefile.in
M contrib/Makefile
M doc/src/sgml/regress.sgml
M src/Makefile
M src/Makefile.global.in
M src/backend/common.mk
M src/backend/utils/mb/conversion_procs/Makefile
M src/bin/Makefile
M src/interfaces/Makefile
M src/pl/Makefile
M src/pl/plpgsql/Makefile
M src/tools/msvc/Mkvcbuild.pm

Try to defend against the possibility that libpq is still in COPY_IN state when we reach the post-COPY "pump it dry" error recovery code that was added 2006-11-24. Per a report from Neil Best, there is at least one code path in which this occurs, leading to an infinite loop in code that's supposed to be making it more robust not less so. A reasonable response seems to be to call PQputCopyEnd() again, so let's try that.

commit   : e605fbcccdf4705de4afa7e23be5b8222e1cb00d    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 7 Aug 2009 20:16:11 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 7 Aug 2009 20:16:11 +0000    

Click here for diff

Back-patch to all versions that contain the cleanup loop.  

M src/bin/psql/copy.c

rm_cleanup functions need to be allowed to write WAL entries. This oversight appears to explain the recent reports of "PANIC: cannot make new WAL entries during recovery".

commit   : 87740caa01956db89afdd2f5934d550c939d3c57    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 7 Aug 2009 19:29:49 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 7 Aug 2009 19:29:49 +0000    

Click here for diff

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

Remove unused ecpg variable.

commit   : d2e7afe54aa8cdcfa2a8f2a3e1815b127c0c2c75    
  
author   : Bruce Momjian <[email protected]>    
date     : Fri, 7 Aug 2009 16:47:53 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Fri, 7 Aug 2009 16:47:53 +0000    

Click here for diff

M src/interfaces/ecpg/ecpglib/data.c

Remove long-since-unused file commands/version.h. Noticed by Itagaki Takahiro.

commit   : 3783c9d4df0415773a8ad1093d6ff8aee5752a4e    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 7 Aug 2009 16:19:57 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 7 Aug 2009 16:19:57 +0000    

Click here for diff

D src/include/commands/version.h

Fix some omissions in the dependency-object-class support for SQL/MED objects.

commit   : b1114f5576622f1993e9c0ce2b75447fc1c420df    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 7 Aug 2009 15:27:56 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 7 Aug 2009 15:27:56 +0000    

Click here for diff

Main problem found by Muhammad Aqeel, some cosmetic additions by me.  

M src/backend/catalog/dependency.c
M src/backend/commands/tablecmds.c

Added STRING datatype for Informix compatibility mode. This work is based on a patch send in by Böszörményi Zoltán <[email protected]>.

commit   : 5d34af421d99ec2c709c67ffbaee10f8c4ce822e    
  
author   : Michael Meskes <[email protected]>    
date     : Fri, 7 Aug 2009 10:51:21 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Fri, 7 Aug 2009 10:51:21 +0000    

Click here for diff

M src/interfaces/ecpg/ChangeLog
M src/interfaces/ecpg/compatlib/Makefile
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/ecpglib/typename.c
M src/interfaces/ecpg/include/ecpgtype.h
M src/interfaces/ecpg/pgtypeslib/Makefile
M src/interfaces/ecpg/preproc/ecpg.header
M src/interfaces/ecpg/preproc/ecpg.trailer
M src/interfaces/ecpg/preproc/type.c
M src/interfaces/ecpg/preproc/variable.c
M src/interfaces/ecpg/test/compat_informix/test_informix.pgc
M src/interfaces/ecpg/test/expected/compat_informix-test_informix.c
M src/interfaces/ecpg/test/expected/compat_informix-test_informix.stderr
M src/interfaces/ecpg/test/expected/compat_informix-test_informix.stdout

Fast shutdown stop should forcibly disconnect any active backends, even if a smart shutdown is already in progress. Backpatch to 8.3, this was broken in the patch that introduced "dead-end backends".

commit   : 06f1f53ea9bbbcdebc228d8422182dc9da75ec73    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Fri, 7 Aug 2009 05:58:55 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Fri, 7 Aug 2009 05:58:55 +0000    

Click here for diff

Per report by Itagaki Takahiro, patch by Fujii Masao.  

M src/backend/postmaster/postmaster.c

Improve plpgsql's ability to cope with rowtypes containing dropped columns, by supporting conversions in places that used to demand exact rowtype match.

commit   : dcb2bda9b7042dbf43f876c94ebf35d951de10e9    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 6 Aug 2009 20:44:32 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 6 Aug 2009 20:44:32 +0000    

Click here for diff

Since this issue is certain to come up elsewhere (in fact, already has,  
in ExecEvalConvertRowtype), factor out the support code into new core  
functions for tuple conversion.  I chose to put these in a new source  
file since heaptuple.c is already overly long.  
  
Heavily revised version of a patch by Pavel Stehule.  

M src/backend/access/common/Makefile
A src/backend/access/common/tupconvert.c
M src/backend/executor/execQual.c
A src/include/access/tupconvert.h
M src/include/nodes/execnodes.h
M src/pl/plpgsql/src/nls.mk
M src/pl/plpgsql/src/pl_exec.c
M src/test/regress/expected/plpgsql.out
M src/test/regress/sql/plpgsql.sql

Avoid terminating the postmaster on a number of "can't happen" cases during backend startup on Win32. Instead, log the error and just forget about the potentially dangling process, since we can't do anything about it anyway.

commit   : 40001705353845ea157ea081355bd0eeedd2673a    
  
author   : Magnus Hagander <[email protected]>    
date     : Thu, 6 Aug 2009 09:50:22 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Thu, 6 Aug 2009 09:50:22 +0000    

Click here for diff

M src/backend/postmaster/postmaster.c

commit   : 6403c35ee66c68168aea2e3b8deb352458d8e392    
  
author   : Alvaro Herrera <[email protected]>    
date     : Wed, 5 Aug 2009 19:31:50 +0000    
  
committer: Alvaro Herrera <[email protected]>    
date     : Wed, 5 Aug 2009 19:31:50 +0000    

Click here for diff

This patch adds declaration so that they end up in section 3, and adds  
them to the Makefiles to install them.  
  
Also, some synopses needed reflowing so that they look nice in 80-column  
terminals.  

M doc/Makefile
M doc/src/Makefile
M doc/src/sgml/Makefile
M doc/src/sgml/spi.sgml

Add matchorig, matchsynonyms, and keepsynonyms options to contrib/dict_xsyn.

commit   : 25bd9ce31baec836b5ad6bbd63ece54af0c73a3e    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 5 Aug 2009 18:06:49 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 5 Aug 2009 18:06:49 +0000    

Click here for diff

Sergey Karpov  

M contrib/dict_xsyn/dict_xsyn.c
M contrib/dict_xsyn/expected/dict_xsyn.out
M contrib/dict_xsyn/sql/dict_xsyn.sql
M doc/src/sgml/dict-xsyn.sgml

Improve error messages in md.c. When a filesystem operation like open() or fsync() fails, say "file" rather than "relation" when printing the filename.

commit   : 23dc89d2c385e8e362cb4b8186b4d4ad02242ac0    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Wed, 5 Aug 2009 18:01:54 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Wed, 5 Aug 2009 18:01:54 +0000    

Click here for diff

This makes messages that display block numbers a bit confusing. For example,  
in message 'could not read block 150000 of file "base/1234/5678.1"', 150000  
is the block number from the beginning of the relation, ie. segment 0, not  
150000th block within that segment. Per discussion, users aren't usually  
interested in the exact location within the file, so we can live with that.  
  
To ease constructing error messages, add FilePathName(File) function to  
return the pathname of a virtual fd.  

M src/backend/storage/file/fd.c
M src/backend/storage/smgr/md.c
M src/include/storage/fd.h

commit   : f4095b4c4b24a6fd2c1c330e572c24c6a9c99ea9    
  
author   : Joe Conway <[email protected]>    
date     : Wed, 5 Aug 2009 16:11:07 +0000    
  
committer: Joe Conway <[email protected]>    
date     : Wed, 5 Aug 2009 16:11:07 +0000    

Click here for diff

Adds the ability to retrieve async notifications using dblink,  
via the addition of the function dblink_get_notify(). Original patch  
by Marcus Kempe, suggestions by Tom Lane and Alvaro Herrera, patch  
review and adjustments by Joe Conway.  

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

commit   : 16f3cf8c0c3c452ff06a3267b2f13bf0bd3b3892    
  
author   : Michael Meskes <[email protected]>    
date     : Wed, 5 Aug 2009 11:42:20 +0000    
  
committer: Michael Meskes <[email protected]>    
date     : Wed, 5 Aug 2009 11:42:20 +0000    

Click here for diff

M src/interfaces/ecpg/preproc/ecpg.c

Use DocBook XSL stylesheets for man page building

commit   : c29d7f02c27c72b01c4fa90e24c4d33b5078a169    
  
author   : Peter Eisentraut <[email protected]>    
date     : Tue, 4 Aug 2009 22:04:37 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Tue, 4 Aug 2009 22:04:37 +0000    

Click here for diff

This switches the man page building process to use the DocBook XSL stylesheet  
toolchain.  The previous targets for Docbook2X are removed. configure has been  
updated to look for the new tools.  The Documentation appendix contains the  
new build instructions.  There are also a few isolated tweaks in the  
documentation to improve places that came out strangely in the man pages.  

M config/docbook.m4
M configure
M configure.in
M doc/src/sgml/Makefile
M doc/src/sgml/docguide.sgml
M doc/src/sgml/postgres.sgml
M doc/src/sgml/ref/analyze.sgml
M doc/src/sgml/stylesheet-man.xsl
M doc/src/sgml/trigger.sgml
M src/Makefile.global.in

Fix pg_dump to do the right thing when escaping the contents of large objects.

commit   : b1732111f233bbb72788e92a627242ec28a85631    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 4 Aug 2009 21:56:09 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 4 Aug 2009 21:56:09 +0000    

Click here for diff

The previous implementation got it right in most cases but failed in one:  
if you pg_dump into an archive with standard_conforming_strings enabled, then  
pg_restore to a script file (not directly to a database), the script will set  
standard_conforming_strings = on but then emit large object data as  
nonstandardly-escaped strings.  
  
At the moment the code is made to emit hex-format bytea strings when dumping  
to a script file.  We might want to change to old-style escaping for backwards  
compatibility, but that would be slower and bulkier.  If we do, it's just a  
matter of reimplementing appendByteaLiteral().  
  
This has been broken for a long time, but given the lack of field complaints  
I'm not going to worry about back-patching.  

M src/bin/pg_dump/dumputils.c
M src/bin/pg_dump/dumputils.h
M src/bin/pg_dump/pg_backup_archiver.c
M src/bin/pg_dump/pg_backup_archiver.h
M src/bin/pg_dump/pg_backup_null.c

Avoid including miscadmin.h into plpgsql.h; instead include it into the two source files that need it.

commit   : 50d08346f39b58e5cd5ff5e136065251627ff293    
  
author   : Alvaro Herrera <[email protected]>    
date     : Tue, 4 Aug 2009 21:22:46 +0000    
  
committer: Alvaro Herrera <[email protected]>    
date     : Tue, 4 Aug 2009 21:22:46 +0000    

Click here for diff

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

Fix an ecpg test, too. Are we there yet?

commit   : 466a4925f519a9b58580961acd42a1a463527071    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 4 Aug 2009 21:09:39 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 4 Aug 2009 21:09:39 +0000    

Click here for diff

M src/interfaces/ecpg/test/expected/sql-binary.c
M src/interfaces/ecpg/test/expected/sql-binary.stderr
M src/interfaces/ecpg/test/sql/binary.pgc

Fix some more regression tests (missed these because they're only run when built with --with-openssl).

commit   : c83d1fb155624b8b0e51932f85f9a9e34a308408    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 4 Aug 2009 20:10:00 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 4 Aug 2009 20:10:00 +0000    

Click here for diff

M contrib/pgcrypto/expected/3des.out
M contrib/pgcrypto/expected/cast5.out
M contrib/pgcrypto/expected/des.out
M contrib/pgcrypto/sql/3des.sql
M contrib/pgcrypto/sql/cast5.sql
M contrib/pgcrypto/sql/des.sql

Suppress pointer-signedness warning.

commit   : 8476f055e0527ec28e03589e7612aa47b96eec41    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 4 Aug 2009 19:46:51 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 4 Aug 2009 19:46:51 +0000    

Click here for diff

M src/bin/pg_dump/pg_dump.c

Ooops, missed that a couple of contrib modules have calls to byteacmp. Add bytea.h inclusions as needed. Some of the contrib regression tests need to be de-hexified, too. Per buildfarm.

commit   : bcba09e27c0ca093b1b3fa92dee2acd0bf30efee    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 4 Aug 2009 18:49:50 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 4 Aug 2009 18:49:50 +0000    

Click here for diff

M contrib/btree_gin/btree_gin.c
M contrib/btree_gin/expected/bytea.out
M contrib/btree_gin/sql/bytea.sql
M contrib/btree_gist/btree_bit.c
M contrib/btree_gist/btree_bytea.c
M contrib/citext/expected/citext.out
M contrib/citext/expected/citext_1.out
M contrib/citext/sql/citext.sql
M contrib/pgcrypto/expected/blowfish.out
M contrib/pgcrypto/expected/init.out
M contrib/pgcrypto/expected/pgp-armor.out
M contrib/pgcrypto/expected/pgp-encrypt.out
M contrib/pgcrypto/expected/pgp-pubkey-encrypt.out
M contrib/pgcrypto/expected/rijndael.out
M contrib/pgcrypto/sql/blowfish.sql
M contrib/pgcrypto/sql/init.sql
M contrib/pgcrypto/sql/pgp-armor.sql
M contrib/pgcrypto/sql/pgp-encrypt.sql
M contrib/pgcrypto/sql/pgp-pubkey-encrypt.sql
M contrib/pgcrypto/sql/rijndael.sql

Teach PQescapeByteaConn() to use hex format when the target connection is to a server >= 8.5. Per my proposal in discussion of hex-format patch.

commit   : 5b8ee5c128cc90c13d909db72f93eb9674ac7aed    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 4 Aug 2009 18:05:42 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 4 Aug 2009 18:05:42 +0000    

Click here for diff

M src/interfaces/libpq/fe-exec.c

Support hex-string input and output for type BYTEA.

commit   : a2a8c7a662ec96537b6d1faba0770c516b921911    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 4 Aug 2009 16:08:37 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 4 Aug 2009 16:08:37 +0000    

Click here for diff

Both hex format and the traditional "escape" format are automatically  
handled on input.  The output format is selected by the new GUC variable  
bytea_output.  
  
As committed, bytea_output defaults to HEX, which is an *incompatible  
change*.  We will keep it this way for awhile for testing purposes, but  
should consider whether to switch to the more backwards-compatible  
default of ESCAPE before 8.5 is released.  
  
Peter Eisentraut  

M doc/src/sgml/config.sgml
M doc/src/sgml/datatype.sgml
M src/backend/catalog/pg_largeobject.c
M src/backend/commands/trigger.c
M src/backend/optimizer/path/indxpath.c
M src/backend/utils/adt/encode.c
M src/backend/utils/adt/selfuncs.c
M src/backend/utils/adt/varlena.c
M src/backend/utils/misc/guc.c
M src/backend/utils/misc/postgresql.conf.sample
M src/bin/pg_dump/pg_dump.c
M src/include/utils/builtins.h
A src/include/utils/bytea.h
M src/interfaces/libpq/fe-exec.c
M src/test/regress/expected/conversion.out
M src/test/regress/expected/strings.out
M src/test/regress/input/largeobject.source
M src/test/regress/output/largeobject.source
M src/test/regress/output/largeobject_1.source
M src/test/regress/sql/conversion.sql
M src/test/regress/sql/strings.sql

Cause pg_proc.probin to be declared as text, not bytea. Everything was already treating it as text anyway, to the point that I couldn't find anything to change except the datatype markings in catalog/*.h. The only effect that the bytea declaration had was to cause byteaout() to be invoked when pg_dump (or another client program) inspected the column value. Since pg_dump wasn't expecting that, but just treating what it got as text, the net result is that dump and reload would mangle any backslashes or non-ASCII characters in the filename string for a C-language function. That is a very long-standing bug, but given the lack of field complaints it doesn't seem worth trying to find a back-patchable fix. We'll just make this change to fix it going forward.

commit   : f192e4a5d0a041a5353d43fa10b6fe675a1c01fa    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 4 Aug 2009 04:04:12 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 4 Aug 2009 04:04:12 +0000    

Click here for diff

This change will also forestall problems after the planned change to let bytea  
emit hex output instead of escaped characters.  

M doc/src/sgml/catalogs.sgml
M src/include/catalog/catversion.h
M src/include/catalog/pg_attribute.h
M src/include/catalog/pg_proc.h

Implement has_sequence_privilege()

commit   : be6bca23b34b6e59f1deed1d6b44bb434dbe890e    
  
author   : Joe Conway <[email protected]>    
date     : Mon, 3 Aug 2009 21:11:40 +0000    
  
committer: Joe Conway <[email protected]>    
date     : Mon, 3 Aug 2009 21:11:40 +0000    

Click here for diff

Add family of functions that did not exist earlier,  
mainly due to historical omission. Original patch by  
Abhijit Menon-Sen, with review and modifications by  
Joe Conway. catversion.h bumped.  

M doc/src/sgml/func.sgml
M src/backend/utils/adt/acl.c
M src/include/catalog/catversion.h
M src/include/catalog/pg_proc.h
M src/include/utils/builtins.h
M src/test/regress/expected/privileges.out
M src/test/regress/sql/privileges.sql

Portability and documentation fixes for threaded pgbench patch.

commit   : 7ffb14f9dbdbf0b735f9cb3b167fc848f3bd09ac    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 3 Aug 2009 18:30:55 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 3 Aug 2009 18:30:55 +0000    

Click here for diff

M contrib/pgbench/Makefile
M contrib/pgbench/pgbench.c
M doc/src/sgml/pgbench.sgml

Multi-threaded version of pgbench contributed by ITAGAKI Takahiro, reviewed by Greg Smith and Josh Williams.

commit   : 3da0dfb4b1460c3701abc8ed5f516d138dc4654c    
  
author   : Tatsuo Ishii <[email protected]>    
date     : Mon, 3 Aug 2009 15:18:14 +0000    
  
committer: Tatsuo Ishii <[email protected]>    
date     : Mon, 3 Aug 2009 15:18:14 +0000    

Click here for diff

Following is the proposal from ITAGAKI Takahiro:  
  
Pgbench is a famous tool to measure postgres performance, but nowadays  
it does not work well because it cannot use multiple CPUs. On the other  
hand, postgres server can use CPUs very well, so the bottle-neck of  
workload is *in pgbench*.  
  
Multi-threading would be a solution. The attached patch adds -j  
(number of jobs) option to pgbench. If the value N is greater than 1,  
pgbench runs with N threads. Connections are equally-divided into  
them (ex. -c64 -j4 => 4 threads with 16 connections each). It can  
run on POSIX platforms with pthread and on Windows with win32 threads.  
  
Here are results of multi-threaded pgbench runs on Fedora 11 with intel  
core i7 (8 logical cores = 4 physical cores * HT). -j8 (8 threads) was  
the best and the tps is 4.5 times of -j1, that is a traditional result.  
  
$ pgbench -i -s10  
$ pgbench -n -S -c64 -j1   =>  tps = 11600.158593  
$ pgbench -n -S -c64 -j2   =>  tps = 17947.100954  
$ pgbench -n -S -c64 -j4   =>  tps = 26571.124001  
$ pgbench -n -S -c64 -j8   =>  tps = 52725.470403  
$ pgbench -n -S -c64 -j16  =>  tps = 38976.675319  
$ pgbench -n -S -c64 -j32  =>  tps = 28998.499601  
$ pgbench -n -S -c64 -j64  =>  tps = 26701.877815  
  
Is it acceptable to use pthread in contrib module?  
If ok, I will add the patch to the next commitfest.  

M contrib/pgbench/pgbench.c
M doc/src/sgml/pgbench.sgml

Add ALTER TABLE ... ALTER COLUMN ... SET STATISTICS DISTINCT

commit   : 90725929465474648de133d216b873bdb69fe357    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 2 Aug 2009 22:14:53 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 2 Aug 2009 22:14:53 +0000    

Click here for diff

Robert Haas  

M doc/src/sgml/catalogs.sgml
M doc/src/sgml/ref/alter_table.sgml
M doc/src/sgml/ref/analyze.sgml
M src/backend/access/common/tupdesc.c
M src/backend/bootstrap/bootstrap.c
M src/backend/catalog/heap.c
M src/backend/catalog/index.c
M src/backend/commands/analyze.c
M src/backend/commands/tablecmds.c
M src/backend/parser/gram.y
M src/bin/pg_dump/pg_dump.c
M src/bin/pg_dump/pg_dump.h
M src/bin/psql/tab-complete.c
M src/include/catalog/catversion.h
M src/include/catalog/pg_attribute.h
M src/include/catalog/pg_class.h
M src/include/nodes/parsenodes.h

Department of second thoughts: let's show the exact key during unique index build failures, too. Refactor a bit more since that error message isn't spelled the same.

commit   : 527f0ae3fa48c3c3a8ba1bde19039545e88a52b6    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 1 Aug 2009 20:59:17 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 1 Aug 2009 20:59:17 +0000    

Click here for diff

M src/backend/access/index/genam.c
M src/backend/access/nbtree/nbtinsert.c
M src/backend/utils/sort/tuplesort.c
M src/include/access/genam.h
M src/test/regress/expected/alter_table.out
M src/test/regress/expected/create_index.out

Improve unique-constraint-violation error messages to include the exact values being complained of.

commit   : b680ae4bdbf1c7fd78e6988bbe8f89e1e1b5db86    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 1 Aug 2009 19:59:41 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 1 Aug 2009 19:59:41 +0000    

Click here for diff

In passing, also remove the arbitrary length limitation in the similar  
error detail message for foreign key violations.  
  
Itagaki Takahiro  

M contrib/citext/expected/citext.out
M contrib/citext/expected/citext_1.out
M src/backend/access/common/indextuple.c
M src/backend/access/index/genam.c
M src/backend/access/nbtree/nbtinsert.c
M src/backend/utils/adt/ri_triggers.c
M src/backend/utils/adt/ruleutils.c
M src/include/access/genam.h
M src/include/access/itup.h
M src/include/utils/builtins.h
M src/interfaces/ecpg/test/expected/compat_informix-test_informix.stderr
M src/test/regress/expected/alter_table.out
M src/test/regress/expected/arrays.out
M src/test/regress/expected/create_index.out
M src/test/regress/expected/inherit.out
M src/test/regress/expected/plpgsql.out
M src/test/regress/expected/transactions.out
M src/test/regress/expected/uuid.out
M src/test/regress/output/constraints.source
M src/test/regress/output/tablespace.source

Create a multiplexing structure for signals to Postgres child processes.

commit   : 2487d872e025312e7c16f0dd772190c6787efeea    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 31 Jul 2009 20:26:23 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 31 Jul 2009 20:26:23 +0000    

Click here for diff

This patch gets us out from under the Unix limitation of two user-defined  
signal types.  We already had done something similar for signals directed to  
the postmaster process; this adds multiplexing for signals directed to  
backends and auxiliary processes (so long as they're connected to shared  
memory).  
  
As proof of concept, replace the former usage of SIGUSR1 and SIGUSR2  
for backends with use of the multiplexing mechanism.  There are still some  
hard-wired definitions of SIGUSR1 and SIGUSR2 for other process types,  
but getting rid of those doesn't seem interesting at the moment.  
  
Fujii Masao  

M src/backend/bootstrap/bootstrap.c
M src/backend/commands/async.c
M src/backend/postmaster/autovacuum.c
M src/backend/postmaster/bgwriter.c
M src/backend/postmaster/walwriter.c
M src/backend/storage/ipc/Makefile
M src/backend/storage/ipc/ipci.c
A src/backend/storage/ipc/procsignal.c
M src/backend/storage/ipc/sinval.c
M src/backend/storage/ipc/sinvaladt.c
M src/backend/tcop/postgres.c
M src/backend/utils/init/postinit.c
M src/include/bootstrap/bootstrap.h
M src/include/commands/async.h
A src/include/storage/procsignal.h
M src/include/storage/sinval.h

Make sure FD_SETSIZE is set before we include any Windows header files.

commit   : a23c6415787bd1aa8f1c44446d689a874a78afea    
  
author   : Magnus Hagander <[email protected]>    
date     : Thu, 30 Jul 2009 09:28:00 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Thu, 30 Jul 2009 09:28:00 +0000    

Click here for diff

Josh Williams  

M contrib/pgbench/pgbench.c

Merge the Constraint and FkConstraint node types into a single type.

commit   : 060baf27844163c0874c72d7baf08d3bf9a8ffce    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 30 Jul 2009 02:45:38 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 30 Jul 2009 02:45:38 +0000    

Click here for diff

This was foreseen to be a good idea long ago, but nobody had got round  
to doing it.  The recent patch for deferred unique constraints made  
transformConstraintAttrs() ugly enough that I decided it was time.  
This change will also greatly simplify parsing of deferred CHECK constraints,  
if anyone ever gets around to implementing that.  
  
While at it, add a location field to Constraint, and use that to provide  
an error cursor for some of the constraint-related error messages.  

M src/backend/catalog/heap.c
M src/backend/commands/tablecmds.c
M src/backend/commands/trigger.c
M src/backend/commands/typecmds.c
M src/backend/nodes/copyfuncs.c
M src/backend/nodes/equalfuncs.c
M src/backend/nodes/nodeFuncs.c
M src/backend/nodes/outfuncs.c
M src/backend/parser/gram.y
M src/backend/parser/parse_utilcmd.c
M src/include/nodes/nodes.h
M src/include/nodes/parsenodes.h

Fix time_part and timetz_part (ie, EXTRACT() for those datatypes) to include a fractional part in the output for MILLISECOND and SECOND cases, rather than truncating the source value. This is what the float-timestamp code has always done, and it was clearly the code author's intent to do the same for integer timestamps, but he forgot about integer division in C. The other datatypes supported by EXTRACT() already do this correctly.

commit   : 78aef14c5935bca92d0cacaa9d188f588d7f2444    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 29 Jul 2009 22:19:18 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 29 Jul 2009 22:19:18 +0000    

Click here for diff

Backpatch to 8.4, so that the default (integer) behavior of that branch will  
match the default (float) behavior of older branches.  Arguably we should  
patch further back, but it's possible that applications are expecting the  
broken behavior in older branches.  8.4 is new enough that expectations  
shouldn't be too settled.  
  
Per report from Greg Stark.  

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

Support deferrable uniqueness constraints.

commit   : 25d9bf2e3e66ee2e546c5c523d148ecab6ee1dcc    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 29 Jul 2009 20:56:21 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 29 Jul 2009 20:56:21 +0000    

Click here for diff

The current implementation fires an AFTER ROW trigger for each tuple that  
looks like it might be non-unique according to the index contents at the  
time of insertion.  This works well as long as there aren't many conflicts,  
but won't scale to massive unique-key reassignments.  Improving that case  
is a TODO item.  
  
Dean Rasheed  

M doc/src/sgml/catalogs.sgml
M doc/src/sgml/indexam.sgml
M doc/src/sgml/ref/create_table.sgml
M doc/src/sgml/ref/set_constraints.sgml
M src/backend/access/gin/gininsert.c
M src/backend/access/gist/gist.c
M src/backend/access/hash/hash.c
M src/backend/access/heap/tuptoaster.c
M src/backend/access/index/indexam.c
M src/backend/access/nbtree/nbtinsert.c
M src/backend/access/nbtree/nbtree.c
M src/backend/bootstrap/bootparse.y
M src/backend/catalog/index.c
M src/backend/catalog/indexing.c
M src/backend/catalog/sql_features.txt
M src/backend/catalog/toasting.c
M src/backend/commands/Makefile
A src/backend/commands/constraint.c
M src/backend/commands/copy.c
M src/backend/commands/indexcmds.c
M src/backend/commands/tablecmds.c
M src/backend/commands/trigger.c
M src/backend/executor/execMain.c
M src/backend/executor/execUtils.c
M src/backend/nodes/copyfuncs.c
M src/backend/nodes/equalfuncs.c
M src/backend/nodes/outfuncs.c
M src/backend/parser/gram.y
M src/backend/parser/parse_utilcmd.c
M src/backend/tcop/utility.c
M src/backend/utils/adt/ruleutils.c
M src/backend/utils/cache/relcache.c
M src/bin/pg_dump/pg_dump.c
M src/bin/pg_dump/pg_dump.h
M src/bin/psql/describe.c
M src/include/access/genam.h
M src/include/access/nbtree.h
M src/include/catalog/catversion.h
M src/include/catalog/index.h
M src/include/catalog/pg_attribute.h
M src/include/catalog/pg_index.h
M src/include/catalog/pg_proc.h
M src/include/commands/defrem.h
M src/include/commands/trigger.h
M src/include/executor/executor.h
M src/include/nodes/parsenodes.h
M src/include/utils/builtins.h
M src/test/regress/expected/sanity_check.out
M src/test/regress/input/constraints.source
M src/test/regress/output/constraints.source
M src/test/regress/sql/sanity_check.sql

Fix a thinko introduced into CountActiveBackends by a recent patch: we should ignore NULL array entries, not non-NULL ones. This had the effect of disabling commit_delay, and could have caused a crash in the rare race condition the patch was intended to fix.

commit   : 850490579318ff52097eec92ce535357dd0c7a3a    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 29 Jul 2009 15:57:11 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 29 Jul 2009 15:57:11 +0000    

Click here for diff

Bug report and diagnosis by Jeff Janes, in bug #4952.  

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

Correct calculations of overlap and contains operations over polygons.

commit   : 49475aab8d0da9077a5828d404ba1e15c3e093c2    
  
author   : Teodor Sigaev <[email protected]>    
date     : Tue, 28 Jul 2009 09:48:00 +0000    
  
committer: Teodor Sigaev <[email protected]>    
date     : Tue, 28 Jul 2009 09:48:00 +0000    

Click here for diff

M src/backend/utils/adt/geo_ops.c
M src/test/regress/expected/create_index.out
M src/test/regress/expected/polygon.out
M src/test/regress/sql/create_index.sql
M src/test/regress/sql/polygon.sql

Fix incorrect cleanup of tsquery in ts_rewrite(). Per bug #4933 by Aaron Marcuse-Kubitza <[email protected]>

commit   : 1f4b046c188cd6f8eda4890f7f0e9d9974825d9b    
  
author   : Teodor Sigaev <[email protected]>    
date     : Tue, 28 Jul 2009 09:31:55 +0000    
  
committer: Teodor Sigaev <[email protected]>    
date     : Tue, 28 Jul 2009 09:31:55 +0000    

Click here for diff

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

Add system catalog columns pg_constraint.conindid and pg_trigger.tgconstrindid.

commit   : c1b9ec24efb5d576800fb5163acab6bdefb4391c    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 28 Jul 2009 02:56:31 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 28 Jul 2009 02:56:31 +0000    

Click here for diff

conindid is the index supporting a constraint.  We can use this not only for  
unique/primary-key constraints, but also foreign-key constraints, which  
depend on the unique index that constrains the referenced columns.  
tgconstrindid is just copied from the constraint's conindid field, or is  
zero for triggers not associated with constraints.  
  
This is mainly intended as infrastructure for upcoming patches, but it has  
some virtue in itself, since it exposes a relationship that you formerly  
had to grovel in pg_depend to determine.  I simplified one information_schema  
view accordingly.  (There is a pg_dump query that could also use conindid,  
but I left it alone because it wasn't clear it'd get any faster.)  

M doc/src/sgml/catalogs.sgml
M doc/src/sgml/trigger.sgml
M src/backend/catalog/heap.c
M src/backend/catalog/index.c
M src/backend/catalog/information_schema.sql
M src/backend/catalog/pg_constraint.c
M src/backend/commands/tablecmds.c
M src/backend/commands/trigger.c
M src/backend/commands/typecmds.c
M src/backend/tcop/utility.c
M src/include/catalog/catversion.h
M src/include/catalog/pg_constraint.h
M src/include/catalog/pg_trigger.h
M src/include/commands/trigger.h
M src/include/utils/rel.h

Fix minor memory leak in Win32 SID handling functions. Not a big issue since it's only called during process startup, thus no backpatch.

commit   : 36942504fc7d0738191573225cc9d8e905a74f4b    
  
author   : Magnus Hagander <[email protected]>    
date     : Mon, 27 Jul 2009 08:46:10 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Mon, 27 Jul 2009 08:46:10 +0000    

Click here for diff

Found by TAKATSUKA Haruka, patch by Magnus Hagander and  
Andrew Chernow  

M src/port/exec.c

Enable the use of multiple CPUs/cores when building on MSVC. This only affects the C compiler step - we still only build one target at a time.

commit   : 220e36c97fe86ea12fe86d7ed1572dd5bcd223a0    
  
author   : Magnus Hagander <[email protected]>    
date     : Mon, 27 Jul 2009 07:11:15 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Mon, 27 Jul 2009 07:11:15 +0000    

Click here for diff

M src/tools/msvc/Project.pm

Add s_lock support for SuperH architecture.

commit   : aac3c301b5e8178841e5749b3657c1a639ba06c1    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 27 Jul 2009 05:31:05 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 27 Jul 2009 05:31:05 +0000    

Click here for diff

After a patch originally submitted by Nobuhiro Iwamatsu, but corrected  
(I think) to match our guidelines for safe use of asm fragments.  
This should be considered untested ...  

M src/include/storage/s_lock.h

Improve comment, per gripe from Alvaro.

commit   : cfbd2af95c8a3958ba1acc187ebf3286ec78aefb    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 27 Jul 2009 04:09:55 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 27 Jul 2009 04:09:55 +0000    

Click here for diff

M contrib/pg_stat_statements/pg_stat_statements.c

Fix pg_stat_statements for EXEC_BACKEND case.

commit   : e4b9e65393d031b55a164765f8505af01e1ca178    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 27 Jul 2009 03:34:40 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 27 Jul 2009 03:34:40 +0000    

Click here for diff

We should not try to load old statistics when re-attaching to existing  
shared memory.  Per bug #4941.  
  
Itagaki Takahiro  

M contrib/pg_stat_statements/pg_stat_statements.c

Experiment with using EXPLAIN COSTS OFF in regression tests.

commit   : 8835d63b273486375b53d2b7686c55d88cbf456e    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 27 Jul 2009 00:26:03 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 27 Jul 2009 00:26:03 +0000    

Click here for diff

This is a simple test to see whether COSTS OFF will help much with getting  
EXPLAIN output that's sufficiently platform-independent for use in the  
regression tests.  The planner does have some freedom of choice in these  
examples (plain via bitmap indexscan), so I'm not sure what will happen.  

M src/test/regress/expected/create_index.out
M src/test/regress/sql/create_index.sql

Extend EXPLAIN to allow generic options to be specified.

commit   : d4382c4ae7ea1e272f4fee388aac8ff99421471a    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 26 Jul 2009 23:34:18 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 26 Jul 2009 23:34:18 +0000    

Click here for diff

The original syntax made it difficult to add options without making them  
into reserved words.  This change parenthesizes the options to avoid that  
problem, and makes provision for an explicit (and perhaps non-Boolean)  
value for each option.  The original syntax is still supported, but only  
for the two original options ANALYZE and VERBOSE.  
  
As a test case, add a COSTS option that can suppress the planner cost  
estimates.  This may be useful for including EXPLAIN output in the regression  
tests, which are otherwise unable to cope with cross-platform variations in  
cost estimates.  
  
Robert Haas  

M contrib/auto_explain/auto_explain.c
M doc/src/sgml/ref/explain.sgml
M src/backend/commands/define.c
M src/backend/commands/explain.c
M src/backend/commands/prepare.c
M src/backend/nodes/copyfuncs.c
M src/backend/nodes/equalfuncs.c
M src/backend/parser/gram.y
M src/backend/tcop/utility.c
M src/include/commands/explain.h
M src/include/commands/prepare.h
M src/include/nodes/parsenodes.h

Code review for FORCE QUOTE * patch: fix error checking to consider FORCE QUOTE * as a variety of FORCE QUOTE, and update psql documentation to include the option. (The actual psql code doesn't seem to need any changes.)

commit   : a07e5acebbc0647c82c8577f17f912561e69aff4    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 25 Jul 2009 17:04:19 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 25 Jul 2009 17:04:19 +0000    

Click here for diff

M doc/src/sgml/ref/psql-ref.sgml
M src/backend/commands/copy.c
M src/bin/psql/copy.c

Small stylistic improvement in recent FORCE QUOTE * code - use a bool instead of a magic value.

commit   : fd9df11f810b20d56d18dfa73f13c55226603190    
  
author   : Andrew Dunstan <[email protected]>    
date     : Sat, 25 Jul 2009 13:35:32 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Sat, 25 Jul 2009 13:35:32 +0000    

Click here for diff

M src/backend/commands/copy.c

Allow * as parameter for FORCE QUOTE for COPY CSV. Itagaki Takahiro.

commit   : de7531a971b2cc193dc1fc0f507a65263b23e4bc    
  
author   : Andrew Dunstan <[email protected]>    
date     : Sat, 25 Jul 2009 00:07:14 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Sat, 25 Jul 2009 00:07:14 +0000    

Click here for diff

M doc/src/sgml/ref/copy.sgml
M src/backend/commands/copy.c
M src/backend/parser/gram.y
M src/test/regress/expected/copy2.out
M src/test/regress/sql/copy2.sql

Assorted minor refactoring in EXPLAIN.

commit   : 8af12bca3b19305e9219ce9c8230ed8003b870f6    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 24 Jul 2009 21:08:42 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 24 Jul 2009 21:08:42 +0000    

Click here for diff

This is believed to not change the output at all, with one known exception:  
"Subquery Scan foo" becomes "Subquery Scan on foo".  (We can fix that if  
anyone complains, but it would be a wart, because the old code was clearly  
inconsistent.)  The main intention is to remove duplicate coding and  
provide a cleaner base for subsequent EXPLAIN patching.  
  
Robert Haas  

M src/backend/commands/explain.c
M src/backend/lib/stringinfo.c
M src/backend/utils/adt/ruleutils.c
M src/include/lib/stringinfo.h

Reserve the shared memory region during backend startup on Windows, so that memory allocated by starting third party DLLs doesn't end up conflicting with it.

commit   : a7e587863cab80b8896593f20b41e53d65155932    
  
author   : Magnus Hagander <[email protected]>    
date     : Fri, 24 Jul 2009 20:12:42 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Fri, 24 Jul 2009 20:12:42 +0000    

Click here for diff

Hopefully this solves the long-time issue with "could not reattach  
to shared memory" errors on Win32.  
  
Patch from Tsutomu Yamada and me, based on idea from Trevor Talbot.  

M src/backend/port/win32_shmem.c
M src/backend/postmaster/postmaster.c
M src/include/port/win32.h

Document \dg+ and \du+

commit   : 5e22994127bd67f268c0d9622b4e3d103c18a15b    
  
author   : Peter Eisentraut <[email protected]>    
date     : Fri, 24 Jul 2009 19:35:44 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Fri, 24 Jul 2009 19:35:44 +0000    

Click here for diff

The fact that \dg and \du take the + option was missing in the documentation.  
  
backpatched to 8.4  
  
Author: Andreas Wenk <[email protected]>  

M doc/src/sgml/ref/psql-ref.sgml
M src/bin/psql/help.c

Avoid extra system calls to block SIGPIPE if the platform provides either sockopt(SO_NOSIGPIPE) or the MSG_NOSIGNAL flag to send().

commit   : cea80e726edd42a39bb0220290738f7825de8e57    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 24 Jul 2009 17:58:31 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 24 Jul 2009 17:58:31 +0000    

Click here for diff

We assume these features are available if (1) the symbol is defined at  
compile time and (2) the kernel doesn't reject the call at runtime.  
It might turn out that there are some platforms where (1) and (2) are  
true and yet the signal isn't really blocked, in which case applications  
would die on server crash.  If that sort of thing gets reported, then  
we'll have to add additional defenses of some kind.  
  
Jeremy Kerr  

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

Add commentary about Cygwin's broken erand48, per report from Andrew Dunstan.

commit   : 655473a7cd3903d2ce75054468c855d5c294aaf9    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 24 Jul 2009 15:03:07 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 24 Jul 2009 15:03:07 +0000    

Click here for diff

M configure
M configure.in
M src/backend/optimizer/geqo/geqo_selection.c

Force use of our erand48 on Cygwin

commit   : dc7aa3652129803b19b0f10374c7cb097ff2335a    
  
author   : Andrew Dunstan <[email protected]>    
date     : Thu, 23 Jul 2009 23:50:29 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Thu, 23 Jul 2009 23:50:29 +0000    

Click here for diff

M configure
M configure.in

Teach pg_dump to dump comments attached to the columns of a composite type.

commit   : 0d6909eaba6e8e0d05a4c990faa701d4b4e78ba5    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 23 Jul 2009 22:59:40 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 23 Jul 2009 22:59:40 +0000    

Click here for diff

Taro Minowa (Higepon)  

M src/bin/pg_dump/pg_dump.c

commit   : adfa04293b34ac188c94ca81230348282687d3e9    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 23 Jul 2009 21:27:10 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 23 Jul 2009 21:27:10 +0000    

Click here for diff

M src/backend/executor/execTuples.c

In a non-hashed Agg node, reset the "aggcontext" at group boundaries, instead of individually pfree'ing pass-by-reference transition values. This should be at least as fast as the prior coding, and it has the major advantage of clearing out any working data an aggregate function may have stored in or underneath the aggcontext. This avoids memory leakage when an aggregate such as array_agg() is used in GROUP BY mode. Per report from Chris Spotts.

commit   : 6a0865e4bbf678516e7f2530a163857cd51ca676    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 23 Jul 2009 20:45:27 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 23 Jul 2009 20:45:27 +0000    

Click here for diff

Back-patch to 8.4.  In principle the problem could arise in prior versions,  
but since they didn't have array_agg the issue seems not critical.  

M src/backend/executor/nodeAgg.c
M src/backend/utils/adt/array_userfuncs.c

Fix another thinko in join_is_legal's handling of semijoins: we have to test for the case that the semijoin was implemented within either input by unique-ifying its RHS before we test to see if it appears to match the current join situation. The previous coding would select semijoin logic in situations where we'd already unique-ified the RHS and joined it to some unrelated relation(s), and then came to join it to the semijoin's LHS. That still gave the right answer as far as the semijoin itself was concerned, but would lead to incorrectly examining only an arbitrary one of the matchable rows from the unrelated relation(s). The cause of this thinko was incorrect unification of the pre-8.4 logic for IN joins and OUTER joins --- the comparable case for outer joins can be handled after making the match test, but that's because there is nothing like the unique-ification escape hatch for outer joins. Per bug #4934 from Benjamin Reed.

commit   : 1ca695db380063d73b0579ffb36a159f8af589bf    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 23 Jul 2009 17:42:06 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 23 Jul 2009 17:42:06 +0000    

Click here for diff

M src/backend/optimizer/path/joinrels.c

Update location to download flex for building on Windows.

commit   : 00f0b4753922d4b975a96680703c741a69df6213    
  
author   : Andrew Dunstan <[email protected]>    
date     : Thu, 23 Jul 2009 17:06:48 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Thu, 23 Jul 2009 17:06:48 +0000    

Click here for diff

M doc/src/sgml/install-win32.sgml

Clarify NULLIF example

commit   : 2afa73a9e8545b880ca439385f5aa8c0cf716aa8    
  
author   : Peter Eisentraut <[email protected]>    
date     : Wed, 22 Jul 2009 18:07:26 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Wed, 22 Jul 2009 18:07:26 +0000    

Click here for diff

found by "Vesa-Matti J Kari" <[email protected]>  

M doc/src/sgml/func.sgml

Change do_tup_output() to take Datum/isnull arrays instead of a char * array, so it doesn't go through BuildTupleFromCStrings. This is more or less a wash for current uses, but will avoid inefficiency for planned changes to EXPLAIN.

commit   : 846c364dd4eab27e95ad01cf3a699aedea3ebe0c    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 22 Jul 2009 17:00:23 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 22 Jul 2009 17:00:23 +0000    

Click here for diff

Robert Haas  

M src/backend/executor/execTuples.c
M src/backend/utils/misc/guc.c
M src/include/executor/executor.h

Fix mismatch in const:ness of parameters.

commit   : ea382424eec3c7cbb0b3cda8f650e9b88669893a    
  
author   : Magnus Hagander <[email protected]>    
date     : Wed, 22 Jul 2009 11:07:02 +0000    
  
committer: Magnus Hagander <[email protected]>    
date     : Wed, 22 Jul 2009 11:07:02 +0000    

Click here for diff

M src/interfaces/ecpg/ecpglib/prepare.c

Replace PLpgSQL_dstring by StringInfo.

commit   : 6cf9f319082735ebb9ae013d1165586dc073c217    
  
author   : Joe Conway <[email protected]>    
date     : Wed, 22 Jul 2009 02:31:38 +0000    
  
committer: Joe Conway <[email protected]>    
date     : Wed, 22 Jul 2009 02:31:38 +0000    

Click here for diff

Replace redundant PLpgSQL_dstring functionality with StringInfo.  
Patch by Pavel Stehule. Review by Joe Conway.  

M src/pl/plpgsql/src/gram.y
M src/pl/plpgsql/src/pl_exec.c
M src/pl/plpgsql/src/pl_funcs.c
M src/pl/plpgsql/src/plpgsql.h

Tweak TOAST code so that columns marked with MAIN storage strategy are not forced out-of-line unless that is necessary to make the row fit on a page. Previously, they were forced out-of-line if needed to get the row down to the default target size (1/4th page).

commit   : ca7c8168de76459380577eda56a3ed09b4f6195c    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 22 Jul 2009 01:21:22 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 22 Jul 2009 01:21:22 +0000    

Click here for diff

Kevin Grittner  

M doc/src/sgml/storage.sgml
M src/backend/access/heap/tuptoaster.c
M src/include/access/tuptoaster.h

Make pg_dump/pg_restore --clean options drop large objects too. In passing, make invocations of lo_xxx functions a bit more schema-safe.

commit   : a5375bf90304d0cc39b6ca9d5bb07c20ff51f2b3    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 21 Jul 2009 21:46:10 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 21 Jul 2009 21:46:10 +0000    

Click here for diff

Itagaki Takahiro  

M src/bin/pg_dump/pg_backup_archiver.c
M src/bin/pg_dump/pg_backup_archiver.h
M src/bin/pg_dump/pg_backup_custom.c
M src/bin/pg_dump/pg_backup_files.c
M src/bin/pg_dump/pg_backup_null.c
M src/bin/pg_dump/pg_backup_tar.c

Change pg_listener attribute number constants to match the usual pattern

commit   : 5dedce6770557a6e096429ab06f8e3cac14164b6    
  
author   : Peter Eisentraut <[email protected]>    
date     : Tue, 21 Jul 2009 20:24:51 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Tue, 21 Jul 2009 20:24:51 +0000    

Click here for diff

It appears that, for no particularly good reason, pg_listener.h deviates from  
the usual convention for declaring attribute number constants.  Normally, it's  
  
#define Anum_{catalog-name}_{column-name}  {attribute-number}  
  
pg_listener.h, however substitutes a different string that is similar, but not  
the same as, the column name.  This change fixes that.  
  
Author: Robert Haas <[email protected]>  

M src/backend/commands/async.c
M src/include/catalog/pg_listener.h

Speed up AllocSetFreeIndex, which is a significant cost in palloc and pfree, by using a lookup table instead of a naive shift-and-count loop. Based on code originally posted by Sean Eron Anderson at http://graphics.stanford.edu/%7eseander/bithacks.html. Greg Stark did the research and benchmarking to show that this is what we should use. Jeremy Kerr first noticed that this is a hotspot that could be optimized, though we ended up not using his suggestion of platform-specific bit-searching code.

commit   : ab5b4e2f9ede250bd77d09aa8ec60bfeb982fb01    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 21 Jul 2009 19:53:12 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 21 Jul 2009 19:53:12 +0000    

Click here for diff

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

Remove translated FAQs

commit   : f3f45c87d23b800913fb8ea88fe2d713f6b9dd74    
  
author   : Peter Eisentraut <[email protected]>    
date     : Tue, 21 Jul 2009 19:20:33 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Tue, 21 Jul 2009 19:20:33 +0000    

Click here for diff

The English FAQ has been moved to the wiki, so the translated versions should  
have been removed at that point as well.  
  
The FAQ_MINGW.html should have been removed when the platform FAQs were  
integrated into the documentation (or earlier).  
  
applied to both 8.4 and 8.5  

D doc/FAQ_brazilian
D doc/FAQ_chinese_simp
D doc/FAQ_chinese_trad
D doc/FAQ_czech
D doc/FAQ_farsi
D doc/FAQ_french
D doc/FAQ_german
D doc/FAQ_hungarian
D doc/FAQ_japanese
D doc/FAQ_polish
D doc/FAQ_russian
D doc/FAQ_turkish
D doc/src/FAQ/FAQ_MINGW.html
D doc/src/FAQ/FAQ_brazilian.html
D doc/src/FAQ/FAQ_chinese_simp.html
D doc/src/FAQ/FAQ_chinese_trad.html
D doc/src/FAQ/FAQ_czech.html
D doc/src/FAQ/FAQ_farsi.html
D doc/src/FAQ/FAQ_french.html
D doc/src/FAQ/FAQ_german.html
D doc/src/FAQ/FAQ_hungarian.html
D doc/src/FAQ/FAQ_japanese.html
D doc/src/FAQ/FAQ_polish.html
D doc/src/FAQ/FAQ_russian.html
D doc/src/FAQ/FAQ_turkish.html
D doc/src/FAQ/README

Add a further customization to the SGML Emacs mode to prevent the use of tabs in the documentation source.

commit   : f7ad9cab30aad86d60c5826cceeb7a6be4298cc8    
  
author   : Peter Eisentraut <[email protected]>    
date     : Tue, 21 Jul 2009 19:07:24 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Tue, 21 Jul 2009 19:07:24 +0000    

Click here for diff

M src/tools/editors/emacs.samples

Fix another semijoin-ordering bug. We already knew that we couldn't reorder a semijoin into or out of the righthand side of another semijoin, but actually it doesn't work to reorder it into or out of the righthand side of a left or antijoin, either. Per bug #4906 from Mathieu Fenniak.

commit   : b2c51e6eba1d8b3b139c529df3703b37952b5a3d    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 21 Jul 2009 02:02:44 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 21 Jul 2009 02:02:44 +0000    

Click here for diff

This was sloppy thinking on my part.  This identity does work:  
  
	( A left join B on (Pab) ) semijoin C on (Pac)  
==  
	( A semijoin C on (Pac) ) left join B on (Pab)  
  
but I failed to see that that doesn't mean this does:  
  
	( A left join B on (Pab) ) semijoin C on (Pbc)  
!=  
	A left join ( B semijoin C on (Pbc) ) on (Pab)  

M src/backend/optimizer/README
M src/backend/optimizer/plan/initsplan.c

Properly restore pg_largeobject.relfozenxid in binary upgrade mode.

commit   : 4e03b827eed0a04291657970c5796001a07fdf57    
  
author   : Bruce Momjian <[email protected]>    
date     : Mon, 20 Jul 2009 20:53:40 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Mon, 20 Jul 2009 20:53:40 +0000    

Click here for diff

Backpatch to 8.4.X.  

M src/bin/pg_dump/pg_dump.c

Install src/include/utils/fmgroids.h on VPATH builds too.

commit   : 396a493c17a4680861af7efe2928de7b500b4afc    
  
author   : Alvaro Herrera <[email protected]>    
date     : Mon, 20 Jul 2009 20:38:55 +0000    
  
committer: Alvaro Herrera <[email protected]>    
date     : Mon, 20 Jul 2009 20:38:55 +0000    

Click here for diff

The original coding was not dealing specially with this file being a symlink,  
with the end result that it was not installed in VPATH builds.  Oddly enough,  
the clean target does know about it ...  

M src/include/Makefile

Small additional clean from the rearrangement of the HTML index build rules

commit   : 7405f2cc8563a2ac4c5fae813b6e84173c13a56f    
  
author   : Peter Eisentraut <[email protected]>    
date     : Mon, 20 Jul 2009 18:34:58 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Mon, 20 Jul 2009 18:34:58 +0000    

Click here for diff

M doc/src/sgml/Makefile

Use errcontext mechanism in PL/Python

commit   : 5106bdc45040e4aeb033f0c7f9e48fd3c8944258    
  
author   : Peter Eisentraut <[email protected]>    
date     : Mon, 20 Jul 2009 08:01:07 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Mon, 20 Jul 2009 08:01:07 +0000    

Click here for diff

Error messages from PL/Python now always mention the function name in the  
CONTEXT: field.  This also obsoletes the few places that tried to do the  
same manually.  
  
Regression test files are updated to work with Python 2.4-2.6.  I don't have  
access to older versions right now.  

M src/pl/plpython/expected/plpython_error.out
M src/pl/plpython/expected/plpython_error_3.out
M src/pl/plpython/expected/plpython_function.out
M src/pl/plpython/expected/plpython_test.out
M src/pl/plpython/plpython.c

Remove unnecessary and version-sensitive dependence on the exact set of column names to be found in a sequence. Per gripe from Bruce.

commit   : 888d3335b1bcbf43ea6a76acb010adf65e9d782a    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 20 Jul 2009 03:46:45 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 20 Jul 2009 03:46:45 +0000    

Click here for diff

M src/bin/psql/describe.c

DROP IF EXISTS for columns and constraints. Andres Freund.

commit   : e73131a16af9fc175c889b9b7673975c7edf6e38    
  
author   : Andrew Dunstan <[email protected]>    
date     : Mon, 20 Jul 2009 02:42:28 +0000    
  
committer: Andrew Dunstan <[email protected]>    
date     : Mon, 20 Jul 2009 02:42:28 +0000    

Click here for diff

M doc/src/sgml/ref/alter_table.sgml
M src/backend/commands/tablecmds.c
M src/backend/nodes/copyfuncs.c
M src/backend/nodes/equalfuncs.c
M src/backend/parser/gram.y
M src/include/nodes/parsenodes.h
M src/test/regress/expected/alter_table.out
M src/test/regress/sql/alter_table.sql

Teach simplify_boolean_equality to simplify the forms foo <> true and foo <> false, along with its previous duties of simplifying foo = true and foo = false. (All of these are equivalent to just foo or NOT foo as the case may be.) It's not clear how often this is really useful; but it costs almost nothing to do, and it seems some people think we should be smart about such cases. Per recent bug report.

commit   : 31d1f2330277a91f59fe050cc85ced25ee55f95d    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 20 Jul 2009 00:24:30 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 20 Jul 2009 00:24:30 +0000    

Click here for diff

M src/backend/optimizer/util/clauses.c
M src/include/catalog/pg_operator.h

commit   : 400e2c934457bef4bc3cc9a3e49b6289bd761bc0    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 19 Jul 2009 21:00:43 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 19 Jul 2009 21:00:43 +0000    

Click here for diff

In the same vein, get rid of the logic that knew that tours (a,b,c,d,...)  
are the same as tours (b,a,c,d,...), and therefore insisted the latter  
are invalid.  The chance of generating two tours that differ only in  
this way isn't that high, and throwing out 50% of possible tours to  
avoid such duplication seems more likely to waste valuable genetic-  
refinement generations than to do anything useful.  
  
This leaves us with no cases in which geqo_eval will deem a tour invalid,  
so get rid of assorted kluges that tried to deal with such cases, in  
particular the undocumented assumption that DBL_MAX is an impossible  
plan cost.  
  
This is all per testing of Robert Haas' lets-remove-the-collapse-limits  
patch.  That idea has crashed and burned, at least for now, but we still  
got something useful out of it.  
  
It's possible we should back-patch this change, since the "failed to make a  
valid plan" error can happen in existing releases; but I'd rather not until  
it has gotten more testing.  

M src/backend/optimizer/geqo/geqo_eval.c
M src/backend/optimizer/geqo/geqo_main.c
M src/backend/optimizer/geqo/geqo_pool.c
M src/backend/optimizer/geqo/geqo_recombination.c

commit   : a43b190e3c7185e42c7329358c2038cf6d86c5a4    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 19 Jul 2009 20:32:48 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 19 Jul 2009 20:32:48 +0000    

Click here for diff

I'm not certain that this can result in any visible failure in 8.4: the  
mistake may always be masked by the fact that subsequent attempts to join  
the rest of the RHS of the other join will fail.  But I'm not certain it  
can't, either, and it's definitely not operating as intended.  So back-patch.  
  
The added regression test depends on the new no-failures-allowed logic  
that I'm about to commit in GEQO, so no point back-patching that.  

M src/backend/optimizer/path/joinrels.c
M src/test/regress/expected/join.out
M src/test/regress/sql/join.sql

Fix error cleanup failure caused by 8.4 changes in plpgsql to try to avoid memory leakage in error recovery. We were calling FreeExprContext, and therefore invoking ExprContextCallback callbacks, in both normal and error exits from subtransactions. However this isn't very safe, as shown in recent trouble report from Frank van Vugt, in which releasing a tupledesc refcount failed. It's also unnecessary, since the resources that callbacks might wish to release should be cleaned up by other error recovery mechanisms (ie the resource owners). We only really want FreeExprContext to release memory attached to the exprcontext in the error-exit case. So, add a bool parameter to FreeExprContext to tell it not to call the callbacks.

commit   : 011eae60effb07af476255be754ee491ce37164d    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 18 Jul 2009 19:15:42 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 18 Jul 2009 19:15:42 +0000    

Click here for diff

A more general solution would be to pass the isCommit bool parameter on to  
the callbacks, so they could do only safe things during error exit.  But  
that would make the patch significantly more invasive and possibly break  
third-party code that registers ExprContextCallback callbacks.  We might want  
to do that later in HEAD, but for now I'll just do what seems reasonable to  
back-patch.  

M src/backend/executor/execUtils.c
M src/backend/executor/nodeBitmapIndexscan.c
M src/backend/executor/nodeIndexscan.c
M src/include/executor/executor.h
M src/pl/plpgsql/src/pl_exec.c

Repair bug #4926 "too few pathkeys for mergeclauses". This example shows that the sanity checking I added to create_mergejoin_plan() in 8.3 was a few bricks shy of a load: the mergeclauses could reference pathkeys in a noncanonical order such as x,y,x, not only cases like x,x,y which is all that the code had allowed for. The odd cases only turn up when using redundant clauses in an outer join condition, which is why no one had noticed before.

commit   : fb18055998f1f0256f827fe5de77b5d3369a9f21    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 17 Jul 2009 23:19:34 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 17 Jul 2009 23:19:34 +0000    

Click here for diff

M src/backend/optimizer/path/pathkeys.c
M src/backend/optimizer/plan/createplan.c
M src/test/regress/expected/join.out
M src/test/regress/sql/join.sql

Make GEQO's planning deterministic by having it start from a predictable random number seed each time. This is how it used to work years ago, but we got rid of the seed reset because it was resetting the main random() sequence and thus having undesirable effects on the rest of the system. To fix, establish a private random number state for each execution of geqo(), and initialize the state using the new GUC variable geqo_seed. People who want to experiment with different random searches can do so by changing geqo_seed, but you'll always get the same plan for the same value of geqo_seed (if holding all other planner inputs constant, of course).

commit   : f5bc74192d2ffb32952a06c62b3458d28ff7f98f    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 16 Jul 2009 20:55:44 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 16 Jul 2009 20:55:44 +0000    

Click here for diff

The new state is kept in PlannerInfo by adding a "void *" field reserved  
for use by join_search hooks.  Most of the rather bulky code changes in  
this commit are just arranging to pass PlannerInfo around to all the GEQO  
functions (many of which formerly didn't receive it).  
  
Andres Freund, with some editorialization by Tom  

M doc/src/sgml/config.sgml
M doc/src/sgml/geqo.sgml
M src/backend/optimizer/geqo/Makefile
M src/backend/optimizer/geqo/geqo_copy.c
M src/backend/optimizer/geqo/geqo_cx.c
M src/backend/optimizer/geqo/geqo_erx.c
M src/backend/optimizer/geqo/geqo_eval.c
M src/backend/optimizer/geqo/geqo_main.c
M src/backend/optimizer/geqo/geqo_mutation.c
M src/backend/optimizer/geqo/geqo_ox1.c
M src/backend/optimizer/geqo/geqo_ox2.c
M src/backend/optimizer/geqo/geqo_pmx.c
M src/backend/optimizer/geqo/geqo_pool.c
M src/backend/optimizer/geqo/geqo_px.c
A src/backend/optimizer/geqo/geqo_random.c
M src/backend/optimizer/geqo/geqo_recombination.c
M src/backend/optimizer/geqo/geqo_selection.c
M src/backend/utils/misc/guc.c
M src/backend/utils/misc/postgresql.conf.sample
M src/include/nodes/relation.h
M src/include/optimizer/geqo.h
M src/include/optimizer/geqo_copy.h
M src/include/optimizer/geqo_mutation.h
M src/include/optimizer/geqo_pool.h
M src/include/optimizer/geqo_random.h
M src/include/optimizer/geqo_recombination.h
M src/include/optimizer/geqo_selection.h

Add erand48() to the set of functions supported by our src/port/ library, and extend configure to test for it properly instead of hard-wiring an assumption that everybody but Windows has the rand48 functions. (We do cheat to the extent of assuming that probing for erand48 will do for the entire rand48 family.)

commit   : c43feefa806c81d68115ed03a7f723720cefad31    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 16 Jul 2009 17:43:52 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 16 Jul 2009 17:43:52 +0000    

Click here for diff

erand48() is unused as of this commit, but a followon patch will cause  
GEQO to depend on it.  
  
Andres Freund, additional hacking by Tom  

M configure
M configure.in
M src/include/pg_config.h.in
M src/include/port.h
R071 src/port/rand.c src/port/erand48.c
M src/tools/msvc/Mkvcbuild.pm

pg_standby doesn't need to be linked with libpq. Fujii Masao.

commit   : fe1cc1e730cf5bdf4576aeab7fafd1da4b41285b    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Thu, 16 Jul 2009 09:59:46 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Thu, 16 Jul 2009 09:59:46 +0000    

Click here for diff

M contrib/pg_standby/Makefile

Make backend header files C++ safe

commit   : de160e2c001fc77168ff1edc815ceeec0c6d4244    
  
author   : Peter Eisentraut <[email protected]>    
date     : Thu, 16 Jul 2009 06:33:46 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Thu, 16 Jul 2009 06:33:46 +0000    

Click here for diff

This alters various incidental uses of C++ key words to use other similar  
identifiers, so that a C++ compiler won't choke outright.  You still  
(probably) need extern "C" { }; around the inclusion of backend headers.  
  
based on a patch by Kurt Harriman <[email protected]>  
  
Also add a script cpluspluscheck to check for C++ compatibility in the  
future.  As of right now, this passes without error for me.  

M src/backend/access/common/tupdesc.c
M src/backend/catalog/pg_constraint.c
M src/backend/commands/indexcmds.c
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/nodes/makefuncs.c
M src/backend/nodes/nodeFuncs.c
M src/backend/nodes/outfuncs.c
M src/backend/nodes/readfuncs.c
M src/backend/optimizer/plan/subselect.c
M src/backend/optimizer/util/plancat.c
M src/backend/parser/gram.y
M src/backend/parser/parse_clause.c
M src/backend/parser/parse_expr.c
M src/backend/parser/parse_relation.c
M src/backend/parser/parse_target.c
M src/backend/parser/parse_type.c
M src/backend/parser/parse_utilcmd.c
M src/backend/tcop/utility.c
M src/backend/tsearch/dict_thesaurus.c
M src/backend/tsearch/ts_parse.c
M src/backend/tsearch/ts_selfuncs.c
M src/backend/tsearch/wparser_def.c
M src/backend/utils/adt/ruleutils.c
M src/backend/utils/adt/tsginidx.c
M src/backend/utils/adt/tsquery.c
M src/backend/utils/adt/tsquery_cleanup.c
M src/backend/utils/adt/tsquery_op.c
M src/backend/utils/adt/tsquery_rewrite.c
M src/backend/utils/adt/tsquery_util.c
M src/backend/utils/adt/tsrank.c
M src/backend/utils/adt/tsvector_op.c
M src/backend/utils/misc/guc.c
M src/backend/utils/mmgr/mcxt.c
M src/include/catalog/pg_constraint.h
M src/include/commands/defrem.h
M src/include/commands/tablecmds.h
M src/include/nodes/makefuncs.h
M src/include/nodes/memnodes.h
M src/include/nodes/parsenodes.h
M src/include/nodes/primnodes.h
M src/include/optimizer/plancat.h
M src/include/parser/parse_type.h
M src/include/tsearch/ts_public.h
M src/include/tsearch/ts_type.h
M src/include/tsearch/ts_utils.h
M src/include/utils/builtins.h
A src/tools/pginclude/cpluspluscheck

Rearrangement of the HTML docs build rules

commit   : 4ef8dc7a75a9a408b34338854dd0d412ea01c504    
  
author   : Peter Eisentraut <[email protected]>    
date     : Tue, 14 Jul 2009 22:16:38 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Tue, 14 Jul 2009 22:16:38 +0000    

Click here for diff

Set up proper makefile dependencies in the documentation build rules,  
especially around the HTML/index build.  The problem we've had with all  
previous solutions is that we have used the same file name, such as HTML.index  
or bookindex.sgml, to mean different things at different stages of the build,  
and make can't distinguish that.  The solution here is that the first jade run  
produces HTML.index, but does not require bookindex.sgml at all, and produces  
no other html output (the latter an idea from Alvaro).  The second jade run  
includes bookindex.sgml, but does not recreate HTML.index.  That way, when you  
change an sgml file, jade is run twice and at the end all dependencies are  
satisfied.  Omitting the html output in the first stage also makes the full  
build a lot faster.  
  
When you run one of the print format targets, only the first jade run is run,  
then the print target-specific commands.  If an HTML build has completed  
previously, the first jade run is skipped because the dependencies have  
already been satisfied.  
  
The draft and check targets for quick builds and syntax verification are still  
there.  

M doc/src/sgml/Makefile
M doc/src/sgml/filelist.sgml
M doc/src/sgml/postgres.sgml
M doc/src/sgml/stylesheet.dsl

Remove duplicate definition of TYPECAST token. (Apparently, some but not all versions of Bison will warn about this.)

commit   : 4baaaf7a812ab26d02c01fc97ca7f202399fbc17    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 14 Jul 2009 20:34:48 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 14 Jul 2009 20:34:48 +0000    

Click here for diff

M src/interfaces/ecpg/preproc/ecpg.tokens

Tweak the core scanner so that it can be used by plpgsql too.

commit   : 1aa58d3a8389fcf8899745049f128f6b8fec7bc9    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 14 Jul 2009 20:24:10 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 14 Jul 2009 20:24:10 +0000    

Click here for diff

Changes:  
  
Pass in the keyword lookup array instead of having it be hardwired.  
(This incidentally allows elimination of some duplicate coding in ecpg.)  
  
Re-order the token declarations in gram.y so that non-keyword tokens have  
numbers that won't change when keywords are added or removed.  
  
Add ".." and ":=" to the set of tokens recognized by scan.l.  (Since these  
combinations are nowhere legal in core SQL, this does not change anything  
except the precise wording of the error you get when you write this.)  

M src/backend/parser/gram.y
M src/backend/parser/keywords.c
M src/backend/parser/kwlookup.c
M src/backend/parser/parser.c
M src/backend/parser/scan.l
M src/backend/utils/adt/misc.c
M src/backend/utils/adt/ruleutils.c
M src/bin/pg_dump/dumputils.c
M src/bin/pg_dump/keywords.c
M src/include/parser/gramparse.h
M src/include/parser/keywords.h
M src/interfaces/ecpg/preproc/c_keywords.c
M src/interfaces/ecpg/preproc/ecpg_keywords.c
M src/interfaces/ecpg/preproc/extern.h
M src/interfaces/ecpg/preproc/keywords.c

Do a conditional SPI_push/SPI_pop when replanning a query in RevalidateCachedPlan. This is to avoid a "SPI_ERROR_CONNECT" failure when the planner calls a SPI-using function and we are already inside one. The alternative fix is to expect callers of RevalidateCachedPlan to do this, which seems likely to result in additional hard-to-detect bugs of omission. Per reports from Frank van Vugt and Marek Lewczuk.

commit   : 0d4899e448df2b02434d6d423156408cde012707    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 14 Jul 2009 15:37:50 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 14 Jul 2009 15:37:50 +0000    

Click here for diff

Back-patch to 8.3. It's much harder to trigger the bug in 8.3, due to a  
smaller set of cases in which plans can be invalidated, but it could happen.  
(I think perhaps only a SI reset event could make 8.3 fail here, but that's  
certainly within the realm of possibility.)  

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

vacuumlo query cleanups

commit   : 6fafa6a0aeb6d5e3025903a0799011e6625b927c    
  
author   : Bruce Momjian <[email protected]>    
date     : Mon, 13 Jul 2009 22:56:30 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Mon, 13 Jul 2009 22:56:30 +0000    

Click here for diff

No need for VACUUM ANAYZE of newly created/populated temp table, just  
use analyze.  
  
No need to apologize for using subquery in DELETE anymore.  

M contrib/vacuumlo/vacuumlo.c

Update information schema to SQL:2008

commit   : d1ba29420b96c45bbfe0ce9014d4c0e99b798434    
  
author   : Peter Eisentraut <[email protected]>    
date     : Mon, 13 Jul 2009 20:25:57 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Mon, 13 Jul 2009 20:25:57 +0000    

Click here for diff

 - yes_or_no domain for "boolean" data  
 - new columns for VIEWS view  
 - slight section renumbering  

M doc/src/sgml/information_schema.sgml
M src/backend/catalog/information_schema.sql

Make the configure messages rejecting old bison and flex versions include the full path and version of the program being rejected.

commit   : dcc9d37331a1dbb4493fc92cc074b990de18bae7    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 13 Jul 2009 05:36:53 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 13 Jul 2009 05:36:53 +0000    

Click here for diff

M config/programs.m4
M configure

Although the flex documentation avers that yyalloc and yyrealloc take size_t arguments, the emitted scanner actually prototypes them with type yy_size_t, which is sometimes not the same thing depending on flex version and platform. Easiest fix seems to be to use yy_size_t. Per buildfarm results.

commit   : 34a11144e564deef3df686f37a57c4888a97b2cb    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 13 Jul 2009 03:11:12 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 13 Jul 2009 03:11:12 +0000    

Click here for diff

M src/backend/parser/scan.l

Convert the core lexer and parser into fully reentrant code, by making use of features added to flex and bison since this code was originally written. This change doesn't in itself offer any new capability, but it's needed infrastructure for planned improvements in plpgsql.

commit   : 91e71929ba38c2cd212435982c95ccb7c19b4174    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 13 Jul 2009 02:02:20 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 13 Jul 2009 02:02:20 +0000    

Click here for diff

Another feature now available in flex is the ability to make it use palloc  
instead of malloc, so do that to avoid possible memory leaks.  (We should  
at some point change the other lexers likewise, but this commit doesn't  
touch them.)  

M src/backend/nls.mk
M src/backend/parser/gram.y
M src/backend/parser/parser.c
M src/backend/parser/scan.l
M src/include/parser/gramparse.h

Advance the minimum required version of "flex" from 2.5.4 to 2.5.31, and update documentation accordingly. This is required in order to have support for a reentrant scanner. I'm committing this bit separately in order to have an easy reference if we later decide to make the minimum something different (like 2.5.33).

commit   : da4b900176b6506ca0b685a780cb34fb8564dbba    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 13 Jul 2009 01:51:56 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 13 Jul 2009 01:51:56 +0000    

Click here for diff

M config/programs.m4
M configure
M doc/src/sgml/install-win32.sgml
M doc/src/sgml/installation.sgml

Stamp minor library version numbers for 8.5; sorry for the delay.

commit   : 4bd556b193cb7016c908dddd1b5ab28b733513e6    
  
author   : Bruce Momjian <[email protected]>    
date     : Mon, 13 Jul 2009 01:37:05 +0000    
  
committer: Bruce Momjian <[email protected]>    
date     : Mon, 13 Jul 2009 01:37:05 +0000    

Click here for diff

M src/interfaces/ecpg/compatlib/Makefile
M src/interfaces/ecpg/ecpglib/Makefile
M src/interfaces/ecpg/pgtypeslib/Makefile
M src/interfaces/ecpg/preproc/Makefile
M src/interfaces/libpq/Makefile

Fix up PGDLLIMPORT marking for standard_conforming_strings. Moving it into a header file that plpgsql's scan.l can see broke the previous kluge. Per buildfarm results.

commit   : f1d9c299d6e2349973e2f6dfc14d4e6ede710788    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 13 Jul 2009 00:42:18 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 13 Jul 2009 00:42:18 +0000    

Click here for diff

M src/include/parser/parser.h
M src/pl/plpgsql/src/scan.l

Move some declarations in the raw-parser header files to create a clearer distinction between the external API (parser.h) and declarations that only need to be visible within the raw parser code (gramparse.h, which now is only included by parser.c, gram.y, scan.l, and keywords.c). This is in preparation for the upcoming change to a reentrant lexer, which will require referencing YYSTYPE in the declarations of base_yylex and filtered_base_yylex, hence gram.h will have to be included by gramparse.h. We don't want any more files than absolutely necessary to depend on gram.h, so some cleanup is called for.

commit   : 6566e37e027e14a69e263cb82db4a4e31d9cb8b4    
  
author   : Tom Lane <[email protected]>    
date     : Sun, 12 Jul 2009 17:12:34 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sun, 12 Jul 2009 17:12:34 +0000    

Click here for diff

M src/backend/commands/proclang.c
M src/backend/commands/tablecmds.c
M src/backend/parser/gram.y
M src/backend/parser/keywords.c
M src/backend/parser/parse_utilcmd.c
M src/backend/parser/parser.c
M src/backend/parser/scan.l
M src/backend/utils/adt/ruleutils.c
M src/backend/utils/misc/guc.c
M src/include/parser/gramparse.h
M src/include/parser/parser.h
M src/pl/plpgsql/src/pl_comp.c

Alter some gratuitous uses of "ANSI" when "SQL standard" might have been meant or the reference to a standard was unnecessary.

commit   : 23d830bd9aa6fd78d6b5a51433c94d4e30a1fb84    
  
author   : Peter Eisentraut <[email protected]>    
date     : Sat, 11 Jul 2009 21:15:32 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Sat, 11 Jul 2009 21:15:32 +0000    

Click here for diff

M doc/src/sgml/ecpg.sgml
M src/backend/utils/adt/varchar.c
M src/include/catalog/pg_type.h
M src/pl/plpgsql/src/gram.y
M src/test/regress/expected/select_distinct.out
M src/test/regress/sql/select_distinct.sql

Correct what ISO stands for

commit   : c95db342e72f6c746e6c0b66726da8e418d8cc62    
  
author   : Peter Eisentraut <[email protected]>    
date     : Sat, 11 Jul 2009 21:13:21 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Sat, 11 Jul 2009 21:13:21 +0000    

Click here for diff

M doc/src/sgml/acronyms.sgml

Fix set_rel_width() to do something reasonable with non-Var items in a RelOptInfo targetlist. It used to be that the only possibility other than a Var was a RowExpr representing a whole-row child Var, but as of 8.4's expanded ability to flatten appendrel members, we can get arbitrary expressions in there. Use the expression's type info and get_typavgwidth() to produce an at-least-marginally-sane result. Note that get_typavgwidth()'s fallback estimate (32 bytes) is the same as what was here before, so there will be no behavioral change for RowExprs. Noted while looking at recent gripe about constant quals pushed down to FunctionScan appendrel members ... not only were we failing to recognize the constant qual, we were getting the width estimate wrong :-(

commit   : 014be15047e28388bc221c88933ae32800ba1097    
  
author   : Tom Lane <[email protected]>    
date     : Sat, 11 Jul 2009 04:09:33 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Sat, 11 Jul 2009 04:09:33 +0000    

Click here for diff

M src/backend/optimizer/path/costsize.c

Fix xslt_process() to ensure that it inserts a NULL terminator after the last pair of parameter name/value strings, even when there are MAXPARAMS of them. Aboriginal bug in contrib/xml2, noted while studying bug #4912 (though I'm not sure whether there's something else involved in that report).

commit   : e7370babd1865911c4b7534f13a63ce01d8ca9e9    
  
author   : Tom Lane <[email protected]>    
date     : Fri, 10 Jul 2009 00:32:00 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Fri, 10 Jul 2009 00:32:00 +0000    

Click here for diff

This might be thought a security issue, since it's a potential backend  
crash; but considering that untrustworthy users shouldn't be allowed  
to get their hands on xslt_process() anyway, it's probably not worth  
getting excited about.  

M contrib/xml2/xslt_proc.c

Remove no-longer-necessary transmission of postmaster's LC_COLLATE and LC_CTYPE settings to children via BackendParameters. Per discussion, the postmaster is now just using system defaults anyway, so we might as well save a few cycles during backend startup.

commit   : b11ce5608ab7b053478a6180d98818c02df40f46    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 8 Jul 2009 18:55:35 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 8 Jul 2009 18:55:35 +0000    

Click here for diff

M src/backend/postmaster/postmaster.c

Need to use pg_perm_setlocale when setting LC_CTYPE and LC_COLLATE at startup. Otherwise, the LC_CTYPE/COLLATE setting gets reverted when using plperl, which leads to incorrect query results and index corruption.

commit   : e5bb0f04db225a06e08b9b74cde82325c87a8de3    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Wed, 8 Jul 2009 17:53:29 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Wed, 8 Jul 2009 17:53:29 +0000    

Click here for diff

This was accidentally broken in the per-database locale patch in 8.4. Pointed  
out by Andrew Gierth.  

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

Add missing HOUR TO SECOND option to list of possible INTERVAL field sets, as noted by Sebastien Flaesch. Also update the claim that we simply throw away fields outside this set --- that got changed later to only discard less-significant fields.

commit   : 53e7229258cb6463cffa70c9be20b9630aed8940    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 8 Jul 2009 17:21:55 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 8 Jul 2009 17:21:55 +0000    

Click here for diff

M doc/src/sgml/datatype.sgml

When calling unsupported "make check" with a pgxs module, return a nonzero exit code.

commit   : df2066711235e3c53c8bb17efd2a1873e0a27402    
  
author   : Peter Eisentraut <[email protected]>    
date     : Wed, 8 Jul 2009 13:47:29 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Wed, 8 Jul 2009 13:47:29 +0000    

Click here for diff

M src/makefiles/pgxs.mk

Just a little more schema-qualification ...

commit   : e01d732db3695d21123fd94c230a55d45bf27c95    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 7 Jul 2009 21:45:05 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 7 Jul 2009 21:45:05 +0000    

Click here for diff

M src/bin/psql/describe.c

psql backward compatibility fix

commit   : b34f6ab80474da3c64b4d70f0e57e544275b67df    
  
author   : Peter Eisentraut <[email protected]>    
date     : Tue, 7 Jul 2009 20:32:20 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Tue, 7 Jul 2009 20:32:20 +0000    

Click here for diff

For servers older than 8.3, sort display of child tables by relname instead  
of oid::regclass::text, because the cast from regclass to text did not work  
back then.  The older display may be slightly worse when different schemas  
are involved, but that should be rare enough.  

M src/bin/psql/describe.c

Don't use 'return' where you should use 'PG_RETURN_xxx'.

commit   : ba3fb57d8171e7d0d0e27942f6ce8ae364c8d87a    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 7 Jul 2009 19:28:56 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 7 Jul 2009 19:28:56 +0000    

Click here for diff

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

Query in SQL function still not schema-safe; add a couple more pg_catalog. qualifications.

commit   : fc9dd12da061680d4b3a884080fc7d43318f7993    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 7 Jul 2009 19:28:00 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 7 Jul 2009 19:28:00 +0000    

Click here for diff

M src/backend/catalog/information_schema.sql

Sort child tables by name instead of OID in \d+ display

commit   : 987281274f7257c1fe3304309f0ba3f39e96532f    
  
author   : Peter Eisentraut <[email protected]>    
date     : Tue, 7 Jul 2009 19:05:57 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Tue, 7 Jul 2009 19:05:57 +0000    

Click here for diff

This was an oversight in the recent patch.  Found by Tom Lane.  

M src/bin/psql/describe.c

Fix typo in comment.

commit   : 8fe8ac5f40c9002cb48657dd77c7d85de470af6f    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 7 Jul 2009 18:49:16 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 7 Jul 2009 18:49:16 +0000    

Click here for diff

M src/include/catalog/pg_proc.h

More sensible character_octet_length

commit   : e292dbcf543183fa6eae98c377b3939d08794676    
  
author   : Peter Eisentraut <[email protected]>    
date     : Tue, 7 Jul 2009 18:23:15 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Tue, 7 Jul 2009 18:23:15 +0000    

Click here for diff

For character types with typmod, character_octet_length columns in the  
information schema now show the maximum character length times the  
maximum length of a character in the server encoding, instead of some  
huge value as before.  

M doc/src/sgml/information_schema.sgml
M src/backend/catalog/information_schema.sql
M src/backend/utils/mb/mbutils.c
M src/include/catalog/catversion.h
M src/include/catalog/pg_proc.h
M src/include/utils/builtins.h

Code review for patch to show definition of index columns in \d on index. Safely schema-qualify the pg_get_indexdef call, make the query a bit prettier in -E mode, remove useless join to pg_index, make it more obvious that the header[] array is not overrun.

commit   : 788d8e513953b580de8b93543d963d28009b031d    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 7 Jul 2009 16:28:38 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 7 Jul 2009 16:28:38 +0000    

Click here for diff

M src/bin/psql/describe.c

Use floor() not rint() when reducing precision of fractional seconds in timestamp_trunc, timestamptz_trunc, and interval_trunc(). This change only affects the float-datetime case; the integer-datetime case already behaved like truncation instead of rounding. Per gripe from Mario Splivalo.

commit   : 47386fed461d7726743de39efa2da042eca22575    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 6 Jul 2009 20:29:23 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 6 Jul 2009 20:29:23 +0000    

Click here for diff

This is a pre-existing issue but I'm choosing not to backpatch, because  
it's such a corner case and there have not been prior complaints.  The  
issue is largely moot anyway given the trend towards integer datetimes.  

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

Fix ancient bug in handling of to_char modifier 'TH', when used with HH. In what seems like an oversight, we used to treat 'TH' the same as lowercase 'th', but only with HH/HH12.

commit   : 44886bd878a2098d7bef6413e669d4ec59b17f71    
  
author   : Heikki Linnakangas <[email protected]>    
date     : Mon, 6 Jul 2009 19:11:39 +0000    
  
committer: Heikki Linnakangas <[email protected]>    
date     : Mon, 6 Jul 2009 19:11:39 +0000    

Click here for diff

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

Fix set_append_rel_pathlist() to deal intelligently with cases where substituting a child rel's output expressions into the appendrel's restriction clauses yields a pseudoconstant restriction. We might be able to skip scanning that child rel entirely (if we get constant FALSE), or generate a one-time filter. 8.3 more or less accidentally generated plans that weren't completely stupid in these cases, but that was only because an extra recursive level of subquery_planner() always occurred and allowed const-simplification to happen. 8.4's ability to pull up appendrel members with non-Var outputs exposes the fact that we need to work harder here. Per gripe from Sergey Burladyan.

commit   : 9b27eab71c47f4f21d0e487b1d7ad277a85735e0    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 6 Jul 2009 18:26:30 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 6 Jul 2009 18:26:30 +0000    

Click here for diff

M src/backend/optimizer/path/allpaths.c
M src/backend/optimizer/prep/prepunion.c
M src/backend/optimizer/util/restrictinfo.c
M src/include/optimizer/restrictinfo.h

Show definition of index columns in \d on index

commit   : bf6570abef3df08c7cd4d318d61217b2f95ccbb2    
  
author   : Peter Eisentraut <[email protected]>    
date     : Mon, 6 Jul 2009 17:01:42 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Mon, 6 Jul 2009 17:01:42 +0000    

Click here for diff

This adds a column called "Definition" to the output of psql \d on an  
index, which shows the full expression behind the index column.  For indexes  
on plain columns, this is redundant,  but for expression indexes, this  
reveals the real expression.  
  
Author: Khee Chin <[email protected]>  

M src/bin/psql/describe.c

Per SQL spec (in particular, the grammar in SQL:2008 7.13) we should allow parentheses around the <query expression body> that follows a WITH clause, eg with cte(foo) as ( values(0) ) ((select foo from cte)); This seems to be just an oversight/thinko in gram.y. Noted while experimenting with bug #4902.

commit   : 869312e65e380d813c5eb43128074515949cecdf    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 6 Jul 2009 02:58:40 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 6 Jul 2009 02:58:40 +0000    

Click here for diff

M src/backend/parser/gram.y

Fix handling of changed-Param signaling for CteScan plan nodes. We were using the "cteParam" as a proxy for the possibility that the underlying CTE plan depends on outer-level variables or Params, but that doesn't work very well because it sometimes causes calling subqueries to be treated as SubPlans when they could be InitPlans. This is inefficient and also causes the outright failure exhibited in bug #4902. Instead, leave the cteParam out of it and copy the underlying CTE plan's extParams directly. Per bug #4902 from Marko Tiikkaja.

commit   : 9298d2ff3913de89b58065f7a444cba48e9c5d93    
  
author   : Tom Lane <[email protected]>    
date     : Mon, 6 Jul 2009 02:16:03 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Mon, 6 Jul 2009 02:16:03 +0000    

Click here for diff

M src/backend/optimizer/plan/subselect.c
M src/test/regress/expected/with.out
M src/test/regress/sql/with.sql

Add log_line_prefix placeholder %e to contain the current SQL state

commit   : f39df967e930be301f976a537628a5788867e8a1    
  
author   : Peter Eisentraut <[email protected]>    
date     : Fri, 3 Jul 2009 19:14:25 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Fri, 3 Jul 2009 19:14:25 +0000    

Click here for diff

Author: Guillaume Smet <[email protected]>  

M doc/src/sgml/config.sgml
M src/backend/utils/error/elog.c
M src/backend/utils/misc/postgresql.conf.sample

Have \d show child tables that inherit from the specified parent

commit   : e2b42aef53da08dfdcd30b5ffee543b65993ae3d    
  
author   : Peter Eisentraut <[email protected]>    
date     : Fri, 3 Jul 2009 18:56:50 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Fri, 3 Jul 2009 18:56:50 +0000    

Click here for diff

As per discussion, \d shows only the number of child tables, because that  
could be hundreds, when used for partitioning.  \d+ shows the actual list.  
  
Author: Damien Clochard <[email protected]>  

M src/bin/psql/describe.c

Fix up pg_dump's --binary-upgrade option so that it behaves properly with inherited columns and check constraints. Per my recent trouble report.

commit   : 53fa850c80f347c967339df7f53d24ca1a669164    
  
author   : Tom Lane <[email protected]>    
date     : Thu, 2 Jul 2009 21:34:32 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Thu, 2 Jul 2009 21:34:32 +0000    

Click here for diff

M src/bin/pg_dump/pg_dump.c

Upgrade to Autoconf 2.63

commit   : 7cc514ac65d5725f60dae4e4d059a329a6c883b3    
  
author   : Peter Eisentraut <[email protected]>    
date     : Thu, 2 Jul 2009 18:55:40 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Thu, 2 Jul 2009 18:55:40 +0000    

Click here for diff

This upgrades the configure infrastructure to the latest Autoconf version.  
Some notable news are:  
 - The workaround for the broken fseeko() test is gone.  
 - Checking for unknown options is now provided by Autoconf itself.  
 - Fixes for Mac OS X  

M config/c-library.m4
M config/general.m4
M configure
M configure.in
M src/include/pg_config.h.in

Regression test for XML mapping functionality

commit   : 72da68eef08cb3f22512cf283e859ae4f2039e84    
  
author   : Peter Eisentraut <[email protected]>    
date     : Thu, 2 Jul 2009 07:03:18 +0000    
  
committer: Peter Eisentraut <[email protected]>    
date     : Thu, 2 Jul 2009 07:03:18 +0000    

Click here for diff

I wrote this one while chasing down some bugs in the closing days of 8.4.  It  
could be useful in the long run.  This area of the code had no test coverage  
at all before.  

A src/test/regress/expected/xmlmap.out
A src/test/regress/expected/xmlmap_1.out
M src/test/regress/parallel_schedule
M src/test/regress/serial_schedule
A src/test/regress/sql/xmlmap.sql

Remove useless References column for pg_listener catalog description. Per Shigehiro Honda.

commit   : 47f6699d00342eeded70a94234d9a7c9cca597e4    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 1 Jul 2009 23:57:33 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 1 Jul 2009 23:57:33 +0000    

Click here for diff

M doc/src/sgml/catalogs.sgml

Stamp HEAD as 8.5devel.

commit   : f4ab0b032b834a76f6324545c5ce2412171124c7    
  
author   : Tom Lane <[email protected]>    
date     : Wed, 1 Jul 2009 23:15:55 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Wed, 1 Jul 2009 23:15:55 +0000    

Click here for diff

M configure
M configure.in
M doc/bug.template
M src/include/pg_config.h.win32
M src/interfaces/libpq/libpq.rc.in
M src/port/win32ver.rc
M src/tools/version_stamp.pl

Add missed src/include/foreign subdirectory to the set installed into INSTALLDIR/include/server/. Itagaki Takahiro

commit   : 2c3c2c1c3c4910e36d9a84a7adf6056275dbdc2e    
  
author   : Tom Lane <[email protected]>    
date     : Tue, 30 Jun 2009 17:38:50 +0000    
  
committer: Tom Lane <[email protected]>    
date     : Tue, 30 Jun 2009 17:38:50 +0000    

Click here for diff

M src/include/Makefile