---

PostgreSQL Weekly News – June 26, 2003

[ Thanks to Robert Treat for this
link. ]

Well, we are in our final week before feature freeze for the 7.4
release. There certainly has been a lot of activity lately, and I
suspect that will continue right up until the deadline.

We might as well dive into the list of miscellaneous updates, as
things are coming from far and wide. Thread checking code was moved
farther down in the configure process, we now set
conn->raddr.salen, fixing problems in CANCEL (and probably other
stuff), remove crypt.h from fe-connect.c (which was not needed and
caused problems on Solaris with Open SSL version 0.9.7b), no longer
include pwd.h and netdb.h in MS CC/Borland builds, pqInternalNotice
was changed to accept a format string and args instead of just a
preformatted message, add mention that the grep’s have to be
adjusted in pgtest, remove references to sa_family_t, except when
SOCKADDR_STORAGE requires it, and handle __ss_family as a synonym
for ss_family. Two fixes for cygwin included setting typedef
sa_family_t and adding -L../ecpglib -lecpg for compile. Alvo Herrea
also supplied a patch to restructure the deferred trigger queue,
putting all static variables holding the deferred triggers into a
single structure. One other mention, we now have x86_64 support for
spinlocks, thanks to Jeffrey W. Baker for that one.

Enhancements revolving around the protocol revision and libpq
changes continue to be seen. One such item was a fix for the
extended-query protocol that, in the event of error, the backend
used to issue a ReadyForQuery (Z message) immediately and then
another one after the sync message arrived. We now suppress the
first one to make it work per spec. Further updates have been done
to make new features of the FE/BE protocol available to client
applications and the libpq example programs where all updated.

The hash join and hash aggregation code was revised to use the
same datatype-specific hash functions used by hash indexes, rather
than the old not-datatype-aware ComputeHashFunc routine. This makes
it safe to do hash joining on several datatypes that previously
couldn’t use hashing. The sets of datatypes that are hash indexable
and hash joinable are now exactly the same, whereas before each had
some that weren’t in the other.

Another long desired, if not major, change was to disallow the
dollar sign ($) in operator names and instead allow it as a
non-first character in identifiers. The first change eliminates the
current need to put spaces around parameter references (as in
“x<=$2”). The second change improves compatibility with Oracle
and some other RDBMS’s. This was discussed and agreed to back in
January, but had not actually been implemented until now.

Michael Graff gets special kudos this week for his patch that
adds INET/CIDR capabilities to IPv6 support, which was an official
TODO item. His patch included specific regression tests and new
documentation. Some of the work involved changing IPv4 from being
treated as an “unsigned int” to an array of characters, the way
IPv6 is handled. This allows for many of the functions such as
bitncmp() and adressOK() to “just work” on both address families.
He also add a family() function which will return a 4 or 6 for IPv4
and IPv6 respectively, and has taken care to allow machines without
IPv6 support to still be able to parse IPv6 data.

Rod Taylor also gets a nod for his recent change that allows
“UPDATE … SET <col> = DEFAULT”, another TODO item. This was
just one of several things Rod has recently submitted; other items
include fixing “JOIN .. USING” with domains, adding LIKE
<subtable> [ INCLUDING DEFAULTS | EXCLUDING DEFAULTS ], some
cleanup of analyze.c function prototypes, new non-reserved keywords
(INCLUDING, EXCLUDING, DEFAULTS) for SQL 200X, and updating the
synopsis areas for DROP commands touse “name” as the identifier in
conversion_name and index_name, updating pg_get_constraintdef() to
use conbin, and updating pg_dump to use pg_get_constraintdef() for
>= 70400 among other changes.

Ecpg continues to move ahead at a good clip. This weeks updates
include a fix for fetching into char *, add missing terminating
‘\0’ char for data put into char *, allow constants in using
clauses, and removal of postgres_fe.h includes where they were not
needed. There were also a couple of Informix compatibility changes;
implementing Informix’s special way to treat NULLs, handling the
use of “free” for cursors after closing them, and adding a missing
prototype for an Informix function.

Several of the contrib modules have been updated. A bug in the
metaphone algorithm was fixed, along with the removal of an
unneeded palloc. References of ‘third’ were changed to ‘fourth’
where needed in the tablefunc module. We also saw the addition of
named persistent connections to dblink thanks to Shridhar
Daithanka.

The call for help for folks using python seems to have given
fruit. Chih-Hao Huang fixed a bug in the python interface module;
the _quote() function used to fail due to integer overflow if input
d was larger than max integer (which was likely in BIGINT columns).
Kevin Jacobs updated plpython to remove the RExec code, which
should make it compatible with future versions of python. Expect
plpython to treated as an untrusted language in the future.

The docs continue to see solid contributions. Changes that went
in this week include a re-ordering of the run time information,
updates to information dependent on the run time information, and
resolving some incompatibilities between the run time and
performance information. A link entry to the foreign key
information in the system catalog chapter was created and some
chapter reordering for the Internals part was done. We also now
have some documentation about using CIDR address in pg_hba.conf and
an example of CIDR address use in pg_hba.conf.sample. I also should
mention that there has been some pruning going on of obsolete
material that really no longer applies. If you would like a sneak
peek you can always find a link to the cvs docs from the developers
website (http://developer.postgresql.org/),
just remember that those docs aren’t official!

While I am really excited about the upcoming release, it’s
important to let folks know that PostgreSQL will not be resting on
its laurels. Just this week over a dozen new items were added to
the TODO list; if you have been looking for a project to hack on
this may well be a good opportunity. Some of the new additions
include:

  • Have initdb set DateStyle based on locale
  • Allow the identifier length to be increased via a configure
    option
  • Create improved PostgreSQL introductory documentation for the
    PHP manuals (Rory)
  • Change CVS $Id$ to $PostgreSQL$
  • Allow SSL-enabled clients to turn off SSL transfers
  • Exit postmaster if postgresql.conf can not be opened
  • Allow columns to be reordered via ALTER command; have
    SELECT/INSERT honor such ordering
  • Allow UPDATE, DELETE to handle table aliases for self-joins
    [delete]
  • Allow ALTER TABLE to modify column lengths and change to binary
    compatible types
  • Allow creation of a libpq-only tarball

That’s it for this week, next week we should be in feature
freeze and I will hopefully have some information on how you can
get involved in beta testing.

== PostgreSQL Product News ==

EMS PostgreSQL Manager 1.7 released
http://www.databasejournal.com/news/article.php/2226651

PeerDirect brings distributed database support to Linux
world
http://www.itweb.co.za/sections/software/2003/0306230854.asp

IONIC Releases RedSpiderWeb 3.0
http://www.directionsmag.com/pressreleases.php?press_id=7322

Released pgExpress Driver v2.10

http://archives.postgresql.org/pgsql-announce/2003-06/msg00010.php

== PostgreSQL In the News ==

SQL and ODBC, German OS 5 and more
http://www.drobe.co.uk/riscos/artifact721.html

== Upcoming Events ==

Open Source Conference: Portland, Oregon: July 7-11
A PostgreSQL track is available this year
http://conferences.oreillynet.com/os2003

LinuxTag: Karlsruhe Convention Center, Germany: July 10-12
A PostgreSQL Talk will be given on July 12th
http://www.linuxtag.org/2003/en/index.html

== PostgreSQL Weekly News – June 26th 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

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends, & analysis