|| ||David Fetter <david-AT-fetter.org>|
|| ||PostgreSQL Announce <pgsql-announce-AT-postgresql.org>|
|| ||[ANNOUNCE] == PostgreSQL Weekly News - February 25 2007 ==|
|| ||Sun, 25 Feb 2007 22:40:35 -0800|
== PostgreSQL Weekly News - February 25 2007 ==
The PostgreSQL fund at SPI this month funded David Fetter's travel to
Consili in Brazil where he delivered a conference keynote, and Neil
Conway's next two months of patch review work for PostgreSQL 8.3.
A Lively Discussion(TM) is going on on -hackers on the subject of
source code management.
The Seventh Framework Programme (FP7) is open for proposals. EU
PostgreSQL organizations, consider sending in a proposal :)
You can now use search.postgresql.org as a firefox search box plugin.
== PostgreSQL Product News ==
Cybertek of Austria has announced a synchronous multi-master
replication product for PostgreSQL.
PGCluster-1.5.0rc15 and 1.7.0rc4 released.
== PostgreSQL Jobs for February ==
== PostgreSQL Local ==
There will be a PostgreSQL booth at CLT on March 3 and 4 in Chemnitz,
Germany. Some of the usual suspects from the German-speaking PostgreSQL
communities will be there. Contact firstname.lastname@example.org to participate.
The Italian PostgreSQL community is looking for sponsors for its
PostgreSQL day in Prato, Italy this summer. Check the link below
== PostgreSQL in the News ==
Microsoft Technet publishes PostgreSQL HOWTO:
OmniTI case study published:
Planet PostgreSQL: http://www.planetpostgresql.org/
General Bits, Archives and occasional new articles:
PostgreSQL Weekly News is brought to you this week by David Fetter,
Josh Berkus and Devrim GUNDUZ.
To get your submission into the upcoming issue, get it to
email@example.com by Sunday at 3:00pm Pacific Time.
== Applied Patches ==
Andrew Dunstan committed:
- Allow pltcl args to spi_prepare and plpython args to plpy.prepare to
be standard type aliases as well as those known in pg_type. Similar
to recent change in plperl.
Peter Eisentraut committed:
- Bernd Helmle's patch which identifies the schema of inherited tables
in psql \d when necessary.
- Add missing OIDs from xml support to pg_proc, bump catversion.
Bruce Momjian committed:
- Move test for BLCKSZ < 1024 to guc.c.
- Spelling fix in Solaris FAQ.
- Update Solaris FAQ per Peter Eisentraut.
- Updated FAQ on upgrading.
- Zdenek Kotala's patch to the Solaris FAQ.
- Chad Wagner's patch to psql which adds \prompt capability.
- Remove extra tab from pgsql/doc/src/sgml/ref/psql-ref.sgml.
- Remove tabs from SGML reference files so their addition can be
detected in the future.
- Update message wording in FAQ.
- Update new optional VACUUM FULL hint for translations, per Alvaro
- Simon Riggs's patch which moves increase FSM warning to after
lazy_truncate_heap() because the function might reduce the number of
free pages in the table. Recommend VACUUM FULL only if 20% free.
- Heikki Linnakangas's patch to clean up the btree source code.
- Update FAQ about minor updates.
- Jun Kuwamura's update to the Japanese FAQ.
- Update URL in German FAQ for bug form, per Schima, Fabian
- Daojing Zhou's update of the Chinese FAQs to have two versions, a
traditional Chinese version (Taiwan) and a Simplified version (China
(PRC)). Backpatch to 8.2.X.
- Update minor release text in FAQ.
- Add configure --enable-profiling to enable GCC profiling. Patches
from Korry Douglas and Nikhil S
- Update upgrade text in FAQ.
- Update URL for set-returning functions in FAQ.
- Add URL for "Allow row and record variables to be set to NULL
constants, and allow NULL tests on such variables" in the TODO list.
- Prevent BLCKSZ < 1024, and have initdb test shared buffers based on
the BLCKSZ value.
- Add to TODO: "Consider decreasing the amount of memory used by
- Fix markup in pgsql/doc/src/sgml/information_schema.sgml.
- Change $(CC) to $(COMPILER) on Solaris gcc so -m64 is passed into
the shared link line.
- Add to TODO: "Increase locking when DROPing objects so dependent
objects cannot get dropped while the DROP operation is happening."
- Add URL for "Allow UPDATE/DELETE WHERE CURRENT OF cursor" in TODO
- Add to TODO: "Add missing operators for geometric data types. Some
geometric types do not have the full suite of geometric operators,
e.g. box @> point."
- Update "encode" documentation to mention that 'escape' only changes
null bytes and backslashes, remove "ASCII" mention. Backpatch to
- Update pgpass Win32 wording.
- Update information_schema documentation to match system tables.
Backpatch to 8.2.X.
- Improve wording on Julian dates in pgsql/doc/src/sgml/func.sgml.
- More clearly document that most PostgreSQL utilities support libpq
environment variables. Backpatch to 8.2.X.
- Remove from TODO for Win32: "Check .pgpass file permissions." It is
- In pgsql/src/interfaces/libpq/fe-connect.c, add comment that on
Win32, we don't need to check the .pgpass file permission, per
- Add to TODO for Win32: "Check .pgpass file permissions."
- Update array slice documentation to be clearer.
- Add to TODO: "Fix IS OF so it matches the ISO specification, and add
- Comment-out documentation for IS OF because it doesn't conform to
the ISO SQL behavior. Backpatch removal to 8.2.X.
- Remove TODO item: "ARRAY[[1,2],[3,4]]) should return the same
values as ARRAY[[1,2],[3,4]])[1:1]." It actually shouldn't.
- Add text about Makefile.custom to FAQ_DEV.
- Document that to_char('J'/Julian) is midnight-based, per report that
Julian technically is noon to noon.
- Improve wording in isodow documentation.
- Update PQfree() documentation to be clearer, backpatch to 8.2.X.
- Add to TODO: "Allow user configuration of TOAST thresholds."
- Add newlines to TODO.
- Add to TODO: "Allow UPDATEs on only non-referential integrity
columns not to conflict with referential integrity locks."
- Add to TODO: "Allow INSERT/UPDATE ... RETURNING inside a SELECT
- Clarify documentation that initdb -A or editing pg_hba.conf is
required if you do not trust local users.
- Clarify documentation for "day of the week" handling for to_char()
- Mark TODO as done: "Add ISO day of week format 'ID' to to_char()
where Monday = 1."
- Add "isodow" option to EXTRACT() and date_part() where Sunday = 7.
- Mark TODO as done: "Add a field 'isoyear' to extract(), based on the
- Mark TODO as done: "Add long file support for binary pg_dump
Magnus Hagander committed:
- In pgsql/src/tools/msvc/Solution.pm, revert changes to process
pg_proc.h entries without OIDs. We're not supposed to have such
entries, and want to be notified when we do... Leave the plain
bug fix in genbki.
- Fix pg_dump on Win32 so that it properly dumps files larger than 2GB
when using binary dump formats.
- Parse pg_proc.h with entries without OIDs for the MSVC build.
Tom Lane committed:
- Update 7.x variant horology files to match the new US DST rules. It
seems likely that anyone wanting to run the regression tests in the
future will have up-to-date system timezone files, so this is more
likely to work than the old contents.
- Put back copyObject() call I removed in a fit of brain fade. This
one is still needed despite cleanups in setrefs.c, because the point
is to let the inserted Result node compute a different tlist than
its input node does. Per example from Jeremy Drake.
- Now that plans have flat rangetable lists, it's a lot easier to get
EXPLAIN to drill down into subplan targetlists to print the referent
expression for an OUTER or INNER var in an upper plan node. Hence,
make it do that always, and banish the old hack of showing
"?columnN?" when things got too complicated. Along the way, fix an
EXPLAIN bug I introduced by suppressing subqueries from
execution-time range tables: get_name_for_var_field() assumed it
could look at rte->subquery to find out the real type of a RECORD
var. That doesn't work anymore, but instead we can look at the
input plan of the SubqueryScan plan node.
- Change Agg and Group nodes so that Vars contained in their
targetlists and quals have varno OUTER, rather than zero, to
indicate a reference to an output of their lefttree subplan. This
is consistent with the way that every other upper-level node type
does it, and allows some simplifications in setrefs.c and EXPLAIN.
- Fix bug I introduced in recent patch to make hash joins discard null
tuples immediately: ExecHashGetHashValue failed to restore the
caller's memory context before taking the failure exit.
- Turn the rangetable used by the executor into a flat list, and avoid
storing useless substructure for its RangeTblEntry nodes. (I chose
to keep using the same struct node type and just zero out the link
fields for unneeded info, rather than making a separate
ExecRangeTblEntry type --- it seemed too fragile to have two
different rangetable representations.) Along the way, put subplans
into a list in the toplevel PlannedStmt node, and have SubPlan nodes
refer to them by list index instead of direct pointers. Vadim
wanted to do that years ago, but I never understood what he was on
about until now. It makes things a *whole* lot more robust, because
we can stop worrying about duplicate processing of subplans during
expression tree traversals. That's been a constant source of bugs,
and it's finally gone. There are some consequent simplifications
yet to be made, like not using a separate EState for subplans in the
executor, but I'll tackle that later.
- Adjust user-facing documentation to explain why we don't check
pgpass file permissions on Windows.
- Remove the Query structure from the executor's API. This allows us
to stop storing mostly-redundant Query trees in prepared statements,
portals, etc. To replace Query, a new node type called PlannedStmt
is inserted by the planner at the top of a completed plan tree; this
carries just the fields of Query that are still needed at runtime.
The statement lists kept in portals etc. now consist of intermixed
PlannedStmt and bare utility-statement nodes --- no Query. This
incidentally allows us to remove some fields from Query and Plan
nodes that shouldn't have been there in the first place. Still to
do: simplify the execution-time range table; at the moment the range
table passed to the executor still contains Query trees for
subqueries. initdb forced due to change of stored rules.
- Get rid of some old and crufty global variables in the planner.
When this code was last gone over, there wasn't really any
alternative to globals because we didn't have the PlannerInfo struct
being passed all through the planner code. Now that we do, we can
restructure things to avoid non-reentrancy. I'm fooling with this
because otherwise I'd have had to add another global variable for
the planned compact range table list.
== Rejected Patches (for now) ==
Mateo Beccati's patch which gets PostgreSQL to compile on Irix 6.5,
but the patch would break most Linux machines.
== Pending Patches ==
Zoltan Boszormenyi sent in two more iterations of his
Pavan Deolasee sent in two more versions of his work-in-progress HOT
Gregory Stark sent in a patch to shorten varlena headers.
Guillaume Smet sent in a first implementation of GIN for pg_trgm.
Nikolay Samokhvalov sent in a patch to implement xpath_array with
Darcy Buskermolen sent in a patch which provides for logging in the
event that -k is unable to clean up an old WAL file and makes the
"failed to remove file" error message consistent for the trigger file.
Greg Sabino Mullane sent in a documentation patch which warns about
some strange behavior in LISTEN/NOTIFY.
Pavel Stehule sent in a patch to add timestamp support for XSD-type
Simon Riggs sent in another version of his patch to avoid deadlocks in
Joachim Wieland sent in a patch which makes GUC values fall back to
their default values when they got removed (or commented) from the
Kris Jurka sent in a patch which implements lo_truncate for truncating
large objects to a given length. This is required for implementing
Blob.truncate in the JDBC driver and rounds out filesystem like
functionality for large objects.
Simon Riggs sent a bug fix for his recent optimization of
---------------------------(end of broadcast)---------------------------
-To unsubscribe from this list, send an email to:
to post comments)