PostgreSQL Weekly News July 19, 2009
authorDavid Fetter <david@fetter.org>
Mon, 20 Jul 2009 06:43:49 +0000 (06:43 +0000)
committerDavid Fetter <david@fetter.org>
Mon, 20 Jul 2009 06:43:49 +0000 (06:43 +0000)
git-svn-id: file:///Users/dpage/pgweb/svn-repo/trunk@2529 8f5c7a92-453e-0410-a47f-ad33c8a6b003

portal/files/weeklynews.xml
portal/template/en/community/weeklynews.html
portal/template/en/community/weeklynews/pwn20090719.html [new file with mode: 0644]

index 451b7c5c00897726dca8f19d16acd438969eb425..0e6ad11d11760b7dd7a96527cff5842d96c8cf29 100644 (file)
 <description></description>
 <language>en</language>
 
+<item>
+<title>PostgreSQL Weekly News July 19th 2009</title>
+<description>
+The first Commitfest of the 8.5 development cycle has begun!
+&#x3C;a href=&#x22;http://commitfest.postgresql.org/&#x22;&#x3E;http://commitfest.postgresql.org/&#x3C;/a&#x3E;
+
+
+</description>
+<guid isPermaLink="true">http://www.postgresql.org/community/weeklynews/pwn20090719</guid>
+<pubDate>Sun, 19 Jul 2009 00:00:00 PST</pubDate>
+</item>
 <item>
 <title>PostgreSQL Weekly News July 12th 2009</title>
 <description>
@@ -114,16 +125,5 @@ has been accepted.
 <guid isPermaLink="true">http://www.postgresql.org/community/weeklynews/pwn20090517</guid>
 <pubDate>Sun, 17 May 2009 00:00:00 PST</pubDate>
 </item>
-<item>
-<title>PostgreSQL Weekly News May 9th 2009</title>
-<description>
-New Survey: Which 8.4 Feature are you most excited about?
-www.postgresql.org/community
-
-
-</description>
-<guid isPermaLink="true">http://www.postgresql.org/community/weeklynews/pwn20090509</guid>
-<pubDate>Sat, 09 May 2009 00:00:00 PST</pubDate>
-</item>
 </channel>
 </rss>
\ No newline at end of file
index 4267da325b7562e022a0f21667471fe123149a60..c8853fde7174e46d4e431443434b0c5257ed1edd 100644 (file)
@@ -9,6 +9,7 @@ Weekly News
 <p>To receive the Weekly News in your inbox, please subscribe to the <a href="/community/lists/subscribe">pgsql-announce@postgresql.org</a> mailing list.</p>
 
 <ul>
+    <li><a href="/community/weeklynews/pwn20090719">July 19th 2009</a></li>
     <li><a href="/community/weeklynews/pwn20090712">July 12th 2009</a></li>
     <li><a href="/community/weeklynews/pwn20090705">July 5th 2009</a></li>
     <li><a href="/community/weeklynews/pwn20090628">June 28th 2009</a></li>
