- 16 Sep, 2011 2 commits
-
-
Tom Lane authored
This oversight led to a massive memory leak --- upwards of 10KB per tuple --- during creation-time verification of an exclusion constraint based on a GIST index. In most other scenarios it'd just be a leak of 10KB that would be recovered at end of query, so not too significant; though perhaps the leak would be noticeable in a situation where a GIST index was being used in a nestloop inner indexscan. In any case, it's a real leak of long standing, so patch all supported branches. Per report from Harald Fuchs.
-
Tom Lane authored
Rewrite plancache.c so that a "cached plan" (which is rather a misnomer at this point) can support generation of custom, parameter-value-dependent plans, and can make an intelligent choice between using custom plans and the traditional generic-plan approach. The specific choice algorithm implemented here can probably be improved in future, but this commit is all about getting the mechanism in place, not the policy. In addition, restructure the API to greatly reduce the amount of extraneous data copying needed. The main compromise needed to make that possible was to split the initial creation of a CachedPlanSource into two steps. It's worth noting in particular that SPI_saveplan is now deprecated in favor of SPI_keepplan, which accomplishes the same end result with zero data copying, and no need to then spend even more cycles throwing away the original SPIPlan. The risk of long-term memory leaks while manipulating SPIPlans has also been greatly reduced. Most of this improvement is based on use of the recently-added MemoryContextSetParent primitive.
-
- 14 Sep, 2011 3 commits
-
-
Heikki Linnakangas authored
needs win32setlocale.c now. The cygwin and MSVC build scripts were changed earlier, but this was neglected. This should fix bug report #6203 by Steve.
-
Heikki Linnakangas authored
REPLICATION privileges, not SUPERUSER. Fujii Masao
-
Alvaro Herrera authored
This dramatically cuts short the number of headers the public one brings into whatever includes it.
-
- 13 Sep, 2011 2 commits
- 12 Sep, 2011 1 commit
-
-
Heikki Linnakangas authored
queuedForEmptying flag correctly on buffer when adding it to the queue. Also, don't add buffer to the queue if it's there already. These were harmless oversights; failing to set the flag just means that a buffer might get added to the queue twice if more tuples are added to it (although that can't actually happen at this point because all the upper buffers have already been emptied), and having the same buffer twice in the emptying queue is harmless. But better be tidy.
-
- 11 Sep, 2011 4 commits
-
-
Tom Lane authored
This function will be useful for altering the lifespan of a context after creation (for example, by creating it under a transient context and later reparenting it to belong to a long-lived context). It costs almost no new code, since we can refactor what was there. Per my proposal of yesterday.
-
Tom Lane authored
-
Peter Eisentraut authored
This addresses only those cases that are easy to fix by adding or moving a const qualifier or removing an unnecessary cast. There are many more complicated cases remaining.
-
Peter Eisentraut authored
Apparently, this only happens on 64-bit platforms.
-
- 10 Sep, 2011 6 commits
-
-
Bruce Momjian authored
BREAKAGE. Remove double-quoting of index/table names in reindexdb. BACKWARD COMPABILITY BREAKAGE. Document thate user/database names are preserved with double-quoting by command-line tools like vacuumdb.
-
Peter Eisentraut authored
Add __attribute__ decorations for printf format checking to the places that were missing them. Fix the resulting warnings. Add -Wmissing-format-attribute to the standard set of warnings for GCC, so these don't happen again. The warning fixes here are relatively harmless. The one serious problem discovered by this was already committed earlier in cf15fb5c.
-
Itagaki Takahiro authored
New header datatype/timestamp.h should be installed for server-side dev.
-
Bruce Momjian authored
-
Bruce Momjian authored
Reported by Grzegorz Szpetkowski.
-
Tom Lane authored
I thought we had enough infrastructure to absorb CPPFLAGS changes from the makefiles, but buildfarm says otherwise.
-
- 09 Sep, 2011 2 commits
-
-
Tom Lane authored
We were doing some amazingly complicated things in order to avoid running the very expensive identify_system_timezone() procedure during GUC initialization. But there is an obvious fix for that, which is to do it once during initdb and have initdb install the system-specific default into postgresql.conf, as it already does for most other GUC variables that need system-environment-dependent defaults. This means that the timezone (and log_timezone) settings no longer have any magic behavior in the server. Per discussion.
-
Tom Lane authored
As per my recent proposal, this refactors things so that these typedefs and macros are available in a header that can be included in frontend-ish code. I also changed various headers that were undesirably including utils/timestamp.h to include datatype/timestamp.h instead. Unsurprisingly, this showed that half the system was getting utils/timestamp.h by way of xlog.h. No actual code changes here, just header refactoring.
-
- 08 Sep, 2011 6 commits
-
-
Tom Lane authored
-
Alvaro Herrera authored
-
Peter Eisentraut authored
-
Heikki Linnakangas authored
-
Heikki Linnakangas authored
When building a GiST index that doesn't fit in cache, buffers are attached to some internal nodes in the index. This speeds up the build by avoiding random I/O that would otherwise be needed to traverse all the way down the tree to the find right leaf page for tuple. Alexander Korotkov
-
Tom Lane authored
Also set the documented release date to 2011-09-12.
-
- 07 Sep, 2011 12 commits
-
-
Tom Lane authored
Trailing-zero stripping applied by the FM specifier could strip zeroes to the left of the decimal point, for a format with no digit positions after the decimal point (such as "FM999."). Reported and diagnosed by Marti Raudsepp, though I didn't use his patch.
-
Bruce Momjian authored
Backpatch to 9.1. By Hiroshi Saito
-
Bruce Momjian authored
because its internal format was changed in 8.4. Backpatch to 9.0 and 9.1. Report by depesz, diagnosis by Tom.
-
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 2 commits
-
-
Bruce Momjian authored
Per Peter.
-
Bruce Momjian authored
pgpass. Backpatch to 9.1.
-