Features Download
From: David Fetter <david <at> fetter.org>
Subject: == PostgreSQL Weekly News - August 04 2013 ==
Newsgroups: gmane.comp.db.postgresql.announce
Date: Monday 5th August 2013 02:34:17 UTC (over 3 years ago)
== PostgreSQL Weekly News - August 04 2013 ==

The speaker schedule for Postgres Open has been published on the site.

== PostgreSQL Product News ==

Pgpool Global Development Group is pleased to announce the
availability of pgpool-II 3.3.0 and pgpoolAdmin 3.3.0.  You can
download them from here:

== PostgreSQL Jobs for August ==


== PostgreSQL Local ==

PostgreSQL Brazil will be held August 15-17, 2013 in Porto Velho, RO,

Postgres Open 2013 will be in Chicago, IL, USA, September 16-18.

The Italian PGDay (PGDay.IT) will be held on October the 25th in
Prato, Tuscany, Italy, at Monash University Center.
The International Call For Papers is open:

pgconf.EU 2013 will be held on Oct 29-Nov 1, 2013 at the Conrad Hotel
in downtown Dublin, Ireland.  The CfP is open.

PGConf.DE 2013 will be held November 8th, 2013, at the Rhineland
Industrial Museum in Oberhausen.  The CfP is open through September
15, 2013.

== PostgreSQL in the News ==

Planet PostgreSQL: http://planet.postgresql.org/

PostgreSQL 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 [email protected], German language
to [email protected], Italian language to [email protected]  Spanish language
to [email protected]

== Applied Patches ==

Tom Lane pushed:

- Make sure float4in/float8in accept all standard spellings of
  "infinity".  The C99 and POSIX standards require strtod() to accept
  all these spellings (case-insensitively): "inf", "+inf", "-inf",
  "infinity", "+infinity", "-infinity".  However, pre-C99 systems
  might accept only some or none of these, and apparently Windows
  still doesn't accept "inf".  To avoid surprising cross-platform
  behavioral differences, manually check for each of these spellings
  if strtod() fails.  We were previously handling just "infinity" and
  "-infinity" that way, but since C99 is most of the world now, it
  seems likely that applications are expecting all these spellings to
  work.  Per bug #8355 from Basil Peace.  It turns out this fix won't
  actually resolve his problem, because Python isn't being this
  careful; but that doesn't mean we shouldn't be.

- Fix regexp_matches() handling of zero-length matches.  We'd find the
  same match twice if it was of zero length and not immediately
  adjacent to the previous match.  replace_text_regexp() got similar
  cases right, so adjust this search logic to match that.  Note that
  even though the regexp_split_to_xxx() functions share this code,
  they did not display equivalent misbehavior, because the second
  match would be considered degenerate and ignored.  Jeevan Chalke,
  with some cosmetic changes by me.

- Fix contrib/cube and contrib/seg to build with bison 3.0.  These
  modules used the YYPARSE_PARAM macro, which has been deprecated by
  the bison folk since 1.875, and which they finally removed in 3.0.
  Adjust the code to use the replacement facility, %parse-param, which
  is a much better solution anyway since it allows specification of
  the type of the extra parser parameter.  We can thus get rid of a
  lot of unsightly casting.  Back-patch to all active branches, since
  somebody might try to build a back branch with up-to-date tools.

Gregory Stark pushed:

- Add SQL Standard WITH ORDINALITY support for UNNEST (and any other
  SRF).  Author: Andrew Gierth, David Fetter Reviewers: Dean Rasheed,
  Jeevan Chalke, Stephen Frost

- Sync ECPG with WITH ORDINALITY changes

Bruce Momjian pushed:

- pg_upgrade: clarify C comment about Windows thread struct pointers.
  Backpatch to 9.3 to keep source trees consistent.

- pg_dump/pg_dumpall:  remove unnecessary SQL trailing semicolons.
  Patch by Ian Lawrence Barwick

- pg_test_fsync: expand ops/sec display.  Expand ops/sec by two digits
  to maintain alignment on servers with fast I/O subsystems, e.g. can
  now display < 10M ops/sec with consistent alignment.

Noah Misch pushed:

- Restore REINDEX constraint validation.  Refactoring as part of
  commit 8ceb24568054232696dddc1166a8563bc78c900a had the unintended
  effect of making REINDEX TABLE and REINDEX DATABASE no longer
  validate constraints enforced by the indexes in question; REINDEX
  INDEX still did so.  Indexes marked invalid remained so, and
  constraint violations arising from data corruption went undetected.
  Back-patch to 9.0, like the causative commit.

Fujii Masao pushed:

- Fix inaccurate description of tablespace.  Currently we don't need
  to update the pg_tablespace catalog after redefining the symbolic
  links to the tablespaces because pg_tablespace.spclocation column
  was removed in PostgreSQL 9.2.  Back patch to 9.2 where
  pg_tablespace.spclocation was removed.  Ian Barwick, with minor
  change by me.

- Fix typo in comment.  Hitoshi Harada

Alvaro Herrera pushed:

- Fix a couple of inconsequential typos in new header

- Fix mis-indented lines.  Per Coverity

