--- /dev/null
+<!-- BEGIN page_title_block -->
+Weekly News - November 22 2009
+<!-- END page_title_block -->
+
+<h1>PostgreSQL Weekly News - November 22 2009</h1>
+
+<p>
+A report from the Brazilian PostgreSQL conference in Portuguese is at:
+<a href="http://pgcon.postgresql.org.br/2009/asl/pgcconbr-2009_prest_contas.pdf">http://pgcon.postgresql.org.br/2009/asl/pgcconbr-2009_prest_contas.pdf</a>
+</p>
+
+<h2>PostgreSQL Product News</h2>
+<p>
+pgstat 1.1 released.
+<a href="http://pgfoundry.org/projects/pgstat2/">http://pgfoundry.org/projects/pgstat2/</a>
+</p>
+
+<h2>PostgreSQL Jobs for November</h2>
+<p>
+<a href="http://archives.postgresql.org/pgsql-jobs/2009-11/threads.php">http://archives.postgresql.org/pgsql-jobs/2009-11/threads.php</a>
+</p>
+
+<h2>PostgreSQL Local</h2>
+<p>
+The third edition of the Italian PostgreSQL Day will be held at the
+University of Pisa on the 4th of December. Entrance is free.
+Sponsors are welcome.
+<a href="http://www.pgday.it/">http://www.pgday.it/</a>
+</p>
+
+<p>
+Stefan Keller will be teach a course called, "Introducion to
+PostGIS/PostgreSQL" at the University of Applied Sciences Rapperswil
+(HSR) on January 14, 2010 in Zurich, Switzerland.
+<a href="http://www.gis.hsr.ch/wiki/Agenda">http://www.gis.hsr.ch/wiki/Agenda</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>
+- In pgsql/src/backend/optimizer/plan/setrefs.c, 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. 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.
+</p>
+
+<p>
+- 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. Itagaki Takahiro
+</p>
+
+<p>
+- 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". Laurenz Albe, reviewed by Takahiro Itagaki.
+</p>
+
+<p>
+- In pgsql/src/backend/postmaster/syslogger.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.
+</p>
+
+<p>
+- Add a WHEN clause to CREATE TRIGGER, allowing a boolean expression
+ to be checked to determine whether the trigger should be fired. 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.
+</p>
+
+<p>
+- Fix display and dumping of UPDATE OR TRUNCATE triggers (a bizarre
+ combination maybe, but we should get it right). Bug noted while
+ reviewing TRIGGER WHEN patch. Already fixed in HEAD.
+</p>
+
+<p>
+- 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.
+</p>
+
+<p>
+- 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. 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.
+</p>
+
+<p>
+- In pgsql/src/test/regress/expected/xmlmap.out, ooops, forgot to
+ check the libxml cases for psql output wrapping change.
+</p>
+
+<p>
+- In pgsql/src/test/regress/pg_regress.c, remove -w
+ (--ignore-all-space) option from pg_regress's diff calls. 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.)
+</p>
+
+<p>
+- In pgsql/src/test/regress/output/largeobject_1.source, adjust
+ expected-results spacing per buildfarm results.
+</p>
+
+<p>
+- In pgsql/doc/src/sgml/ref/psql-ref.sgml, 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.
+</p>
+
+<p>
+Peter Eisentraut committed:
+</p>
+
+<p>
+- In pgsql/src/bin/pg_dump/pg_restore.c, typo: dump -> restore. Fixed
+ in 8.4 and 8.5 Author: Guillaume Lelarge <guillaume@lelarge.info>
+</p>
+
+<p>
+- In pgsql/src/bin/psql/mainloop.c, ignore UTF-8-encoded Unicode
+ byte-order mark at the beginning of a file if the client encoding is
+ UTF-8. A limited version of a patch proposed by Itagaki Takahiro
+</p>
+
+<p>
+Magnus Hagander committed:
+</p>
+
+<p>
+- Revert backpatch of inheritable-ACE patch for Win32, since it broke
+ compatibility with pre-Windows 2000 versions.
+</p>
+
+<p>
+Heikki Linnakangas committed:
+</p>
+
+<p>
+- In pgsql/src/backend/optimizer/path/allpaths.c, remove superfluous
+ curly brace, fixing compilation with OPTIMIZER_DEBUG. Jan Urbanski.
+</p>
+
+<h2>Rejected Patches (for now)</h2>
+<p>
+No one was disappointed this week :-)
+</p>
+
+<h2>Pending Patches</h2>
+<p>
+ITAGAKI Takahiro sent in another revision of the VACUUM FULL
+refactoring patch.
+</p>
+
+<p>
+Josh Tolley sent in three more revisions of the patch to enable
+PL/Perl[U] anonymous DO blocks. Tim Bunce sent in a patch atop same
+loosening some restrictions.
+</p>
+
+<p>
+Zoltan Boszormenyi sent in new revisions of the patches for ECPG
+implementing dynamic cursor names, SQLDA support, DESCRIBE [OUTPUT]
+and out-of-scope cursor support in Informix mode.
+</p>
+
+<p>
+Alvaro Herrera sent in a patch to add copydatum to SPI.
+</p>
+
+<p>
+Pavel Stehule sent in another revision of the patch to allow SQL to
+use psql parameters.
+</p>
+
+<p>
+Heikki Linnakangas sent in a patch intended to fix a bug in the
+interaction between multixacts and prepared transactions.
+</p>
+
+<p>
+Alex Hunsaker sent in a patch atop Marko (johto) Tiikkaja's writeable
+CTE patch along with a review.
+</p>
+
+<p>
+Pavel Stehule sent in a patch to add a USING clause to OPEN FOR
+EXECUTE in PL/pgsql.
+</p>
+
+<p>
+Robert Haas sent in a patch atop Jeff Davis's patch to replace the
+existing strategy numbers with operator OIDs.
+</p>
+
+<p>
+Hannu Valtonen sent in a patch to add in-line (DO) support to
+PL/PythonU.
+</p>
+
+<p>
+Euler Taveira de Oliveira sent in a doc patch which adds a
+PG_MODULE_MAGIC block to C examples.
+</p>
+
+<p>
+George Gensure sent in a patch to reference function parameters by
+name.
+</p>
+
+<p>
+Joachim Wieland sent in two more revisions of the patch to add
+payloads to NOTIFY.
+</p>
+
+<p>
+James Pye sent in a patch to add the PL/Python3 language.
+</p>
+
+<p>
+Emmanuel Cecchet sent in three more revisions of the partitioning
+grammar patch.
+</p>
+
+<p>
+David Wheeler sent in a doc patch for hstore.
+</p>
+
+<p>
+Hiroshi Saito sent in a patch to fix win32.mak.
+</p>
+
+<p>
+Andrew Dunstan sent in a WIP patch to log queries automatically in
+auto-explain.
+
+</p>
+