- 21 Jun, 2015 2 commits
-
-
Andres Freund authored
9a20a9b2 added a new elog(), enabled when WAL_DEBUG is defined. The other WAL_DEBUG dependant messages check for the wal_debug GUC, but this one did not. While at it replace 'upto' with 'up to'. Discussion: 20150610110253.GF3832@alap3.anarazel.de Backpatch to 9.4, the first release containing 9a20a9b2.
-
Peter Eisentraut authored
-
- 20 Jun, 2015 4 commits
-
-
Noah Misch authored
POSIX permits setlocale() calls to invalidate any previous setlocale() return values, but commit 5f538ad0 neglected to account for setlocale(LC_CTYPE, NULL) doing so. The effect was to set the LC_CTYPE environment variable to an unintended value. pg_perm_setlocale() sets this variable to assist PL/Perl; without it, Perl would undo PostgreSQL's locale settings. The known-affected configurations are 32-bit, release builds using Visual Studio 2012 or Visual Studio 2013. Visual Studio 2010 is unaffected, as were all buildfarm-attested configurations. In principle, this bug could leave the wrong LC_CTYPE in effect after PL/Perl use, which could in turn facilitate problems like corrupt tsvector datums. No known platform experiences that consequence, because PL/Perl on Windows does not use this environment variable. The bug has been user-visible, as early postmaster failure, on systems with Windows ANSI code page set to CP936 for "Chinese (Simplified, PRC)" and probably on systems using other multibyte code pages. (SetEnvironmentVariable() rejects values containing character data not valid under the Windows ANSI code page.) Back-patch to 9.4, where the faulty commit first appeared. Reported by Didi Hu and 林鹏程. Reviewed by Tom Lane, though this fix strategy was not his first choice.
-
Noah Misch authored
This reverts commit b76e76be. The buildfarm yielded no related failures.
-
Alvaro Herrera authored
Some of the entries in the inclusion opclasses where missing operators, and we had an entry for inet_inclusion_ops instead of network_inclusion_ops. Sort the operators within each opclass by strategy number, just to make it easier to spot mistakes. Also sort the rows by data type name, rather than OID.
-
Alvaro Herrera authored
-
- 19 Jun, 2015 6 commits
-
-
Tom Lane authored
This adjusts commit 82233ce7 so that the postmaster does not exit until all its child processes have exited, even if the 5-second timeout elapses and we have to send SIGKILL. There is no great value in having the postmaster process quit sooner, and doing so can mislead onlookers into thinking that the cluster is fully terminated when actually some child processes still survive. This effect might explain recent test failures on buildfarm member hamster, wherein we failed to restart a cluster just after shutting it down with "pg_ctl stop -m immediate". I also did a bit of code review/beautification, including fixing a faulty use of the Max() macro on a volatile expression. Back-patch to 9.4. In older branches, the postmaster never waited for children to exit during immediate shutdowns, and changing that would be too much of a behavioral change.
-
Alvaro Herrera authored
This avoids the problem that it might go to sleep for an unreasonable amount of time in unusual conditions like the server clock moving backwards an unreasonable amount of time. (Simply moving the server clock forward again doesn't solve the problem unless you wake up the autovacuum launcher manually, say by sending it SIGHUP). Per trouble report from Prakash Itnal in https://www.postgresql.org/message-id/CAHC5u79-UqbapAABH2t4Rh2eYdyge0Zid-X=Xz-ZWZCBK42S0Q@mail.gmail.com Analyzed independently by Haribabu Kommi and Tom Lane.
-
Tom Lane authored
Must make a copy of the TableSampleClause node; the previous coding modified the input data structure in-place. Petr Jelinek
-
Robert Haas authored
Since find_multixact_start() relies on SimpleLruDoesPhysicalPageExist(), and that function looks only at the on-disk state, it's possible for it to fail to find a page that exists in the in-memory SLRU that has not been written yet. If that happens, SetOffsetVacuumLimit() will erroneously decide to force emergency autovacuuming immediately. We should probably fix find_multixact_start() to consider the data cached in memory as well as on the on-disk state, but that's no excuse for SetOffsetVacuumLimit() to be stupid about the case where it can no longer read the value after having previously succeeded in doing so. Report by Andres Freund.
-
Robert Haas authored
Jeevan Chalke
-
Robert Haas authored
This might not work at all on Windows, and is not ever efficient. Michael Paquier
-
- 17 Jun, 2015 1 commit
-
-
Noah Misch authored
POSIX permits setlocale() calls to invalidate any previous setlocale() return values. Commit 5f538ad0 neglected to account for that. In advance of fixing that bug, switch to failing hard on affected configurations. This is a planned temporary commit to assay buildfarm-represented configurations.
-
- 16 Jun, 2015 1 commit
-
-
Andrew Dunstan authored
FunctionLookup() is long gone if it ever existed, and fmgr_info() is what's now used, so the comments now reflect that.
-
- 15 Jun, 2015 2 commits
-
-
Michael Meskes authored
Patch by Michael Paquier
-
Michael Meskes authored
Patch by Michael Paquier
-
- 14 Jun, 2015 7 commits
-
-
Bruce Momjian authored
Report by Alvaro Herrera
-
Peter Eisentraut authored
suggested by Joshua Drake
-
Peter Eisentraut authored
-
Bruce Momjian authored
Report by Alvaro Herrera
-
Bruce Momjian authored
Report by Alvaro Herrera
-
Bruce Momjian authored
Report by Alvaro Herrera
-
Bruce Momjian authored
Report by Amit Kapila
-
- 13 Jun, 2015 6 commits
-
-
Bruce Momjian authored
Report by Petr Jelinek
-
Bruce Momjian authored
Report by Fujii Masao
-
Bruce Momjian authored
Report by Robert Haas
-
Bruce Momjian authored
Report by Peter Geoghegan
-
Bruce Momjian authored
Report by Tom Lane, Robert Haas
-
Bruce Momjian authored
Report by Tom Lane
-
- 12 Jun, 2015 9 commits
-
-
Andrew Dunstan authored
jsonb_set() and other clients of the setPathArray() utility function could get spurious results when an array integer subscript is provided that is not within the range of int. To fix, ensure that the value returned by strtol() within setPathArray() is within the range of int; when it isn't, assume an invalid input in line with existing, similar cases. The path-orientated operators that appeared in PostgreSQL 9.3 and 9.4 do not call setPathArray(), and already independently take this precaution, so no change there. Peter Geoghegan
-
Tom Lane authored
In commit 9e3ad1aa I modified plpgsql to use exec_stmt_return's simple-variables fast path in more cases. However, I overlooked that there are really two different return conventions in use here, depending on whether estate->retistuple is true, and the existing fast-path code had only bothered to handle one of them. So trying to return a scalar in a function returning composite, or vice versa, could lead to unexpected error messages (typically "cache lookup failed for type 0") or to a null-pointer-dereference crash. In the DTYPE_VAR case, we can just throw error if retistuple is true, corresponding to what happens in the general-expression code path that was being used previously. (Perhaps someday both of these code paths should attempt a coercion, but today is not that day.) In the REC and ROW cases, just hand the problem to exec_eval_datum() when not retistuple. Also clean up the ROW coding slightly so it looks more like exec_eval_datum(). The previous commit also caused exec_stmt_return_next() to be used in more cases, but that code seems to be OK as-is. Per off-list report from Serge Rielau. This bug is new in 9.5 so no need to back-patch.
-
Tom Lane authored
We already tried to improve this once, but the "improved" text was rather off-target if you had provided a USING clause. Also, it seems helpful to provide the exact text of a suggested USING clause, so users can just copy-and-paste it when needed. Per complaint from Keith Rarick and a suggestion from Merlin Moncure. Back-patch to 9.2 where the current wording was adopted.
-
Fujii Masao authored
After the archiver dies, postmaster tries to start a new one immediately. But previously this could happen only while server was running normally even though archiving was enabled always (i.e., archive_mode was set to always). So the archiver running during recovery could not restart soon after it died. This is an oversight in commit ffd37740. This commit changes reaper(), postmaster's signal handler to cleanup after a child process dies, so that it tries to a new archiver even during recovery if necessary. Patch by me. Review by Alvaro Herrera.
-
Michael Meskes authored
Patch by Michael Paquier
-
Michael Meskes authored
Patch by Michael Paquier
-
Fujii Masao authored
System catalogs and views should be listed alphabetically in catalog.sgml, but only pg_file_settings view not. This patch also fixes typos in pg_file_settings comments.
-
Fujii Masao authored
RMGRDESCSOURCES is defined and used only in pg_xlogdump Makefile, but pg_rewind Makefile mentioned it as extra files to remove in "make clean". This patch removes that useless mention from pg_rewind Makefile. Michael Paquier
-
Bruce Momjian authored
-
- 11 Jun, 2015 2 commits
-
-
Bruce Momjian authored
Report by Tomas Vondra
-
Bruce Momjian authored
Report by Amit Langote
-