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

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

The program committee for PGCon 2007 has been announced.
http://archives.postgresql.org/pgsql-advocacy/2007-01/msg00014.php

== PostgreSQL Product News ==

Security updates 8.2.1, 8.1.6, 8.0.10, 7.4.15 and 7.3.17 will be out
soon including packages for Red Hat, Fedora, Debian and Ubuntu.  Get
ready to upgrade ASAP.

== PostgreSQL Local ==

Meredith Patterson Presents: Preventing SQL Injection with Libdejector
Tuesday, January 9, 2007, 7:30 PM in San Mateo, California.  RSVP at URL below.
http://postgresql.meetup.com/1/calendar/5324165/

Please submit your PGCon 2007 proposals.  PGCon is taking place in
Ottawa, Ontario, Canada.  The deadline for submissions is January 19th.
http://www.pgcon.org/2007/submissions.php

There will be a PostgreSQL booth at FOSDEM on February 24 and 25 in
Brussels, Belgium.  Many of the usual suspects from the EU PostgreSQL
communities will be there.  Contact de@postgresql.org to participate.
http://www.fosdem.org/2007/

Pavel Stehule will be teaching a course on stored procedures in
PostgreSQL.  This will be on January 11, 2007 in Prague, and conducted
in Czech.
http://www.root.cz/zpravicky/skoleni-o-ulozenych-procedurach-v-postgresql/

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

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

To get your submission into the upcoming issue, get it to
david@fetter.org by Sunday at 3:00pm Pacific Time.

== Applied Patches ==

Peter Eisentraut committed:

- Indent comments in makefiles better so they don't appear in the
  output.

- Allow XML fragment to contain a XML declaration.  For that, we need
  a small hand-crafted parser for the XML declaration, because libxml
  doesn't seem to allow this.

- Replace xmlroot with a properly functioning version that parses the
  value, sets the items, and serializes the value back (rather than
  adding an arbitrary number of XML preambles as before).  The libxml
  memory management via palloc had to be disabled because it crashes
  when libxml tries to access memory that was helpfully freed earlier
  by PostgreSQL.  This needs further thought.

Andrew Dunstan committed:

- Call setrlimit if possible in pg_regress to allow core file
  generation, and provide a switch for similar behaviour in pg_ctl.

Tom Lane committed:

- Fix oversight in handling of row-comparison index keys: if the row
  comparison doesn't exactly match the index, we may have to change
  our initial positioning strategy.  For example, given an index on
  (f1,f2,f3) and a WHERE condition "ROW(f1,f3) > ROW(2,3)", the code
  extracted the initial-positioning condition "f1 > 2", which is wrong
  ... it has to be "f1 >= 2", else some rows matching the WHERE
  condition may fail to be returned.  Applying patch to 8.2 only ---
  I'll fix it in HEAD later as part of the planned index improvements
  (reverse-sort and NULLS FIRST/LAST work).

- Fix filtered_base_yylex() to save and restore base_yylval and
  base_yylloc properly when doing a lookahead.  The lack of this was
  causing various interesting misbehaviors when one tries to use
  "with" as a plain identifier.

- Links to GUC variables from HISTORY don't work in back branches...

- Put back ERANGE test in dpow().  There are platforms that need this,
  like my HPPA ...

- Greg Sabino Mullane's patch to add missing reference to
  pg_shdescription.

- Magnus Hagander's patch which fixes AddDefine to handle quotes
  properly.

- Tweak pg_dumpall to add GRANT CONNECT ON DATABASE ... TO PUBLIC when
  dumping database privileges from a pre-8.2 server.  This ensures
  that the reloaded database will maintain the same behavior it had in
  the previous installation, ie, everybody has connect privilege.  Per
  gripe from L Bayuk.

- Greg Stark's patch which fixes some small typos in comments.

