Thread: PostgreSQL Weekly News - October 8th 2003

PostgreSQL Weekly News - October 8th 2003

From
Robert Treat
Date:
== PostgreSQL Weekly News - October 8th 2003 ==

    After a brief hiatus last week, we are back with all the news thats fit
to print regarding PostgreSQL. We start with news on the beta process;
PostgreSQL 7.4 Beta 4 was packaged last Thursday night, and by now
should have hit your local mirror. Depending on the level of bug
reports, we may see a beta5 or possibly an RC1 by this weekend. Working
toward that goal, a string freeze has gone into effect to allow
translators to get caught up with thier translations. If you have not
downloaded one of the beta candidates yet, this week is really the week
to get moving on it.

        There have been a number of fixes the last two weeks, we start
with a look at some of the more internal stuff. The RI triggers were
much improved for handling of ON DELETE/UPDATE SET DEFAULT. A mechanism
was added to let dynamically loaded modules register
post-commit/post-abort cleanup hooks. TupleDescGetAttInMetadata and
BuildTupleFromCStrings now handle tuples with dropped columns correctly.
The regular expression definition of :print: character class was fixed
based on some input from Bruno Wolff. The :alnum: charecter class was
also modified, making it directly dependent on isalnum() rather than
guessing. tlist_matches_tupdesc() now defends itself against dropped
columns. The Executor API was extended to work around a problem with
triggers fired from RI cascading updates, reported by Wade Klaver.
The Darwin build was adjusted to use the default "twp level namespace'
linking method. Along with this a number of places where shared
libraries were linked without mentioning all the libraries they depend
on were fixed, something needed for both Darwin and AIX. An issue with
configure on linux handling of -D_GNU_SOURCE was fixed. We no longer
evaluate non-constant TID values during ExecInitTidScan. The btree
index  build procedure was adjusted so that the btree metapage looks
invalid until the build is entirely complete, which should add some
protection for rebuilding shared system indexes. We no longer return
from PQrequestCancel until postmaster has finished processing the
request, ensuring that the request won't be taken to cancel a
subsequently issued query. A bit more locking was added to
vac_update_relstats and vac_update_dbstats to make them comparable to
what UpdateStats does in the same situation. PQescapeString in libpq was
changed to stop processing at a null character, rather than generating
an invalid output string. A GUC parameter, check_function_bodies, was
added to control whether validation of function bodies is done at CREATE
FUNCTION time. This is normally true, but there are some instances, one
such in pg_dump, where setting this false is needed. A change was made
so that when revoking privileges from the owner we don't revoke the
grant options, which would recursivly revoke everything from everyone.
The internal estimate_hash_bucketsize() function was given a bit more
smarts; it will now assume that tables with no statistics but with
unique indexes are well-distributed. The COPY FROM command was modified
to match the null-value string against the column value before it is
de-backslashed, not after, allowing the \N null string to be reliably
distinguished from a \N data value. The ALTER TABLE ADD FORIEGN KEY
command was modified to check the existing rows using a single left join
instead of firing the check trigger for each individual row.

        The dbmirror module was updated to fix a bug that prevented
mirroring of data on tables with dropped columns. dbf2pg saw another
improvement this week, making it safe for non-ASCII character sets. Work
on the thread compatibility testing program was completed, including
enhancing the tests it runs, finalizing its configuration,  and its
related documentation. Some code was added to plpgsql to check that
IF/WHILE/EXIT test expressions are boolean, and to try to coerce the
values to boolean if not  There was also some improved support for
handling dropped columns in plpgsql rowtypes and plpgsql's caching of
'simple' expression evaluation trees was restructure to be less
dangerous and potentially faster in scenarios where a plpgsql function
executes more than one expression. Type lookups in spi_prepare for pltcl
code was fixed for possible qualified type name specification.

    There were a handful of changes again for ecpg. The build process was
modified to hide Informix datatypes, since they are not seen by our
build process anymore. A segfault problem in parsing precision arguments
was fixed. There was a fix in day of week processing. Problems with
constant listing in execute using clause were fixed. Precision handling
in Informix compat functions was fixed, and error handling in Informix
compat str to date conversion was fixed. Finally, a floating point
exception in long->numeric conversion was fixed.

        As is common, the helper programs for PostgreSQL continued to
