---

PostgreSQL Weekly News – March 26, 2003

[ Thanks to Robert Treat for this
link. ]

== 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…?

Let’s 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 to work.

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_ctl’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
CLUSTER ON, 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 wished
for.

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
http://sourceforge.net/forum/forum.php?forum_id=262861

Database Design Studio – Lite (DDS-Lite) 2.10.0
http://www.databasejournal.com/news/article.php/2148711

PostgreSQL Table Log 0.1.0
http://freshmeat.net/releases/117329/

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

tcap initial release

http://gborg.postgresql.org/project/tcap/news/newsfull.php?news_id=104

== PostgreSQL In the News ==

PeerDirect Announces Retail Ramp-up Program
http://biz.yahoo.com/bw/030324/245357_1.html

Windows and Open Source: Perfect Together?
http://www.newsfactor.com/perl/story/21058.html

== Upcoming Events ==

Novell BrainShare: Salt Lake City, Utah: April 13-18 A
PostgreSQL session including install, configure, administration,
and interfacing with PHP
http://www.novell.com/brainshare

Open Source Conference: Portland, Oregon: July 7-11 A PostgreSQL
track will be available at this years conference. http://conferences.oreillynet.com/os2003

== 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:
http://www.postgresql.org
http://advocacy.postgresql.org

Get the Free Newsletter!

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