== Postgres Weekly News - November 25 2007 == - Mailing list pgsql-announce

From David Fetter
Subject == Postgres Weekly News - November 25 2007 ==
Date
Msg-id 20071126024746.GK15871@fetter.org
Whole thread Raw
List pgsql-announce
== Postgres Weekly News - November 25 2007 ==

8.3 Beta 3 is out.
http://www.postgresql.org/developer/beta

The UK Postgres User Group will be meeting December 3.  Mail Simon
Riggs <uk AT postgresql.org> for details.

IT-PUG is now a non-profit organization.
http://www.itpug.org/index.it.html

== Postgres Product News ==

2ndQuadrant has a High Availability training course.
http://www.2ndquadrant.com/training.html

pgloader 2.2.4 released.
http://pgfoundry.org/projects/pgloader/

pgpool-II 2.0.1 released.
http://pgfoundry.org/projects/pgpool/

Pg::Snapshot and Materialized Views 0.3.1 released.
http://pgfoundry.org/projects/snapshot/

SkyTools 2.1.5 released.
http://pgfoundry.org/projects/skytools/

== Postgres Jobs for November ==

http://archives.postgresql.org/pgsql-jobs/2007-11/threads.php

== Postgres Local ==

Josh Berkus will be speaking at FOSS.IN.  Help make the BoF great!
http://www.foss.in/

PgCon.BR will take place in Sao Paulo December 7-8.
http://pgcon.postgresql.org.br/index.en.html

PGCon 2008 Call for Papers starts December 19.  Start your papers now.
http://www.pgcon.org/2008/papers.php

PostgreSQL Conference East '08 talks are March 28 and 29.
http://www.postgresqlconference.org/

== Postgres in the News ==

Planet PostgreSQL: http://www.planetpostgresql.org/

General Bits, Archives and occasional new articles:
http://www.varlena.com/GeneralBits/

Postgres 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@fetter.org, German language
to pwn@pgug.de, Italian language to pwn@itpug.org.

== Applied Patches ==

Peter Eisentraut committed:

- In pgsql/src/backend/utils/adt/xml.c, use double quotes for quoting
  xml attributes.

D'Arcy J.M. Cain committed:

- Add regression tests for MONEY type.

Alvaro Herrera committed:

- In pgsql/src/pl/plpython/plpython.c, fix buggy usage of vsnprintf in
  PL/Python by removing it altogether, instead relying on
  stringinfo.c.  This fixes a problem reported by Marko Kreen, but I
  didn't use his patch, per subsequent discussion.

Tatsuo Ishii committed:

- In pgsql/doc/src/sgml/storage.sgml, fix "Overall Page Layout" table.
  The second row should be ItemIdData, not ItemPointerData.

- In pgsql/doc/src/sgml/page.sgml, fix "Page Layout" table. The second
  row should be ItemIdData, not ItemPointerData.

Andrew Dunstan committed:

- Change descriptions of entity and tag objects to "XML entity" and
  "XML tag".  Allow tag and entity names that follow XML rules.
  Provide for hexadecimal as well as decimal numeric entities.  Adjust
  code names to coincide with new descriptions.

- Adjust contrib/tsearch2 regression results to use XML tag and XML
  entity descriptions, as now used by core text search default parser.

- Fix XML tag namespace change inadvertantly missed from previous fix.
  Add regression test for XML names and numeric entities.

- In pgsql/src/backend/tsearch/wparser_def.c, Allow for X as well as x
  to be the prefix for hexadecimal character ref entity numbers, as in
  HTML.

Bruce Momjian committed:

- Add to TODO: "Allow COMMENT ON dbname to work when loading into a
  database with a different name."

- In pgsql/src/bin/pg_dump/pg_dump.c, add comment about COMMENT ON
  DATABASE failing for differently-named databases.

- Add suggested syntax: COMMENT ON CURRENT DATABASE.

- In pgsql/src/bin/pg_dump/pg_dump.c, update comment.

- Update TODO to read: "Prevent COMMENT ON dbname from
  issuing a warning when loading into a database with a different
  name, perhaps using COMMENT ON CURRENT DATABASE."

