== PostgreSQL Weekly News - January 01 2007 == - Mailing list pgsql-announce

From David Fetter
Subject == PostgreSQL Weekly News - January 01 2007 ==
Date
Msg-id 20070102042109.GB1996@fetter.org
Whole thread Raw
List pgsql-announce
== PostgreSQL Weekly News - January 01 2007 ==

Happy New Year from the PostgreSQL Weekly News!

Chad Wagner has put together some forums to discuss PostgreSQL
http://www.postgresqlforums.com/forums/

Here are some instructions on setting up a Sun cluster with PostgreSQL.
http://docs.sun.com/app/docs/doc/819-5578?q=+postgresql

== PostgreSQL Product News ==

phpPgAdmin 4.1-Beta-1 released.
http://phppgadmin.sourceforge.net

pgadmin3 1.6.1 RPMs for Fedora Core 6 and 7 are built. They are on
main PostgreSQL FTP site.

postgis 1.2.0 is now in Fedora Core Extras 6.

== PostgreSQL Local ==

The Italian PostgreSQL community will be holding a PostgreSQL day this
summer.  Bookmark the link below to participate.
http://www.pgday.it

PostgreSQL Weekly News extends a warm welcome to PostreSQL's
Indonesian community.
http://tech.groups.yahoo.com/group/postgresql_indo/

Gavin Sherry is running a PostgreSQL miniconf at Linux.Conf.Au in
Sydney on Tuesday the 16th of January 2007.
http://lca2007.linux.org.au/Miniconfs/PostgreSQL If you would like to
attending, email gavin AT alcove . com . au

== PostgreSQL in the News ==

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
Devrim GUNDUZ and Robert Treat

== Applied Patches ==

ISHII Tatsuo committed:

- In pgsql/contrib/pgbench/pgbench.c, Call srandom() instead of
  srand().  pgbench calls random() later, so it should have called
  srandom().  On most platforms except Windows srandom() is actually
  identical to srand(), so the bug only bites Windows users.  Per bug
  report from Akio Ishida.

Teodor Sigaev committed:

- In pgsql/contrib/tsearch2/dict_thesaurus.c, fix memory reallocation
  condition.

Tom Lane committed:

- Found the problem with my operator-family changes: by fetching from
  pg_opclass during LookupOpclassInfo(), I'd turned
  pg_opclass_oid_index into a critical system index.  However the
  problem could only manifest during a backend's first attempt to load
  opclass data, and then only if it had successfully loaded
  pg_internal.init and subsequently received a relcache flush; which
  made it impossible to reproduce in sequential tests and darn hard
  even in parallel tests.  Memo to self: when exercising cache flush
  scenarios, must disable LookupOpclassInfo's internal cache too.

- Support type modifiers for user-defined types, and pull most
  knowledge about typmod representation for standard types out into
  type-specific typmod I/O functions.  Teodor Sigaev, with some
  editorialization by Tom Lane.

- Magnus Hagander'sent patch that adds support for the recent
  XML-in-backend stuff to the MSVC build.  Most config stuff was
  already present for contrib/xml2, but needed to add the includes and
  defines to the backend build as well.

- Magnus Hagander's patch to add support for XML build option to MSVC
  build scripts.

- Fix multiple breakages in last XML patch.

- Fix up btree's initial scankey processing to be able to detect
  redundant or contradictory keys even in cross-data-type scenarios.
  This is another benefit of the opfamily rewrite: we can find the
  needed comparison operators now.

- Remove caveat about avoiding cross-type operators in constraints
  intended for use with constraint exclusion.  We can prove those
  cases now...

- Enable btree_predicate_proof() to make proofs involving
  cross-data-type predicate operators.  The hard stuff turns out to be
  already done in the previous commit, we need merely open the
  floodgates...

- In tsearch2, add a defense to prevent core dumps if 8.2 version of
  rank_cd() is used with the 8.1 SQL function definition for it.  Per
  report from Rajesh Kumar Mallah, such a DBA error doesn't seem at
  all improbable, and the cost of checking for it is not very high
  compared to the cost of running this function.  (It would have been
  better to change the C name of the function so it wouldn't be called
  by the old SQL definition, but it's too late for that now in the 8.2
  branch.)

- In psql, fflush the \o file, if any, after each backslash command.
  We already do this for ordinary SQL commands, so it seems consistent
  to do it for backslash commands too.  Per gripe from Rajesh Kumar
  Mallah.

- Revert exports.list change pending closer study.

- Use a more backward-compatible syntax for exports.list on Linux.
  Per Thorkil Olesen.