diff --git a/portal/template/en/community/weeklynews/pwn20090719.html b/portal/template/en/community/weeklynews/pwn20090719.html
new file mode 100644 (file)
index 0000000..72fb784
--- /dev/null
@@ -0,0 +1,515 @@
+<!-- BEGIN page_title_block -->
+Weekly News - July 19 2009
+<!-- END page_title_block -->
+
+<h1>PostgreSQL Weekly News - July 19 2009</h1>
+
+<p>
+The first Commitfest of the 8.5 development cycle has begun!
+<a href="http://commitfest.postgresql.org/">http://commitfest.postgresql.org/</a>
+</p>
+
+<p>
+The Italian PostgreSQL Users Group has joined the PostgreSQL
+Translation Project.  A working group of 9 people has begun the
+journey to make the Italian section of babel.postgresql.org greener.
+More information in Italian at:
+<a href="http://traduzioni.itpug.org/">http://traduzioni.itpug.org/</a>
+</p>
+
+<h2>PostgreSQL Product News</h2>
+<p>
+Archiveopteryx 3.1.2, a PostgreSQL-based email handler, released.
+<a href="http://www.archiveopteryx.org/3.1.2">http://www.archiveopteryx.org/3.1.2</a>
+</p>
+
+<p>
+Benetl 2.9, an ETL tool for files using PostgreSQL, released.
+<a href="http://www.benetl.net">http://www.benetl.net</a>
+</p>
+
+<p>
+Npgsql2 2.0.6, a .NET data provider for PostgreSQL, released.
+<a href="http://www.npgsql.org">http://www.npgsql.org</a>
+</p>
+
+<p>
+PostgreDAC ver. 2.5.2 released.
+<a href="http://microolap.com/products/connectivity/postgresdac/download/">http://microolap.com/products/connectivity/postgresdac/download/</a>
+</p>
+
+<h2>PostgreSQL Jobs for July</h2>
+<p>
+<a href="http://archives.postgresql.org/pgsql-jobs/2009-07/threads.php">http://archives.postgresql.org/pgsql-jobs/2009-07/threads.php</a>
+</p>
+
+<h2>PostgreSQL Local</h2>
+<p>
+OpenSQL Camp will take place August 22-23, 2009 in St. Augustin,
+Germany, close to Bonn and Cologne.  Deadline for the CfP is July 19,
+2009.  Get your proposals in!
+<a href="http://opensqlcamp.org/Events/2009/Call_for_Participation">http://opensqlcamp.org/Events/2009/Call_for_Participation</a>
+</p>
+
+<p>
+The German PostgreSQL User Group will have a dev-room at FrOSCon on
+Sunday, August 23, 2009.  The Call for Papers is open:
+<a href="http://andreas.scherbaum.la/blog/archives/573-Call-for-Papers-fuer-den-PostgreSQL-Devroom-auf-der-FrOSCon-2009.html">http://andreas.scherbaum.la/blog/archives/573-Call-for-Papers-fuer-den-PostgreSQL-Devroom-auf-der-FrOSCon-2009.html</a>
+</p>
+
+<p>
+The CfP for PyCon Argentina is open until June 29th, 2009 23:59 ART.
+The conference itself will be in Beunos Aires on September 4-5 2009.
+<a href="http://ar.pycon.org/2009/rfp/">http://ar.pycon.org/2009/rfp/</a>
+</p>
+
+<p>
+Andreas (ads) Scherbaum will be teaching a "PostgreSQL for Corporate
+Use" course at the adult education center in Magdeburg, Germany on
+September 7-11, 2009.  Details below:
+<a href="http://andreas.scherbaum.la/blog/archives/574-PostgreSQL-als-Bildungsurlaub.html">http://andreas.scherbaum.la/blog/archives/574-PostgreSQL-als-Bildungsurlaub.html</a>
+</p>
+
+<p>
+There will be a conference in Athens, Georgia, USA on September 19,
+2009.  The CfP is open.
+<a href="http://www.postgresqlconference.org/2009/pgday/athens">http://www.postgresqlconference.org/2009/pgday/athens</a>
+</p>
+
+<p>
+There will be a conference in Seattle, Washington, USA October 16-18,
+2009.  The CfP is open.
+<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.  The CfP is open!
+<a href="http://pgcon.postgresql.org.br/2009/chamadas.en.php">http://pgcon.postgresql.org.br/2009/chamadas.en.php</a>
+</p>
+
+<p>
+PGDay.EU 2009 will be at Telecom ParisTech in Paris, France on
+November 6-7, 2009.  The CfP is out.  Submit!
+<a href="http://www.pgday.eu/">http://www.pgday.eu/</a>
+</p>
+
+<p>
+JPUG 10th Anniversary Conference has started its Request for
+Proposals.  The 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>
+
+<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 and
+Josh Berkus.
+</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>
+Peter Eisentraut committed:
+</p>
+
+<p>
+- Update information schema to SQL:2008:  Add yes_or_no domain for
+  "boolean" data.  Add new columns for VIEWS view.  Slight section
+  renumbering.
+</p>
+
+<p>
+- Rearrangement of the HTML docs build rules.  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.
+</p>
+
+<p>
+- Make backend header files C++ safe.  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.  Also add a script cpluspluscheck to check for C++
+  compatibility in the future.  As of right now, this passes without
+  error for me.
+</p>
+
+<p>
+Bruce Momjian committed:
+</p>
+
+<p>
+- In pgsql/contrib/vacuumlo/vacuumlo.c, vacuumlo query cleanups.  No
+  need for VACUUM ANAYZE of newly created/populated temp table, just
+  use analyze.  No need to apologize for using subquery in DELETE
+  anymore.
+</p>
+
+<p>
+Tom Lane committed:
+</p>
+
+<p>
+- In pgsql/src/backend/utils/cache/plancache.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.
+  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.)
+</p>
+
+<p>
+- Tweak the core scanner so that it can be used by plpgsql too.
+  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.)
+</p>
+
+<p>
+- In pgsql/src/interfaces/ecpg/preproc/ecpg.tokens, remove duplicate
+  definition of TYPECAST token.  (Apparently, some but not all
+  versions of Bison will warn about this.)
+</p>
+
+<p>
+- 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.) erand48() is unused
+  as of this commit, but a followon patch will cause GEQO to depend on
+  it.  Andres Freund, additional hacking by Tom Lane.
+</p>
+
+<p>
+- 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).
+  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 Lane.
+</p>
+
+<p>
+- 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.
+</p>
+
+<p>
+- 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.  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.
+</p>
+
+<p>
+- Fix a thinko in join_is_legal: when we decide we can implement a
+  semijoin by unique-ifying the RHS and then inner-joining to some
+  other relation, that is not grounds for violating the RHS of some
+  other outer join.  Noticed while regression-testing new GEQO code,
+  which will blindly follow any path that join_is_legal says is legal,
+  and then complain later if that leads to a dead end.  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.
+</p>
+
+<p>
+- Rewrite GEQO's gimme_tree function so that it always finds a legal
+  join sequence, even when the input "tour" doesn't lead directly to
+  such a sequence.  The stack logic that was added in 2004 only
+  supported cases where relations that had to be joined to each other
+  (due to join order restrictions) were adjacent in the tour.
+  However, relying on a random search to figure that out is
+  tremendously inefficient in large join problems, and could even fail
+  completely (leading to "failed to make a valid plan" errors) if
+  random_init_pool ran out of patience.  It seems better to make the
+  tour-to-plan transformation a little bit fuzzier so that every tour
+  can form a legal plan, even though this means that apparently
+  different tours will sometimes yield the same plan.  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.
+</p>
+
+<p>
+- 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.
+</p>
+
+<p>
+- In pgsql/src/bin/psql/describe.c, remove unnecessary and
+  version-sensitive dependence on the exact set of column names to be
+  found in a sequence.  Per gripe from Bruce Momjian.
+</p>
+
+<p>
+Heikki Linnakangas committed:
+</p>
+
+<p>
+- In pgsql/contrib/pg_standby/Makefile, pg_standby doesn't need to be
+  linked with libpq. Fujii Masao.
+</p>
+
+<p>
+Andrew Dunstan committed:
+</p>
+
+<p>
+- DROP IF EXISTS for columns and constraints. Andres Freund.
+</p>
+
+<h2>Rejected Patches (for now)</h2>
+<p>
+No one was disappointed this week :-)
+</p>
+
+<h2>Pending Patches</h2>
+<p>
+Heikki Linnakangas sent in two revisions of a patch which helps set up
+index-only scans.
+</p>
+
+<p>
+Robert Haas sent in an updated patch for Hot Standby.
+</p>
+
+<p>
+Petr (PJMODOS) Jelinek sent in three revisions of a patch to add
+DefaultACLs
+<a href="http://wiki.postgresql.org/wiki/DefaultACL">http://wiki.postgresql.org/wiki/DefaultACL</a>
+</p>
+
+<p>
+ITAGAKI Takahiro sent in two revisions of a patch to add FORCE QUOTE
+to COPY...CSV.
+</p>
+
+<p>
+KaiGai Kohei sent in three more revisions of his SE-PostgreSQL patch.
+</p>
+
+<p>
+Jeff Davis sent in another revision of his patch to make more
+generalized constraints.
+</p>
+
+<p>
+Andres Freund sent in a patch to refactor *_collapse_limit and
+geqo_threshold.
+</p>
+
+<p>
+Jaime Casanova sent in a revision of Taro (higepon) Minowa's patch to
+allow pg_dump* to dump comments on commposite-type and index columns.
+</p>
+
+<p>
+ITAGAKI Takahiro sent in an update for the sampling profiler patch.
+</p>
+
+<p>
+Tsutomu Yamada sent in two revisions of a patch to fix the ""could not
+reattach to shared memory" bug on Windows.
+</p>
+
+<p>
+Fujii Masao sent in two more revisions of the Synchronous Replication
+patch.
+</p>
+
+<p>
+Oleg Bartunov sent in a patch which adds prefix support for synonym
+dictionaries in full-text search.
+</p>
+
+<p>
+Oleg Bartunov sent in a patch to add filtering dictionaries and a new
+contrib module, unaccent, which removes accents, using same.
+</p>
+
+<p>
+Sergey V. Karpov sent in a patch which extends the functionality of
+dict_xsyn extended synonym dictionary.
+</p>
+
+<p>
+Fernando Ike de Oliveira sent in two revisions of a patch to add \dL
+for PL languages to psql.
+</p>
+
+<p>
+Zoltan Boszormenyi sent in another revision of his patch set to
+improve ECPG's Informix compatibility layer.
+</p>
+
+<p>
+Tom Lane sent in a WIP patch to make PL/pgsql use the core lexer.
+</p>
+
+<p>
+Caleb Welton sent in another revision of his patch to add bytea to
+PL/PythonU.
+</p>
+
+<p>
+Andrew (RhodiumToad) Gierth sent in another revision of the hstore
+patch with fixes and new tests for some edge case bugs.
+</p>
+
+<p>
+Kevin Grittner sent in a patch to revise parallel pg_restore's
+scheduling heuristic.
+</p>
+
+<p>
+Steve Prentice sent in another revision of the patch to make PL/pgsql
+treat any word following AS as a label.
+</p>
+
+<p>
+Petr (PJMODOS) Jelinek sent in two revisions of a patch to implement
+GRANT ON ALL IN schema.
+</p>
+
+<p>
+Richard Huxton sent in a patch to create a navigation menu for the
+documentation.
+</p>
+
+<p>
+Fujii Masao sent in another revision of the patch to multiplex
+SIGUSR1, which is infrastructure for the Synchronous Replication
+feature.
+</p>
+
+<p>
+Zoltan Boszormenyi sent in a patch to add struct support for SELECT
+INTO to ECPG.
+</p>
+
+<p>
+Peter Eisentraut sent in a patch to make PL/Python use errcontext()
+instead of passing the function names around to use in error messages.
+</p>
+
+<p>
+Alan Li sent in a patch to optimize MIN and MAX queries on partitioned
+tables.
+</p>
+
+<p>
+Andreas Wenk sent in a patch to include the \du+ option in \? output
+in psql.
+</p>
+
+<p>
+Bernd Helmle sent in a revision of Pavel Stehule's patch to allow
+mixed and named notation support for PL/pgsql functions.
+</p>
+
+<p>
+Dean Rasheed sent in another revision of the deferrable UNIQUE
+constraints patch.
+</p>
+
+<p>
+Jeremy Kerr sent in another revision of the patch to avoid manual
+shift-and-test logic in AllocSetFreeIndex.
+</p>
+
+<p>
+Andreas Freund sent in another revision of his patch to allow
+machine-readable EXPLAIN output.
+</p>
+
+<p>
+Andreas Freund sent in two more revisions of his generic EXPLAIN
+options patch.
+
+</p>
+