aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* pgindent run for release 9.3Bruce Momjian2013-05-29
| | | | | This is the first run of the Perl-based pgindent script. Also update pgindent instructions.
* Document auto_explain.log_timing.Robert Haas2013-05-29
| | | | Tomas Vondra
* pg_upgrade docs: mention need to set parameters for vacuumdb.Bruce Momjian2013-05-28
|
* Documentation fix for ALTER TYPE .. RENAMEStephen Frost2013-05-27
| | | | | | | | | | | | The documentation for ALTER TYPE .. RENAME claimed to support a RESTRICT/CASCADE option at the 'type' level, which wasn't implemented and doesn't make a whole lot of sense to begin with. What is supported, and previously undocumented, is ALTER TYPE .. RENAME ATTRIBUTE .. RESTRICT/CASCADE. I've updated the documentation and back-patched this to 9.1 where it was first introduced.
* Remove pageinspect--1.0.sqlHeikki Linnakangas2013-05-24
| | | | | | We're not installing it anymore. Michael Paquier
* Fix typo in comment.Robert Haas2013-05-23
| | | | Pavan Deolasee
* Print line number correctly in COPY.Heikki Linnakangas2013-05-23
| | | | | | | | | | When COPY uses the multi-insert method to insert a batch of tuples into the heap at a time, incorrect line number was printed if something went wrong in inserting the index tuples (primary key failure, for exampl), or processing after row triggers. Fixes bug #8173 reported by Lloyd Albin. Backpatch to 9.2, where the multi- insert code was added.
* 9.3 release notes: improve cached plan mentionBruce Momjian2013-05-21
| | | | Per suggestion from Tom Lane.
* After fast promotion use CHECKPOINT_FORCESimon Riggs2013-05-21
| | | | | | | Not necessary for correctness, just to make log_checkpoints output look less singular. Requested by Fujii Masao
* Maintain ThisTimeLineID correctly in checkpointerSimon Riggs2013-05-21
| | | | | | | | | | | | checkpointer needs to reset ThisTimeLineID after a restartpoint to allow installing/recycling new WAL files. If recovery has already ended this would leave ThisTimeLineID set incorrectly and so we must reset it otherwise later checkpoints do not have the correct timeline. Bug report by Heikki Linnakangas. Further investigation by Heikki and myself.
* 9.3 release notes: fix SGML markup for DROP TABLE IF EXISTSBruce Momjian2013-05-21
|
* 9.3 release docs: fix DROP TABLE IF EXISTSBruce Momjian2013-05-20
| | | | Patch from Joe Abbate.
* Documentation spell checking and markup improvementsPeter Eisentraut2013-05-20
|
* Fix escaping in generated recovery.conf file.Heikki Linnakangas2013-05-20
| | | | | | | | | | | | | | In the primary_conninfo line that "pg_basebackup -R" generates, single quotes in parameter values need to be escaped into \\'; the libpq parser requires the quotes to be escaped into \', and recovery.conf parser requires the \ to be escaped into \\. Also, don't quote parameter values unnecessarily, to make the connection string prettier. Most options in a libpq connection string don't need quoting. Reported by Hari Babu, closer analysis by Zoltan Boszormenyi, although I didn't use his patch.
* Clarify documentation of EXPLAIN (TIMING OFF) option.Tom Lane2013-05-19
| | | | | | | Clarify that this option doesn't suppress measurement of the statement's total runtime. Greg Smith
* Init crash recovery using the latest available TLISimon Riggs2013-05-19
| | | | | | | | This simplifies the handling of crashes after fast promotion and various minor cases that can exist in short timing windows around that case. Broad fix to bug reported by Michael Paquier on -hackers, approach prompted by Heikki Linnakangas
* Emit msg correctly for timeline-crossing crashSimon Riggs2013-05-19
|
* Remove single space on end of a line in xlog.cSimon Riggs2013-05-19
| | | | Michael Paquier
* Remove unused regression test files.Heikki Linnakangas2013-05-18
| | | | | | | euc_* and mule_internal test cases were identical to the ones in src/test/mb. sql_ascii didn't exist elsewhere, but has been broken since 2001, and doesn't seem very interesting anyway. drop.sql hasn't been used since 2000, when regress.sh was removed.
* release docs: mention PL/pgSQL as supporting event triggers in PG 9.3Bruce Momjian2013-05-18
|
* Fix crash when trying to display a NOTIFY rule action.Tom Lane2013-05-16
| | | | | | | | Fixes oversight in commit 2ffa740be9d96a3743ecb7e42391c53d0760c65a. Per report from Josh Kupershmidt. I think we've broken this case before, so let's add a regression test this time.
* Fix fd.c to preserve errno where needed.Tom Lane2013-05-16
| | | | | | | | | | | | | | | | | PathNameOpenFile failed to ensure that the correct value of errno was returned to its caller after a failure (because it incorrectly supposed that free() can never change errno). In some cases this would result in a user-visible failure because an expected ENOENT errno was replaced with something else. Bogus EINVAL failures have been observed on OS X, for example. There were also a couple of places that could mangle an important value of errno if FDDEBUG was defined. While the usefulness of that debug support is highly debatable, we might as well make it safe to use, so add errno save/restore logic to the DO_DB macro. Per bug #8167 from Nelson Minar, diagnosed by RhodiumToad. Back-patch to all supported branches.
* Fix some uses of "the quick brown fox".Tom Lane2013-05-16
| | | | | If we're going to quote a well-known pangram, we should quote it accurately. Per gripe from Thom Brown.
* Allow CREATE FOREIGN TABLE to include SERIAL columns.Tom Lane2013-05-15
| | | | | | | | | | | | | | | | The behavior is that the required sequence is created locally, which is appropriate because the default expression will be evaluated locally. Per gripe from Brad Nicholson that this case was refused with a confusing error message. We could have improved the error message but it seems better to just allow the case. Also, remove ALTER TABLE's arbitrary prohibition against being applied to foreign tables, which was pretty inconsistent considering we allow it for views, sequences, and other relation types that aren't even called tables. This is needed to avoid breaking pg_dump, which sometimes emits column defaults using separate ALTER TABLE commands. (I think this can happen even when the default is not associated with a sequence, so that was a pre-existing bug once we allowed column defaults for foreign tables.)
* doc: Add \dm command to psql man pagePeter Eisentraut2013-05-14
|
* doc: Fix some whitespace issues in the man pagesPeter Eisentraut2013-05-13
|
* pg_upgrade: Replace tabs in output string constants by spacesPeter Eisentraut2013-05-13
|
* doc: Fix order of options on pgbench man pagePeter Eisentraut2013-05-13
|
* Fix handling of OID wraparound while in standalone mode.Tom Lane2013-05-13
| | | | | | | | | | | If OID wraparound should occur while in standalone mode (unlikely but possible), we want to advance the counter to FirstNormalObjectId not FirstBootstrapObjectId. Otherwise, user objects might be created with OIDs in the system-reserved range. That isn't immediately harmful but it poses a risk of conflicts during future pg_upgrade operations. Noted by Andres Freund. Back-patch to all supported branches, since all of them are supported sources for pg_upgrade operations.
* Fix handling of strict non-set functions with NULLs in set-valued inputs.Tom Lane2013-05-12
| | | | | | | | | | | | | | | | In a construct like "select plain_function(set_returning_function(...))", the plain function is applied to each output row of the SRF successively. If some of the SRF outputs are NULL, and the plain function is strict, you'd expect to get NULL results for such rows ... but what actually happened was that such rows were omitted entirely from the result set. This was due to confusion of this case with what should happen for nested set-returning functions; a strict SRF is indeed supposed to yield an empty set for null input. Per bug #8150 from Erwin Brandstetter. Although this has been broken forever, we're not back-patching because of the possibility that some apps out there expect the incorrect behavior. This change should be listed as a possible incompatibility in the 9.3 release notes.
* pgbench: Fix order of options in --help outputPeter Eisentraut2013-05-11
|
* pg_xlogdump: Improve --help outputPeter Eisentraut2013-05-11
|
* Fix to_number() to correctly ignore thousands separator when it's '.'.Tom Lane2013-05-11
| | | | | | | | | | | | | | | | | | | | | | | The existing code in NUM_numpart_from_char has hard-wired logic to treat '.' as decimal point, even when we're using a locale-aware format string and the locale says that '.' is the thousands separator. This results in clearly wrong answers in FM mode (where we must be able to identify the decimal point location), as per bug report from Patryk Kordylewski. Since the initialization code in NUM_prepare_locale already sets up Np->decimal as either the locale decimal-point string or "." depending on which decimal-point format code was used, there's really no need to have any extra logic at all in NUM_numpart_from_char: we only need to test for a match to Np->decimal. (Note: AFAICS there's nothing in here that explicitly checks for thousands separators --- rather, any unmatched character is silently skipped over. That's pretty bogus IMO but it's not the issue being complained of.) This is a longstanding bug, but it's possible that some existing apps are depending on '.' being recognized as decimal point even when using a D format code. Hence, no back-patch. We should probably list this as a potential incompatibility in the 9.3 release notes.
* Fix buildfarm incompatibility in updated pg_upgrade test script.Tom Lane2013-05-11
| | | | | Looks like some versions of the buildfarm script try to set the port via --port in $EXTRA_REGRESS_OPTS. Override that ...
* Make pg_upgrade's test script attempt to select a non-conflicting port.Tom Lane2013-05-11
| | | | | | | | | | | | | | | | | Previously, the port number used in this test script was hard-wired at pg_upgrade's default of 50432; which is not so great because parallel build runs might conflict. Commit 3d53173e20d151341f894f79d556768c845ba3e4 removed this setting for the postmasters started by the script proper (not by pg_upgrade), which didn't do anything to fix that problem and also guaranteed a failure if there was a live postmaster at the build's default port number. Instead, select a non-conflicting temporary port number in the same way that pg_regress.c does. (Its method isn't entirely bulletproof, but given the lack of complaints I'm not going to worry about that today.) In passing, unset MAKEFLAGS and MAKELEVEL to avoid problems with the script's internal invocations of make, for the same reason pg_regress.c does: it could cause problems in a parallel make.
* Update CREATE FUNCTION documentation about argument names.Tom Lane2013-05-11
| | | | | | The 9.2 patch that added argument name support in SQL-language functions missed updating a parenthetical comment about that in the CREATE FUNCTION reference page. Noted by Erwin Brandstetter.
* 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.