|Тема:||== PostgreSQL Weekly News - December 29 2013 ==|
(см: обсуждение, исходный текст)
== PostgreSQL Weekly News - December 29 2013 == Nordic PGDay 2014 will be held in stockholm on March 20, 2014. http://www.nordicpgday.org/ == PostgreSQL Product News == oracle_fdw 0.9.10 released. https://github.com/laurenz/oracle_fdw pgModeler 0.62, a modeling tool for PostgreSQL, released. http://pgmodeler.com.br == PostgreSQL Jobs for December == http://archives.postgresql.org/pgsql-jobs/2013-12/threads.php == PostgreSQL Local == FOSDEM PGDay, a one day conference held before FOSDEM in Brussels, Belgium, will be on Jan 31st, 2014. Details: http://fosdem2014.pgconf.eu/ http://fosdem2014.pgconf.eu/registration/ The 7th annual "Prague PostgreSQL Developers Day" (P2D2) conference organized by CSPUG (Czech and Slovak PostgreSQL Users Group), will be held on February 6, 2014 at Faculty of Mathematics and Physics, Charles University (Malostranske namesti 25, Prague). Czech language info below. The CfP will be open through 2014/01/03. http://www.p2d2.cz/ The CfP for PGConf NYC 2014 is open through January 10, 2014. Notifications will go out on January 15, 2014. http://nyc.pgconf.us/2014/ The CfP for PGCon 2014 is open through January 19, 2014. http://www.pgcon.org/2014/ == PostgreSQL in the News == Planet PostgreSQL: http://planet.postgresql.org/ 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 , German language to , Italian language to . Spanish language to . == Applied Patches == Tom Lane pushed: - Fix portability issue in ordered-set patch. Overly compact coding in makeOrderedSetArgs() led to a platform dependency: if the compiler chose to execute the subexpressions in the wrong order, list_length() might get applied to an already-modified List, giving a value we didn't want. Per buildfarm. http://git.postgresql.org/pg/commitdiff/cf63c641cae2063a0442d73d49af295301cec61b - Fix ANALYZE failure on a column that's a domain over a range. Most other range operations seem to work all right on domains, but this one not so much, at least not since commit 918eee0c. Per bug #8684 from Brett Neumeier. http://git.postgresql.org/pg/commitdiff/4eeda92d86250b702ee6f88fcad2340e5e7d8747 - Fix inadequately-tested code path in tuplesort_skiptuples(). Per report from Jeff Davis. http://git.postgresql.org/pg/commitdiff/1def747db68b234b54b784c74dfbe329f5478b79 - Undo autoconf 2.69's attempt to #define _DARWIN_USE_64_BIT_INODE. Defining this symbol causes OS X 10.5 to use a buggy version of readdir(), which can sometimes fail with EINVAL if the previously-fetched directory entry has been deleted or renamed. In later OS X versions that bug has been repaired, but we still don't need the #define because it's on by default. So this is just an all-around bad idea, and we can do without it. http://git.postgresql.org/pg/commitdiff/ed011d9754fd4b76eac0eaa8c057fcfc0c302a6a Robert Haas pushed: - Revise documentation for new freezing method. Commit 37484ad2aacef5ec794f4dd3d5cf814475180a78 invalidated a good chunk of documentation, so patch it up to reflect the new state of play. Along the way, patch remaining documentation references to FrozenXID to say instead FrozenTransactionId, so that they match the way we actually spell it in the code. http://git.postgresql.org/pg/commitdiff/d43760b624b7cebc35e5f9c60d2e1439cbe9b220 Peter Eisentraut pushed: - Fix whitespace http://git.postgresql.org/pg/commitdiff/a09e3fd77661e22f5000098e7b0bfcc6751d7c18 - Fix whitespace http://git.postgresql.org/pg/commitdiff/b986270bd4bec964d239cd73f7aaf5131a6996fa - Update grammar. From: Etsuro Fujita <> http://git.postgresql.org/pg/commitdiff/71812a98cb8cfbcf9c3376e0c93fcb4c8e373a54 Andrew Dunstan pushed: - Properly detect invalid JSON numbers when generating JSON. Instead of looking for characters that aren't valid in JSON numbers, we simply pass the output string through the JSON number parser, and if it fails the string is quoted. This means among other things that money and domains over money will be quoted correctly and generate valid JSON. Fixes bug #8676 reported by Anderson Cristian da Silva. Backpatched to 9.2 where JSON generation was introduced. http://git.postgresql.org/pg/commitdiff/29dcf7ded5ef8533376689a85c5b242fc7ace01d Kevin Grittner pushed: - Fix misplaced right paren bugs in pgstatfuncs.c. The bug would only show up if the C sockaddr structure contained zero in the first byte for a valid address; otherwise it would fail to fail, which is probably why it went unnoticed for so long. Patch submitted by Joel Jacobson after seeing an article by Andrey Karpov in which he reports finding this through static code analysis using PVS-Studio. While I was at it I moved a definition of a local variable referenced in the buggy code to a more local context. Backpatch to all supported branches. http://git.postgresql.org/pg/commitdiff/a133bf7031ad5b62281b21dbd6b2097d3d400f0d - Don't attempt to limit target database for pg_restore. There was an apparent attempt to limit the target database for pg_restore to version 7.1.0 or later. Due to a leading zero this was interpreted as an octal number, which allowed targets with version numbers down to 2.87.36. The lowest actual release above that was 6.0.0, so that was effectively the limit. Since the success of the restore attempt will depend primarily on on what statements were generated by the dump run, we don't want pg_restore trying to guess whether a given target should be allowed based on version number. Allow a connection to any version. Since it is very unlikely that anyone would be using a recent version of pg_restore to restore to a pre-6.0 database, this has little to no practical impact, but it makes the code less confusing to read. Issue reported and initial patch suggestion from Joel Jacobson based on an article by Andrey Karpov reporting on issues found by PVS-Studio static code analyzer. Final patch based on analysis by Tom Lane. Back-patch to all supported branches. http://git.postgresql.org/pg/commitdiff/47f50262e7ce5ba37940d8a94198b7a7f4892c0e == Rejected Patches (for now) == No one was disappointed this week :-) == Pending Patches == Robert Haas sent in another revision of a patch to implement shared memory message queues. Michael Paquier sent in a patch to align the internal name of wal_log_hints with its external name. Andres Freund sent in a WIP patch to remove system columns from pg_attribute. Robert Haas sent in a patch to implement a pg_tuple_header function. Andreas Karlsson sent in two revisions of a patch to allow including planning time in EXPLAIN [ANALYZE]. Sergey Muraviov sent in another revision of a patch to improve how psql displays wide output. Michael Paquier sent in a patch to add a pg_prewarm--unpackaged--1.0.sql to the new pg_prewarm contrib module. Vik Fearing sent in a patch to implement CREATE TABLESPACE ... SET ... MauMau sent in a patch to fix an issue where an ECPG application crashes due to SIGBUS on SPARC Solaris. MauMau sent in a patch to fix an issue where "pg_ctl stop" times out when it should respond quickly. Joel Jacobson sent in a patch to fix an issue where compare returned value by socket() against PGINVALID_SOCKET instead of < 0. David Rowley sent in two more revisions of a patch to implement inverse transition functions for aggregates. Marko Kreen sent in a patch to fix an issue where memset was being used in a dangerous way in pg_crypto. The patch replaces memset in places where it might be optimized away with px_memset. Etsuro Fujita sent in another revision of a patch to show lossy heap block info in EXPLAIN ANALYZE for bitmap heap scan. David Rowley sent in a patch to fix an issue where the diff options on Windows would wrongly hide whitespace changes deemed important. David Rowley sent in a patch to prevent a possible overflow in work_mem calculations. Tom Lane sent in a patch to generalize OR-clause extraction for foreign tables. Alexander Korotkov sent in two more revisions of a patch to implement partial sorting. Peter Geoghegan sent in another revision of a patch to implement INSERT...ON DUPLICATE KEY LOCK FOR UPDATE.