== PostgreSQL Weekly News - July 22 2007 ==
The announcements of new versions of the pgInstaller are on -hackers
(for development snaps) and on -announce (for production versions),
and no longer on the pgfoundry page. They can always be downloaded
== PostgreSQL Product News ==
Another PostgreSQL Diff Tool 1.0.0_beta24 released
DbVisualizer 6.0 released.
MicroOLAP Database Designer 1.2.1 for PostgreSQL released.
mODBC_Installer beta 0.99.120 released.
Sylph-Searcher 1.0.0 released
== PostgreSQL Jobs for July ==
== PostgreSQL Local ==
PDXPUG Day and PgParty were a hit. Watch http://planetpostgresql.org
and other usual for details.
OSCON is happening this week, with many luminaries.
== PostgreSQL in the News ==
Planet PostgreSQL: http://www.planetpostgresql.org/
General Bits, Archives and occasional new articles:
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 david(at)fetter(dot)org, German to
== Applied Patches ==
Peter Eisentraut committed:
- In pgsql/src/test/regress/expected/plpgsql.out, fix regression tests
for PL/pgSQL error message changes.
- In pgsql/src/pl/plpgsql/src/pl_funcs.c, capitalize language key
words in error messages.
Andrew Dunstan committed:
- Only use the pipe chunking protocol if we know the syslogger should
be catching stderr output, and we are not ourselves the syslogger.
Otherwise, go directly to stderr. Bug noticed by Tom Lane.
Backpatch as far as 8.0.
Alvaro Herrera committed:
- In pgsql/src/test/regress/pg_regress.c, cast NULL to a pointer type
in the execl() call to avoid a compiler warning on some platforms
and possibly a bug. Per report from Stefan Kaltenbrunner and
Bruce Momjian committed:
- ITAGAKI Takahiro's patch to doc/src/sgml/maintenance.sgml which
fixes auto-analyze documentation.
- Another patch which documents the age() behavior.
- Document that 'deleted' is also tracked by autovacuum.
- Properly adjust age() seconds to match the sign of the larger units.
Patch from Tom.
- Document that age() adds days, then full months.
- Add to TODO: "GLOBAL temporary tables to exist as empty by default
in all sessions."
- Remove http://www.benchmarkresources.com from the Developer FAQ, as
it no longer resolves to a meaningful site.
- Add CVS Wiki URL to docs.
- Add to TODO: " Allow multiple indexes to be created concurrently,
ideally via a single heap scan, and have a restore of a pg_dump
somehow use it."
- Update docs to mention that GNU tar versions >=1.16 exit with 1 on
files changed, 2 on other errors.
Neil Conway committed:
- Implement CREATE TABLE LIKE ... INCLUDING INDEXES. Patch from
NikhilS, based in part on an earlier patch from Trevor Hardcastle,
and reviewed by myself.
- With the native compiler on Unixware, disable optimization if
--enable-debug is used, to avoid complaints about debugging and
optimization being mutually exclusive. Patch from Stefan
Magnus Hagander committed:
- Added documentation for GSSAPI.
- In pgsql/contrib/pg_standby/pg_standby.c, quote pathnames so
pg_standby works with paths that have spaces in them. Patch from
Tom Lane committed:
- Fix pgsql/src/backend/utils/error/elog.c to avoid infinite recursion
(leading to backend crash) when log_min_error_statement is active
and there is some problem in logging the current query string; for
example, that it's too long to include in the log message without
running out of memory. This problem has existed since the
log_min_error_statement feature was introduced. No doubt the reason
it wasn't detected long ago is that 8.2 is the first release that
defaults log_min_error_statement to less than PANIC level. Per
report from Bill Moran.
- Provide a bit more high-level documentation for the GEQO planner.
Per request from Luca Ferrari.
- Fix WAL replay of truncate operations to cope with the possibility
that the truncated relation was deleted later in the WAL sequence.
Since replay normally auto-creates a relation upon its first
reference by a WAL log entry, failure is seen only if the truncate
entry happens to be the first reference after the checkpoint we're
restarting from; which is a pretty unusual case but of course not
impossible. Fix by making truncate entries auto-create like the
other ones do. Per report and test case from Dharmendra Goyal.
- In pgsql/src/backend/utils/error/elog.c, on second thought, the
tests for what to do with stderr output are a lot more sensible if
we check the chunk-output case first. Not back-patched since it's
just a cosmetic improvement.
- Make replace(), split_part(), and string_to_array() behave somewhat
sanely when handed an invalidly-encoded pattern. The previous
coding could get into an infinite loop if pg_mb2wchar_with_len()
returned a zero-length string after we'd tested for nonempty
pattern; which is exactly what it will do if the string consists
only of an incomplete multibyte character. This led to either an
out-of-memory error or a backend crash depending on platform. Per
report from Wiktor Wodecki.
- Adjust configure script to print the bison and flex versions in use.
Minor rearrangements to make a few tests in a more logical order.
- Fix an old thinko in SS_make_initplan_from_plan, which is used when
optimizing a MIN or MAX aggregate call into an indexscan: the
initplan is being made at the current query nesting level and so we
shouldn't increment query_level. Though usually harmless, this
mistake could lead to bogus "plan should not reference subplan's
variable" failures on complex queries. Per bug report from David
Sanchez i Gregori.
- Fix incorrect optimization of foreign-key checks. When an UPDATE on
the referencing table does not change the tuple's FK column(s), we
don't bother to check the PK table since the constraint was
presumably already valid. However, the check is still necessary if
the tuple was inserted by our own transaction, since in that case
the INSERT trigger will conclude it need not make the check (since
its version of the tuple has been deleted). We got this right for
simple cases, but not when the insert and update are in different
subtransactions of the current top-level transaction; in such cases
the FK check would never be made at all. (Hence, problem dates back
to 8.0 when subtransactions were added --- it's actually the
subtransaction version of a bug fixed in 7.3.5.) Fix, and add
regression test cases. Report and fix by Affan Salman.
- In pgsql/src/backend/nodes/outfuncs.c, fix outfuncs.c to dump
A_Const nodes representing NULLs correctly. This has been broken
since forever, but was not noticed because people seldom look at raw
parse trees. AFAIK, no impact on users except that
debug_print_parse might fail; but patch it all the way back anyway.
Per report from Jeff Ross.
- In pgsql/contrib/pg_buffercache/pg_buffercache_pages.c, fix
pg_buffercache to release buffer partition locks in reverse order,
and add a note about why. This is not tremendously important right
now, probably, but it will get more urgent if NUM_BUFFER_PARTITIONS
is increased as much as proposed.
- In pgsql/src/backend/storage/lmgr, add comments spelling out why
it's a good idea to release multiple partition locks in reverse
- Allow plpgsql function parameter names to be qualified with the
function's name. With this patch, it is always possible for the
user to qualify a plpgsql variable name if needed to avoid
ambiguity. While there is much more work to be done in this area,
this simple change removes one unnecessary incompatibility with
Oracle. Per discussion.
- In pgsql/src/include/storage/s_lock.h (AIX section): Hmm, so
evidently _check_lock and _clear_lock take an argument of type int
not unsigned int. Third try to get grebe building without
- In pgsql/src/include/storage/s_lock.h (AIX section) so our reward
for including <sys/atomic_op.h> seems to be a bunch of nattering
about casting away volatile. Losers.
- On AIX, include <sys/atomic_op.h> so that the functions we use for
TAS support are properly declared.
== Rejected Patches (for now) ==
No one was disappointed this week :-)
== Pending Patches ==
Simon Riggs sent in three new revisions of his async commit patch.
Magnus Hagander sent in two copies of his SSPI authentication patch
Andrew Dunstan sent in another version of his COPYable log patch.
pgsql-announce by date
|Next:||From: Dhanaraj M||Date: 2007-07-23 12:40:28|
|Subject: Re: pgAdmin III v1.8.0 Beta 1 released|
|Previous:||From: Chander Ganesan||Date: 2007-07-19 16:46:02|
|Subject: Open Technology Group, Inc. Announces Significant Updates to Performance