Par SAS le 04/04/2007 - 18:13
Nouvelles hebdomadaires de PostgreSQL - 31 mars 2007
Comme toujours avant de figer les fonctionnalités, le flot de correctifs et de discussions les accompagnant se poursuit.
Les nouveautés des produits dérivés
Les jobs PostgreSQL de mars
http://archives.postgresql.org/pgsql-jobs/2007-03/threads.php
PostgreSQL Local
Les enregistrements sont ouverts pour PGCon 2007
http://www.pgcon.org/2007/registration.php
PostgreSQL dans les média
PostgreSQL Weekly News vous est présenté cette semaine par David Fetter.
Adaptation francophone de Stéphane Schildknecht, Guillaume de Rorthais, Cédric Villemain et Elisabeth Lenoir.
Vos propositions d'informations doivent parvenir avant dimanche minuit à david@fetter.org. Les propositions en allemand peuvent être envoyées à pwn@pgug.de.
Correctifs appliqués
Michael Meskes a commité :
-
Magnus Hagander's patch to use native win32 threads, and fixed regression tests to run threading tests.
Neil Conway a commité :
-
Jeremy Drake's code cleanup for the new regexp UDFs: we can hardcode the OID and some properties of the "text" type, and then simplify the code accordingly ;
-
Marko Kreen's patch which replaces blf.[ch], which were under the four-clause BSD license, with the blowfish implementation from PuTTY, which is under a minimal BSD/MIT license.
Magnus Hagander a commité :
-
Add some instrumentation to the bgwriter, through the stats collector. New view pg_stat_bgwriter, and the functions required to build it ;
-
In pgsql/src/tools/msvc/Install.pm, install include files ;
-
Make ECPG regression tests use native threading instead of pthreads, now that ecpglib supports it. Change configure (patch from Bruce) and msvc build system to no longer require pthreads on win32, since all parts of postgresql can be thread-safe using the native platform functions ;
-
ITAGAKI Takahiro's fix for compiler warnings in ereport messages on mingw ;
-
Install import libraries used to link to libpq, ecpg and the backend.
Alvaro Herrera a commité :
-
Add the "recheck" logic to autovacuum worker code. The worker first builds its table list and then rechecks pgstat before vacuuming each table to verify that no one has vacuumed the table in the meantime. In the current autovacuum world this only means that a worker will not vacuum a table that a user has vacuumed manually after the worker started. When support for multiple autovacuum workers is introduced, this will reduce the probability of simultaneous workers on the same database doing redundant work ;
-
Cosmetic changes: rename some struct fields, and move the fetching of pgstat table entries to a separate routine. Don't pass the pgstat database entry to do_autovacuum; rather, have it fetch it by itself.
Bruce Momjian a commité :
- La mise à jour de la description SSL dans le cas où le fichier SSL root.crt/server.crt est nécessaire; Ajout d'un lien à "libpq SSL" à faire à partir des documents du serveur. Backpatch de 8.2.X ;
- La mise à jour de Jun Kuwamura dans la FAQ Japonaise ;
- Le patch de ITAGAKI Takahiro qui prend en compte le fait que "pg_char_to_encoding()" est redondant dans "initdb" car "pg_valid_server_encoding()" retourne le même résultat si l'encodage est valide;
- L'ajout à TODO : "Réduire la taille de stockage pour les petits NUMERIC."
- La mise à jour de TODO: "Ajouter plus de syntaxe logique à [CLUSTER table USING index];"
- Ajouter l'URL à TODO: "Création automatique de règles sur des vues pour qu'elles soient modifiables, grâce à SQL99."
- Enlever de TODO du fait de son manque d'intérêt : "Ajouter pg_get_acldef(), pg_get_typedefault(), pg_get_attrdef(), pg_get_tabledef(), pg_get_domaindef(), pg_get_functiondef()."
- Ajouter à TODO: "Permettre ma configuration des priorités principales à partir du système d'exploitation."
- Le patch de Marko Kreen pour fixer une typo dans Makefile ;
- L'ajout de documentation pour extraire la référence CVS en utilisant rsync, et mentionner cvsup plus tard;
- La mise à jour de TODO: "Amélioration de la détection des racines mortes lors de l'utilisation de transactions multi-instructions."
- L'ajout à TODO: "augmenter le nombre de racines considérées comme mortes dans les transactions multi-instructions."
- Enlever le copyright "Andrew Yu", Avec la permission de l'auteur ;
- Enlever la clause publicitaire des fichiers sous licence "Berkeley BSD", sur une demande de Berkeley ;
- Fixer correctement "PORTNAME" dans la configuration ;
- "Utiliser PORTNAME" pour les test "Win32", plutôt que "$template", pour la cohérence.
Tom Lane a commité :
-
Fix oversight in coding of _bt_start_vacuum: we can't assume that the LWLock will be released by transaction abort before _bt_end_vacuum gets called. If either of these "can't happen" errors actually happened, we'd freeze up trying to acquire an already-held lock. Latest word is that this does not explain Martin Pitt's trouble report, but it still looks like a bug ;
-
exec_parse_message neglected to copy parameter type array into the required memory context when handling client-specified parameter types for an unnamed statement. Per report from Kris Jurka ;
-
Simon Riggs's patch which teaches CLUSTER to skip writing WAL if not needed (ie, not using archiving) and Tom's code review and cleanup for the previous COPY-no-WAL patches
-
Remove assertion that constraint_exclusion risks wrong answers if table constraints are changed; this is no longer true now that we have a plan invalidation mechanism ;
-
In pgsql/contrib/tsearch2/dict_syn.c, fix uninitialized-variable bug ;
-
Fix array coercion expressions to ensure that the correct volatility is seen by code inspecting the expression. The best way to do this seems to be to drop the original representation as a function invocation, and instead make a special expression node type that represents applying the element-type coercion function to each array element. In this way the element function is exposed and will be checked for volatility. Per report from Guillaume Smet ;
-
In pgsql/src/interfaces/ecpg/preproc/preproc.y, fix typo, ensable -> enable, per Steve Gieseking ;
-
Fix seriously broken markup for libpq-envars cross-references ;
-
Allow non-superuser database owners to create procedural languages. A DBA is allowed to create a language in his database if it's marked "tmpldbacreate" in pg_pltemplate. The factory default is that this is set for all standard trusted languages, but of course a superuser may adjust the settings. In service of this, add the long-foreseen owner column to pg_language; renaming, dropping, and altering owner of a PL now follow normal ownership rules instead of being superuser-only. Jeremy Drake, with some editorialization by Tom Lane.
Teodor Sigaev a commité :
-
Add check for end-of-line in parsing stopword lists. Thanks to sharp eyes of Tom Lane ;
-
Fix stopword and synonym files parsing bug in MSVC build, per report from Magnus Hagander. It now ignores the space symbol after stopwords.
Tatsuo Ishii a commité :
-
Fix pg_wchar_table's maxmblen field of EUC_CN, EUC_TW, MULE_INTERNAL and GB18030. Patches from ITAGAKI Takahiro. Back-patched to 7.3.
Correctifs rejetés (à ce jour)
-
Arul Shaji's patch implementing pg_get_domaindef(). It's no longer a TODO due to the maintenance effort of code duplication.
Correctifs en attente
-
Gregory Stark a envoyé une nouvelle version de sa rustine "Packed Varlena" qui prend en compte les changements Kerberos et corrige un bug dans indextuple ;
-
Tom Dunstan a envoyé une version mise à jour de sa rustine pour enum ;
-
Koichi Suzuki a envoyé une mise-à -jour de sa rustine pour améliorer les écritures complètes de pages ;
-
ITAGAKI Takahiro a envoyé un correctif pour nettoyer initdb et win32_shmem ;
-
Gregory Stark a envoyé un correctif pour WIP qui implante un buffer circulaire dans "tuplestore" qui jette les vieux tuples puisqu'ils ne sont plus nécessaires ;
-
Marko Kreen a envoyé un correctif dans le but d'aider à nettoyer les connexions avec la commande DEALLOCATE ALL ;
-
Holger Schurig a envoyé 4 nouvelles révisions de sa rustine qui ajoute une nouvelle variante de la commande CLUSTER : "CLUSTER [table] ORDER BY [index]"
-
Gregory Stark a envoyé la quatrième révision de sa rustine pour les psql concurrents ;
-
Alvaro Herrera a envoyé un nouveau correctif qui ajoute quelques infrastructures pour permettre à autovacuum d'avoir plusieurs instances ;
-
Pavel Stehule a envoyé une mise-à -jour de sa rustine : "scrollable cursor" ;
-
Jeremy Drake a envoyé une nouvelle version de sa routine pour les regexp qui retire le dernier bit de fcinfo ;
-
Pavel Stehule a envoyé une rustine pour implémenter SQL/PSM comme un PL ;
-
Magnus Hagander a envoyé une autre version de sa rustine pour les stats de bgwriter ;
-
Teodor Sigaev a envoyé la version 43 de sa rustine pour inclure tsearch2 dans le core ;
-
Nikhil S a envoyé une rustine WIP dont le but est d'aider le partitionnement automatique, ajoutant une clause PARTITION BY à CREATE TABLE ;
-
ITAGAKI Takahiro a envoyé une rustine qui accelère LIKE avec les encodages sur plusieurs octets ;
-
ITAGAKI Takahiro a envoyé une nouvelle version de sa rustine sur la carte de l'espace mort ;
-
Marko Kreen a envoyé une rustine pour WIP pour implémenter RESET SESSION ;
-
Teodor Sigaev a envoyé un correctif basé sur le travail de Martijn van Oosterhout pour autoriser l'indexation des valeurs NULL, cette fois en autorisant GiST ;
-
Arul Shaji a envoyé deux nouvelles révisions de sa rustine pour rendre COPY-able la sortie dans le journal sql ;
-
Arul Shaji a envoyé un correctif pour poubvoir mettre à jour les curseurs ;
-
Henry B. Hotz a envoyé des correctifs préliminaires pour ajouter le supprot GSSAPI ;
-
Greg Smith a envoyé un corectif qui change la facon qu'a pgbench de sortir ses journaux sur la latence de facon à ce que chaque transaction ai un timestamp et que le type de la transaction exécutée soit noté ;
-
Greg Smith a envoyé une rustine qui ajoute l'utilisation de 'count statistic' aux informations disponibles dans contrib/pgbuffercache ;
Gregory Stark sent in a WIP patch which implements a circular buffer in tuplestore which drops old tuples as they're no longer needed ;
Marko Kreen sent in a patch intended to help clean up connections with a command DEALLOCATE ALL ;
Holger Schurig sent in four revisions of a patch which adds a new variant of the CLUSTER command: "CLUSTER [table] ORDER BY [index]"
Gregory Stark sent in a fourth revision of his concurrent psql patch ;
Alvaro Herrera sent in another patch which puts some infrasctructure in to enable autovacuum to have multiple workers ;
Pavel Stehule sent in an updated version of his scrollable cursor patch ;
Jeremy Drake sent in a new version of his regexp patch which removes the last bits of fcinfo ;
Pavel Stehule sent in a patch to implement SQL/PSM as a PL ;
Magnus Hagander sent in another version of his bgwriter stats patch ;
Teodor Sigaev sent in version 43 of his patch to include tsearch2 in the core ;
Nikhil S sent in a WIP patch intend to help with automatic partitioning, adding a PARTITION BY clause to CREATE TABLE ;
ITAGAKI Takahiro sent in a patch intended to speed up LIKE in multi-byte encodings ;
ITAGAKI Takahiro sent in another revision of his Dead Space Map patch ;
Marko Kreen sent in a WIP patch to implement RESET SESSION ;
Teodor Sigaev sent in a patch per Martijn van Oosterhout's work to allow indexing NULLs, this time enabling GiST ;
Arul Shaji sent in two more revisions of his patch to make COPY-able sql log output ;
Arul Shaji sent in a patch to make cursors updateable ;
Henry B. Hotz sent in preliminary patches to add GSSAPI support ;
Greg Smith sent in a patch which changes the way pgbench outputs its latency log files so that every transaction gets a timestamp and notes which transaction type was executed ;
Greg Smith sent in a patch to add usage count statistic to the information available in contrib/pgbuffercache ;