Correctifs appliqués

Tom Lane a poussé :

  • Improve reporting of newlocale() failures in CREATE COLLATION. The standardized errno code for "no such locale" failures is ENOENT, which we were just reporting at face value, viz "No such file or directory". Per gripe from Thom Brown, this might confuse users, so add an errdetail message to clarify what it means. Also, report newlocale() failures as ERRCODE_INVALID_PARAMETER_VALUE rather than using errcode_for_file_access(), since newlocale()'s errno values aren't necessarily tied directly to file access failures.
  • Suppress "unused function" warning when not HAVE_LOCALE_T. Forgot to consider this case ...
  • Make EXPLAIN ANALYZE report the numbers of rows rejected by filter steps. This provides information about the numbers of tuples that were visited but not returned by table scans, as well as the numbers of join tuples that were considered and discarded within a join plan node. There is still some discussion going on about the best way to report counts for outer-join situations, but I think most of what's in the patch would not change if we revise that, so I'm going to go ahead and commit it as-is. Documentation changes to follow (they weren't in the submitted patch either). Marko Tiikkaja, reviewed by Marc Cousin, somewhat revised by Tom Lane
  • Update release notes for 9.1.1, 9.0.5, 8.4.9, 8.3.16, 8.2.22. Man, we fixed a lotta bugs since April.
  • Stamp 8.2.22, 8.3.16, 8.4.9, 9.0.5, 9.1.1.
  • Update for the new location of our Windows timezone map. I wasn't aware of this script till Magnus Hagander mentioned it just now ...
  • Fix our mapping of Windows timezones for Central America. We were mapping "Central America Standard Time" to "CST6CDT", which seems entirely wrong, because according to the Olson timezone database noplace in Central America observes daylight savings time on any regular basis --- and certainly not according to the USA DST rules that are implied by "CST6CDT". (Mexico is an exception, but they can be disregarded since they have a separate timezone name in Windows.) So, map this zone name to plain "CST6", which will provide a fixed UTC offset. As written, this patch will also result in mapping "Central America Daylight Time" to CST6. I considered hacking things so that would still map to CST6CDT, but it seems it would confuse to put those two names in separate entries. Since there's little evidence that any such zone name is used in the wild, much less that CST6CDT would be a good match for it, I'm not too worried about what we do with it. Per complaint from Pratik Chirania.
  • Recognize self-contradictory restriction clauses for non-table relations. The constraint exclusion feature checks for contradictions among scan restriction clauses, as well as contradictions between those clauses and a table's CHECK constraints. The first aspect of this testing can be useful for non-table relations (such as subqueries or functions-in-FROM), but the feature was coded with only the CHECK case in mind so we were applying it only to plain-table RTEs. Move the relation_excluded_by_constraints call so that it is applied to all RTEs not just plain tables. With the default setting of constraint_exclusion this results in no extra work, but with constraint_exclusion = ON we will detect optimizations that we missed before (at the cost of more planner cycles than we expended before). Per a gripe from Gunnlaugur Þór Briem. Experimentation with his example also showed we were not being very bright about the case where constraint exclusion is proven within a subquery within UNION ALL, so tweak the code to allow set_append_rel_pathlist to recognize such cases.
  • Un-break compression of plain-text output format in pg_dump. pg_dump has historically understood -Z with no -F switch to mean that it should emit a gzip-compressed version of its plain text output. This got broken through a misunderstanding in the 9.1 patch that added directory output format. Restore the former behavior. Per complaint from Roger Niederland and diagnosis by Adrian Klaver.
  • Avoid unnecessary snapshot-acquisitions in BuildCachedPlan. I had copied-and-pasted a claim that we couldn't reach this point when dealing with utility statements, but that was a leftover from when the caller was required to supply a plan to start with. We now will go through here at least once when handling a utility statement, so it seems worth a check to see whether a snapshot is actually needed. (Note that analyze_requires_snapshot is quite a cheap test.) Per suggestion from Yamamoto Takashi. I don't think I believe that this resolves his reported assertion failure; but it's worth changing anyway, just to save a cycle or two.
  • Fully const-ify PQconnectdbParams, PQconnectStartParams, and PQpingParams. The keywords and values arguments of these functions are more properly declared "const char * const *" than just "const char **". Lionel Elie Mamane, reviewed by Craig Ringer

Robert Haas a poussé :

Peter Eisentraut a poussé :

Simon Riggs a poussé :

Magnus Hagander a poussé :

Bruce Momjian a poussé :

Correctifs rejetés (à ce jour)

  • Pas de déception cette semaine :-)

Correctifs en attente

  • Jeff Davis sent in another revision of the patch to create range types.
  • Peter Geoghegan sent in three revisions of a patch to speed up comparators by inlining them.
  • Muhammad Asif sent in two revisions of a patch to fix an issue with BSD sockets on HP-UX.
  • Alexander Korotkov sent in two more revisions of the double sorting split patch.
  • Fujii Masao sent in another revision of the patch to allow doing a backup from a hot standby.
  • Pavel Stehule sent in another revision of the patch to remove unnecessary ccache search when an array variable is updated in PL/pgsql.
  • Yeb Havinga sent in a patch to refine dependency checking in EXTENSIONs.
  • Magnus Hagander sent in two revisions of a patch to make the TABLE command tab-complete both tables and views in psql. Before, it only tab-completed tables.
  • Magnus Hagander sent in a patch to add a call to posix_fadvise with POSIX_FADV_DONTNEED on all the files being read when doing a base backup, to help the kernel not to trash the filesystem cache.
  • Oleg Bartunov sent in another revision of the patch to enable space-partitioned GiST indexes.
  • Marti Raudsepp sent in another revision of the patch to cache stable expressions with constant arguments.
  • ITAGAKI Takahiro sent in a patch to allow COPY to support UTF8 files with a byte order mark (BOM).