--- /dev/null
+<!-- BEGIN page_title_block -->
+Weekly News - September 27 2009
+<!-- END page_title_block -->
+
+<h1>PostgreSQL Weekly News - September 27 2009</h1>
+
+<p>
+The commitfest continues, with alpha2 coming soon.
+</p>
+
+<h2>PostgreSQL Product News</h2>
+<p>
+Benetl 3.1, an ETL tool for files, released.
+<a href="http://www.benetl.net">http://www.benetl.net</a>
+</p>
+
+<h2>PostgreSQL Jobs for September</h2>
+<p>
+<a href="http://archives.postgresql.org/pgsql-jobs/2009-09/threads.php">http://archives.postgresql.org/pgsql-jobs/2009-09/threads.php</a>
+</p>
+
+<h2>PostgreSQL Local</h2>
+<p>
+There will be a conference in Seattle, Washington, USA October 16-18,
+2009.
+<a href="http://www.postgresqlconference.org/2009/west">http://www.postgresqlconference.org/2009/west</a>
+</p>
+
+<p>
+PGCon Brazil will be take place October 23-24 2009 at Unicamp in
+Campinas, Sao Paulo state. Registration open!
+<a href="http://pgcon.postgresql.org.br/2009/">http://pgcon.postgresql.org.br/2009/</a>
+</p>
+
+<p>
+PGDay.EU 2009 will be at Telecom ParisTech in Paris, France on
+November 6-7, 2009.
+<a href="http://www.pgday.eu/">http://www.pgday.eu/</a>
+</p>
+
+<p>
+OpenSQL Camp in Portland is looking for sponsors. Make your travel plans now! :)
+<a href="http://www.chesnok.com/daily/2009/07/29/opensql-camp-comes-to-portland-november-14-15-2009/">http://www.chesnok.com/daily/2009/07/29/opensql-camp-comes-to-portland-november-14-15-2009/</a>
+</p>
+
+<p>
+JPUG 10th Anniversary Conference is November 20-21, 2009 in Tokyo, Japan.
+<a href="http://archives.postgresql.org/pgsql-announce/2009-05/msg00018.php">http://archives.postgresql.org/pgsql-announce/2009-05/msg00018.php</a>
+</p>
+
+<p>
+FOSDEM 2010 will be in Brussels, Belgium on February 6-7, 2010.
+<a href="http://www.fosdem.org/">http://www.fosdem.org/</a>
+</p>
+
+<p>
+Chemnitzer Linuxtage will be in Chemnitz, Germany on March 13-14, 2010.
+<a href="http://chemnitzer.linux-tage.de/">http://chemnitzer.linux-tage.de/</a>
+</p>
+
+<h2>PostgreSQL in the News</h2>
+<p>
+Planet PostgreSQL: <a href="http://planet.postgresql.org/">http://planet.postgresql.org/</a>
+</p>
+
+<p>
+PostgreSQL Weekly News is brought to you this week by David Fetter
+</p>
+
+<p>
+Submit news and announcements by Sunday at 3:00pm Pacific time.
+Please send English language ones to david@fetter.org, German language
+to pwn@pgug.de, Italian language to pwn@itpug.org.
+</p>
+
+<h2>Applied Patches</h2>
+<p>
+Tom Lane committed:
+</p>
+
+<p>
+- Define a new, more extensible syntax for COPY options. 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.
+</p>
+
+<p>
+- 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.
+</p>
+
+<p>
+- Implement the DO statement to support execution of PL code without
+ having to create a function for it. 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.
+</p>
+
+<p>
+- In pgsql/doc/src/sgml/ref/do.sgml, improve example for DO, per Petr
+ Jelinek.
+</p>
+
+<p>
+- In pgsql/src/backend/utils/cache/relcache.c, 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: 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.
+</p>
+
+<p>
+- 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.)
+ This commit doesn't do anything especially useful by itself, but
+ it's necessary infrastructure for reverting some ill-considered
+ changes in relcache.c.
+</p>
+
+<p>
+- In pgsql/src/backend/utils/cache/relcache.c, 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.
+</p>
+
+<p>
+- In pgsql/src/backend/catalog/genbki.sh, hmm, seems a lot of the
+ buildfarm is running versions of awk that don't have gensub(). Use
+ sub() instead, tedious though it be.
+</p>
+
+<p>
+- 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.
+</p>
+
+<p>
+- In pgsql/src/tools/msvc/Genbki.pm, 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.
+</p>
+
+<p>
+- Sync psql's scanner with recent changes in backend scanner's flex
+ rules. Marko Kreen, Tom Lane.
+</p>
+
+<p>
+- In pgsql/src/interfaces/libpq/fe-connect.c, 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. Sam Mason.
+</p>
+
+<p>
+- 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. 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.
+</p>
+
+<p>
+- Remove no-longer-needed ExecCountSlots infrastructure.
+</p>
+
+<p>
+Bruce Momjian committed:
+</p>
+
+<p>
+- In pgsql/src/tools/fsync/test_fsync.c, fsync test files. Prevent
+ creation of 16GB files during fsync testing; only create 16MB files;
+ backpatch to 8.4.X.
+</p>
+
+<p>
+Peter Eisentraut committed:
+</p>
+
+<p>
+- Surrogate pair support for U& string and identifier syntax. This is
+ mainly to make the functionality consistent with the proposed \u
+ escape syntax.
+</p>
+
+<p>
+- Unicode escapes in E'...' strings. Marko Kreen.
+</p>
+
+<p>
+- In pgsql/src/backend/parser/scan.l, remove backup states from
+ Unicode escapes patch.
+</p>
+
+<p>
+- In pgsql/src/backend/parser/scan.l, prevent isolated second
+ surrogate in U& syntax.
+</p>
+
+<h2>Rejected Patches (for now)</h2>
+<p>
+Jeff Davis's operator exclusion constraints patch. Lots of progress,
+useful new feature, and will re-submit for the next commitfest.
+</p>
+
+<h2>Pending Patches</h2>
+<p>
+Heikki Linnakangas sent in a reviewed version of the streaming
+replication patch.
+</p>
+
+<p>
+Heikki Linnakangas sent in a patch atop the Hot Standby patch.
+</p>
+
+<p>
+Petr (PJMODOS) Jelinek sent in another revision of the GRANT ON ALL IN
+patch.
+</p>
+
+<p>
+Andrew Dunstan sent in a patch to add \ev (edit view) to psql.
+</p>
+
+<p>
+Stef Walter sent in two more revisions of the samehost/sameuser patch
+for pg_hba.conf.
+</p>
+
+<p>
+Petr (PJMODOS) Jelinek sent in four more revisions of the DefaultACLs
+patch.
+</p>
+
+<p>
+Michael Paquier sent in another revision of the patch to add shell
+commands to pgbench.
+</p>
+
+<p>
+Andrew (RhodiumToad) Gierth sent in another revision of the hstore
+patch.
+</p>
+
+<p>
+Roger Leigh sent in another revision of the UTF-8 pretty-print option
+for psql.
+</p>
+
+<p>
+David Wheeler sent in a doc patch to go with Andrew (RhodiumToad)
+Gierth's hstore patch.
+</p>
+
+<p>
+Sam Mason sent in a patch to clean up libpq's port number handling.
+</p>
+
+<p>
+Joachim Wieland sent in a patch to fix some performance issues in the
+information schema.
+</p>
+
+<p>
+KaiGai Kohei sent in another revision of the large object ACL patch.
+</p>
+
+<p>
+Emmanuel Cecchet sent in another revision of the COPY enhancements
+patch.
+</p>
+
+<p>
+KaiGai Kohei sent in another revision of the ACL rework patch.
+</p>
+
+<p>
+Pierre Frederic Caillaud sent in another revision of the bulk inserts
+patch.
+</p>
+
+<p>
+Alvaro Herrera sent in another revision of the patch to allow
+per-database, per-role GUC settings.
+</p>
+
+<p>
+Simon Riggs set up a git repository for Hot Standby, with the
+eponymous hot_standby branch, at
+<a href="http://git.postgresql.org/gitweb?p=users/simon/postgres.git;a=summary">http://git.postgresql.org/gitweb?p=users/simon/postgres.git;a=summary</a>
+</p>
+
+<p>
+Brendan Jurd sent in a patch atop ITAGAKI Takahiro's CREATE TABLE
+LIKE...INCLUDING patch.
+</p>
+
+<p>
+Marko Kreen sent in a patch to fix up Unicode escape treatment in
+psql.
+</p>
+
+<p>
+Jim Cox sent in a patch to allow pg_dump to note its version and that
+of the server it dumps in comments.
+</p>
+
+<p>
+Heikki Linnakangas sent in two updated patches for Hot Standby.
+</p>
+
+<p>
+ITAGAKI Takahiro sent in another revision of the CREATE TABLE LIKE
+expansion patch including Brendan Jurd's additions above.
+
+</p>
+