|| ||David Fetter <david-AT-fetter.org> |
|| ||PostgreSQL Announce <pgsql-announce-AT-postgresql.org> |
|| ||[ANNOUNCE] == PostgreSQL Weekly News - August 04 2013 == |
|| ||Sun, 4 Aug 2013 19:34:17 -0700|
|| ||Article, Thread
== 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
== 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@example.com, German language
to firstname.lastname@example.org, Italian language to email@example.com. Spanish language
== 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)
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
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
Alvaro Herrera sent in a patch to extend SLRU in a way that prevents a
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 (firstname.lastname@example.org)
To make changes to your subscription:
to post comments)