- Improve memory management code to avoid inefficient behavior when a
  context has a small maxBlockSize: the maximum request size that we
  will treat as a "chunk" needs to be limited to fit in maxBlockSize.
  Otherwise we will round up the request size to the next power of 2,
  wasting space, which is a bit pointless if we aren't going to make
  the blocks big enough to fit additional stuff in them.  The example
  motivating this is local buffer management, which makes repeated
  allocations of 8K (one BLCKSZ buffer) in TopMemoryContext, which has
  maxBlockSize = 8K because for the most part allocations there are
  small.  This leads to each local buffer actually eating 16K of
  space, which adds up when there are thousands of them.  I intend to
  change localbuf.c to aggregate its requests, which will prevent this
  particular misbehavior, but it seems likely that similar scenarios
  could arise elsewhere, so fixing the core problem seems wise as
  well.

- In psql, print combining characters (those reported as having zero
  width by PQdsplen()) normally, instead of replacing them by \uXXXX
  sequences.  Assume that they in fact occupy zero screen space for
  formatting purposes.  Per gripe from Michael Fuhr and ensuing
  discussion.

- In the documentation for rules, use a FROM clause in example UPDATE
  commands where appropriate.  Also remove long-obsolete statement
  that there isn't a check for infinite recursion in view rules.

- Fix broken markup in the monitoring documentation.

- Fix failure due to accessing an already-freed tuple descriptor in a
  plan involving HashAggregate over SubqueryScan (this is the known
  case, there may well be more).  The bug is only latent in releases
  before 8.2 since they didn't try to access tupletable slots'
  descriptors during ExecDropTupleTable.  The least bogus fix seems to
  be to make subqueries share the parent query's memory context, so
  that tupdescs they create will have the same lifespan as those of
  the parent query.  There are comments in the code envisioning going
  even further by not having a separate child EState at all, but that
  will require rethinking executor access to range tables, which I
  don't want to tackle right now.  Per bug report from Jean-Pierre
  Pelletier.

- Repair bug #2839: the various ExecReScan functions need to reset
  ps_TupFromTlist in plan nodes that make use of it.  This was being
  done correctly in join nodes and Result nodes but not in any
  relation-scan nodes.  Bug would lead to bogus results if a
  set-returning function appeared in the targetlist of a subquery that
  could be rescanned after partial execution, for example a subquery
  within EXISTS().  Bug has been around forever :-( ... surprising it
  wasn't reported before.

- Repair bug #2836: SPI_execute_plan returned zero if none of the
  querytrees were marked canSetTag.  While it's certainly correct to
  return the result of the last one that is marked canSetTag, it's
  less clear what to do when none of them are.  Since plpgsql will
  complain if zero is returned, the 8.2.0 behavior isn't good.  I've
  fixed it to restore the prior behavior of returning the physically
  last query's result code when there are no canSetTag queries.

- Remove incorrect semicolon in PL/PgSQL example, per Joachim Wieland.

Bruce Momjian committed:

- Clarify wording on when ctid is modified by VACUUM FULL.

- Add TLS thread URL to TODO:
  http://archives.postgresql.org/pgsql-hackers/2006-12/msg01213.php

- Removed misconceived TODO: "Add a GUC to control whether BEGIN
  inside a transaction should abort the transaction."

- Remove from TODO, "move GPL-licensed /contrib/userlock and
  /contrib/dbmirror/clean_pending.pl" as this is complete.

- Clean up pgindent handling of comments after 'else' by only moving
  multi-line comments to the next line.

- In the docs, use "dead" rather than "expired" for vacuumable rows.

Peter Eisentraut committed:

- De-escape XML names when reverse-compiling XML expressions.

- Add send and recv functions for xml type.

- Handle content and document options in xmlparse() correctly.

== Rejected Patches (for now) ==

No one was disappointed this week :-)

== Pending Patches ==

Euler Taveira de Oliveira sent in a patch which lets you specify the
xlog directory at initdb time.  It uses symlinks to do it, and creates
and/or sets permissions on the directory as appropriate.

Dhanaraj M sent in a patch which allows the identifier length to be
increased via a configure option.

ITAGAKI Takahiro sent in a patch for the TODO item, "Create a bitmap
of pages that need vacuuming" a.k.a. Dead Space Map.

Albert Cervera Areny sent in a new version of his patch which enables
tablespaces for temporary objects and sort files.

Simon Riggs sent in two more revisions of his pg_standby patch.

Andrew Dunstan sent in a patch to pg_ctl which lets it dump core.

Magnus Hagander sent in a work-in-progress patch to make pg_regress
run entirely outside of msys on win32.

Magnus Hagander sent in a one-line patch to src/tools/msvc/Project.pm
that adds the capability to deal with defines that set string values -
" needs to be quoted in XML.



---------------------------(end of broadcast)---------------------------
-To unsubscribe from this list, send an email to:

               pgsql-announce-unsubscribe@postgresql.org

pgsql-announce by date:

Previous
From: David Fetter
Date:
Subject: == PostgreSQL Weekly News - January 01 2007 ==
Next
From: "Dan Langille"
Date:
Subject: PGCon 2007 Program Committee