|Тема:||== PostgreSQL Weekly News - April 08 2007 ==|
(см: обсуждение, исходный текст)
== PostgreSQL Weekly News - April 08 2007 == Now that feature freeze has frozen, new revisions are getting discussed in a lively fashion. Kudos to Tom Dunstan for the new enum types. == PostgreSQL Product News == Another PostgreSQL Diff Tool 1.0.0_beta20 released. http://pgfoundry.org/projects/apgdiff/ GNUmed 0.2.5 released http://wiki.gnumed.de LedgerSMB 1.2.0 released. http://www.ledgersmb.org/ pgAdmin packages for Solaris available http://www.pgadmin.org/download/solaris.php == PostgreSQL Local == Get on the Road to PgDay! http://www.pgday.it/en/node/95 Registration is open for PGCon 2007 http://www.pgcon.org/2007/registration.php == PostgreSQL in the News == Josh Berkus, David Fetter, Euler Taveira de Oliveira, Fernando Ike de Olivera, and Fabio Telles will be speaking at FISL 8.0 in Porto Alegre, RS, Brazil April 12-14 Planet PostgreSQL: http://www.planetpostgresql.org/ General Bits, Archives and occasional new articles: http://www.varlena.com/GeneralBits/ PostgreSQL Weekly News is brought to you this week by David Fetter To get your submission into the upcoming issue, make sure it arrives at or in German at by Sunday at 3:00pm Pacific Time. == Applied Patches == Neil Conway committed: - Fix a few typos in the docs. Tatsuo Ishii committed: - Add -F option to set fillfactor for tellers, accounts and branches. Patch contributed by Pavan Deolasee. Along with Japanese doc modification by Tatsuo Ishii. - Greg Smith's patch which adds an -l option to add timestamp to pgbench. Japanese doc updates by Tasuo Ishii. - ITAGAKI Takahiro's patch which enhances pgbench in various ways. Andrew Dunstan committed: - In pgsql/src/tools/msvc/vcregress.bat, only run contrib check if there is a Makefile. - In pgsql/src/tools/msvc/vcregress.bat, improve test headings. - In pgsql/src/tools/msvc/Install.pm, don't install files for xml2 when building without libxml. - Check length of enum literals on definition and input to make sure they will fit in a name field and not cause syscache errors. Bruce Momjian committed: - Mark TODO as done: "-Make CLUSTER preserve recently-dead tuples per MVCC requirements." - Mark TODO as done: "Add more logical syntax CLUSTER table USING index" - Holger Schurig's patch to add support for the "CLUSTER table USING index" syntax, which is more logical than the legacy version. - Greg Smith's patch which adds the usage count statistics to the information available in contrib/pgbuffercache. - Slight wording improvement in REVOKE documentation. - Remove example of SQL-standard syntax for GRANT/REVOKE --- was causing confusion. - Mark Fuhr's doc patch correcting the spelling of, "symmetric." Backpatched to 8.2. - Mark TODO as done: "Allow use of indexes to search for NULLs." - Mark TODO as done: "Support a smaller header for short variable-length fields." - Fix some now-obsolete comments about the space used by various data types. - Update XML error message text for missing libxml; update regression output to match. - Add URL for TODO: "Reduce WAL traffic so only modified values are written rather than entire rows." - Improve documentation/warning when --with-libxml is not used in the installation. - Re-add FAQ item 3.7 lost in previous commit. - Marko Kreen's patch which removes last remaining casts inside struct definitions for PL/PythonU. Such usage is bad practice, as it hides problems from compiler. The cast is popular practice in some circles to define functions as foo(MyObj *) instead of foo(PyObject *) thus avoiding a local variable inside functions and make direct calling easier. As PL/PythonU does not use this style, the casts were unnecessary from the start. - Gregory Stark's patch which documents how to identify an invalid index after a failed CREATE INDEX CONCURRENTLY. - Mark TODO as done: "Allow PL/PythonU to return boolean rather than 1/0. - Marko Kreen's patch to allow PL/pythonU >= version 2.3 to return boolean, rather than 1/0. - Marko Kreen's patch to allow PL/PythonU to compile on Python 2.5. Change needed because of API changes in Python. - In pgsql/src/port/thread.c, update comment for new thread_test location. - Update TODO: "Add idle_in_transaction_timeout GUC so locks are not held for long periods of time." - Add to TODO: "Allow all data types to cast to and from TEXT." - Add to TODO: "Add idle_timeout GUC so locks are not held for log periods of time." - Add URL for TODO: "Allow UPDATE tab SET ROW (col, ...) = (SELECT...)." - Add URL for TODO: "Allow commenting of variables in postgresql.conf to restore them to defaults." - Add URL for TODO: "Allow a warm standby system to also allow read-only." - Add URL for TODO: "Improve speed with indexes" - Add to TODO: "Have timestamp subtraction not call justify_hours()?" - Add to TODO: "Allow NOTIFY/LISTEN/UNLISTEN to only take relation names, not schema.relation, because the notify code only honors the relation name. schema.relation will now generate a syntax error." - Add to TODO: "Fix to_date()-related functions to issue errors consistently" - Add to TODO: "Allow PL/PythonU to return boolean rather than 1/0." - Add to TODO: "Consider reducing memory used for shared buffer reference count." - Add URL for TODO: "Allow RETURN to return row or record functions." - Mark TODO as done: "Support a data type with specific enumerated values (ENUM)." - Add to TODO: "Add PQexecf() that allows complex parameter substitution." Magnus Hagander committed: - In pgsql/src/tools/msvc/vcregress.bat, continue running contrib regression tests if one fails, and exit with errorlevel 1 is >= 1 checks failed. - In pgsql/src/tools/msvc/vcregress.bat, make sure list of tests is cleared out before getting the new list of tests. Per Andrew Dunstan. - In pgsql/src/tools/msvc/Install.pm, don't install files for sslinfo when building without openssl. Per Andrew Dunstan. - In pgsql/src/tools/msvc/Install.pm, xcopy can only deal with forward-slashed paths when it's quoted - needed for "vcregress check" to work. Per report from Dave Page. Teodor Sigaev committed: - Fix caching of unsuccessful initialization of parser or configuration per report from the folks at peufeu.com. Backpatched to 7.4. Tom Lane committed: - Minor editorialization on CLUSTER reference page. - Heikki Linnakangas' patch to make CLUSTER MVCC-safe. - In pgsql/doc/src/sgml/ref/truncate.sgml, add note that TRUNCATE is not MVCC-safe. - Don't remove the 'alias' field from flattened rangetable entries; there are some corner cases where this is needed by ruleutils.c for proper display of variables during EXPLAIN. - Make 'col IS NULL' clauses be indexable conditions. Teodor Sigaev, with some kibitzing from Tom Lane. - Now that core functionality is depending on autoconf's AC_C_BIGENDIAN to be right, there seems precious little reason to have a pile of hand-maintained endianness definitions in src/include/port/*.h. Get rid of those, and make the couple of places that used them depend on WORDS_BIGENDIAN instead. - Support varlena fields with single-byte headers and unaligned storage. This commit breaks any code that assumes that the mere act of forming a tuple (without writing it to disk) does not "toast" any fields. While all available regression tests pass, I'm not totally sure that we've fixed every nook and cranny, especially in contrib. Greg Stark with some help from Tom Lane. - Remove the CheckpointStartLock in favor of having backends show whether they are in their commit critical sections via flags in the ProcArray. Checkpoint can watch the ProcArray to determine when it's safe to proceed. This is a considerably better solution to the original problem of race conditions between checkpoint and transaction commit: it speeds up commit, since there's one less lock to fool with, and it prevents the problem of checkpoint being delayed indefinitely when there's a constant flow of commits. Heikki Linnakangas, with some kibitzing from Tom. - Decouple the values of TOAST_TUPLE_THRESHOLD and TOAST_MAX_CHUNK_SIZE. Add the latter to the values checked in pg_control, since it can't be changed without invalidating toast table content. This commit in itself shouldn't change any behavior, but it lays some necessary groundwork for experimentation with these toast-control numbers. Note: while TOAST_TUPLE_THRESHOLD can now be changed without initdb, some thought still needs to be given to needs_toast_table() in toasting.c before unleashing random changes. - Fix check_sql_fn_retval to allow the case where a SQL function declared to return void ends with a SELECT, if that SELECT has a single result that is also of type void. Without this, it's hard to write a void function that calls another void function. Per gripe from Peter Eisentraut. Back-patch as far as 8.0. - Support enum data types. Along the way, use macros for the values of pg_type.typtype whereever practical. Tom Dunstan, with some kibitzing from Tom Lane. Peter Eisentraut committed: - Update catversion for new XML mapping functions. - Update SQL conformance for SQL to XML mappings. - Mapping schemas and databases to XML and XML Schema. Refactor and document the remaining mapping code. - In pgsql/src/interfaces/ecpg/preproc/Makefile, complete cleaning. == Rejected Patches (for now) == Zdenek Kotala's patch to add large file support on grounds of lack of use cases. == Pending Patches == Greg Smith sent in a patch which puts entries in the log file around some backend events that regularly cause client pauses, most of which are visible only when running with log_min_messages = debug2. Simon Riggs sent in another version of his "Deferred Transactions, Transaction Guarantee and COMMIT without waiting" patch. David Fetter sent in a patch to implement arrays of compound types. Pavan Deolasee sent in versions 6.3 and 7.0 of his WIP HOT patch. Marko Kreen sent in two more revisions of his RESET SESSION patch. Heikki Linnakangas sent in two revisions of a patch intended to fix the mdsync never-ending loop problem mentioned at http://archives.postgresql.org/pgsql-hackers/2007-04/msg00259.php Alvaro Herrera sent in another revision of his autovacuum multiworkers patch. Simon Riggs sent in a comprehensive Reviewers Guide to Deferred Transactions/Transaction Guarantee, complete with the latest version of the "grouped transactions" patch. Simon Riggs sent in some changes to warm standby.