see work to get them finalized for 7.4. In psql some documentation for
\pset footer was added to \?, the transaction status indicator was
changed from %T to %x, \timing will now show three digits, and the oder
of operations in SendQuery() where modified so that time spent in data
transfer during COPY would be included in \timing output. The pg_dump
program also received a few tweaks; you can now use -t in pg_dump to
dump a sequence and the handling of brackets for check constraints was
improved in pg_dump to ensure that they match all other constraints and
that the output can be copy/pasted as straight SQL. Also, based on some
recent discussions on the -hackers list, pg_dump's logic was changed for
handling CAST's. Dumps involving CREATE INDEX will now show opclass name
if the opclass isn't in the schema search path. Dump files created by
initdb now have consistent EOL termination in order to pass COPY's EOL
tests. The locale display of initdb was reformatted to display better
with locale names longer than eight characters. Last, a bug seen on XP
in pg_restore tar log output where Special flag was not being
initialized was fixed.

        Concluding things this week were (hopeful) finalization of the
back end strings and several documentation updates. A "tuning" section
was added to the install instructions. The Japanese FAQ was updated.
A note was added to the view documentation clarifying the handling of
functions in view definitions. There was a small SGML clean up in the
installation sections. The docs for CREATE VIEW were updated to better
explain handling permissions on functions. A section was added to the
windows installation instructions for handling 8-bit characters in psql
and a warning was added to psql to notify users of improper 8-bit
support. Documentation was also added for the always true but previously
undocumented fact that PQfnumber() will downcase the supplied field name
unless it is double-quoted,which is somewhat different than what one
would first expect.

    Special mention goes out for the recent release of PgAdmin 3 Version
1.0. PgAdmin is a cross-platform PostgreSQL GUI administration tool,
designed to support all aspects of PostgreSQL 7.3 and 7.4, with more
than 20 languages supported. For more details or downloads, check out
the PgAdmin homepage (http://www.pgadmin.org/pgadmin3/index.php).  In
other news, phpPgAdmin, a web based PostgreSQL administration tool,
released version 3.1, adding a pop-up sql editor, enhanced reporting and
data dumps, and enhanced PostgreSQL 7.4 support. For more information,
check out the phpPgAdmin homepage (http://phppgadmin.sourceforge.net/).
Both of these projects are open source and the members of both projects
are also very involved in the PostgreSQL core system as well.

    Another special mention this week, this one quite overdue, for a new
website dedicated to French speaking PostgreSQL users. The website
(http://pgsql-fr.tuxfamily.org/) also has an accompanying mailing list
available, pgsql-fr-generale@postgresql.org.  Merci to our French
speaking advocates for thier work in setting this up.

    Finally I want to give a heads up to folks that we may have some
downtime this weekend as our hosting provider needs to do some
infrastructure changes which will result in a change in ip addresses.
We hope to minimize the downtime through some prudent DNS management,
but if you run into problems that will most likely be the cause. The
downtime is tentatively scheduled for 4pm GMT, we'll try to post more
info when it becomes available.



== PostgreSQL Product News ==

PostgreSQL Cocoa Framework 0.6d1
http://www.macupdate.com/info.php/id/11233

OpenLink Software releases updated suite of Data Access Drivers
http://www.itweb.co.za/sections/software/2003/0310030834.asp

Gedafe 1.2.0 Released
http://www.ee.ethz.ch/~slist/gedafe/msg00198.html

PhpPgAdmin 3.1 Released
http://sourceforge.net/forum/forum.php?forum_id=314194

PgAdmin III Released
http://www.postgresql.org/news/154.html



== PostgreSQL In the News ==

"Mastering" Postmaster - Connecting Java Apps on Mandrake (blog)
http://myossstuff.blogspot.com/2003_10_01_myossstuff_archive.html#postmaster



== Upcoming Events ==

PHP-Con West: Santa Clara, California: October 21-24
Josh Berkus & Erez Ascher, and Steve Lane are giving two presentations
on PHP + PostgreSQL
http://www.php-con.com/2003/west/

LinuxWorld Conference & Expo 2003: Frankfurt, Germany: October 27-29
PostgreSQL will have a booth at the LinuxWorld Conference
http://www.linuxworldexpo.de/

International PHP Conference: Frankfurt, Germany: November 2-5
Bruce Momjian will be presenting several PostgreSQL talks at this year's
International PHP Conference.
http://www.phpconference.de/2003/



== PostgreSQL Weekly News - October 8th 2003 ==
Don't forget to read Elein Mustain's Weekly Summary of the PostgreSQL
General Mailing List http://www.varlena.com/GeneralBits/

On the Web:
http://www.postgresql.org
http://advocacy.postgresql.org