- Update TODO to read: "Change pg_dump so that a comment on the dumped
  database is applied to the loaded database, even if the database has
  a different name.  This will require new backend syntax, perhaps
  COMMENT ON CURRENT DATABASE."

- More release notes wording cleanups in
  pgsql/doc/src/sgml/release.sgml.

- Markup fix in pgsql/doc/src/sgml/release.sgml.

- Split "server changes" up into smaller sections in release notes.

- Trim down release section headings (no need for Changes).  Re-order
  some items as migration changes.

- Reorder a few release notes items for consistency.

- Release note adjustments suggested by IRC users.

- Split out data types and function entries into separate sections in
  the release notes.

- Make "contrib/" tag consistent.

- Split release notes up into smaller sections; easier to read.

- Fix pg_ctl -t to register -t value, per Alvaro.

- In pgsql/src/backend/utils/adt/formatting.c, fix typo in comment.

- When setting default thousands separator when locale has "", use
  logic so new thousands separator doesn't match decimal symbol.

- Fix build of libpq for Borland CC.

- In pgsql/src/include/getaddrinfo.h, WSATYPE_NOT_FOUND was already
  defined for BCC so don't redefine it (conflicting values).

- In pgsql/doc/src/sgml/release.sgml, document that doc builds now
  build indexes by default, unless "draft" is used.

- Add comments about thousands separator logic.

- Add more comments about thousands separator handling.

- Update TODO to elucidate the "Prevent long-lived temporary tables
  from causing frozen-xid advancement" TODO.

- In pgsql/src/backend/utils/adt/cash.c, fix white space in MONEY type
  code.  Rename 'comma' to more generic 'ssymbol' as used in previous
  function.

- Borland CC 5.5.1 needs ssize_t, per cnliou9 AT fastmail.fm.

- Borland BCC does not support SSPI, per cnliou9 AT fastmail.fm.

- Make the MONEY data type have a thousands separator != decimal
  symbol, if the locale has the thousands separator as "".  This now
  matches the to_char and psql numericlocale behavior.  (Previously
  this data type was basically useless for such setups.)

- Clarify how MONEY trims off trailing thousands separator.

- If pg_dump drops a schema, make sure 'search_path' it SET the next
  time it is needed --- basically don't remember the previous
  'search_path' after a drop schema because it might have failed but
  be created later.

Tom Lane committed:

- Minor improvement in documentation of temp_tablespaces: avoid
  grammatical ambiguity and say what the default value is.

- Improve description of implicit-text-casting compatibility issue.  A
  bunch of other desultory copy-editing, too.

- In pgsql/doc/src/sgml/textsearch.sgml, fix some missed usages of
  'HTML tag' and 'HTML entity'.

- In pgsql/src/backend/utils/adt/xml.c, fix bogus length calculation
  that could lead to crash if the string happened to be right up
  against the end of memory, per report from Matt Magoffin.  While at
  it, avoid useless multiple copying of string by not depending on
  xmlStrncatNew.

- In pgsql/doc/src/sgml/datatype.sgml, clarify the syntax rules for
  raw tsvector input.

- Prevent Perl from introducing a possibly-incompatible definition of
  type "bool" into plperl.c.  This has always been a hazard since Perl
  allows a platform-specific choice to define bool as int rather than
  char, but evidently this didn't happen on any platform we support
  ... until OS X 10.5.  Per report from Brandon Maust.  Back-patch as
  far as 8.0 --- a bit arbitrary, but it seems unlikely anyone will be
  trying to port 7.x onto new platforms.

