aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Guard against input_rows == 0 in estimate_num_groups().Tom Lane2013-05-10
| | | | | | | | | | | | | | | This case doesn't normally happen, because the planner usually clamps all row estimates to at least one row; but I found that it can arise when dealing with relations excluded by constraints. Without a defense, estimate_num_groups() can return zero, which leads to divisions by zero inside the planner as well as assertion failures in the executor. An alternative fix would be to change set_dummy_rel_pathlist() to make the size estimate for a dummy relation 1 row instead of 0, but that seemed pretty ugly; and probably someday we'll want to drop the convention that the minimum rowcount estimate is 1 row. Back-patch to 8.4, as the problem can be demonstrated that far back.
* Fix pgp_pub_decrypt() so it works for secret keys with passwords.Tom Lane2013-05-10
| | | | | | Per report from Keith Fiske. Marko Kreen
* Fix management of fn_extra caching during repeated GiST index scans.Tom Lane2013-05-09
| | | | | | | | | | | | | | Commit d22a09dc70f9830fa78c1cd1a3a453e4e473d354 introduced official support for GiST consistentFns that want to cache data using the FmgrInfo fn_extra pointer: the idea was to preserve the cached values across gistrescan(), whereas formerly they'd been leaked. However, there was an oversight in that, namely that multiple scan keys might reference the same column's consistentFn; the code would result in propagating the same cache value into multiple scan keys, resulting in crashes or wrong answers. Use a separate array instead to ensure that each scan key keeps its own state. Per bug #8143 from Joel Roller. Back-patch to 9.2 where the bug was introduced.
* Update key words table for 9.3Peter Eisentraut2013-05-09
|
* Remove make_keywordsPeter Eisentraut2013-05-09
| | | | It is not used anymore.
* Use pg_dump's --quote-all-identifiers option in pg_upgrade.Tom Lane2013-05-09
| | | | | | | | | This helps guard against changes in the set of reserved keywords from one version to another. In theory it should only be an issue if we de-reserve a keyword in a newer release, since that can create the type of problem shown in bug #8128. Back-patch to 9.1 where the --quote-all-identifiers option was added.
* pg_upgrade docs: give tips on automationBruce Momjian2013-05-09
| | | | | | Document that post-upgrade steps are likely to be the same for all clusters with the same DDL/schemas; this should help automated upgrades.
* Update collate.linux.utf8.out for ruleutils.c line-wrapping changes.Tom Lane2013-05-08
| | | | Missed in commit 62e666400dddf605b9b6d9a7ac2918711b5c5629.
* Better fix for permissions tests in excluded subqueries.Tom Lane2013-05-08
| | | | | | | | | | | | | | | | | | | | | | This reverts the code changes in 50c137487c96e629e0e5372bb3d1b5f1a2f71a88, which turned out to induce crashes and not completely fix the problem anyway. That commit only considered single subqueries that were excluded by constraint-exclusion logic, but actually the problem also exists for subqueries that are appendrel members (ie part of a UNION ALL list). In such cases we can't add a dummy subpath to the appendrel's AppendPath list without defeating the logic that recognizes when an appendrel is completely excluded. Instead, fix the problem by having setrefs.c scan the rangetable an extra time looking for subqueries that didn't get into the plan tree. (This approach depends on the 9.2 change that made set_subquery_pathlist generate dummy paths for excluded single subqueries, so that the exclusion behavior is the same for single subqueries and appendrel members.) Note: it turns out that the appendrel form of the missed-permissions-checks bug exists as far back as 8.4. However, since the practical effect of that bug seems pretty minimal, consensus is to not attempt to fix it in the back branches, at least not yet. Possibly we could back-port this patch once it's gotten a reasonable amount of testing in HEAD. For the moment I'm just going to revert the previous patch in 9.2.
* The data structure used in unaccent is a trie, not suffix tree.Heikki Linnakangas2013-05-08
| | | | | | Fix the term used in variable and struct names, and comments. Alexander Korotkov
* Fix walsender failure at promotion.Heikki Linnakangas2013-05-08
| | | | | | | | | | | | | | | | | | | | | | | | If a standby server has a cascading standby server connected to it, it's possible that WAL has already been sent up to the next WAL page boundary, splitting a WAL record in the middle, when the first standby server is promoted. Don't throw an assertion failure or error in walsender if that happens. Also, fix a variant of the same bug in pg_receivexlog: if it had already received WAL on previous timeline up to a segment boundary, when the upstream standby server is promoted so that the timeline switch record falls on the previous segment, pg_receivexlog would miss the segment containing the timeline switch. To fix that, have walsender send the position of the timeline switch at end-of-streaming, in addition to the next timeline's ID. It was previously assumed that the switch happened exactly where the streaming stopped. Note: this is an incompatible change in the streaming protocol. You might get an error if you try to stream over timeline switches, if the client is running 9.3beta1 and the server is more recent. It should be fine after a reconnect, however. Reported by Fujii Masao.
* Use the term "radix tree" instead of "suffix tree" for SP-GiST text opclass.Heikki Linnakangas2013-05-08
| | | | | | | What we have implemented is a radix tree (or a radix trie or a patricia trie), but the docs and code comments incorrectly called it a "suffix tree". Alexander Korotkov
* doc: Add IDs to link targets used by phpPgAdminPeter Eisentraut2013-05-07
| | | | Karl O. Pinc
* Stress that backup_label file is critical in the docs.Heikki Linnakangas2013-05-07
| | | | | | | It is surprisingly common mistake to leave out backup_label file from a base backup. Say more explicitly that it must be included. Jeff Janes, with minor rewording by me.
* Stamp 9.3beta1.REL9_3_BETA1Tom Lane2013-05-06
|
* Desultory copy-editing of the 9.3 release notes.Tom Lane2013-05-06
| | | | I had time for a quick review of the notes, so here are some fixes.
* Move materialized views' is-populated status into their pg_class entries.Tom Lane2013-05-06
| | | | | | | | | | | | Previously this state was represented by whether the view's disk file had zero or nonzero size, which is problematic for numerous reasons, since it's breaking a fundamental assumption about heap storage. This was done to allow unlogged matviews to revert to unpopulated status after a crash despite our lack of any ability to update catalog entries post-crash. However, this poses enough risk of future problems that it seems better to not support unlogged matviews until we can find another way. Accordingly, revert that choice as well as a number of existing kluges forced by it in favor of creating a pg_class.relispopulated flag column.
* Back out some recent translation updates.Tom Lane2013-05-06
| | | | | | | | Very old versions of msgfmt choke on these specific messages, for reasons that are unclear at the moment. Remove them so that we can ship a beta release and not get complaints from testers (these messages will just go untranslated, instead, and we're hardly at 100% coverage anyway). Peter Eisentraut will look for a better fix later.
* Disallow unlogged materialized views.Tom Lane2013-05-06
| | | | | | | | | | | | | | | | | The initial implementation of this feature was really unsupportable, because it's relying on the physical size of an on-disk file to carry the relation's populated/unpopulated state, which is at least a modularity violation and could have serious long-term consequences. We could say that an unlogged matview goes to empty on crash, but not everybody likes that definition, so let's just remove the feature for 9.3. We can add it back when we have a less klugy implementation. I left the grammar and tab-completion support for CREATE UNLOGGED MATERIALIZED VIEW in place, since it's harmless and allows delivering a more specific error message about the unsupported feature. I'm committing this separately to ease identification of what should be reverted when/if we are able to re-enable the feature.
* 9.3 release notes: use "restoration"Bruce Momjian2013-05-06
| | | | Andrew Dunstan
* 9.3 release notes: Add cache of local locksBruce Momjian2013-05-06
| | | | | | Mention this also helps in the restoring of pg_dumps. Jeff Janes
* 9.3 release notes: update from Amit KapilaBruce Momjian2013-05-06
| | | | No need to mention wal_receiver_status_interval.
* Execute SET TRANSACTION SNAPSHOT during pg_dumpSimon Riggs2013-05-06
| | | | | | Previous coding set the SQL buffer but never executed Bug noted by me during beta testing
* Revert idea of zer-padding padding session id in log_line_prefixBruce Momjian2013-05-06
| | | | Removal of doc adjustment and release note mention as well.
* Translation updatesPeter Eisentraut2013-05-05
|
* Improve behavior of \watch with non-tuple-returning commands.Tom Lane2013-05-04
| | | | | | | | Print the command tag if we get PGRES_COMMAND_OK, and throw an error for other cases. Per gripe from Michael Paquier. In passing, add an fflush(), just to be real sure the output appears before we sleep.
* docs: Improve log_line_prefix session_id queryBruce Momjian2013-05-04
|
* docs: log_line_prefix session id fixBruce Momjian2013-05-04
| | | | | | | | | Restore 4-byte designation for docs. Fix 9.3 doc query to properly pad to four digits. Backpatch to all active branches Per suggestions from Ian Lawrence Barwick
* 9.3 docs: wording fixesBruce Momjian2013-05-04
| | | | From Erik Rijkers
* docs: fix log_line_prefix session id docsBruce Momjian2013-05-04
| | | | | | Backpatch to 9.2. Report from Ian Lawrence Barwick
* 9.3 release notes: adjustmentsBruce Momjian2013-05-04
| | | | Fixes from Peter Geoghegan, Ian Lawrence Barwick, Marti Raudsepp
* 9.3 release notes: move compatibility items into their own sectionBruce Momjian2013-05-03
|
* 9.3 release notes: Add markup for pg_backup_start_time()Bruce Momjian2013-05-03
|
* 9.3 release notes: Add links to SGML sectionsBruce Momjian2013-05-03
|
* 9.3 release notes: add markup for textBruce Momjian2013-05-03
| | | | Still need to add links for new features.
* Improve SPI documentation about null-flags arrays.Tom Lane2013-05-03
| | | | | | Clarify the description of nulls[] arguments, and use the same wording for all SPI functions with this type of argument. Per gripe from Yuriy Rusinov.
* 9.3 release notes: update for current commitsBruce Momjian2013-05-03
| | | | Also, remove broken link in release.sgml.
* 9.3 release notes: suggested improvements from Jeff Janes and Josh BerkusBruce Momjian2013-05-02
|
* Prevent (auto)vacuum from truncating first page of populated matview.Kevin Grittner2013-05-02
| | | | Per report from Fujii Masao, with regression test using his example.
* pg_test_fsync: update output to show usecs/op clearerBruce Momjian2013-05-02
|
* Use correct length to convert json unicode escapes.Andrew Dunstan2013-05-01
| | | | Bug reported on IRC - fix due to Andrew Gierth.
* Fix permission tests for views/tables proven empty by constraint exclusion.Tom Lane2013-05-01
| | | | | | | | | | | | | | | | | | A view defined as "select <something> where false" had the curious property that the system wouldn't check whether users had the privileges necessary to select from it. More generally, permissions checks could be skipped for tables referenced in sub-selects or views that were proven empty by constraint exclusion (although some quick testing suggests this seldom happens in cases of practical interest). This happened because the planner failed to include rangetable entries for such tables in the finished plan. This was noticed in connection with erroneous handling of materialized views, but actually the issue is quite unrelated to matviews. Therefore, revert commit 200ba1667b3a8d7a9d559d2f05f83d209c9d8267 in favor of a more direct test for the real problem. Back-patch to 9.2 where the bug was introduced (by commit 7741dd6590073719688891898e85f0cb73453159).
* Add regression test for bug fixed by recent refactoring.Kevin Grittner2013-04-30
| | | | | Test case by Andres Freund for bug fixed by Tom Lane's refactoring in commit 5194024d72f33fb209e10f9ab0ada7cc67df45b7
* Fix pg_upgrade for 9.3 with data checksums.Simon Riggs2013-04-30
| | | | | Previous changes misconstrued pg_upgrade internals causing build farm breakages.
* Revert previous temporary patchSimon Riggs2013-04-30
|
* Temporarily silence pg_upgrade's checksums checkSimon Riggs2013-04-30
|
* Bump PG_CONTROL_VERSION to 937Simon Riggs2013-04-30
|
* Record data_checksum_version in control file.Simon Riggs2013-04-30
| | | | | | The value is not used anywhere in code, but will allow future changes to the checksum version should that become necessary in the future.
* Ensure we MarkBufferDirty before visibilitymap_set()Simon Riggs2013-04-30
| | | | | | | | logs the heap page and sets the LSN. Otherwise a checkpoint could occur between those actions and leave us in an inconsistent state. Jeff Davis
* Compiler optimizations for page checksum code.Simon Riggs2013-04-30
| | | | Ants Aasma and Jeff Davis