== Postgres Weekly News - February 24 2008 == FOSDEM was a smash hit for Postgres. The talks were frequently standing room only; the people staffing the booth were enthusiastic and knowledgeable, and the donations were sky high. Kudos to all who made it happen.
The EU PostgreSQL User Group now has a board of directors: Jean-Paul Agudo of France, Gabriele Bartolini of Italy, Magnus Hagander of Sweden and Andreas Scherbaum of Germany. Congratulations to all! == Postgres Product News == Benetl 1.5 for Windows released. http://www.benetl.net Pg::Snapshot and Materialized Views version 0.3.2 released. http://pgfoundry.org/projects/snapshot/ Peter Eisentraut et al. have started the Debian PostgreSQL Packaging Project. http://pkg-postgresql.alioth.debian.org/ Greg Sabino Mullane has made MediaWiki compatible with Postgres 8.3. http://people.planetpostgresql.org/greg/index.php?/archives/123-MediaWiki-is-Postgres-8.3-compatible.html MicroOLAP Database Designer 1.2.3 for PostgreSQL released. http://microolap.com/products/database/postgresql-designer/ Nagios Plugin for Postgres 1.2.0 released. http://bucardo.org/nagios/ PGCluster packages 1.9, 1.7, 1.5 and 1.3 updated. http://pgfoundry.org/projects/pgcluster/ ptop 3.6.1 beta4 released. http://ptop.projects.postgresql.org/ textsearch-ja 8.3.0 released. http://pgfoundry.org/projects/textsearch-ja/ VTD-XML 2.3 released. http://sourceforge.net/project/showfiles.php?group_id=110612&package_id=120172 == Postgres Jobs for February == http://archives.postgresql.org/pgsql-jobs/2008-02/threads.php == Postgres Local == PG UK day will be April 2 in Birmingham. http://www.postgresql.org.uk/ PGCon 2008 will be May 20-23 in Ottawa. http://www.pgcon.org/2008/papers.php PostgreSQL Conference East '08 talks are March 29 and 30 at the University of Maryland, College Park. http://www.postgresqlconference.org/ FISL 9.0 will be happening April 17-19, 2008 at PUCRS in Porto Alegre, Brazil. https://fisl.softwarelivre.org/9.0/ == Postgres in the News == Planet PostgreSQL: http://www.planetpostgresql.org/ General Bits, Archives and occasional new articles: http://www.varlena.com/GeneralBits/ Postgres 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] == Applied Patches == Peter Eisentraut committed: - In pgsql/src/backend/tsearch/Makefile, observe errors. - Added --htmldir option to pg_config, equivalent to the new configure option. - Refactor backend makefiles to remove lots of duplicate code. - In pgsql/src/backend/access/common/Makefile, remove another target I forgot during the refactoring. - Remove pgsql/src/backend/port/sunos4. This subdirectory has been unused, dead, and broken for 10 years. - More refactoring, so that the SUBSYS.o rules are now all in one place. - Backport fixed AC_FUNC_FSEEKO Bruce Momjian committed: - autoconf 2.61's AC_FUNC_FSEEKO reports success/failure differently, so reorganize code for NetBSD/BSDi port/fseeko.c usage, and make code more modular. - Put fseeko check back in old location, in hopes of silencing build warnings. - Put back code modularization of fseeko() configure checks. Tom Lane committed: - Remove unnecessary opening of other relation in RI_FKey_keyequal_upd_pk and RI_FKey_keyequal_upd_fk, as well as no-longer-needed calls of ri_BuildQueryKeyFull. Aside from saving a few cycles, this avoids needless deadlock risks when an update is not changing the columns that participate in an RI constraint. Per a gripe from Alexey Nalbat. Back-patch to 8.3. Earlier releases did have a need to open the other relation due to the way in which they retrieved information about the RI constraint, so this problem unfortunately can't easily be improved pre-8.3. Tom Lane and Stephan Szabo - In pgsql/src/backend/catalog/catalog.c, put a CHECK_FOR_INTERRUPTS call into the loops that try to find a unique new OID or new relfilenode. If the existing OIDs are sufficiently densely populated, this could take a long time (perhaps even be an infinite loop), so it seems wise to allow the system to respond to a cancel interrupt here. Per a gripe from Jacky Leng. Backpatch as far as 8.1. Older versions just fail on OID collision, instead of looping. - In pgsql/src/bin/pg_ctl/pg_ctl.c, fix mistakes in pg_ctl's code for "start -w" that tries to cope with non-default settings for the postmaster's port number. The code to parse command line options and postgresql.conf entries wasn't quite right about whitespace or quotes, and it was coded in a not-very-readable way too. Per bug #3969 from Itagaki Takahiro, though this is more extensive than his proposed patch (which fixed only the whitespace problem). This code has been broken since it was put in in 8.0, so patch all the way back. - In pgsql/src/test/regress/pg_regress.c, make pg_regress -V consistent with the corresponding code in other programs: use puts with a compile-time-constant string. - Rename miscadmin.h's PG_VERSIONSTR macro to PG_BACKEND_VERSIONSTR to make it a bit clearer what it is, and get rid of duplicate definitions in initdb and pg_ctl. - Change the declaration of struct varlena so that the length word is represented as "char ...[4]" not "int32". Since the length word is never supposed to be accessed via this struct member anyway, this won't break any existing code that is following the rules. The advantage is that C compilers will no longer assume that a pointer to struct varlena is word-aligned, which prevents incorrect optimizations in TOAST-pointer access and perhaps other places. gcc doesn't seem to do this (at least not at -O2), but the problem is demonstrable on some other compilers. I changed struct inet as well, but didn't bother to touch a lot of other struct definitions in which it wouldn't make any difference because there were other fields forcing int alignment anyway. Hopefully none of those struct definitions are used for accessing unaligned Datums. - In pgsql/src/backend/utils/misc/help_config.c, avoid trying to print a NULL char pointer in --describe-config. On some platforms this works, but on some it crashes. Zdenek Kotala - Use our own getopt() and getopt_long() on Solaris, because that platform's versions don't handle long options the way we want. Per Zdenek Kotala. Magnus Hagander committed: - In pgsql/src/tools/msvc/Solution.pm, unbreak MSVC build after recent addition of HTMLDIR. - In pgsql/src/timezone/strftime.c, fix function prototype to silence compiler warnings. - In pgsql/src/tools/msvc/Project.pm, un-break msvc port yet again (it started pulling in the Darwin port files, which obviously didn't compile). Alvaro Herrera committed: - In pgsql/src/backend/postmaster/autovacuum.c, change error message to be able to differentiate the two cases. Per suggestion from Jaime Casanova. - Improve error messages emitted when VACUUM and ANALYZE skip a table. Per gripe from Clodoaldo Pinto Neto. == Rejected Patches (for now) == No one was disappointed this week :-) == Pending Patches == Gevik Babakhani sent in a patch to fix MSVC compilation on MSVC. Tatsuhito Kasahara sent in two revisions of a patch intended to change pgstatindex.c and pgstattuple.sql, where some variables are defined with int type, to a larger numeric type, which in turn allows for larger tables. Davd Page sent in a patch which fixes initdb failures on Windows stemming from recent security-related changes to that platform. Zdenek Kotala sent in three revisions of a patch intended to fix non-portable getopt() code. Neil Conway sent in a patch to fix some memory leaks in the implementaiton of set-returning functions. Peter Eisentraut sent in a patch links the backend in one piece instead of many SUBSYS.so files. Robert Lor sent in a patch to change the DTrace probes from the DTRACE_PROBEn implementation to the header macro implementation so that the probes can be used on OSs other than Solaris including OSX Tiger. Heikki Linnakangas sent in an optimization for CopyReadLineText which should speed up COPY operations in many common cases. ---------------------------(end of broadcast)--------------------------- -To unsubscribe from this list, send an email to: [EMAIL PROTECTED]