- 07 5月, 2009 1 次提交
-
-
由 Heikki Linnakangas 提交于
you can end up with an unrecoverable backup if you start a new base backup right after finishing archive recovery. In that scenario, the redo pointer of the checkpoint that pg_start_backup() writes points to the XLOG segment where the timeline-changing end-of-archive-recovery checkpoint is. The beginning of that segment contains pages with the old timeline ID, and we don't accept that in recovery unless we find a history file covering the old timeline ID. If you omit pg_xlog from the base backup and clear the archive directory before starting the backup, there will be no such history file available. The bug is present in all versions since PITR was introduced in 8.0, but I'm back-patching only back to 8.2. Earlier versions didn't have XLOG switch records, making this fix unfeasible. Given the lack of reports until now, it doesn't seem worthwhile to spend more effort to fix 8.0 and 8.1. Per report and suggestion by Mikael Krantz
-
- 05 5月, 2009 1 次提交
-
-
由 Magnus Hagander 提交于
it fails because the shared memory segment already exists. This means it can take up to 10 seconds before it reports the error if it *does* exist, but hopefully it will make the system capable of restarting even when the server is under high load.
-
- 04 5月, 2009 2 次提交
-
-
由 Magnus Hagander 提交于
to make sure that the error code is reset, as a precaution in case the API doesn't properly reset it on success. This could be necessary, since we check the error value even if the function doesn't fail for specific success cases.
-
由 Tom Lane 提交于
Fujii Masao
-
- 03 5月, 2009 1 次提交
-
-
由 Tom Lane 提交于
as per my recent proposal. release.sgml itself is now just a stub that should change rarely; ideally, only once per major release to add a new include line. Most editing work will occur in the release-N.N.sgml files. To update a back branch for a minor release, just copy the appropriate release-N.N.sgml file(s) into the back branch. This commit doesn't change the end-product documentation at all, only the source layout. However, it makes it easy to start omitting ancient information from newer branches' documentation, should we ever decide to do that.
-
- 02 5月, 2009 1 次提交
-
-
由 Tom Lane 提交于
part that rounds up to exactly 1.0 second. The previous coding rejected input like "00:12:57.9999999999999999999999999999", with the exact number of nines needed to cause failure varying depending on float-timestamp option and possibly on platform. Obviously this should round up to the next integral second, if we don't have enough precision to distinguish the value from that. Per bug #4789 from Robert Kruus. In passing, fix a missed check for fractional seconds in one copy of the "is it greater than 24:00:00" code. Broken all the way back, so patch all the way back.
-
- 26 4月, 2009 1 次提交
-
-
由 Tom Lane 提交于
aggregate function. By definition, such a sub-SELECT cannot reference any variables of query levels between itself and the aggregate's semantic level (else the aggregate would've been assigned to that lower level instead). So the correct, most efficient implementation is to treat the sub-SELECT as being a sub-select of that outer query level, not the level the aggregate syntactically appears in. Not doing so also confuses the heck out of our parameter-passing logic, as illustrated in bug report from Daniel Grace. Fortunately, we were already copying the whole Aggref expression up to the outer query level, so all that's needed is to delay SS_process_sublinks processing of the sub-SELECT until control returns to the outer level. This has been broken since we introduced spec-compliant treatment of outer aggregates in 7.4; so patch all the way back.
-
- 25 4月, 2009 1 次提交
-
-
由 Bruce Momjian 提交于
per approval from Helmut Tschemernjak, President. Only back branches; files removed from CVS HEAD.
-
- 20 4月, 2009 1 次提交
-
-
由 Tom Lane 提交于
fields without putting a space between. Per gripe from Rick Schumeyer.
-
- 17 4月, 2009 1 次提交
-
-
由 Tom Lane 提交于
constants through full joins, as in select * from tenk1 a full join tenk1 b using (unique1) where unique1 = 42; which should generate a fairly cheap plan where we apply the constraint unique1 = 42 in each relation scan. This had been broken by my patch of 2008-06-27, which is now reverted in favor of a more invasive but hopefully less incorrect approach. That patch was meant to prevent incorrect extraction of OR'd indexclauses from OR conditions above an outer join. To do that correctly we need more information than the outerjoin_delay flag can provide, so add a nullable_relids field to RestrictInfo that records exactly which relations are nulled by outer joins that are underneath a particular qual clause. A side benefit is that we can make the test in create_or_index_quals more specific: it is now smart enough to extract an OR'd indexclause into the outer side of an outer join, even though it must not do so in the inner side. The old coding couldn't distinguish these cases so it could not do either.
-
- 16 4月, 2009 1 次提交
-
-
由 Magnus Hagander 提交于
approval from Poul-Henning Kamp. This makes the file the same standard 2-clause BSD as the rest of PostgreSQL.
-
- 10 4月, 2009 1 次提交
-
-
由 Tom Lane 提交于
Argentina/San_Luis, Cuba, Jordan (historical correction only), Morocco, Palestine, Syria, Tunisia.
-
- 08 4月, 2009 1 次提交
-
-
由 Tom Lane 提交于
could find in the FSM. Per report from Dimitri Fontaine and Andrew Gierth. (Affects only 8.2 and 8.3 since HEAD no longer has MaxFSMPages at all.)
-
- 07 4月, 2009 1 次提交
-
-
由 Tom Lane 提交于
still don't behave very sanely for multibyte encodings, but at least they won't be indexing off the ends of static arrays.
-
- 06 4月, 2009 1 次提交
-
-
由 Teodor Sigaev 提交于
from buggy user-defined picksplit to GiST.
-
- 04 4月, 2009 2 次提交
-
-
由 Tom Lane 提交于
interval_eq() considers equal. I'm not sure how that fundamental requirement escaped us through multiple revisions of this hash function, but there it is; it's been wrong since interval_hash was first written for PG 7.1. Per bug #4748 from Roman Kononov. Backpatch to all supported releases. This patch changes the contents of hash indexes for interval columns. That's no particular problem for PG 8.4, since we've broken on-disk compatibility of hash indexes already; but it will require a migration warning note in the next minor releases of all existing branches: "if you have any hash indexes on columns of type interval, REINDEX them after updating".
-
由 Tom Lane 提交于
Windows without that, but we shouldn't put bad examples where people might copy them. Also, reformat slightly to improve the odds that pgindent won't go nuts on this.
-
- 03 4月, 2009 2 次提交
-
-
由 Magnus Hagander 提交于
This method will not catch all different ways since the locale handling in NTFS doesn't provide an easy way to do that, but it will hopefully solve the most common cases causing startup problems when the backend is found in the system PATH. Attempts to fix bug #4694.
-
由 Teodor Sigaev 提交于
Per "maosen.zhang" <maosen.zhang@alibaba-inc.com> report.
-
- 02 4月, 2009 3 次提交
-
-
由 Tom Lane 提交于
we failed to assign, even in "can't happen" cases. Motivated by wondering what's going on in a recent trouble report where "failed to commit" did happen.
-
由 Tom Lane 提交于
casting effort whenever the input value was NULL. However this prevents application of not-null domain constraints in the cases that use this function, as illustrated in bug #4741. Since this function isn't meant for use in performance-critical paths anyway, this certainly seems like another case of "premature optimization is the root of all evil". Back-patch as far as 8.2; older versions made no effort to enforce domain constraints here anyway.
-
由 Tom Lane 提交于
when there are many blobs and not so many comments. Tamas Vincze
-
- 01 4月, 2009 2 次提交
-
-
由 Tom Lane 提交于
temporary tables of other sessions; that is unsafe because of the way our buffer management works. Per report from Stuart Bishop. This is redundant with the bufmgr.c checks in HEAD, but not at all redundant in the back branches.
-
由 Magnus Hagander 提交于
Give an error message and exit instead, like we do elsewhere... Per report from Wez Furlong and Robert Treat.
-
- 31 3月, 2009 2 次提交
-
-
由 Heikki Linnakangas 提交于
at the same instant as a new backend is spawned. Since CountActiveBackends() doesn't hold ProcArrayLock, it needs to be prepared for the case that a pointer at the end of the proc array is still NULL even though numProcs says it should be valid, since it doesn't hold ProcArrayLock. Backpatch to 8.1. 8.0 and earlier had this right, but it was broken in the split of PGPROC and sinval shared memory arrays. Per report and proposal by Marko Kreen.
-
由 Alvaro Herrera 提交于
further backpatch.
-
- 30 3月, 2009 1 次提交
-
-
由 Tom Lane 提交于
TupleTableSlots. We have functions for retrieving a minimal tuple from a slot after storing a regular tuple in it, or vice versa; but these were implemented by converting the internal storage from one format to the other. The problem with that is it invalidates any pass-by-reference Datums that were already fetched from the slot, since they'll be pointing into the just-freed version of the tuple. The known problem cases involve fetching both a whole-row variable and a pass-by-reference value from a slot that is fed from a tuplestore or tuplesort object. The added regression tests illustrate some simple cases, but there may be other failure scenarios traceable to the same bug. Note that the added tests probably only fail on unpatched code if it's built with --enable-cassert; otherwise the bug leads to fetching from freed memory, which will not have been overwritten without additional conditions. Fix by allowing a slot to contain both formats simultaneously; which turns out not to complicate the logic much at all, if anything it seems less contorted than before. Back-patch to 8.2, where minimal tuples were introduced.
-
- 27 3月, 2009 2 次提交
-
-
由 Heikki Linnakangas 提交于
with EXPLAIN ANALYZE VERBOSE. Greg Sabino Mullane, reformatted by myself. Backpatch to 8.1, where the bug was introduced.
-
由 Tom Lane 提交于
-
- 25 3月, 2009 2 次提交
-
-
由 Tom Lane 提交于
not global variables of anonymous enum types. This didn't actually hurt much because most linkers will just merge the duplicated definitions ... but some will complain. Per bug #4731 from Ceriel Jacobs. Backpatch to 8.1 --- the declarations don't exist before that.
-
由 Tom Lane 提交于
them from degrading badly when the input is sorted or nearly so. In this scenario the tree is unbalanced to the point of becoming a mere linked list, so insertions become O(N^2). The easiest and most safely back-patchable solution is to stop growing the tree sooner, ie limit the growth of N. We might later consider a rebalancing tree algorithm, but it's not clear that the benefit would be worth the cost and complexity. Per report from Sergey Burladyan and an earlier complaint from Heikki. Back-patch to 8.2; older versions didn't have GIN indexes.
-
- 19 3月, 2009 2 次提交
-
-
由 Heikki Linnakangas 提交于
reinstalling the default signal handler doesn't work as it is on Windows. Presumably core dumps on SIGQUIT are not a problem on Windows, so rather than figure out what header files or other changes are required to make it work, just don't bother.
-
由 Heikki Linnakangas 提交于
postmaster uses for immediate shutdown. Trap SIGUSR1 as the preferred signal for that. Per report by Fujii Masao and subsequent discussion on -hackers.
-
- 18 3月, 2009 1 次提交
-
-
由 Heikki Linnakangas 提交于
the cause of the "could not write to log file: Bad file descriptor" errors reported at http://archives.postgresql.org//pgsql-general/2008-06/msg00193.php Backpatch to 8.3, the race condition was introduced by the CSV logging patch. Analysis and patch by Gurjeet Singh.
-
- 16 3月, 2009 1 次提交
-
-
由 Tom Lane 提交于
data structure, rather than silently truncating them. Andrew Gierth
-
- 13 3月, 2009 2 次提交
-
-
由 Marc G. Fournier 提交于
tag 8.3.7
-
由 Tom Lane 提交于
-
- 12 3月, 2009 2 次提交
-
-
由 Peter Eisentraut 提交于
-
由 Tom Lane 提交于
format codes are misapplied to a numeric argument. (The code still produces a pretty bogus error message in such cases, but I'll settle for stopping the crash for now.) Per bug #4700 from Sergey Burladyan. Problem exists in all supported branches, so patch all the way back. In HEAD, also clean up some ugly coding in the nearby cache management code.
-
- 11 3月, 2009 1 次提交
-
-
由 Alvaro Herrera 提交于
Only needed in 8.3 because it's already this way in HEAD, and older branches did not support DTrace. This allows external modules to compile on Linux machines where SystemTap support was recently added, when the required SystemTap headers are not present on the build machine. Approach suggested by Tom, after a RPM build trouble report by Devrim Gunduz.
-