Skip site navigation (1) Skip section navigation (2)

== PostgreSQL Weekly News - June 01 2008 ==

From: David Fetter <david(at)fetter(dot)org>
To: PostgreSQL Announce <pgsql-announce(at)postgresql(dot)org>
Subject: == PostgreSQL Weekly News - June 01 2008 ==
Date: 2008-06-01 23:33:55
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-announcepgsql-hackers
== PostgreSQL Weekly News - June 01 2008 ==

Core has announced the goal of including easy-to-use WAL-based
replication in PostgreSQL.

== PostgreSQL Product News ==

Database .NET 2.1.3071 released.

Navicat ver. 7.1.1 released.

pgDesigner 1.2.7 Released

pg_proboscis 1.0 released.

pgsnap 0.3.3 released.

== PostgreSQL Local ==

The Call for Papers for PgCon.BR is open.  The deadline is May 31, so
get those proposals in.

PGDay will be in Portland the day before OSCON.

Utah Open Source Conference 2008's CfP is open through June 1.
This 2nd annual conference is August 28-30, 2008 in Salt Lake City, UT

PGCon Brazil 2008 will be on September 26-27 at Unicamp in Campinas.

PGDay.IT 2008 will be October 17 and 18 in Prato.

== PostgreSQL in the News ==

Planet PostgreSQL:

General Bits, Archives and occasional new articles:

PostgreSQL Weekly News is brought to you this week by David Fetter

Submit news and announcements by Sunday at 3:00pm Pacific time.
Please send English language ones to david(at)fetter(dot)org, German language
to pwn(at)pgug(dot)de, Italian language to pwn(at)itpug(dot)org(dot)

== Applied Patches ==

Tom Lane committed:

- In pgsql/src/backend/utils/misc/guc.c, fix an old corner-case bug in
  set_config_option: push_old_value has to be called before, not
  after, calling the assign_hook if any.  This is because
  push_old_value might fail (due to palloc out-of-memory), and in that
  case there would be no stack entry to tell transaction abort to undo
  the GUC assignment.  Of course the actual assignment to the GUC
  variable hasn't happened yet --- but the assign_hook might have
  altered subsidiary state.  Without a stack entry we won't call it
  again to make it undo such actions.  So this is necessary to make
  the world safe for assign_hooks with side effects.  Per a discussion
  a couple weeks ago with Magnus.  Back-patch to 8.0.  7.x did not
  have the problem because it did not have allocatable stacks of GUC

