== PostgreSQL Weekly News - December 07 2008 == - Mailing list pgsql-announce
From | David Fetter |
---|---|
Subject | == PostgreSQL Weekly News - December 07 2008 == |
Date | |
Msg-id | E3A2CDC8913E4D928FE32E5D4764F634@lvmi.lt Whole thread Raw |
List | pgsql-announce |
== PostgreSQL Weekly News - December 07 2008 == Lorenzo Alberton has written an article comparing case handling in identifiers for several RDBMSs. http://www.alberton.info/dbms_identifiers_and_case_sensitivity.html Fedora 10 now has its own pgsqlrpms repository. http://yum.pgsqlrpms.org/ == PostgreSQL Product News == perl-DBD-PG 2.11.6 released. http://search.cpan.org/dist/DBD-Pg/ check_postgres 2.5.0 released. http://bucardo.org/check_postgres/ Hubert (depesz) Lubaczewski has released an explain analyze tool. http://www.depesz.com/index.php/2008/12/04/explaindepeszcom/ == PostgreSQL Jobs for December == http://archives.postgresql.org/pgsql-jobs/2008-12/threads.php == PostgreSQL Local == The Call for Papers for FOSDEM 2009 has begun. PostgreSQL will have a booth and will share a developer room with the BSD groups. Please submit your talks to "fosdem (at) postgresql (dot) eu" until 2009-01-02. PGCon Brazil will be take place October 23-24 2009 at Unicamp in Campinas, Sao Paulo state. == PostgreSQL in the News == Planet PostgreSQL: http://planet.postgresql.org/ PostgreSQL Weekly News is brought to you this week by David Fetter and Devrim GUNDUZ. 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: - Fixed typo in pgsql/doc/src/sgml/installation.sgml. - In pgsql/doc/src/sgml/ref/psql-ref.sgml, small correction. - In pgsql/doc/src/sgml/ref/select.sgml, add braces to clarify syntax synopsis. - In pgsql/doc/src/sgml/keywords.sgml, update key words table to 8.4 and SQL:2008. - In pgsql/GNUmakefile.in, call genhtml with --prefix option so local build paths don't appear in the coverage output. - Default values for function arguments. Pavel Stehule, with some tweaks by Peter Eisentraut - In pgsql/src/backend/utils/adt/misc.c, better descriptions in pg_get_keywords(), consistent with the documentation appendix on key words. catdesc was originally intended as computer-readable, but since we ended up adding catcode, we can have more elaborate descriptions. - Set up ar, dlltool, dllwrap, and windres for cross-compiling if necessary. Plus some makefile cleanup. Part of a patch from Richard Evans Michael Meskes committed: - Removed port testing from ecpg. Tom Lane committed: - In pgsql/src/tools/msvc/vcregress.pl, remove the last traces of --temp-port. - Ensure that the contents of a holdable cursor don't depend on out-of-line toasted values, since those could get dropped once the cursor's transaction is over. Per bug #4553 from Andrew Gierth. Back-patch as far as 8.1. The bug actually exists back to 7.4 when holdable cursors were introduced, but this patch won't work before 8.1 without significant adjustments. Given the lack of field complaints, it doesn't seem worth the work (and risk of introducing new bugs) to try to make a patch for the older branches. - Fix an oversight in the code that makes transitive-equality deductions from outer join clauses. Given, say, ... FROM a LEFT JOIN b ON a.a1 = b.b1 WHERE a.a1 = 42; we'll deduce a clause b.b1 = 42 and then mark the original join clause redundant (we can't remove it completely for reasons I don't feel like squeezing into this log entry). However the original implementation of that wasn't bulletproof, because clause_selectivity() wouldn't honor this_selec if given nonzero varRelid --- which in practice meant that it worked as desired *except* when considering index scan quals. Which resulted in bogus underestimation of the size of the indexscan result for an inner indexscan in an outer join, and consequently a possibly bad choice of indexscan vs. bitmap scan. Fix by introducing an explicit test into clause_selectivity(). Also, to make sure we don't trigger that test in corner cases, change the convention to be that this_selec > 1, not this_selec = 1, means it's been marked redundant. Per trouble report from Scara Maccai. Back-patch to 8.2, where the problem was introduced. - In pgsql/src/backend/optimizer/plan/subselect.c, don't try to optimize EXISTS subqueries with empty FROM-lists: we need to form a join and that case doesn't have anything to join to. (We could probably make it work if we didn't pull up the subquery, but it seems to me that the case isn't worth extra code.) Per report from Greg Stark. Heikki Linnakangas committed: - In pgsql/src/backend/utils/adt/formatting.c, modify the new to_timestamp implementation so that end-of-format-string is treated like a non-digit separator. This fixes the inconsistency in examples like: to_timestamp('2008-01-2', 'YYYY-Michael Meskes-DD') didn't work, while to_timestamp('2008-1-02', 'YYYY-Michael Meskes-DD') did. - In pgsql/src/backend/utils/adt/tsginidx.c, use PG_GETARG_TEXT_PP instead of PG_GETARG_TEXT_P in the new gin_cmp_tslexeme and gin_cmp_prefix functions. Should shave off a few cycles from GIN operations. - In pgsql/src/backend/access/transam/xlog.c, if pg_stop_backup() is called just after switching to a new xlog file, wait for the previous instead of the new file to be archived. Based on patch by Simon Riggs. - Small comment fixes in pgsql/src/backend/storage/freespace/freespace.c. - Introduce visibility map. The visibility map is a bitmap with one bit per heap page, where a set bit indicates that all tuples on the page are visible to all transactions, and the page therefore doesn't need vacuuming. It is stored in a new relation fork. Lazy vacuum uses the visibility map to skip pages that don't need vacuuming. Vacuum is also responsible for setting the bits in the map. In the future, this can hopefully be used to implement index-only-scans, but we can't currently guarantee that the visibility map is always 100% up-to-date. In addition to the visibility map, there's a new PD_ALL_VISIBLE flag on each heap page, also indicating that all tuples on the page are visible to all transactions. It's important that this flag is kept up-to-date. It is also used to skip visibility tests in sequential scans, which gives a small performance gain on seqscans. - In pgsql/src/include/catalog/catversion.h, forgot to bump catalog version in the visibility map patch. - Utilize the visibility map in autovacuum, too. There was an oversight in the visibility map patch that because autovacuum always sets VacuumStmt->freeze_min_age, visibility map was never used for autovacuum, only for manually launched vacuums. This patch introduces a new scan_all field to VacuumStmt, indicating explicitly whether the visibility map should be used, or the whole relation should be scanned, to advance relfrozenxid. Anti-wraparound vacuums still need to scan all pages. - In pgsql/src/backend/access/heap/visibilitymap.c, MAPSIZE macro needs to use MAXALIGN(SizeOfPageHeaderData) instead of SizeOfPageHeaderData, like PageGetContents does. Per report by Pavan Deolasee. Alvaro Herrera committed: - In pgsql/src/backend/utils/misc/guc.c, minor code embellishments. - Fix a couple of snapshot management bugs in the new ResourceOwner world: non-writable large objects need to have their snapshots registered on the transaction resowner, not the current portal's, because it must persist until the large object is closed (which the portal does not). Also, ensure that the serializable snapshot is recorded by the transaction resource owner too, even when a subtransaction has changed the current resource owner before serializable is taken. Per bug reports from Pavan Deolasee. - Desultorily enclose programlisting tags in CDATA, to get rid of some obnoxious SGML-escaping. Magnus Hagander committed: - Change wildcard cerfificate mapping to be much smaller - we now only match the * character at the beginning of a pattern, and it does not match subdomains. Since this means we no longer need fnmatch, remove the imported implementation from port, along with the autoconf check for it. - In pgsql/doc/src/sgml/libpq.sgml, documentation for wildcard certificates patch. - Properly unregister OpenSSL callbacks when libpq is done with it's connection. This is required for applications that unload the libpq library (such as PHP) in which case we'd otherwise have pointers to these functions when they no longer exist. This needs a bit more testing before we can consider a backpatch, so not doing that yet. In passing, remove unused functions in backend/libpq. Bruce Momjian and Magnus Hagander, per report and analysis by Russell Smith. - In pgsql/src/interfaces/libpq/fe-secure.c, comment said we don't free the lockarray, and why. The proper fix is to make the code do what the comment says... Bruce Momjian committed: - In pgsql/src/interfaces/libpq/fe-secure.c, fix typo in recent SSL unload patch. Kris Jurka - In pgsql/doc/src/sgml/wal.sgml, document that non-data journaling is a recommended mount option. - Allow CREATE OR REPLACE VIEW to add columns to the _end_ of the view. Robert Haas. Teodor Sigaev committed: - In pgsql/src/backend/access/gist/gistscan.c, initialize GISTScanOpaque->qual_ok even if there is no conditions. == Rejected Patches (for now) == No one was disappointed this week :-) == Pending Patches == Hitoshi Harada sent in four more revisions of his windowing functions patch. Pavel Stehule sent in another revision of his default values for function parameters patch. Zdenek Kotala sent in a patch updating the pg_upgrade script. Magnus Hagander sent a patch to update the docs for work_mem so it points to autovacuum_max_workers. Hannes Eder sent in a patch to add a skyline operator. Heikki Linnakangas sent in a patch to speed up GIN index builds. ITAGAKI Takahiro sent in another patch implementing pg_stat_statements. Alvaro Herrera sent in two revisions of a patch to fix an assert bug in lo_open(). Euler Taveira da Oliviera sent in a patch which enhances portability of "designated initializers." KaiGai Kohei sent in two more sets of SE-PostgreSQL patches. David Rowley sent in some doc massaging for Hitoshi Harada's windowing functions patch. Martin Pihlak sent in another revision of his SQL/MED connection manager patch. Heikki Linnakangas sent in another patch for the visibility map. Heikki Linnakangas sent in a patch to fix pg_stop_backup. Emmanuel Cecchet sent in another patch to fix temp table behavior in transactions. Josh Williams sent in a patch to make \d display a sequence's owner in psql. Kurt Harriman sent in a flock of patches to allow people to use C++ in SPI code, etc. Discussion is ongoing. ---------------------------(end of broadcast)--------------------------- -To unsubscribe from this list, send an email to: pgsql-announce-unsubscribe@postgresql.org
pgsql-announce by date: