PostgreSQL Weekly News November 15, 2009
authorDavid Fetter <david@fetter.org>
Mon, 16 Nov 2009 07:55:43 +0000 (07:55 +0000)
committerDavid Fetter <david@fetter.org>
Mon, 16 Nov 2009 07:55:43 +0000 (07:55 +0000)
git-svn-id: file:///Users/dpage/pgweb/svn-repo/trunk@2585 8f5c7a92-453e-0410-a47f-ad33c8a6b003

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

index 8042993b3b6dc0d2d22466e2332486bde5aa42c9..32d1e8fe20b5990754802871a7136704974fb62e 100644 (file)
 <description></description>
 <language>en</language>
 
+<item>
+<title>PostgreSQL Weekly News November 15th 2009</title>
+<description>
+Commitfest for November, 2009 has begun.  Start reviewing other
+people&#x27;s patches!
+
+
+</description>
+<guid isPermaLink="true">http://www.postgresql.org/community/weeklynews/pwn20091115</guid>
+<pubDate>Sun, 15 Nov 2009 00:00:00 PST</pubDate>
+</item>
 <item>
 <title>PostgreSQL Weekly News November 8th 2009</title>
 <description>
@@ -110,17 +121,5 @@ released.  Upgrade ASAP!
 <guid isPermaLink="true">http://www.postgresql.org/community/weeklynews/pwn20090913</guid>
 <pubDate>Sun, 13 Sep 2009 00:00:00 PST</pubDate>
 </item>
-<item>
-<title>PostgreSQL Weekly News September 6th 2009</title>
-<description>
-New Survey:  Which 8.5 Alpha1 feature do you find the most
-interesting?
-&#x3C;a href=&#x22;http://www.postgresql.org/community&#x22;&#x3E;http://www.postgresql.org/community&#x3C;/a&#x3E;
-
-
-</description>
-<guid isPermaLink="true">http://www.postgresql.org/community/weeklynews/pwn20090906</guid>
-<pubDate>Sun, 06 Sep 2009 00:00:00 PST</pubDate>
-</item>
 </channel>
 </rss>
\ No newline at end of file
index 056d19fad3fe35894b307f9c328f4a58dbbfef9a..b92ff6d24e30f2b8c0dfee3652359cca9690df7f 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/pwn20091115">November 15th 2009</a></li>
     <li><a href="/community/weeklynews/pwn20091108">November 8th 2009</a></li>
     <li><a href="/community/weeklynews/pwn20091101">November 1st 2009</a></li>
     <li><a href="/community/weeklynews/pwn20091025">October 25th 2009</a></li>
