Skip site navigation (1) Skip section navigation (2)

== Postgres Weekly News - December 02 2007 ==

From: David Fetter <david(at)fetter(dot)org>
To: PostgreSQL Announce <pgsql-announce(at)postgresql(dot)org>
Subject: == Postgres Weekly News - December 02 2007 ==
Date: 2007-12-03 01:36:13
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-announce
== Postgres Weekly News - December 02 2007 ==

8.3 beta 4 will be out soon.  Keep on testing! :)

Josh Berkus will be speaking at FOSS.IN.  Help make the BoF great!

David Fetter will be speaking at PgCon.BR in Sao Paulo December 7-8.

New Survey: When do you upgrade your PostgreSQL Server?

== Postgres Product News ==

Netvault v3.0 released.

Benetl 1.0 for Windows released.

== Postgres Local ==

PGCon 2008 Call for Papers starts December 19.  Start your papers now.

PostgreSQL Conference East '08 talks are March 28 and 29.

== Postgres in the News ==

Planet PostgreSQL:

General Bits, Archives and occasional new articles:

Postgres Weekly News is brought to you this week by David Fetter

Submit news and announcements by Sunday at 3:00pm Pacific time.
Please send English language ones to david(at)fetter(dot)org, German language
to pwn(at)pgug(dot)de, Italian language to pwn(at)itpug(dot)org(dot)

== Applied Patches ==

Andrew Dunstan committed:

- Workaround for perl problem where evaluating UTF8 regexes can cause
  implicit loading of modules, thereby breaking Safe rules.  We
  compile and call a tiny perl function on trusted interpreter init,
  after which the problem does not occur.

- Revert inadvertantly committed change.

Magnus Hagander committed:

- Back-patch mingw configure-check for gettimeofday so that 8.2 can be
  built with current versions of mingw.

- Use _dosmaperr() to deal with errors opening files in
  pgwin32_open().  Per complaint from Alvaro and subsequent

- Add win32error.c to libpq, needed to resolve _dosmaperr.

Bruce Momjian committed:

- Reorganize MONEY TODO into a separate section, add casting item.

- Add documentation about the issues of casting MONEY to/from numeric

- Wording improvement for MONEY casting.

- In pgsql/doc/src/sgml/datatype.sgml, add example of MONEY casting to
  numeric if locale is known.

- In pgsql/src/backend/tsearch/dict_thesaurus.c, change a stop word on
  the right-hand-side in the thesaurus file to be an ERROR, not

- In pgsql/doc/src/sgml/func.sgml, add a few current_* variable index
  entries to the docs.  Guillaume Lelarge.

- Add comments about VACUUM to free space map docs.  Joshua D. Drake.

- Plpgsql doc cleanup.  Guillaume Lelarge.

- Update RETURN NEXT documentation for plpgsql.

- RETURN NEXT doc improvement, per Alvaro Herrera.

- Add additional PITR documentation.  Simon Riggs.

- Update Japanese FAQ.  Jun Kuwamura.

- Update release notes to current CVS.

Tom Lane committed:

- Fix select_common_type() so that it can select a domain type, if all
  inputs to a UNION, CASE, or related construct are of the same domain
  type.  The main part of this routine smashes domains to their base
  types, which seems necessary because the logic involves
  TypeCategory() and IsPreferredType(), neither of which work usefully
  on domains.  However, we can add a first pass that just detects
  whether all the inputs are exactly the same type, and if so accept
  that without question (so long as it's not UNKNOWN).  Per recent
  gripe from Dean Rasheed.  In passing, remove some tests for
  InvalidOid, which have clearly been dead code for quite some time
  now, because getBaseType() would fail on that input.  Also, clarify
  the manual's not-very-precise description of the existing
  algorithm's behavior.

- In pgsql/src/backend/utils/adt/xml.c, suppress compiler warning.

- Add quote_literal(anyelement) to preserve (and, in fact, extend) a
  useful consequence of the former liberal implicit casting to text;
  namely that you can feed non-string values to quote_literal() and
  get unsurprising results.  Per discussion.

- Fix pg_regress to check the directory it is actually reading files
  from, not the image that (theoretically) should exist in the current
  directory.  Jorgen Austvik

- Fix plpgsql not to look up block labels except in contexts where a
  block label is sane (eg, EXIT argument or first part of a qualified
  identifier), and cause more-closely-nested record variables to take
  precedence over outer block labels.  This cures the breakage
  exhibited by Marko Kreen that 8.3 no longer allowed a function's
  name to be used for a variable within the function, and makes
  plpgsql's handling of block labels more like Oracle's.  It's
  important to fix this now because we are documenting the use of
  block labels as variable qualifiers for the first time in 8.3.

- Install a lookaside cache to speed up repeated lookups of the same
  operator by short-circuiting schema search path and
  ambiguous-operator resolution computations.  Remarkably, this buys
  as much as 45% speedup of repetitive simple queries that involve
  operators that are not an exact match to the input datatypes.  It
  should be marginally faster even for exact-match cases, though I've
  not had success in proving an improvement in benchmark tests.  Per
  report from Guillame Smet and subsequent discussion.

- Adjust the names of a couple of tsearch index support functions that
  had inappropriately generic-sounding names.  This is more or less
  free since we already forced initdb for the next beta, and it may
  prevent confusion or name conflicts (particularly at the
  C-global-symbol level) down the road.  Per my proposal yesterday.

- Improve test coverage of CLOBBER_CACHE_ALWAYS by having it also
  force reloading of operator class information on each use of
  LookupOpclassInfo.  Had this been in place a year ago, it would have
  helped me find a bug in the then-new 'operator family' code.  Now
  that we have a build farm member testing CLOBBER_CACHE_ALWAYS on a
  regular basis, it seems worth expending a little bit of effort here.

- Make a cleanup pass over error reports in tsearch code.  Use ereport
  for user-facing errors, fix some poor choices of errcode, adhere to
  message style guide.

- Repair bug that allowed RevalidateCachedPlan to attempt to rebuild a
  cached plan before the effects of DDL executed in an immediately
  prior SPI operation had been absorbed.  Per report from Chris Wood.
  This patch has an unpleasant side effect of causing the number of
  CommandCounterIncrement()s done by a typical plpgsql function to
  approximately double.  Amelioration of the consequences of that will
  be undertaken in a separate patch.

- Avoid incrementing the CommandCounter when CommandCounterIncrement
  is called but no database changes have been made since the last
  CommandCounterIncrement.  This should result in a significant
  improvement in the number of "commands" that can typically be
  performed within a transaction before hitting the 2^32 CommandId
  size limit.  In particular this buys back (and more) the possible
  adverse consequences of my previous patch to fix plan caching
  behavior.  The implementation requires tracking whether the current
  CommandCounter value has been "used" to mark any tuples.
  CommandCounter values stored into snapshots are presumed not to be
  used for this purpose.  This requires some small executor changes,
  since the executor used to conflate the curcid of the snapshot it
  was using with the command ID to mark output tuples with.
  Separating these concepts allows some small simplifications in
  executor APIs.  Something for the TODO list: look into having
  CommandCounterIncrement not do AcceptInvalidationMessages.  It seems
  fairly bogus to be doing it there, but exactly where to do it
  instead isn't clear, and I'm disinclined to mess with asynchronous
  behavior during late beta.

- Suppress compiler warnings in recent plperl patch.  Avoid uselessly
  expensive lookup of the well-known OID of textout().

- Code review for LIKE ... INCLUDING INDEXES patch.  Fix failure to
  propagate constraint status of copied indexes (bug #3774), as well
  as various other small bugs such as failure to pstrdup when needed.
  Allow INCLUDING INDEXES indexes to be merged with identical declared
  indexes (perhaps not real useful, but the code is there and having
  it not apply to LIKE indexes seems pretty unorthogonal).  Avoid
  useless work in generateClonedIndexStmt().  Undo some poorly chosen
  API changes, and put a couple of routines in modules that seem to be
  better places for them.

- Sync release notes with CVS HEAD; various editorial improvements.

- Mention hash opclasses in 'System Dependencies on Operator Classes',
  which previously only talked about btree opclasses.

- Improve the manual's discussion of partitioning.  Recommend using a
  trigger instead of a rule to redirect insertions, use NEW.* notation
  where appropriate, some other updates and adjustments.  David Fetter
  and Tom Lane

- Add SGML docs for contrib/dict_int and contrib/dict_xsyn.  Albert
  Cervera i Areny

- Remove README files now migrated to SGML docs.

- Ensure that all <sect1> and <refentry> tags have IDs.  This is
  needed to ensure that the resulting webpages have predictable URLs,
  instead of ever-changing numeric IDs.  The new contrib docs were the
  biggest offender, but some old stuff had the problem too.  Also,
  rename a couple of new contrib sgml files for consistency's sake.

- Revert COPY OUT to follow the pre-8.3 handling of ASCII control
  characters, namely that \r, \n, \t, \b, \f, \v are dumped as those
  two-character representations rather than a backslash and the
  literal control character.  I had made it do the other to save some
  code, but this was ill-advised, because dump files in which these
  characters appear literally are prone to newline mangling.
  Fortunately, doing it the old way should only cost a few more lines
  of code, and not slow down the copy loop materially.  Per bug #3795
  from Lou Duchez.

- Stamp 8.3beta4.

Peter Eisentraut committed:

- Require a specific Autoconf version, instead of a lower bound only.

- In pgsql/doc/src/sgml/ref/create_index.sgml, change index_name to
  name for consistency.

- In pgsql/src/backend/libpq/auth.c, correct capitalization.

- Make casts from xml to text independent of the XML option setting,
  thus immutable and indexable.  Also fix the volatility settings of
  some other XML-related functions.

- In psql, properly recognize and announce input errors.

- In pgsql/doc/src/sgml/high-availability.sgml, fix column number.

- In pgsql/doc/src/sgml/release.sgml, add credit to Pavel Stehule for
  XML functionality.

- Fix typo in pgsql/src/backend/libpq/auth.c.

- Improve terminology in pgsql/src/backend/tsearch/ts_locale.c.

- In pgsql/src/backend/utils/adt: xml.c, fix XML Schema structure for
  char types without length (bug #3782).

- Spell checker run

- Properly capitalize Ispell in pgsql/src/backend/tsearch/dict_ispell.c.

- Translation updates.

== Rejected Patches (for now) ==

Mathias Hasselmann sent in a patch to add Avahi support to Postgres,
widening the choice of platforms where Postgres can advertise itself
via DSN-SD (ZeroConf).  Saved for 8.4.

Gevik Babakhani sent in two revisions of a patch which implements
named parameters for function calls.  Saved for 8.4.

Pavel Stehule's patch to add LOOP support for CURSORs in PL/PgSQL.
Saved for 8.4.

== Pending Patches ==

Tom Lane sent in a patch intended to cache operator lookups.

Jorgen Austvik sent in a patch to fix the large object regression

Brendan Jurd sent in a patch which allows the construction of an
empty array if an explicit cast to an array type is given (as in,

Euler Taveira de Oliveira sent in an update for the Brazilian FAQ.

pgsql-announce by date

Next:From: Koichi SuzukiDate: 2007-12-03 08:30:37
Subject: Full page write optimization (beta).
Previous:From: David FetterDate: 2007-11-26 02:47:46
Subject: == Postgres Weekly News - November 25 2007 ==

Privacy Policy | About PostgreSQL
Copyright © 1996-2017 The PostgreSQL Global Development Group