== PostgreSQL Weekly News - Mar 26th 2003 ==
If you remember last week I mentioned that there were a lot of quality
patches floating around, right? Well, this week we saw a good number of
them committed for 7.4. They range from minor tweaks to major changes,
with one feature in particular that hasn't been hyped up a lot, but
should get a lot of people excited. What? You guys don't get excited
about database hacking...?
Lets start with the TODO items shall we? Neil Conway knocked another
item off the list with his change that adds start time to
pg_stat_activity. We also saw the addition of ALTER SEQUENCE to modify
the various sequence values. It should be noted that ALTER SEQUENCE is
NOT transactional, behaving similarly to setval(), but it does match the
proposed SQL200N spec and is similar to Oracle's implementation, though
it adds an optional RESTART WIDTH ability. Thanks to Rod Taylor for his
work on this. A third TODO item knocked off this week was "Change
NUMERIC data type to use base 10,000 internally" thanks to Tom Lane.
While making the change he was also able to improve some of the
algorithms for higher functions which should lead to a speedup in the
back end. For those testing 7.4devel, this change does require an initdb
Let's divert for a moment from the new features to take note of some
bug squashing this week. Neil Conway found a small memory leak in psql
using valgrind, which he has patched. We also received a fix from Steven
Singer for a memory error in contrib/dbmirror when running it with older
(pre 7.3) versions. Peter Eisentraut modified the set up of privileges
on the default schemas in initdb to use real GRANT commands to help
arrive at a valid dumpable state. Bruce Momjian got in on the fun fixing
an issue with sequence casting; and Tom Lane made a change to ignore
SIGXFSZ so that ulimit violations would work like disk-full conditions.
This change should help prevent back-end crashes in those cases, thanks
to suggestions from Frederic Surleau on that. Tom also was responsible
for two patches for Shraibman's out of free buffers bug. The two patches
were needed to deal with the problem in the stable 7.3.x branch, and a
more aggressive fix in 7.4devel branch. And finally, a tweak to
selectivity and related routines was added to cope with domains, based
on a report from Andreas Pflug.
Along with the bug squashing, we also saw a lot of code cleanup put in
this week. Bruce removed a typecasting section that isn't needed
anymore, and Neil cleaned up some of the regression code a little bit.
Gregory Stark also submitted some fix-ups to a couple of the contrib
directories, replacing things like CREATE OR REPLACE AGGREGATE with
separate DROP and CREATE calls. He also added DROP for the CREATE
OPERATOR calls and switched to the use of IMMUTABLE and STRICT instead
of the old WITH (isStrict). Jeroen Vermeulen also made a whole slew of
changes to the psql code. Some of the cleanup included removing code
duplication and ifdeffing, fixing up breaks and unneeded continues. He
also broke down several large functions into smaller functions; reducing
required nesting levels and killing a few variables; and replacing some
"else if" constructs with switches.
Stepping over to JDBC for a moment, Barry Lind and Dave Cramer were
both busy this week helping folks out with bugs and patches. Shawn Green
fixed a problem where information from previous updates was leaking into
subsequent updates. A patch from Peter Royal added a DISTINCT to the
query used to get cross references. This is required when two column in
a table are both foreign keys to another table. There was also a bug
fix for reading acls, making sure null acl meant that table owner has
full privileges. And lets not forget the patch from Csaba Nagy put in to
notify listeners on error.
On the windows development front, a new "win" port was added to
differentiate from "cygwin". The idea is that this now allows you to
configure under native Windows (MinGW), though it doesn't fully work as
of yet, but still progress is progress. Speaking of progress, Bruce
Momjian, who is working on integrating Jan Wieck's native windows patch,
added a PQfreemem() call for Win32.
All right, I know your all amazed at what's been mentioned so far, but
don't stop reading yet because there's still a nice set of enhancements
and features I need to cover, and you don't want to miss it. Lets start
with the new "library pre-loading" feature added in by Joe Conway. The
idea is to allow various libraries to be preloaded into child processes
before they are actually needed. This helps in areas such as procedural
languages which need to load external libraries. For example, Joe posted
that this reduced the first call to a PL/R function from 2 seconds down
to about 8ms. The functionality does have a few downsides (like extra
memory used that may not be needed) so the whole thing will be
controlled by a GUC variable. Joe also added in an enhancement for
contrib/tablefunc. It implements a new hashed version of crosstab that
fixes a major deficiency in real-world use of the original version.
Speaking of enhancements, Greg Mullane's patch for pg_ctl was committed.
It added some intellegence so that pg_dump's internal psql -l call would
try to determine the proper port to be connecting on. It looks first at
the PGPORT variable, then inside the postgresql.conf, then at the
compiled port until it finds a match. Pg_dump also saw an enhancement,
this from Christopher Kings-Lynne. His changes allow pg_dump to capture
some statistics information, to help keep this data after upgrade.
Another change to pg_dump came from Oliver Elphick, fixing an issue with
datestyles. In the past dates in a dump defaulted to what was specified
by the default datestyle, however they wouldn't always be portable
between installations. Instead datestyles are now dumped as ISO style,
which is restorable into any other datestyle.
Some new functions added into the back end include pg_get_triggerdef
(from Christoper K-L) and a hostmask() function from Greg Wickham. Alvo
Herrera added support for ALTER TABLE <table> CLUSTER ON <index>, and
was able to simplify the clusterdb script. Information Schema also got a
boost from Rod Taylor, creating a domain view, a domain_constraints
view, and adding domain check constraints to the check_constraints
view. Kevin Brown also worked out allowing users to view their own
pg_stat_activity while others users queries remain blank.
And for those using the functionality of btree_gist, it now supports
int2 thanks to Janko Richter. And last, but not least, in the new
features department, a really positive sign that a much desired feature
will soon be added; a pg_autovacuum directory was added into contrib.
There is a TODO item with a few items on it, but the code available
right now is a very promising start to something a lot of people have
Ok, just a few more notes and then I'll let you all go. Peter
Eisentraut has been doing a lot of doc cleanup the last few weeks, and
this week was no different. Most of his fixes have been toward making
both content and presentation look more consistent, but this week he
also committing in some major structural changes to the documentation.
The basic idea was to merge the three books (users, developers,
administrators guides) into one book; a complete "PostgreSQL Manual" if
you will. It's available in CVS, if your interested in looking at it you
can build a web version of it by using "make html". Oh, and one last
note for those of you building from CVS that may not have heard, some
enhancements to plpgsql have uncovered a bug in bison 1.75, so CVS
compilers now need to use bison 1.875. Thats it for now; till next week
remember, it's all relational.
== PostgreSQL Product News ==
phpPgAdmin 3.0.0-dev-2 released
Database Design Studio - Lite (DDS-Lite) 2.10.0
PostgreSQL Table Log 0.1.0
PostgreSQL Cocoa Framework 0.3d1
tcap initial release
== PostgreSQL In the News ==
PeerDirect Announces Retail Ramp-up Program
Windows and Open Source: Perfect Together?
== Upcoming Events ==
Novell BrainShare: Salt Lake City, Utah: April 13-18
A PostgreSQL session including install, configure, administration, and
interfacing with PHP
Open Source Conference: Portland, Oregon: July 7-11
A PostgreSQL track will be available at this years conference.
== PostgreSQL Weekly News - March 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:
pgsql-announce by date
|Next:||From: Robert Treat||Date: 2003-04-02 17:06:50|
|Subject: PostgreSQL Weekly News - April 2nd 2003|
|Previous:||From: David Wheeler||Date: 2003-03-23 21:31:19|
|Subject: ANNOUNCE: Bricolage-Devel 1.5.1|