- Fix erroneous implementation of -s in postmaster.c (the switch
  doesn't take an optarg).  Add some comments noting that code in
  three different files has to be kept in sync.  Fix erroneous
  description of -S switch (it sets work_mem not silent_mode), and do
  some light copy-editing elsewhere in postgres-ref.

- Fix regex_fixed_prefix() to cope reasonably well with regex patterns
  of the form '^(foo)$'.  Before, these could never be optimized into
  indexscans.  The recent changes to make psql and pg_dump generate
  such patterns (for \d commands and -t and related switches,
  respectively) therefore represented a big performance hit for people
  with large pg_class catalogs, as seen in recent gripe from Erik
  Jones.  While at it, be more paranoid about case-sensitivity
  checking in multibyte encodings, and fix some other corner cases in
  which a regex might be interpreted too liberally.

- Fix erroneous error tests in pow/exp.

- Fix btree_gist for new larger money type.

- Clean up smgr.c/md.c APIs as per discussion a couple months ago.
  Instead of having md.c return a success/failure boolean to smgr.c,
  which was just going to elog anyway, let md.c issue the elog
  messages itself.  This allows better error reporting, particularly
  in cases such as "short read" or "short write" which Peter was
  complaining of.  Also, remove the kluge of allowing mdread() to
  return zeroes from a read-beyond-EOF: this is now an error condition
  except when InRecovery or zero_damaged_pages = true.  (Hash indexes
  used to require that behavior, but no more.)  Also, enforce that
  mdwrite() is to be used for rewriting existing blocks while
  mdextend() is to be used for extending the relation EOF.  This
  restriction lets us get rid of the old ad-hoc defense against
  creating huge files by an accidental reference to a bogus block
  number: we'll only create new segments in mdextend() not mdwrite()
  or mdread().  (Again, when InRecovery we allow it anyway, since we
  need to allow updates of blocks that were later truncated away.)
  Also, clean up the original makeshift patch for bug #2737: move the
  responsibility for padding relation segments to full length into
  md.c.

- Add a regression test for ALTER SET TABLESPACE; this is a whole
  separate code path in tablecmds.c that wasn't exercised at all
  before.

Bruce Momjian committed:

- Remove from TODO: "Allow the identifier length to be increased via a
  configure option"

- TODO updates for MONEY data type.

- In TODO, mark as Done: "Allow user-defined types to accept 'typmod'
  parameters"

- Add to TODO: "Make consistent use of long/short command options ---
  pg_ctl needs long ones, pg_config doesn't have short ones, postgres
  doesn't have enough long ones, etc."

- Add to TODO: "Consider parsing the -c string into individual queries
  so each is run in its own transaction" and "Consider disallowing
  multiple queries in PQexec() as an additional barrier to SQL
  injection attacks.

- Apply fix so pow() and exp() ERANGE is used only if result is not 0.

- Move INDEX inheritance out into a separate section of the TODO list.

- Euler Taveira de Oliveira's patch which lets initdb specify the
  pg_xlog directory.  TODO marked done :)

- Document problems with release links in early branches.

- Check for ERANGE in exp() as well.  Improve release docs for ecpg
  regression tests.

- Improve dpow() check for ERANGE overflow for HPPA.

- Remove extra character added to top.

- Fix markup because lc_numeric didn't have an SGML tag in this
  release.

- Fix markup because older releases couldn't link to the reference
  section.

- Document that we need to update the ecpg regression files when we
  update the library version number.

- Update ecpg regresison output for new library version number.

- Stefan Kaltenbrunner's patch to update float dpow() comment about
  which platforms had issues with Nan.

- Fix tab to space mention in FAQ_DEV.

- Simplify assignment of Inf for pow Nan (don't worry about the sign).

- Update pow() tests to check for both errno==EDOM _and_ result==Nan,
  and document why this happens.  Remove exp() errno check because not
  needed.

- Attempt to return proper overflow/underflow messages for platforms
  that only return Nan and set errno for pow/exp overflow/underflow.

- For float4/8, remove errno checks for pow() and exp() because only
  some platforms set errno, and we already have a check macro that
  detects under/overflow, so there is no reason for platform-specific
  code anymore.

- In pgsql/src/test/regress/expected/inet.out, update expected result
  for new inet error message wording.

- Adjust network errmsg("result is out of range") message to be
  consistent with other places.

- Some platforms set errno on pow(), exp() overflow, some do not, so
  if isinf(), fall through to our own infinity checks.

- finite() no longer used; remove finite() platform-specific
  infrastructure.

- Glen Parker's patch which adds n_live_tuples and n_dead_tuples to
  pg_stat_all_tables.  The purpose is to allow autovacuum-esq
  conditional vacuuming and clustering using SQL to discover the
  required stats.  No documentation updates required.  Catalog version
  updated.

- Add #include <float.h> for platforms that still need it.

- Fix float4/8 to handle Infinity and Nan consistently, e.g. Infinity
  is a valid result from a computation if one of the input values was
  infinity.  The previous code assumed an operation that returned
  infinity was an overflow.  Handle underflow/overflow consistently,
  and add checks for aggregate overflow.  Consistently prevent Inf/Nan
  from being cast to integer data types.  Fix INT_MIN % -1 to prevent
  overflow.  Update regression results for new error text.  Per report
  from Roman Kononov.

== Rejected Patches (for now) ==

No one was disappointed this week :-)

== Pending Patches ==

Simon Riggs sent in one version, then a revised one, of a patch which
adds a GUC variable wall_checksum per the discussion below.
http://archives.postgresql.org/pgsql-hackers/2006-10/msg01299.php

Bill Moran sent in two revisions of his patch to log usage of
temporary files.

Gurjeet Singh sent in another revision of his "Index Advisor" patch,
this time with a few bug fixes and an improvement to the size
estimation function.  It also includes a work-around to circumvent an
earlier problem in xact.c; it now fakes itself to be a PL/xxx module
by surrounding the BIST()/RARCST() calls inside an
SPI_connect()/SPI_finish() block.

Heikki Linnakangas sent in a patch that renames the t_natts field to
t_infomask2, with 11 bits reserved for the number of attributes and
the other 5 bits available for future use.  This is intended to
address the fact that the tuple header is getting full, which in turn
didn't allow the phantom command ids patch and the HOT patch to
coexist.



pgsql-announce by date:

Previous
From: "Dan Langille"
Date:
Subject: PGCon 2007 Program Committee
Next
From: Josh Berkus
Date:
Subject: New update released for all PostgreSQL versions