- Alter the xxx_pattern_ops opclasses to use the regular equality
  operator of the associated datatype as their equality member.  This
  means that these opclasses can now support plain equality
  comparisons along with LIKE tests, thus avoiding the need for an
  extra index in some applications.  This optimization was not
  possible when the pattern opclasses were first introduced, because
  we didn't insist that text equality meant bitwise equality; but we
  do now, so there is no semantic difference between regular and
  pattern equality operators.  I removed the name_pattern_ops opclass
  altogether, since it's really useless: name's regular comparisons
  are just strcmp() and are unlikely to become something different.
  Instead teach indxpath.c that btree name_ops can be used for LIKE
  whether or not the locale is C.  This might lead to a useful speedup
  in LIKE queries on the system catalogs in non-C locales.  The ~=~
  and ~<>~ operators are gone altogether.  (It would have been nice to
  keep them for backward compatibility's sake, but since the pg_amop
  structure doesn't allow multiple equality operators per opclass,
  there's no way.) A not-immediately-obvious incompatibility is that
  the sort order within bpchar_pattern_ops indexes changes --- it had
  been identical to plain strcmp, but is now trailing-blank-insensitive.
  This will impact in-place upgrades, if those ever happen.  Per
  discussions a couple months ago.

- In pgsql/doc/src/sgml/ref/create_type.sgml, clarify description of
  typmod input function, per Jeff Davis.

- Back-patch the 8.3 fix that prohibits TRUNCATE, CLUSTER, and REINDEX
  when the current transaction has any open references to the target
  relation or index (implying it has an active query using the
  relation).  Also back-patch the 8.2 fix that prohibits TRUNCATE and
  CLUSTER when there are pending AFTER-trigger events.  Per suggestion
  from Heikki Linnakangas.

- Require bind_textdomain_codeset() not just gettext() to enable NLS
  support.  GNU gettext before 0.10.36 does not have that function,
  and is generally too incomplete to be usable.

- In pgsql/doc/src/sgml/ref/grant.sgml, improve GRANT documentation to
  point out that UPDATE and DELETE typically require SELECT privilege
  as well, since you normally need to read existing column values
  within such commands.  This behavior is according to spec, but we'd
  never documented it before.  Per gripe from Volkan Yazici.

- In pgsql/src/backend/utils/adt/pg_lzcompress.c, backpatch Zdenek
  Kotala's fix to prevent pglz_decompress from stomping on memory if
  the compressed data is corrupt.  Backpatch as far as 8.2.  The issue
  exists in older branches too, but given the lack of field reports,
  it's not clear it's worth any additional effort to adapt the patch
  to the slightly different code in older branches.

- In pgsql/contrib/cube/cube.c, fix some bugs introduced by the
  8.2-era conversion of cube functions to V1 calling convention.
  cube_inter and cube_distance could attempt to pfree their input
  arguments, and cube_dim returned a value from a struct it might have
  just pfree'd (which would only really cause a problem in a debug
  build, but it's still wrong).  Per bug #4208 and additional code
  reading.  In HEAD and 8.3, I also made a batch of cosmetic changes
  to bring these functions into line with the preferred coding style
  for V1 functions, ie declare and fetch all the arguments at the top
  so readers can easily see what they are.

- Make 8.3.x psql print tab characters as an appropriate number of
  spaces, rather than "\x09".  Before 8.3 we just printed tabs as-is,
  leading to poor formatting of subsequent columns, but consensus is
  that "\x09" is not an improvement over that.  Back-patch of fix
  that's already in HEAD.

- Tweak libpq to avoid crashing due to incorrect buffer size
  calculation when we are on a 64-bit machine (ie, size_t is wider
  than int) and someone passes in a query string that approaches or
  exceeds INT_MAX bytes.  Also, just for paranoia's sake, guard
  against similar overflows in sizing the input buffer.  The backend
  will not in the foreseeable future be prepared to send or receive
  strings exceeding 1GB, so I didn't take the more invasive step of
  switching all the buffer index variables from int to size_t; though
  someday we might want to do that.  I have a suspicion that this is
  not the only such bug in libpq, but this fix is enough to take care
  of the crash reported by Francisco Reyes.

- In pgsql/src/include/catalog/pg_proc.h, improve the documentation
  comment for replace().  Robert Treat

- Copy and into the src/test/regress directory
  during "make all", and then reference them there during the actual
  tests.  This makes the handling of these files more parallel to that
  of, and in particular simplifies use of the regression
  tests outside the original build tree.  The PGDG and Red Hat RPMs
  have been doing this via patches for a very long time.  Inclusion of
  the change in core was requested by J?rgen Austvik of Sun, and I
  can't see any reason not to.  I attempted to fix the MSVC scripts
  for this too, but they may need further tweaking ...

- Marginal improvements to the documentation for PGOPTIONS.

- In  pgsql/src/backend/executor/spi.c, refactor
  SPI_cursor_open/SPI_cursor_open_with_args so that the latter sets
  the PARAM_FLAG_CONST flag on the parameters that are passed into the
  portal, while the former's behavior is unchanged.  This should only
  affect the case where the portal is executing an EXPLAIN; it will
  cause the generated plan to look more like what would be generated
  if the portal were actually executing the command being explained.
  Per gripe from Pavel.

- Update time zone data files to tzdata release 2008c (DST law changes
  in Morocco, Iraq, Choibalsan, Pakistan, Syria, Cuba,

Magnus Hagander committed:

- In pgsql/src/backend/utils/mb/mbutils.c, explicitly bind gettext()
  to the  UTF8 locale when in use.  This is required on Windows due to
  the special locale handling for UTF8 that doesn't change the full
  environment.  Fixes crash with translated error messages per bugs
  4180 and 4196.  Tom Lane.

- Add a field to guc enums to allow hiding of values from display
  while still accepting them as input, used to allow alternate syntax
  for the same setting.  Alex Hunsaker

- In pgsql/src/backend/access/transam/xlog.c, set hidden field for guc
  enum missed in previous commit.

Bruce Momjian committed:

- Add URL for TODO: "Add deferred trigger queue file."

- In pgsql/doc/src/sgml/external-projects.sgml, update URL for ODBC.

- Add description to TODO: "Add deferred trigger queue file."

Andrew Dunstan committed:

- Mark TODO as done: "Remove psql newline patch when we find out why
  mingw outputs an extra newline."

== Rejected Patches (for now) ==

Jeff Davis's patch to reset scan state at the end of a synchronized

Davy Durham's patch to allow filtering tables in pg_dump.

== Pending Patches ==

Teodor Sigaev sent patches to extend GIN to include multi-column
indexes and faster INSERTs into GIN-indexed tables.

Zdenek Kotala sent in a patch to clean up some headers in the source

Joe Conway sent in two revisions of a patch to fix a dblink regression
fix in CVS TIP.


pgsql-announce by date

Next:From: Selena DeckelmannDate: 2008-06-02 02:11:28
Subject: Request for proposals: PDXPUG PgDay, due by June 20, 2008
Previous:From: Belbin, PeterDate: 2008-05-29 17:51:42
Subject: issue with xml functionality and <!DOCTYPE

pgsql-hackers by date

Next:From: Joe ConwayDate: 2008-06-02 00:14:13
Subject: Re: Add dblink function to check if a named connection exists
Previous:From: Hannu KrosingDate: 2008-06-01 21:14:39
Subject: Re: Core team statement on replication in PostgreSQL

Privacy Policy | About PostgreSQL
Copyright © 1996-2018 The PostgreSQL Global Development Group