--- /dev/null
+<!-- BEGIN page_title_block -->
+Weekly News - October 10 2010
+<!-- END page_title_block -->
+
+<h1>PostgreSQL Weekly News - October 10 2010</h1>
+
+<p>
+The deadline for the CfP for MySQL Conf is October 25, 2010. Mail
+Selena Deckelman selenamarie <AT> gmail <DOT> com for feedback, help
+with submissions, or help generating ideas.
+<a href="http://en.oreilly.com/mysql2011/public/cfp/126">http://en.oreilly.com/mysql2011/public/cfp/126</a>
+</p>
+
+<h2>PostgreSQL Product News</h2>
+<p>
+Another PostgreSQL Diff Tool 2.2.2, a tool for database diffs, released.
+<a href="http://apgdiff.startnet.biz/">http://apgdiff.startnet.biz/</a>
+</p>
+
+<p>
+Slony-I 2.0.5, a master-to-multiple-cascading-replica system for
+PostgreSQL, released.
+<a href="http://www.slony.info/">http://www.slony.info/</a>
+</p>
+
+<h2>PostgreSQL Jobs for October</h2>
+<p>
+<a href="http://archives.postgresql.org/pgsql-jobs/2010-10/threads.php">http://archives.postgresql.org/pgsql-jobs/2010-10/threads.php</a>
+</p>
+
+<h2>PostgreSQL Local</h2>
+<p>
+Michael Renner will be doing a talk on Database Replication with PostgreSQL 9.0
+on the 12th of October at the Metalab in Vienna, Austria. Link & Info in de_AT:
+<a href="http://metalab.at/wiki/PostgreSQL_repliziert_9.0">http://metalab.at/wiki/PostgreSQL_repliziert_9.0</a>
+</p>
+
+<p>
+PgDay.IT 2010 will be in Rome this year December 10th. The Call for
+Papers is now open.
+<a href="http://www.pgday.it/">http://www.pgday.it/</a>
+</p>
+
+<p>
+Early bird registration for JDCon West 2010 is now open.
+<a href="https://www.postgresqlconference.org/content/pgwest-2010-registration">https://www.postgresqlconference.org/content/pgwest-2010-registration</a>
+</p>
+
+<p>
+Call for Papers for PGDay.EU 2010 held on December 6-8 in Stuttgart,
+Germany is open.
+<a href="http://2010.pgday.eu/callforpapers">http://2010.pgday.eu/callforpapers</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.
+</p>
+
+<h2>Reviews</h2>
+<p>
+ITAGAKI Takahiro reviewed the patch to fix some access control leaks
+in views.
+</p>
+
+<h2>Applied Patches</h2>
+<p>
+Tom Lane pushed:
+</p>
+
+<p>
+- Undo some poorly-thought-out "proofreading improvements". Per
+ Tatsuhito Kasahara.
+ <a href="http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=d79a1a138e5dc9bc190b907e754268e819678a2a">http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=d79a1a138e5dc9bc190b907e754268e819678a2a</a>
+</p>
+
+<p>
+- Use a separate interpreter for each calling SQL userid in plperl and
+ pltcl. There are numerous methods by which a Perl or Tcl function
+ can subvert the behavior of another such function executed later;
+ for example, by redefining standard functions or operators called by
+ the target function. If the target function is SECURITY DEFINER, or
+ is called by such a function, this means that any ordinary SQL user
+ with Perl or Tcl language usage rights can do essentially anything
+ with the privileges of the target function's owner. To close this
+ security hole, create a separate Perl or Tcl interpreter for each
+ SQL userid under which plperl or pltcl functions are executed within
+ a session. However, all plperlu or pltclu functions run within a
+ session still share a single interpreter, since they all execute at
+ the trust level of a database superuser anyway. Note: this change
+ results in a functionality loss when libperl has been built without
+ the "multiplicity" option: it's no longer possible to call plperl
+ functions under different userids in one session, since such a
+ libperl can't support multiple interpreters in one process.
+ However, such a libperl already failed to support concurrent use of
+ plperl and plperlu, so it's likely that few people use such versions
+ with Postgres. Security: CVE-2010-3433
+ <a href="http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=50595b5fce2e15b5ef26b057799b4a4cdd1c10e8">http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=50595b5fce2e15b5ef26b057799b4a4cdd1c10e8</a>
+</p>
+
+<p>
+- Reduce the memory requirement for large ispell dictionaries. This
+ patch eliminates per-chunk palloc overhead for most small
+ allocations needed in the representation of an ispell dictionary.
+ This saves close to a factor of 2 on the current Czech ispell data.
+ While it doesn't cover every last small allocation in the ispell
+ code, we are at the point of diminishing returns, because about 95%
+ of the allocations are covered already. Pavel Stehule, rather
+ heavily revised by Tom Lane.
+ <a href="http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=3e5f9412d0a818be77c974e5af710928097b91f3">http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=3e5f9412d0a818be77c974e5af710928097b91f3</a>
+</p>
+
+<p>
+- Clean up temporary-memory management during ispell dictionary
+ loading. Add explicit initialization and cleanup functions to
+ spell.c, and keep all working state in the already-existing
+ ISpellDict struct. This lets us get rid of a static variable along
+ with some extremely shaky assumptions about usage of child memory
+ contexts. This commit is just code beautification and has no impact
+ on functionality or performance, but it opens the way to a
+ less-grotty implementation of Pavel Stehule's memory-saving hack,
+ which will follow shortly.
+ <a href="http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=9b910def24e85c1c4ff993eae0fe511271fc8682">http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=9b910def24e85c1c4ff993eae0fe511271fc8682</a>
+</p>
+
+<p>
+- Teach CLUSTER to use seqscan-and-sort when it's faster than
+ indexscan. ... or at least, when the planner's cost estimates say
+ it will be faster. Leonardo Francalanci, reviewed by Itagaki
+ Takahiro and Tom Lane
+ <a href="http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=3ba11d3df2115b04171a8eda8e0389e02578d8d0">http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=3ba11d3df2115b04171a8eda8e0389e02578d8d0</a>
+</p>
+
+<p>
+- Eliminate some repetitive coding in tuplesort.c. Use a macro
+ LogicalTapeReadExact() to encapsulate the error check when we want
+ to read an exact number of bytes from a "tape". Per a suggestion of
+ Takahiro Itagaki.
+ <a href="http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=26a7b48e10bea67be719f5bb88cbaa8d4ec1c9b3">http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=26a7b48e10bea67be719f5bb88cbaa8d4ec1c9b3</a>
+</p>
+
+<p>
+- Improve logging in VACUUM FULL VERBOSE and CLUSTER VERBOSE. This
+ patch resurrects some of the information that could be logged by the
+ old, now-dead implementation of VACUUM FULL, in particular counts of
+ live and dead tuples and the time taken for the table rebuild
+ proper. There's still no logging about the ensuing index rebuilds,
+ though. Itagaki Takahiro.
+ <a href="http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=9cc8c84e738737baed4b7edeaaa2bee35ad38847">http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=9cc8c84e738737baed4b7edeaaa2bee35ad38847</a>
+</p>
+
+<p>
+- Fix sloppy usage of TRIGGER_FIRED_BEFORE/TRIGGER_FIRED_AFTER.
+ Various places were testing TRIGGER_FIRED_BEFORE() where what they
+ really meant was !TRIGGER_FIRED_AFTER(), or vice versa. This needs
+ to be cleaned up because there are about to be more than two
+ possible states. We might want to note this in the 9.1 release
+ notes as something for trigger authors to double-check. For
+ consistency's sake I also changed some places that assumed that
+ TRIGGER_FIRED_FOR_ROW and TRIGGER_FIRED_FOR_STATEMENT are
+ necessarily mutually exclusive; that's not in immediate danger of
+ breaking, but it's still sloppier than it should be. Extracted from
+ Dean Rasheed's patch for triggers on views. I'm committing this
+ separately since it's an identifiable separate issue, and is the
+ only reason for the patch to touch most of these particular files.
+ <a href="http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=caaf2e84698940c093e6cf6203014883e4fb18c5">http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=caaf2e84698940c093e6cf6203014883e4fb18c5</a>
+</p>
+
+<p>
+- Support triggers on views. This patch adds the SQL-standard concept
+ of an INSTEAD OF trigger, which is fired instead of performing a
+ physical insert/update/delete. The trigger function is passed the
+ entire old and/or new rows of the view, and must figure out what to
+ do to the underlying tables to implement the update. So this
+ feature can be used to implement updatable views using trigger
+ programming style rather than rule hacking. In passing, this patch
+ corrects the names of some columns in the
+ information_schema.triggers view. It seems the SQL committee
+ renamed them somewhere between SQL:99 and SQL:2003. Dean Rasheed,
+ reviewed by Bernd Helmle; some additional hacking by me.
+ <a href="http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=2ec993a7cbdd8e251817ac6bbc9a704ce8346f73">http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=2ec993a7cbdd8e251817ac6bbc9a704ce8346f73</a>
+</p>
+
+<p>
+- Teach psql to do tab completion for names of psql variables.
+ Completion is supported in the context of \set and when
+ interpolating a variable value using :foo etc. In passing, fix some
+ places in tab-complete.c that weren't following project style for
+ comment formatting. Pavel Stehule, reviewed by Itagaki Takahiro.
+ <a href="http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=b48b9cb3a46d80401b122fd10780e8c623983a26">http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=b48b9cb3a46d80401b122fd10780e8c623983a26</a>
+</p>
+
+<p>
+- Improve the planner's simplification of NOT constructs. This patch
+ merges the responsibility for NOT-flattening into
+ eval_const_expressions' processing. It wasn't done that way
+ originally because prepqual.c is far older than
+ eval_const_expressions. But putting this work into
+ eval_const_expressions saves one pass over the qual trees, and in
+ fact saves even more than that because we can exploit the knowledge
+ that the subexpressions have already been recursively simplified.
+ Doing it this way also lets us do it uniformly over all expressions,
+ whereas prepqual.c formerly just did it at top level to save cycles.
+ That should improve the planner's ability to recognize
+ logically-equivalent constructs. While at it, also add the ability
+ to fold a NOT into BooleanTest and NullTest constructs (the latter
+ only for the scalar-datatype case). Per discussion of bug #5702.
+ <a href="http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=220e45bf325b061b8dbd7451f87cedc07da61706">http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=220e45bf325b061b8dbd7451f87cedc07da61706</a>
+</p>
+
+<p>
+Simon Riggs pushed:
+</p>
+
+<p>
+- Correct docs for behaviour of ALTER DATABASE .. RENAME during Hot
+ Standby. Actual behaviour did not match documented behaviour and we
+ have agreed that it should be the docs that change. Spotted by
+ Bernd Helmle.
+ <a href="http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=bdf45797abe53a9e2bebd54e5475591e468a0ad1">http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=bdf45797abe53a9e2bebd54e5475591e468a0ad1</a>
+</p>
+
+<p>
+Robert Haas pushed:
+</p>
+
+<p>
+- Improve WAL reliability documentation, and add more cross-references
+ to it. In particular, we are now more explicit about the fact that
+ you may need wal_sync_method=fsync_writethrough for crash-safety on
+ some platforms, including MaxOS X. There's also now an explicit
+ caution against assuming that the default setting of wal_sync_method
+ is either crash-safe or best for performance.
+ <a href="http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=694c56af2b586551afda624901d6dec951b58027">http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=694c56af2b586551afda624901d6dec951b58027</a>
+</p>
+
+<p>
+- Warn that views can be safely used to hide columns, but not rows.
+ <a href="http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=56ccff59806793198020a6a3d154bbce6dfb7a06">http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=56ccff59806793198020a6a3d154bbce6dfb7a06</a>
+</p>
+
+<p>
+Bruce Momjian pushed:
+</p>
+
+<p>
+- Single-word clarification in postgresql.conf
+ log_truncate_on_rotation comment.
+ <a href="http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=f7dbddac69d01fb27484ad27c1d042f36f55ea12">http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=f7dbddac69d01fb27484ad27c1d042f36f55ea12</a>
+</p>
+
+<p>
+Peter Eisentraut pushed:
+</p>
+
+<p>
+- Extensive ECPG documentation improvements. Satoshi Nagayasu,
+ reviewed and revised by Peter Eisentraut. Since this introduces new
+ refentries that we probably don't want to publish as man pages,
+ tweak man page stylesheet to omit man pages without manvolnum
+ element. Peter Eisentraut.
+ <a href="http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=f7b15b5098ee89a2628129fbbef9901bded9d27b">http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=f7b15b5098ee89a2628129fbbef9901bded9d27b</a>
+</p>
+
+<h2>Rejected Patches (for now)</h2>
+<p>
+No one was disappointed this week :-)
+</p>
+
+<h2>Pending Patches</h2>
+<p>
+Dean Rasheed sent in three revsisions of a patch to implement median
+and percentile aggregates.
+</p>
+
+<p>
+Marko (johto) Tiikkaja sent in two revisions of a patch to fix
+snapshot-taking inconsistencies, in the process deprecating
+pg_parse_and_rewrite.
+</p>
+
+<p>
+KaiGai Kohei sent in a patch to fix some of the access control leaks
+in views, and Robert Haas sent in two revisions of a patch documenting
+same.
+</p>
+
+<p>
+Marko (johto) Tiikkaja and Hitoshi Harada traded patches to allow
+top-level DML (INSERT, UPDATE, DELETE) in CTEs.
+</p>
+
+<p>
+Bernd Helmle sent in another revision of the patch to extend NOT NULL
+constraints.
+</p>
+
+<p>
+Alexander Korotkov sent in two more revisions of the patch to improve
+the Levenshtein functions to work with multi-byte character sets.
+</p>
+
+<p>
+Craig Ringer sent in two revisions of a patch to enable crash dumps on
+Windows. Crash dumps are a Windows-specific debugging feature.
+</p>
+
+<p>
+Gurjeet Singh sent in two revisions of a patch to allow labeling an
+existing unique index, which could, for example, be created
+concurrently, as a primary key.
+</p>
+
+<p>
+Simon Riggs sent in a WIP patch to implement synchronous replication
+with user-controlled durability specified on the master.
+
+</p>
+