|| ||David Fetter <david-AT-fetter.org>|
|| ||PostgreSQL Announce <pgsql-announce-AT-postgresql.org>|
|| ||[ANNOUNCE] == PostgreSQL Weekly News - September 07 2008 ==|
|| ||Sun, 7 Sep 2008 21:23:30 -0700|
== PostgreSQL Weekly News - September 07 2008 ==
8.4 CVS Snapshot RPMs are ready for testing.
September CommitFest has begun! Interesting inew tems being reviewed
include: column-level permissions, hash indexing, windowing functions,
in-place upgrade and others.
What you can do:
We also desperately need patch reviewers! Are you good with C code?
Are you familiar with PostgreSQL? Do you want to advance your
Postgres hacking skills and achieve fortune, fame and glory? Become a
reviewer for PostgreSQL patches! Contact email@example.com.
== PostgreSQL Product News ==
Continuent Tungsten released:
Once:Radix PostgreSQL GUI Development goes 1.0:
pglesslog 1.1 beta released.
PL/Proxy 2.0.6 released.
== PostgreSQL Local ==
Stefan Kaltenbrunner is giving a talk about monitoring strategies for
postgresql.org at the Nagios conference 2008 September 11-12 in
Selena Deckelmann and Gabrielle Roth will be giving a presentation on
filesystem performance for PostgreSQL at the Linux Plumbers'
PDXPUG will meet September 18. Tom Raney will talk about his Visual
The Prato Linux User Group is having PostgreSQL talks in September.
PGCon Brazil 2008 will be on September 26-27 at Unicamp in Campinas.
PgDay.fr will be October 4 in Toulouse. The Call for Papers is open:
The Highload++ conference will be October 6-8 in Moscow, Russia.
Gavin Roy, Asko Oja and Maxim Boguk will talk about things PostgreSQL.
PostgreSQL Conference West 2008 will be October 10-12 at Portland
State University in Portland, Oregon.
Talk submission at:
PGDay.(IT|EU) 2008 will be October 17 and 18 in Prato. Registration
will open soon.
PostgreSQL has a table at LinuxLive, Olympia, London, UK on 23-25
October, 2008. Write to Dave Page to participate.
dpage AT pgamin DOT org
== PostgreSQL in the News ==
Planet PostgreSQL: http://www.planetpostgresql.org/
PostgreSQL Weekly News is brought to you this week by David Fetter,
Josh Berkus, Selena Deckelmann, Devrim GUNDUZ and Nikolay Samokhvalov.
Submit news and announcements by Sunday at 3:00pm Pacific time.
Please send English language ones to firstname.lastname@example.org, German language
to email@example.com, Italian language to firstname.lastname@example.org.
== Applied Patches ==
Peter Eisentraut committed:
- Synchronize the shared object build rules in Makefile.port with
Makefile.shlib somewhat by adding CFLAGS where the compiler is used
and Makefile.shlib already used CFLAGS.
- Add DSSSL stylesheet location for Mac OS X/Fink installation.
- Code coverage testing with gcov. Documentation is in the regression
test chapter. Michelle Caisse
- Check for gcov and lcov only when coverage testing is enabled.
Heikki Linnakangas committed:
- In pgsql/src/backend/utils/time/combocid.c,
HeapTupleHeaderAdjustCmax made the incorrect assumption that the raw
command id is the cmin, when it can in fact be a combo cid. That
made rows incorrectly invisible to a transaction where a tuple was
deleted by multiple aborted subtransactions. Report and patch Karl
Schnaitter. Back-patch to 8.3, where combo cids was introduced.
Tom Lane committed:
- Add a bunch of new error location reports to parse-analysis error
messages. There are still some weak spots around JOIN USING and
relation alias lists, but most errors reported within
backend/parser/ now have locations.
- Add a variant expected-output file for the sequence regression test,
to cover output that is seen when a checkpoint occurs at just the
right time during the test. Per my report of 2008-08-31. This
could be back-patched but I'm not sure it's worth the trouble.
- Sigh, I missed checking the ecpg tests ...
- Fix plpgsql's exec_move_row() to supply valid type OIDs to
exec_assign_value() whenever possible, as per bug report from Oleg
Serov. While at it, reorder the operations in the RECORD case to
avoid possible palloc failure while the variable update is only
partly complete. Back-patch as far as 8.1. Although the code of
the particular function is similar in 8.0, 8.0's support for
composite fields in rows is sufficiently broken elsewhere that it
doesn't seem worth fixing this.
- Prevent memory leaks in our various bison parsers when an error
occurs during parsing. Formerly the parser's stack was allocated
with malloc and so wouldn't be reclaimed; this patch makes it use
palloc instead, so that flushing the current context will reclaim
the memory. Per Marko Kreen.
- If a loadable module has wrong values in its magic block, spell out
exactly what they are in the complaint message. Marko Kreen, some
editorialization by me.
- Add some additional casts and regression tests for the citext data
type. David Wheeler
- Fix an oversight in the 8.2 patch that improved mergejoin
performance by inserting a materialize node above an inner-side sort
node, when the sort is expected to spill to disk. (The materialize
protects the sort from having to support mark/restore, allowing it
to do its final merge pass on-the-fly.) We neglected to teach
cost_mergejoin about that hack, so it was failing to include the
materialize's costs in the estimated cost of the mergejoin. The
materialize's costs are generally going to be pretty negligible in
comparison to the sort's, so this is only a small error and probably
not worth back-patching; but it's still wrong. In the similar case
where a materialize is inserted to protect an inner-side node that
can't do mark/restore at all, it's still true that the materialize
should not spill to disk, and so we should cost it cheaply rather
than expensively. Noted while thinking about a question from Tom
- Implement a psql command "\ef" to edit the definition of a function.
In support of that, create a backend function pg_get_functiondef().
The psql command is functional but maybe a bit rough around the
edges... Abhijit Menon-Sen
- Adjust psql's new \ef command to present an empty CREATE FUNCTION
template for editing if no function name is specified. This seems a
much cleaner way to offer that functionality than the original patch
had. In passing, de-clutter the error displays that are given for a
bogus function-name argument, and standardize on "$function$" as the
default delimiter for the function body. (The original coding would
use the shortest possible dollar-quote delimiter, which seems to
create unnecessarily high risk of later conflicts with the
user-modified function body.)
- In pgsql/doc/src/sgml/sources.sgml, add a few more details in the
source-code-formatting documentation. This isn't exhaustive but it
covers some of the more common layout mistakes I've seen in
- In pgsql/src/backend/utils/adt/varlena.c, reimplement text_position
and related functions to use Boyer-Moore-Horspool searching instead
of naive matching. In the worst case this has the same O(M*N)
complexity as the naive method, but the worst case is hard to hit,
and the average case is very fast, especially with longer patterns.
- In pgsql/doc/src/sgml/ref/pg_restore.sgml, clarify description of
pg_restore's handling of large objects.
- Support set-returning functions in the target lists of Agg and Group
plan nodes. This is a pretty ugly feature but since we don't yet
have a plausible substitute, we'd better support it everywhere. Per
gripe from Jeff Davis.
- Create a separate grantable privilege for TRUNCATE, rather than
having it be always owner-only. The TRUNCATE privilege works
identically to the DELETE privilege so far as interactions with the
rest of the system go. Robert Haas
Teodor Sigaev committed:
- In GIN, fix strategy propagation to scanEntry for partial match by
moving propagation to initializaion of scanEntry.
Bruce Momjian committed:
- Add Win32 MSVC code to support this recent patch: "Add missing
descriptions for aggregates, functions and conversions." Bernd
- In pgsql/src/bin/pg_dump/pg_backup_archiver.c, add comment about why
pg_dump doesn't dump the public schema comment.
- In pgsql/doc/src/sgml/func.sgml, clarify documention workding for
== Rejected Patches (for now) ==
No one was disappointed this week :-)
== Pending Patches ==
Marko Kreen sent in a patch to make GUC variable parsing case
Stephen Frost sent in two revisions of a patch to add column-level
Alvaro Herrera sent in a revised version of Greg Smith's patch to add
source file and line to GUC variables to pg_settings.
Alvaro Herrera sent in a revised version of Andrew Chernow's patch to
add libpq object hooks.
Ryan Bradetich sent in a patch to align tuples more efficiently on
Andrew Chernow sent in five revisions of his libpq events patch.
David Rowley sent in a patch to make string-matching operations use
Brendan Jurd sent in a patch to add pg_typeof().
Robert Haas sent in another revision of his patch to add a TRUNCATE
Zdenek Kotala sent in another revision of his in-place upgrade patch.
Volkan YAZICI sent in five revisions of a patch to increase the
verbosity of return type checks in PL/PgSQL.
---------------------------(end of broadcast)---------------------------
-To unsubscribe from this list, send an email to:
to post comments)