diff --git a/portal/template/en/community/weeklynews/pwn20091115.html b/portal/template/en/community/weeklynews/pwn20091115.html
new file mode 100644 (file)
index 0000000..d4d611e
--- /dev/null
@@ -0,0 +1,469 @@
+<!-- BEGIN page_title_block -->
+Weekly News - November 15 2009
+<!-- END page_title_block -->
+
+<h1>PostgreSQL Weekly News - November 15 2009</h1>
+
+<p>
+Commitfest for November, 2009 has begun.  Start reviewing other
+people's patches!
+</p>
+
+<p>
+New Survey: Which 8.5 Alpha 2 feature have you tried?
+<a href="http://www.postgresql.org/community/">http://www.postgresql.org/community/</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>
+OpenSQL Camp will be November 14-15, 2009 in Portland, OR
+<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>
+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
+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>
+Tom Lane committed:
+</p>
+
+<p>
+- 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.  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.
+</p>
+
+<p>
+- 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.
+</p>
+
+<p>
+- In pgsql/src/backend/commands/tablespace.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.
+</p>
+
+<p>
+- 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.
+</p>
+
+<p>
+- 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.
+</p>
+
+<p>
+- Remove pg_parse_string_token() --- not needed anymore.
+</p>
+
+<p>
+- 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.  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).
+</p>
+
+<p>
+- In pgsql/src/port/chklocale.c, check for C/POSIX before assuming
+  that nl_langinfo or win32_langinfo will work.  Per buildfarm
+  results.
+</p>
+
+<p>
+- In pgsql/src/backend/utils/misc/guc-file.l, 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.
+</p>
+
+<p>
+- 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.  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.
+</p>
+
+<p>
+- In pgsql/src/include/nodes/parsenodes.h, avoid assuming that enum
+  CreateStmtLikeOption is unsigned.  Zdenek Kotala
+</p>
+
+<p>
+- In pgsql/src/backend/parser/parse_utilcmd.c, clean up a couple of
+  bizarre code formatting choices in recent CREATE LIKE patch.
+</p>
+
+<p>
+- Make unaccent's install/uninstall scripts look more like all the
+  others.  Set search_path explicitly, don't use IF EXISTS, etc.
+</p>
+
+<p>
+- 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.
+</p>
+
+<p>
+Bruce Momjian committed:
+</p>
+
+<p>
+- In pgsql/doc/src/sgml/plpgsql.sgml: PL/pgSQL FOUND, document that
+  GET DIAGNOSTICS is affected by EXECUTE, while FOUND is not.
+</p>
+
+<p>
+- In pgsql/doc/src/sgml/plpgsql.sgml: PL/pgSQL FOUND, update wording
+  of GET DIAGNOSTICS/FOUND, per David Fetter.
+</p>
+
+<p>
+- In pgsql/src/backend/utils/adt/timestamp.c, add C comment about why
+  there is no interval_abs():  it is unclear what value to return.
+  <a href="http://archives.postgresql.org/pgsql-general/2009-10/msg01031.php">http://archives.postgresql.org/pgsql-general/2009-10/msg01031.php</a>
+  <a href="http://archives.postgresql.org/pgsql-general/2009-11/msg00041.php">http://archives.postgresql.org/pgsql-general/2009-11/msg00041.php</a>
+</p>
+
+<p>
+Alvaro Herrera committed:
+</p>
+
+<p>
+- Fix longstanding problems in VACUUM caused by untimely
+  interruptions.  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.
+</p>
+
+<p>
+- Support optional FROM/IN in FETCH and MOVE.  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.  Zoltan Boszormenyi
+</p>
+
+<p>
+- Document the previous FETCH and MOVE changes.
+</p>
+
+<p>
+- Change "name" nonterminal in cursor-related productions to
+  cursor_name.  This is a preparatory patch for allowing a dynamic
+  cursor name be used in the ECPG grammar.  Zoltan Boszormenyi.
+</p>
+
+<p>
+Peter Eisentraut committed:
+</p>
+
+<p>
+- In pgsql/src/bin/psql/describe.c, in psql \du, separate the role
+  attributes by comma instead of newline, for an arguably more
+  pleasant display.
+</p>
+
+<p>
+- In pgsql/src/backend/tsearch/wparser_def.c, make text search parser
+  accept underscores in XML attributes (bug #5075).
+</p>
+
+<p>
+Teodor Sigaev committed:
+</p>
+
+<p>
+- In pgsql/src/backend/access/gin/ginget.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.  Per report
+  from Yury Don.
+</p>
+
+<p>
+Heikki Linnakangas committed:
+</p>
+
+<p>
+- In pgsql/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.  Per report from
+  Florian G. Pflug.
+</p>
+
+<p>
+- In pgsql/src/backend/parser/parse_expr.c, 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.
+</p>
+
+<p>
+Magnus Hagander committed:
+</p>
+
+<p>
+- Add inheritable ACE when creating a restricted token for execution
+  on Win32.  Also refactor the code around it to be more clear.  Jesse
+  Morris.
+</p>
+
+<p>
+- Backpatch the inheritable-ACE patch for Win32 to 8.2 as well, except
+  for the pg_regress part which did not support admin execution in
+  8.2.
+</p>
+
+<h2>Rejected Patches (for now)</h2>
+<p>
+No one was disappointed this week :-)
+</p>
+
+<h2>Pending Patches</h2>
+<p>
+Josh Tolley sent in another revision of the patch to add in-line (DO)
+functions to PL/Perl[U].  Brendan Jurd sent some cleanups for it.
+</p>
+
+<p>
+Heikki Linnakangas sent in another revision of the Hot Standby patch.
+</p>
+
+<p>
+Emmanuel Cecchet sent in two more revisions of the patch to add
+partitioning support to COPY.
+</p>
+
+<p>
+Joachim Wieland sent in a patch to add a payload to LISTEN/NOTIFY.
+</p>
+
+<p>
+ITAGAKI Takahiro sent in another revision of the table partitioning
+patch.
+</p>
+
+<p>
+Peter Eisentraut sent in another revision of the patch for PL/PythonU
+array support.
+</p>
+
+<p>
+Peter Eisentraut sent in a patch to add Python 3.1 to PL/PythonU.
+</p>
+
+<p>
+ITAGAKI Takahiro sent in an update version of the TRIGGER with WHEN
+patch.
+</p>
+
+<p>
+Andres Freund sent in another revision of the application name logging
+patch.
+</p>
+
+<p>
+ITAGAKI Takahiro sent in another revision of the VACUUM FULL
+refactoring patch.
+</p>
+
+<p>
+KaiGai Kohei sent in another revision of his SE-PostgreSQL patch.
+</p>
+
+<p>
+Andrew (RhodiumToad) Gierth sent in a patch to add ORDER BY to the
+inside of aggregates for the non-WINDOW context.
+</p>
+
+<p>
+KaiGai Kohei sent in another revision of the patch to add ACLs for
+large objects.
+</p>
+
+<p>
+Zdenek Kotala sent in a patch to add dtrace probes for memory
+management.
+</p>
+
+<p>
+Zdenek Kotala sent in another revision of that patch to add dtrace
+probe groups for executor and slru.
+</p>
+
+<p>
+Andrew (RhodiumToad) Gierth sent in a doc patch for the aggregate
+ORDER BY patch.
+</p>
+
+<p>
+Hitoshi Harada sent in a patch to add more frame types (ROWS n
+PRECEDING/FOLLOWING) to windowing frames.
+</p>
+
+<p>
+George Gensure sent in a patch intended to report the schema along
+with the table name on errors.
+</p>
+
+<p>
+Robert Haas sent in a patch to allow you to set random_page_cost
+and seq_page_cost at the granularity of tablespace.
+</p>
+
+<p>
+Marko (johto) Tiikkaja sent in another revision of the Writeable CTE
+patch.
+</p>
+
+<p>
+Heikki Linnakangas sent in another revision of the Hot Standby patch.
+</p>
+
+<p>
+Florian Pflug sent in a patch to allow inspection of rowtypes in SQL
+and PL/pgsql.
+</p>
+
+<p>
+Pavel Stehule sent in another revision of the function typmod patch.
+</p>
+
+<p>
+ITAGAKI Takahiro sent in another revision of the VACUUM refactoring
+patch.
+</p>
+
+<p>
+Jeff Davis sent in another revision of the operator exclusion
+constraints patch.
+</p>
+
+<p>
+Roger Leigh sent in three more revisions of the Unicode formatting
+patch for psql output.
+</p>
+
+<p>
+Pavel Stehule sent in a patch to allow using psql variables as actual
+query parameters.
+</p>
+
+<p>
+ITAGAKI Takahiro sent in a review of Greg Sabino Mullane's patch to
+add YAML output as an option for EXPLAIN [ANALYZE].
+
+</p>
+