- 07 Sep, 2011 9 commits
-
-
Tom Lane authored
Per Euler Taveira de Oliveira.
-
Tom Lane authored
With 9.1's use of Params to pass down values from NestLoop join nodes to their inner plans, it is possible for a Param to have type RECORD, in which case the set of fields comprising the value isn't determinable by inspection of the Param alone. However, just as with a Var of type RECORD, we can find out what we need to know if we can locate the expression that the Param represents. We already knew how to do this in get_parameter(), but I'd overlooked the need to be able to cope in get_name_for_var_field(), which led to EXPLAIN failing with "record type has not been registered". To fix, refactor the search code in get_parameter() so it can be used by both functions. Per report from Marti Raudsepp.
-
Bruce Momjian authored
will expaned undefined identifiers.
-
Bruce Momjian authored
not expanded. Bump catalog version number to force initdb for all tablespaces.
-
Bruce Momjian authored
they wrap toward year 2020, rather than the inconsistent behavior we had before.
-
Bruce Momjian authored
Backpatch to 9.0 and 9.1. Patch from Josh Kupershmidt.
-
Simon Riggs authored
Maintain difference between subtransaction release and commit introduced by earlier patch.
-
Simon Riggs authored
Adds additional test for active walsenders and closes a race condition for when we failover when a new walsender was connecting. Reported and fixed bu Fujii Masao. Review by Heikki Linnakangas
-
Bruce Momjian authored
fields. Backpatch to 9.0 and 9.1. Report from Pavel Stehule, patch from Josh Kupershmidt
-
- 06 Sep, 2011 13 commits
-
-
Bruce Momjian authored
Per Peter.
-
Bruce Momjian authored
pgpass. Backpatch to 9.1.
-
Tom Lane authored
-
Peter Eisentraut authored
Found by gcc -Wlogical-op
-
Bruce Momjian authored
Backpatch to 9.0 and 9.1.
-
Tom Lane authored
The code in shift_jis_20042euc_jis_2004() would fetch two bytes even when only one remained in the string. Since conversion functions aren't supposed to assume null-terminated input, this poses a small risk of fetching past the end of memory and incurring SIGSEGV. No such crash has been identified in the field, but we've certainly seen the equivalent happen in other code paths, so patch this one all the way back. Report and patch by Noah Misch.
-
Tom Lane authored
Since the last couple of columns of pg_type are often NULL, sizeof(FormData_pg_type) can be an overestimate of the actual size of the tuple data part. Therefore memcpy'ing that much out of the catalog cache, as analyze.c was doing, poses a small risk of copying past the end of memory and incurring SIGSEGV. No such crash has been identified in the field, but we've certainly seen the equivalent happen in other code paths, so patch this one all the way back. Per valgrind testing by Noah Misch, though this is not his proposed patch. I chose to use SearchSysCacheCopy1 rather than inventing special-purpose infrastructure for copying only the minimal part of a pg_type tuple.
-
Bruce Momjian authored
Backpatch to 9.0 and 9.1. Report from depstein@alliedtesting.com.
-
Tom Lane authored
We've now seen more than one gripe from somebody who didn't get the memo about how to install contrib modules in 9.1. Try to make it a little more prominent that you aren't supposed to call the scripts directly anymore.
-
Tom Lane authored
This example wasn't updated when we changed the behavior of bpcharlen() in 8.0, nor when we changed the number of parameters taken by the bpchar() cast function in 7.3. Per report from lsliang.
-
Bruce Momjian authored
processes. Backpatch to 9.1 and 9.0. Submitted by Anton Yuzhaninov, confirmed by Robert Haas
-
Bruce Momjian authored
-
Bruce Momjian authored
session-local objects.
-
- 05 Sep, 2011 7 commits
-
-
Alvaro Herrera authored
-
Alvaro Herrera authored
-
Peter Eisentraut authored
It used to say ERROR: invalid byte sequence for encoding "UTF8": 0xdb24 Change this to ERROR: invalid byte sequence for encoding "UTF8": 0xdb 0x24 to make it clear that this is a byte sequence and not a code point. Also fix the adjacent "character has no equivalent" message that has the same issue.
-
Bruce Momjian authored
Backpatch to 9.1.
-
Tom Lane authored
DST law changes in Canada, Egypt, Russia, Samoa, South Sudan.
-
Bruce Momjian authored
characters. Backpatch to 9.0 and 9.1.
-
Tom Lane authored
The $(PERL) macro will be set by configure if it finds perl at all, but $(perl_privlibexp) isn't configured unless you said --with-perl. This results in confusing error messages if someone cd's into src/pl/plperl and tries to build there despite the configure omission, as reported by Tomas Vondra in bug #6198. Add simple checks to provide a more useful report, while not disabling other use of the makefile such as "make clean". Back-patch to 9.0, which is as far as the patch applies easily.
-
- 04 Sep, 2011 7 commits
-
-
Tom Lane authored
Formerly, callers tested for DEFAULT_NUM_DISTINCT, which had the problem that a perfectly solid estimate might be mistaken for a content-free default.
-
Tom Lane authored
If a sub-select's output column is a simple Var, recursively look for statistics applying to that Var, and use them if available. The need for this was foreseen ages ago, but we didn't have enough infrastructure to do it with reasonable speed until just now. We punt and stick with default estimates if the subquery uses set operations, GROUP BY, or DISTINCT, since those operations would change the underlying column statistics (particularly, the relative frequencies of different values) beyond recognition. This means that the types of sub-selects for which this improvement applies are fairly limited, since most subqueries satisfying those restrictions would have gotten flattened into the parent query anyway. But it does help for some cases, such as subqueries with ORDER BY or LIMIT.
-
Tom Lane authored
Since the subroots will surely link back to the same glob struct, this necessarily leads to infinite recursion. Doh. Found while trying to debug some other code.
-
Tom Lane authored
walsender.h should depend on xlog.h, not vice versa. (Actually, the inclusion was circular until a couple hours ago, which was even sillier; but Bruce broke it in the expedient rather than logically correct direction.) Because of that poor decision, plus blind application of pgrminclude, we had a situation where half the system was depending on xlog.h to include such unrelated stuff as array.h and guc.h. Clean up the header inclusion, and manually revert a lot of what pgrminclude had done so things build again. This episode reinforces my feeling that pgrminclude should not be run without adult supervision. Inclusion changes in header files in particular need to be reviewed with great care. More generally, it'd be good if we had a clearer notion of module layering to dictate which headers can sanely include which others ... but that's a big task for another day.
-
Tom Lane authored
storage/proc.h should not include replication/syncrep.h, especially not when the latter includes storage/proc.h; but in any case this was a pretty poor thing from a modular layering standpoint.
-
Bruce Momjian authored
-
Bruce Momjian authored
file. Per suggestion from Alvaro.
-
- 03 Sep, 2011 3 commits
-
-
Bruce Momjian authored
Per suggestion from Peter.
-
Tom Lane authored
">" should be ">>". This typo results in failure to use all of the bits of the provided seed. This might rise to the level of a security bug if we were relying on srand48 for any security-critical purposes, but we are not --- in fact, it's not used at all unless the platform lacks srandom(), which is improbable. Even on such a platform the exposure seems minimal. Reported privately by Andres Freund.
-
Tom Lane authored
Formerly, set_subquery_pathlist and other creators of plans for subqueries saved only the rangetable and rowMarks lists from the lower-level PlannerInfo. But there's no reason not to remember the whole PlannerInfo, and indeed this turns out to simplify matters in a number of places. The immediate reason for doing this was so that the subroot will still be accessible when we're trying to extract column statistics out of an already-planned subquery. But now that I've done it, it seems like a good code-beautification effort in its own right. I also chose to get rid of the transient subrtable and subrowmark fields in SubqueryScan nodes, in favor of having setrefs.c look up the subquery's RelOptInfo. That required changing all the APIs in setrefs.c to pass PlannerInfo not PlannerGlobal, which was a large but quite mechanical transformation. One side-effect not foreseen at the beginning is that this finally broke inheritance_planner's assumption that replanning the same subquery RTE N times would necessarily give interchangeable results each time. That assumption was always pretty risky, but now we really have to make a separate RTE for each instance so that there's a place to carry the separate subroots.
-
- 02 Sep, 2011 1 commit
-
-
Peter Eisentraut authored
-