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