- Save one syscache lookup when examining volatility or strictness of
  OpExpr and related nodes.  We're going to have to set the opfuncid
  of such nodes eventually (if we haven't already), so we might as
  well exploit the opportunity to cache the function OID.  Buys back
  some of the extra planner overhead noted by Guillaume Smet, though I
  still need to fool with equivclass.c to really respond to that.

- Actually ... it's pretty silly that parse_oper.c doesn't set up the
  opfuncid of an OpExpr initially, considering that it has the
  information at hand already.  We'll still treat opfuncid as a cache
  rather than a guaranteed-valid value, but this change saves one more
  syscache lookup in the normal code path.

- Avoid uselessly building a duplicate of the original clause in
  trivial cases where the EquivalenceClass machinery is unable to
  deduce anything more from a simple "var = const" qual clause.  There
  are probably some more cases where this could be done, but this
  seems to take care of most of the added overhead for simple queries.
  Per gripe from Guillaume Smet.  In passing, fix a problem that was
  exposed by this change: reconsider_outer_join_clause and friends
  were passing the wrong relids to build_implied_join_equality,
  resulting in RestrictInfos with the wrong required_relids.  This
  mistake was masked in typical cases since the bogus RestrictInfos
  would never have escaped from the EquivalenceClass machinery, but I
  think there might be corner cases involving "broken" ECs where there
  would have been a visible failure even without the new optimization.
  In any case the code was certainly not operating as intended.

- Change fix_scan_expr() to avoid copying the input node tree in the
  common case where rtoffset == 0.  In that case there is no need to
  change Var nodes, and since filling in unset opfuncid fields is
  always safe, scribbling on the input tree to that extent is not
  objectionable.  This brings the cost of this operation back down to
  what it was in 8.2 for simple queries.  Per investigation of
  performance gripe from Guillaume Smet.

- Save another little bit of planner overhead on simple queries, by
  having clauselist_selectivity skip some analysis that's useless when
  there's only one clause in the given list.  Actually this can win
  even for not-so-simple queries, because we also apply
  clauselist_selectivity to sublists such as the quals matching an
  index; which are likely to have only a single entry even when the
  total query is quite complicated.

- Move resetting of currSchema to a spot where it's not vulnerable to
  getting missed in possible future partial-drop scenarios.  Improve
  comment.  Per report from Zoltan Boszormenyi.

- In pgsql/src/test/regress/serial_schedule, add missed entry for new
  money regression test.

- In pgsql/src/backend/utils/adt/oracle_compat.c, slightly more
  paranoia and slightly better comments for use of Windows-specific
  MultiByteToWideChar/WideCharToMultiByte calls.

- In pgsql/src/backend/tsearch/ts_locale.c, fix (I think) broken usage
  of MultiByteToWideChar.  I had missed the subtlety that this
  function only returns a null terminator if it's fed input that
  includes one; which, in the usage here, it's not.  This probably
  fixes bugs reported by Thomas Haegi.

- In pgsql/src/backend/postmaster/pgarch.c, reduce routine
  successful-archiving message from LOG to DEBUG1 grade, to reduce
  chattiness of logs.  Per discussion.  Simon Riggs

- In pgsql/src/backend/catalog/namespace.c, fix thinko in comment.

== Rejected Patches (for now) ==

Euler Taveira de Oliveira's patch which adds whitespace before every
/> of simple xml elements.  Postponed to 8.4 just in case.

Marko Kreen's patch which moves decision how much more room to
allocate from callers of appendStringInfoVA to inside the function,
where more info is available.  Not all vsnprintf()s do what it
assumes.

== Pending Patches ==

Bruce Momjian sent in a patch to fix the case where to_char() can't
represent 1000 ms.

Gregory Stark sent in a patch he described on -hackers to implement
"ordered" append nodes.

Hannes Eder sent in a patch to src/backend/parser/parse_expr.c which
returns immediately on NULL input in parse_expr.c:typecast_expression,
i.e. does not lookup target type Oid as it is not required.

Tom Lane sent in a patch which addresses the recent gripe that there
is no way for UNION (or related constructs) to return a domain type,
because select_common_type() always smashes all its inputs to base
types:
http://archives.postgresql.org/pgsql-performance/2007-11/msg00278.php

Pavel Stehule sent in a patch which adds anyelement variants of
functions quote_literal and quote_ident.


pgsql-announce by date:

Previous
From: Simon Riggs
Date:
Subject: New Replication and Recovery Training
Next
From: David Fetter
Date:
Subject: == Postgres Weekly News - December 02 2007 ==