Par N Bougain le 19/08/2007 - 00:05
Nouvelles hebdomadaires de PostgreSQL - 12 Août 2007
Pour avoir rendu possibles les participations très professionnelles de la LinuxWorldExpo et de l'OSCON, le fond de soutien à PostgreSQL chez SPI tient à remercier les sponsors industriels suivants : Continuent, Open Technology Group, Truviso, CommandPrompt, EnterpriseDB et Once Technologies.
Les nouveautés des produits dérivés
Offres d'emplois autour de PostgreSQL en août
http://archives.postgresql.org/pgsql-jobs/2007-08/threads.php
PostgreSQL Local
PostgreSQL dans les média
PostgreSQL Weekly News / les nouvelles hebdomadaires vous sont offertes cette semaine par David Fetter et Josh Berkus.
Proposez vos articles ou annonces avant dimanche 15:00 (heure du Pacifique). Envoyez-les en anglais à david (a) fetter.org et en allemand à pwn (a) pgug.de.
Applied Patches
Neil Conway a commité :
- Fix a gradual memory leak in ExecReScanAgg(). Because the aggregation hash table is allocated in a child context of the agg node's memory context, MemoryContextReset() will reset but *not* delete the child context. Since ExecReScanAgg() proceeds to build a new hash table from scratch (in a new sub-context), this results in leaking the header for the previous memory context. Therefore, use MemoryContextResetAndDeleteChildren() instead. Credit: My colleague Sailesh Krishnamurthy at Truviso for isolating the cause of the leak.
- Adjust the output of MemoryContextStats() so that the stats for a child memory contexts is indented two spaces to the right of its parent context. This should make it easier to deduce the memory context hierarchy from the output of MemoryContextStats().
Magnus Hagander a commité :
- In pgsql/doc/src/sgml/cvs.sgml, fix incorrect URI for cvs rsync
Tom Lane a commité :
- Avoid memory leakage across successive calls of regexp_matches() or regexp_split_to_table() within a single query. This is only a partial solution, as it turns out that with enough matches per string these functions can also tickle a repalloc() misbehavior. But fixing that is a topic for a separate patch.
- Code review for regexp_matches/regexp_split patch. Refactor to avoid assuming that cached compiled patterns will still be there when the function is next called. Clean up looping logic, thereby fixing bug identified by Pavel Stehule. Share setup code between the two functions, add some comments, and avoid risky mixing of int and size_t variables. Clean up the documentation a tad, and accept all the flag characters mentioned in table 9-19 rather than just a subset.
- Fix uninitialized-memory bug in plpython proargnames patch. Per bug #3523
- Fix unintended change of output format for createlang/droplang -l. Missed these uses of printQuery() in FETCH_COUNT patch a year ago :-(. Per report from Tomoaki Sato.
- Fix search for SGML stylesheets to include the place where Gentoo keeps them. Brendan Jurd
- Revise postmaster startup/shutdown logic to eliminate the problem that a constant flow of new connection requests could prevent the postmaster from completing a shutdown or crash restart. This is done by labeling child processes that are "dead ends", that is, we know that they were launched only to tell a client that it can't connect. These processes are managed separately so that they don't confuse us into thinking that we can't advance to the next stage of a shutdown or restart sequence, until the very end where we must wait for them to drain out so we can delete the shmem segment. Per discussion of a misbehavior reported by Keaton Adams. Since this code was baroque already, and my first attempt at fixing the problem made it entirely impenetrable, I took the opportunity to rewrite it in a state-machine style. That eliminates some duplicated code sections and hopefully makes everything a bit clearer.
- Fix thinko in multi-autovac-workers code: validity checks made by GUC assign hooks are supposed to be made whether doit is true or not.
- Fix pg_restore to guard against unexpected EOF while reading an archive file. Per report and partial patch from Chad Wagner.
- Adjust configure so that it sets CFLAGS properly for Intel's icc even if the compiler is not defining __GNUC__. Per report from Dirk Tilger that it is possible for icc to not do that.
- In pgsql/src/include/storage/s_lock.h, apparently icc doesn't always define __ICC, and it's more correct to check for __INTEL_COMPILER. Per report from Dirk Tilger. Not back-patched since I don't fully trust it yet ...