== 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:

Previous
From: Koichi Suzuki
Date:
Subject: Let's Postgres, new PostgreSQL resource portal site opened.
Next
From: David Fetter
Date:
Subject: == PostgreSQL Weekly News - December 07 2008 ==