- Fix crash in error report of invalid tuple lock.  My tweak of these
  error messages in commit c359a1b082 contained the thinko that a
  query would always have rowMarks set for a query containing a
  locking clause.  Not so: when declaring a cursor, for instance,
  rowMarks isn't set at the point we're checking, so we'd be
  dereferencing a NULL pointer.  The fix is to pass the lock strength
  to the function raising the error, instead of trying to
  reverse-engineer it.  The result not only is more robust, but it
  also seems cleaner overall.  Per report from Robert Haas.

- Fix old visibility bug in HeapTupleSatisfiesDirty.  If a tuple is
  locked but not updated by a concurrent transaction,
  HeapTupleSatisfiesDirty would return that transaction's Xid in xmax,
  causing callers to wait on it, when it is not necessary (in fact, if
  the other transaction had used a multixact instead of a plain Xid to
  mark the tuple, HeapTupleSatisfiesDirty would have behave
  differently and *not* returned the Xmax).  This bug was introduced
  in commit 3f7fbf85dc5b42, dated December 1998, so it's almost 15
  years old now.  However, it's hard to see this misbehave, because
  before we had NOWAIT the only consequence of this is that
  transactions would wait for slightly more time than necessary; so
  it's not surprising that this hasn't been reported yet.  Craig
  Ringer and Andres Freund

Stephen Frost pushed:

- Allow a context to be passed in for error handling.  As pointed out
  by Tom Lane, we can allow other users of the error handler callbacks
  to provide their own memory context by adding the context to use to
  ErrorData and using that instead of explicitly using ErrorContext.
  This then allows GetErrorContextStack() to be called from inside
  exception handlers, so modify plpgsql to take advantage of that and
  add an associated regression test for it.

- Add locking around SSL_context usage in libpq.  I've been working
  with Nick Phillips on an issue he ran into when trying to use
  threads with SSL client certificates.  As it turns out, the call in
  initialize_SSL() to SSL_CTX_use_certificate_chain_file() will modify
  our SSL_context without any protection from other threads also
  calling that function or being at some other point and trying to
  read from SSL_context.  To protect against this, I've written up the
  attached (based on an initial patch from Nick and much subsequent
  discussion) which puts locks around
  SSL_CTX_use_certificate_chain_file() and all of the other users of
  SSL_context which weren't already protected.  Nick Phillips, much
  reworked by Stephen Frost Back-patch to 9.0 where we started loading
  the cert directly instead of using a callback.

- Improve handling of pthread_mutex_lock error case.  We should really
  be reporting a useful error along with returning a valid return code
  if pthread_mutex_lock() throws an error for some reason.  Add that
  and back-patch to 9.0 as the prior patch.  Pointed out by Alvaro

Robert Haas pushed:

- Remove SnapshotNow and HeapTupleSatisfiesNow.  We now use MVCC
  catalog scans, and, per discussion, have eliminated all other
  remaining uses of SnapshotNow, so that we can now get rid of it.
  This will break third-party code which is still using it, which is
  intentional, as we want such code to be updated to do things the new

- Assorted bgworker-related comment fixes.  Per gripes by Amit Kapila.

- Fix typo in comment.  Etsuro Fujita

Kevin Grittner pushed:

- Improve comments for IncrementalMaintenance DML enabling functions.
  Move the static functions after the comment and expand the comment.
  Per complaint from Andres Freund, although using different comment

== Rejected Patches (for now) ==

No one was disappointed this week :-)

== Pending Patches ==

Andrew (RhodiumToad) Gierth and Gregory Stark traded patches to clean
up the grammar pursuant to discussion around the WITH ORDINALITY

Andrew Tipton sent in a patch to add various JSON manipulation

Amit Kapila sent in another revision of a patch to add ALTER SYSTEM.

Pavel Stehule sent in a patch to allow database owners to cancel the
queries of roles which are not superuser.

Andres Freund sent in a PoC patch to allow computing VARSIZE_ANY(PTR)
during debugging.

Stefan Radomski sent in a patch to reserve connections for replication

Gregory Stark sent in a patch to improve the performance of WITH

Ivan Lezhnjov IV sent in another revision of a patch to fix the
documentation of backups.

Stefan Radomski sent in another revision of a patch to allow
throttling backups.

MauMau sent in two revisions of a patch to fix a bug where disk space
in pg_xlog increases during archive recovery.

Fujii Masao sent in a patch to fix a bug which caused an assertion
failure in immediate shutdown mode.

Alvaro Herrera sent in a WIP patch to change the behavior of IS NULL
in the catalog.

Dimitri Fontaine sent in two more revisions of a patch to implement

Craig Ringer sent in a patch to fix a bug where FOR SHARE|UPDATE
NOWAIT will still block if they have to follow a ctid chain.

Antonin Houska sent in a WIP patch to do partial matches using range
key entries.

Alvaro Herrera sent in a patch to extend SLRU in a way that prevents a
pg_upgrade failure.

Tomonari Katsumata sent in another revision of a patch to fix fast
promotion of a replica to master.

Ian Lawrence Barwick sent in two revisions of a patch to show the
object schema in verbose output in pg_dump/pg_restore.

Sent via pgsql-announce mailing list ([email protected])
To make changes to your subscription:
CD: 3ms