== PostgreSQL Weekly News - October 05 2008 ==
Common Table Expressions (WITH [RECURSIVE]) are now in CVS TIP. Kudos
to Yoshiuki Asaba, Tatsuo Ishii, Tom Lane, et al. Keep on testing!
The PostgreSQL Certification Project has started a Job Task Analysis
survey. Registration is at:
The second call for Lightning Talks is out for PostgreSQL Conference:
There will be a key-signing party at PGDay. Registration is open.
The San Francisco PostgreSQL Users' Group will be meeting at oDesk on
Tuesday, October 14 at 7:30pm. RSVP ASAP. Details below:
Portland PostgreSQL Users Group will have its monthly meeting on
October 16, 2008 with our own Randal Schwartz of Stonehenge Consulting
will give a talk on Smalltalk and Postgres integration, 7pm at
Freegeek - 1731 SE 10th Avenue, Portland, OR.
== PostgreSQL Product News ==
check_postgres 2.3.0 released.
== PostgreSQL Jobs for October ==
== PostgreSQL Local ==
The Russian PostgreSQL Users' Group meeting will be October 6th in
Moscow. Special guests expected include Gavin Roy of MyYearbook.com
and Asko Oja and Marko Kreen of Skype.
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:
Ohio LinuxFest 2008, held October 11 in Columbus, will once again have
a PostgreSQL booth this year. Contact melanie AT dunslane DOT net to
PostgreSQL User Group Germany is doing a talk and workshop at Open
Source day 2008 October 11 in Magdeburg, Germany.
The European PostgreSQL Day (PGDay 2008) will be October 17 and 18 in
Prato, Tuscany, Italy. Registration is open at
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,
Selena Marie Deckelmann, and Andreas (ads) Scherbaum
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 ==
Heikki Linnakangas committed:
- Rewrite the FSM. Instead of relying on a fixed-size shared memory
segment, the free space information is stored in a dedicated FSM
relation fork, with each relation (except for hash indexes; they
don't use FSM). This eliminates the max_fsm_relations and
max_fsm_pages GUC options; remove any trace of them from the
backend, initdb, and documentation. Rewrite contrib/pg_freespacemap
to match the new FSM implementation. Also introduce a new variant
of the get_raw_page(regclass, int4, int4) function in
contrib/pageinspect that let's you to return pages from any relation
fork, and a new fsm_page_contents() function to inspect the new FSM
- In pgsql/src/include/catalog/catversion.h, forgot to bump catalog
version in the commit of FSM rewrite.
- Rewrite pg_freespacemap to match the new FSM implementation. I
missed these changes from the main FSM commit for some reason.
- In pgsql/src/backend/storage/freespace/freespace.c, fix WAL redo of
FSM truncation. We can't call smgrtruncate() during WAL replay,
because it tries to XLogInsert().
- In pgsql/doc/src/sgml/pgfreespacemap.sgml, fix function name in
pg_freespacemap docs. It's "pg_freespace", not "pg_freespacemap".
Reported by Hubert (depesz) Lubaczewski.
- Make the blkno arguments bigints instead of int4s. A signed int4 is
not large enough for block numbers higher than 2^31. The old
pre-FSM-rewrite pg_freespacemap implementation got this right. While
we're at it, remove some unnecessary #includes.
- Add relation fork support to pg_relation_size() function. You can
now pass name of a fork ('main' or 'fsm', at the moment) to
pg_relation_size() to get the size of a specific fork. Defaults to
'main', if none given. While we're at it, modify pg_relation_size
to take a regclass as argument, instead of separate variants taking
oid and name. This change is transparent to typical use where the
table name is passed as a string literal, like
pg_relation_size('table'), but will break queries like
pg_relation_size(namecol), where namecol is of type name. text-type
input still works, and using a non-schema-qualified table name is
not very reliable anyway, so this is unlikely to break anyone's
queries in practice.
Tom Lane committed:
- In pgsql/src/bin/pg_ctl/pg_ctl.c, fix misspelled comment.
- In pgsql/src/bin/pg_ctl/pg_ctl.c, recent patches to pg_ctl broke
"pg_ctl restart" for the case where no command-line options had been
given to the postmaster; and just plain broke it altogether in 8.1
and 8.0. Per report from KaiGai Kohei.
- In pgsql/src/backend/storage/freespace/freespace.c, fix compiler
warning (unportable sprintf usage).
- In pgsql/src/backend/storage/freespace/freespace.c, suppress an
uninitialized-variable warning (not all versions of gcc complain
here, but some do)
- Improve tuplestore.c to support multiple concurrent read positions.
This facility replaces the former mark/restore support but is
otherwise upward-compatible with previous uses. It's expected to be
needed for single evaluation of CTEs and also for window functions,
so I'm committing it separately instead of waiting for either one of
those patches to be finished. Per discussion with Greg Stark and
Hitoshi Harada. Note: I removed nodeFunctionscan's mark/restore
support, instead of bothering to update it for this change, because
it was dead code anyway.
- In pgsql/src/makefiles/pgxs.mk, partial fix for contrib vpath
- In pgsql/src/backend/utils/adt/datetime.c, fix improper display of
fractional seconds in interval values when using
--enable-integer-datetimes and a non-ISO datestyle. Ron Mayer.
- In pgsql/doc/src/sgml/Makefile, add a note about how to check for
bare < and & in SGML docs, before the knowledge disappears again.
- Implement SQL-standard WITH clauses, including WITH RECURSIVE.
There are some unimplemented aspects: recursive queries must use
UNION ALL (should allow UNION too), and we don't have SEARCH or
CYCLE clauses. These might or might not get done for 8.4, but even
without them it's a pretty useful feature. There are also a couple
of small loose ends and definitional quibbles, which I'll send a
memo about to pgsql-hackers shortly. But let's land the patch now
so we can get on with other development. Yoshiyuki Asaba, with lots
of help from Tatsuo Ishii and Tom Lane
- Fix markTargetListOrigin() to not fail on a simple-Var reference to
a recursive CTE that we're still in progress of analyzing. Add a
similar guard to the similar code in expandRecordVariable(), and
tweak regression tests to cover this case. Per report from Dickson
- Improve behavior of WITH RECURSIVE with an untyped literal in the
non-recursive term. Per an example from Dickson S. Guedes.
- Tweak the overflow checks in integer division functions to complain
if the machine produces zero (rather than the more usual
minimum-possible-integer) for the only possible overflow case. This
has been seen to occur for at least some word widths on some
hardware, and it's cheap enough to check for everywhere. Per
Peter's analysis of buildfarm reports. This could be back-patched,
but in the absence of any gripes from the field I doubt it's worth
- Fix a missed case in int8-exp-three-digits.out, per buildfarm
- Fix the implicit-RTE code to be able to handle implicit RTEs for
CTEs, as well as regular tables. Per discussion, this seems
necessary to meet the principle of least astonishment. In passing,
simplify the error messages in warnAutoRange(). Now that we have
parser error position info for these errors, it doesn't seem very
useful to word the error message differently depending on whether we
are inside a sub-select or not.
- In pgsql/src/tools/msvc/vcregress.pl, experimental patch to see if
it fixes MSVC builds ...
Magnus Hagander committed:
- In pgsql/src/interfaces/libpq/Makefile, link libpq with libgssapi if
configure finds it, as required by at least NetBSD. Markus Schaaf
Peter Eisentraut committed:
- Allow pg_regress to be run outside the build tree. Look for input
files in both input and output dir, to handle vpath builds more
- Update pg_regress calls in PL checks to handle vpath builds.
- In pgsql/src/makefiles/pgxs.mk, put back the copying of some of the
regression test data files for vpath builds. It is too complicated
to fix in another way for now.
- In pgsql/src/Makefile.global.in, fix coverage targets so that HTML
view is reliably updated when test data changes. Add some
- Add regression test for macaddr type. Enhance documentation about
accepted input formats.
- Additional string function tests for coverage of oracle_compat.c
- Additional test coverage for boolean type (bool.c)
- Additional test coverage for int8 type (int8.c)
int8-exp-three-digits.out update untested, might need refinement.
- Reverse int8.out and int8-exp-three-digits.out mixup.
- Remove obsolete internal functions istrue, isfalse, isnottrue,
isnotfalse, nullvalue, nonvalue. A long time ago, these were used
to implement the SQL constructs IS TRUE, etc.
- Remove some unportable tests.
Bruce Momjian committed:
- In pgsql/src/backend/access/heap/README.HOT, update README.HOT to
reflect new snapshot tracking and xmin advancement code in 8.4.
== Rejected Patches (for now) ==
No one was disappointed this week :-)
== Pending Patches ==
Andrew Dunstan sent in another revision of his patch to implement a
KaiGai Kohei sent in another revision of his SE-PostgreSQL patches.
David Wheeler sent in another revision of tests for the case-
insensitive text (citext) contrib module.
Zdenek Kotala sent in a patch to clean up the code around
PageGetTempPage, per discussion.
Jonah Harris sent in two revisions of a patch to do block-level CRCs.
Magnus Hagander sent in a patch to change the options field of
pg_hba.conf to take name/value pairs instead of a fixed string, adds
map support for kerberos, GSSAPI and SSPI, and unifies error reporting
for "unsupported auth method on this platform" conditions.
Simon Riggs sent in another revision of his patch to make
infrastructure changes for recovery.
Alvaro Herrera sent in a revised version of Simon Riggs's patch to
implement subtransaction commits.
Greg Smith sent in another revision of his patch to add default_val to
pgsql-announce by date
|Next:||From: Francisco Figueiredo Jr.||Date: 2008-10-06 05:18:27|
|Subject: Npgsql2 Final Released!!|
|Previous:||From: Joshua D. Drake||Date: 2008-09-30 16:56:19|
|Subject: PostgreSQL Conference West: Tentative Schedule Released!|