== PostgreSQL Weekly News - November 30 2008 == - Mailing list pgsql-announce
From | David Fetter |
---|---|
Subject | == PostgreSQL Weekly News - November 30 2008 == |
Date | |
Msg-id | 20081201044616.GA7614@fetter.org Whole thread Raw |
List | pgsql-announce |
== PostgreSQL Weekly News - November 30 2008 == JPUG's Let's PostgreSQL site is now open. http://lets.postgresql.jp/ Drafts of a Russian translation of the Introduction and Tutorial sections of the PostgreSQL manual are at: http://postgresql.ru.net/manual/index.html == PostgreSQL Product News == Archiveopteryx 2.13 and 3.0.4 released. http://www.archiveopteryx.org/2.13 http://www.archiveopteryx.org/3.0.4 PostgreSQL has new JDBC drivers. http://jdbc.postgresql.org/changes.html Slony 2.0.0 released. http://slony.info/ == PostgreSQL Jobs for November == http://archives.postgresql.org/pgsql-jobs/2008-11/threads.php == PostgreSQL Local == David Fetter will be speaking at OSDC Sydney December 3-5. http://www.osdc.com.au/2008/index.html FOSDEM 2009 will take place February 7-8 2009 in Brussels, Belgium. PostgreSQL will share a booth with the BSD groups and have a developer room. Submit your 20-minute, 45 minute or lightning talks to fosdem (at) postgresql (dot) eu. PGCon Brazil will be take place October 23-24 2009 at Unicamp in Campinas, Sao Paulo state. == PostgreSQL in the News == Planet PostgreSQL: http://planet.postgresql.org/ PostgreSQL Weekly News is brought to you this week by David Fetter and Devrim GUNDUZ. Submit news and announcements by Sunday at 3:00pm Pacific time. Please send English language ones to david@fetter.org, German language to pwn@pgug.de, Italian language to pwn@itpug.org. == Applied Patches == Magnus Hagander committed: - Add support for matching wildcard server certificates to the new SSL code. This uses the function fnmatch() which is not available on all platforms (notably Windows), so import the implementation from NetBSD into src/port. - In pgsql/src/interfaces/libpq/fe-secure.c, disable FNM_CASEFOLD. Need a proper solution later, but just comment it out for now so the buildfarm recovers. - Support regular expressions in pg_ident.conf. Peter Eisentraut committed: - CLUSTER VERBOSE and corresponding clusterdb --verbose option. Jim Cox and Peter Eisentraut - Move FAQ_AIX information to installation instructions. The information on why the shared libraries are built the way they are was not relevant to end users and has been made a mailing list archive link in Makefile.shlib. - In pgsql/src/test/regress/pg_regress.c, if pg_ctl stop fails, print an error message and exit (instead of going out of our way to ignore the exit status). If this ever really happens, worst case you will not see the "score" at the bottom of the test run. - Add %expect 0 to all parser input files to prevent conflicts slipping by. - In pgsql/src/backend/catalog/sql_features.txt, feature F442 "Mixed column references in set functions" is supported. - configure check for docbook2man program, used in the new XML-based man page build target. This covers from-source, Debian, and Fedora installation variants. - In pgsql/src/backend/catalog/sql_features.txt, mark features related to WITH/SELECT as supported. - In pgsql/src/backend/catalog/sql_features.txt, drop CLI related features from the list, since we don't track the ODBC business in core. - In pgsql/src/backend/catalog/sql_features.txt, add that PL/Java is an implementation of SQL/JRT, and drop claim that PL/pgSQL has much to do with SQL/PSM. - Reduce risk of accidentally running temp-install regression tests against a mismatching installation. Pick a default port number calculated from the version number, and try a few times with other numbers if that one doesn't work. Check if we can connect to the port before starting our own postmaster, to detect some other server already running there. To simplify the code, drop --temp-port option and use --port for both temp-install and pre-installed case. Tom Lane committed: - In pgsql/src/port/Makefile, omit src/port/pipe.c on non-Windows platforms. It's useless and draws complaints about empty object files on some platforms, eg Darwin. - Remove PGINTERVALSTYLE from the set of special environment variables for libpq. As noted by Peter, adding this variable created a risk of unexpected connection failures when talking to older server versions, and since it doesn't do anything you can't do with PGOPTIONS, it doesn't seem really necessary. Removing it does occasion a few extra lines in pg_regress.c, but saving a getenv() call per libpq connection attempt is perhaps worth that anyway. - In pgsql/doc/src/sgml/information_schema.sgml, information_schema.key_column_usage.position_in_unique_constraint was misdocumented as not being implemented. In reality it has worked since the release of 8.2. - In psql, adjust the behavior of the PQExpBuffer code to make it have well-defined results (ie, an empty "broken" buffer) if memory overrun occurs anywhere along the way to filling the buffer. The previous coding would just silently discard portions of the intended buffer contents, as exhibited in trouble report from Sam Mason. Also, tweak psql's main loop to correctly detect and report such overruns. There's probably much more that should be done in this line, but this is a start. - Make DISCARD ALL discard advisory locks, too. Marko Kreen - In pgsql/src/test/regress/pg_regress.c, let's see if using -c instead of -- style fixes the PGOPTIONS issue. - In pgsql/src/interfaces/libpq/pqexpbuffer.h, tweak new PQExpBufferBroken macro to suppress warnings from pickier versions of gcc. - In pgsql/src/backend/executor/functions.c, fix minor memory leak introduced in recent SQL-functions hacking: the DestReceiver created during postquel_start needs to be destroyed during postquel_end. In a moment of brain fade I had assumed this would be taken care of by FreeQueryDesc, but it's not (and shouldn't be). - In pgsql/doc/src/sgml/ref/discard.sgml, tweak wording of DISCARD ALL description to avoid giving the impression that the presented list of equivalent operations is meant to be the primary definition of what it does. Per comment from Guillaume Smet. - Back-patch change to make DISCARD ALL release advisory locks. Per discussion. - Cosmetic cleanups in contrib/isn (doesn't fix the passbyval problem) - In pgsql/src/backend/optimizer/path/joinrels.c, my recent fix for semijoin planning didn't actually work for a semijoin with a RHS that can't be unique-ified --- join_is_legal has to check that before deciding to build a join, else we'll have an unimplementable joinrel. Per report from Greg Stark. - Fix an oversight in uninstall_isn.sql: must drop operator families explicitly. - Partial fix for fallout from temp-port changes. ecpg still needs more work, but I think this is enough to turn the buildfarm green again. - Make sure we give an appropriate user-facing error when attempting to drop a table that is referenced by an open cursor. Fix unstable ecpg regression test result that was produced by this oversight. - Fix recently-added array_agg tests to ensure they produce stable results regardless of plan changes. Per intermittent buildfarm failures on "pigeon" and others. - In pgsql/src/backend/utils/fmgr/funcapi.c, remove inappropriate memory context switch in shutdown_MultiFuncCall(). This was a thinko introduced in a patch from last February; it results in memory leakage if an SRF is shut down before the actual end of query, because subsequent code will be running in a longer-lived context than it's expecting to be. - Add a "LIKE = typename" clause to CREATE TYPE for base types. This allows the basic representational details (typlen, typalign, typbyval, typstorage) to be copied from an existing type rather than listed explicitly in the CREATE TYPE command. The immediate reason for this is to provide a simple solution for add-on modules that want to define types represented as int8, float4, or float8: as of 8.4 the appropriate PASSEDBYVALUE setting is platform-specific and so it's hard for a SQL script to know what to do. This patch fixes the contrib/isn breakage reported by Rushabh Lathia. - Clean up the API for DestReceiver objects by eliminating the assumption that a Portal is a useful and sufficient additional argument for CreateDestReceiver --- it just isn't, in most cases. Instead formalize the approach of passing any needed parameters to the receiver separately. One unexpected benefit of this change is that we can declare typedef Portal in a less surprising location. This patch is just code rearrangement and doesn't change any functionality. I'll tackle the HOLD-cursor-vs-toast problem in a follow-on patch. - Fix dblink and tablefunc to not return with the wrong CurrentMemoryContext. Per buildfarm results. - In pgsql/contrib/tablefunc/tablefunc.c, refactor crosstab() to build and return a tuplestore instead of using value-per-call mode. This should be more efficient in normal usage, but the real problem with the prior coding was that it returned with a SPI call still active. That could cause problems if execution was interleaved with anything else that might use SPI. Alvaro Herrera committed: - Use ResourceOwners in the snapshot manager, instead of attempting to track them by hand. As an added bonus, the new code is smaller and more understandable, and the ugly loops are gone. This had been discussed all along but never implemented. It became clear that it really needed to be fixed after a bug report by Pavan Deolasee. Michael Meskes committed: - In ecpg, when creating a varchar struct name, braces must be discarded. - In pgsql/src/interfaces/ecpg/preproc/type.c, removed strchrnul. - In pgsql/src/interfaces/ecpg/preproc/type.c, replaced strchrnul by strchr. - Applied patch by Ron Mayer to merge the new interval style into ecpg. - In pgsql/src/interfaces/ecpg/pgtypeslib/interval.c, interval.c needs limits.h. Heikki Linnakangas committed: - Rely on relcache invalidation to update the cached size of the FSM. - In pgsql/src/backend/storage/buffer/localbuf.c, fix #ifdeffed debugging code to work with relation forks. - In pgsql/src/backend/storage/freespace/freespace.c, don't force creation of the FSM on searches. It will still be created as soon as the first page fills up, and is marked as (almost) full, though. - In pgsql/src/backend/catalog/heap.c, fix obsolete comment regarding FSM truncation. - In pgsql/src/backend/tsearch/ts_typanalyze.c, fix bug in the tsvector stats collection function, which caused a crash if the sample contains just a one tsvector, containing only one lexeme. == Rejected Patches (for now) == No one was disappointed this week :-) == Pending Patches == Hitoshi Harada and Heikki Linnakangas sent in a flock of patches for windowing functions. Ramon Lawrence sent in another revision of his patch to improve the performance of multi-batch hash joins for skewed data sets. KaiGai Kohei sent in another revision of his SE-PostgreSQL patches. Peter Eisentraut sent in three revisions of a patch to make the regression test setup less brittle. Magnus Hagander sent in another patch to fix LC_TIME on Windows. Peter Eisentraut sent in and withdrew another revision of the distinct types patch including work from Jeff Davis. Alvaro Herrera sent in a patch to silence a snapshot warning. Pavel Stehule sent in another revision of his patch to implement default function parameters. Koichi Suzuki sent in another revision of his pg_readahead patch. Heikki Linnakangas sent in another revision of his visibility map patch. Fujii Masao sent in another revision of his synchronous replication patch. Magnus Hagander sent in another revision of his SSL wildcard-matching patch.
pgsql-announce by date: