- 29 Feb, 2008 1 commit
-
-
Neil Conway authored
"multi_call_ctx" to be a distinct sub-context of the EState's per-query context, and delete the multi_call_ctx as soon as the SRF finishes execution. This avoids leaking SRF memory until the end of the current query, which is particularly egregious when the SRF is scanned multiple times. This change also fixes a leak of the fields of the AttInMetadata struct in shutdown_MultiFuncCall(). Also fix a leak of the SRF result TupleDesc when rescanning a FunctionScan node. The TupleDesc is allocated in the per-query context for every call to ExecMakeTableFunctionResult(), so we should free it after calling that function. Since the SRF might choose to return a non-expendable TupleDesc, we only free the TupleDesc if it is not being reference-counted. Backpatch to 8.3 and 8.2 stable branches.
-
- 28 Feb, 2008 1 commit
-
-
Magnus Hagander authored
Original patch from Hiroshi Saito, modified by me.
-
- 27 Feb, 2008 2 commits
-
-
Peter Eisentraut authored
the files passed as argument. This is desirable so that the dtrace rule in src/backend/Makefile works.
-
Tom Lane authored
a relevant error message instead of just dumping core. Odd that nobody reported this before Darren Reed.
-
- 26 Feb, 2008 13 commits
-
-
Peter Eisentraut authored
-
Peter Eisentraut authored
ssh -L 3333:foo.com:5432 joe@foo.com I think this should be changed to ssh -L 3333:localhost:5432 joe@foo.com The reason is that this assumes the postgres server on foo.com allows connections from foo.com, which is not allowed by the default listen_addresses setting. Add more detail explaining this. pointed out by Faheem Mitha Also change the example port number 3333 to 63333 so no one can complain that we are stealing a reserved port number.
-
Peter Eisentraut authored
These were previously only documented in the context of date/time formats.
-
Peter Eisentraut authored
found by Magne Mæhre
-
Peter Eisentraut authored
when they are actually needed as prerequisites.
-
Peter Eisentraut authored
-
Peter Eisentraut authored
that is shipped in the distribution, named libpq-dist.rc. This way the build system doesn't get upset when a distributed file is forcibly overwritten by during a normal build.
-
Peter Eisentraut authored
has been reinvented about four different times throughout history (aix, cygwin, win32, darwin/linux) and a lot of the concepts are actually shared, which the code now shows better.
-
Peter Eisentraut authored
-
Peter Eisentraut authored
doesn't exist yet.
-
Peter Eisentraut authored
So only rebuild when a makefile changes (which presumably defines the file list somewhere), and only touch the file if an object changed. The touch is necessary so the parent make knows something changed and ultimately rebuilds postgres.
-
Peter Eisentraut authored
only once in Makefile.shlib and not in four copies.
-
Tom Lane authored
values into \nnn octal escape sequences. When the database encoding is multibyte this is *necessary* to avoid generating invalidly encoded text. Even in a single-byte encoding, the old behavior seems very hazardous --- consider for example what happens if the text is transferred to another database with a different encoding. Decoding would then yield some other bytea value than what was encoded, which is surely undesirable. Per gripe from Hernan Gonzalez. Backpatch to 8.3, but not further. This is a bit of a judgment call, but I make it on these grounds: pre-8.3 we don't really have much encoding safety anyway because of the convert() function family, and we would also have much higher risk of breaking existing apps that may not be expecting this behavior. 8.3 is still new enough that we can probably get away with making this change in the function's behavior.
-
- 25 Feb, 2008 3 commits
-
-
Tom Lane authored
(then it means 2000 AD). Formerly we silently interpreted this as 1 BC, which at best is unwarranted familiarity with the implementation. It's barely possible that some app somewhere expects the old behavior, though, so we won't back-patch this into existing release branches.
-
Tom Lane authored
Formerly, DecodeDate attempted to verify the day-of-the-month exactly, but it was under the misapprehension that it would know whether we were looking at a BC year or not. In reality this check can't be made until the calling function (eg DecodeDateTime) has processed all the fields. So, split the BC adjustment and validity checks out into a new function ValidateDate that is called only after processing all the fields. In passing, this patch makes DecodeTimeOnly work for BC inputs, which it never did before. (The historical veracity of all this is nonexistent, of course, but if we're going to say we support proleptic Gregorian calendar then we should do it correctly. In any case the unpatched code is broken because it could emit dates that it would then reject on re-inputting.) Per report from Bernd Helmle. Back-patch as far as 8.0; in 7.x we were not using our own calendar support and so this seems a bit too risky to put into 7.4.
-
Peter Eisentraut authored
SUBSYS.o step and allow for better optimization by the linker. Instead of partial linking into SUBSYS.o, the list of object files is assembled in objfiles.txt files that are expanded when the final linking is done. Because we are not yet sure how long command lines different platforms can handle, the old way of linking is still available, by defining the make variable PARTIAL_LINKING (e.g., make all PARTIAL_LINKING=1). If we determine that this is necessary for some platforms, then we will document this in a more prominent place.
-
- 24 Feb, 2008 1 commit
-
-
Tom Lane authored
versions don't handle long options the way we want. Per Zdenek Kotala.
-
- 23 Feb, 2008 2 commits
-
-
Tom Lane authored
platforms this works, but on some it crashes. Zdenek Kotala
-
Tom Lane authored
represented as "char ...[4]" not "int32". Since the length word is never supposed to be accessed via this struct member anyway, this won't break any existing code that is following the rules. The advantage is that C compilers will no longer assume that a pointer to struct varlena is word-aligned, which prevents incorrect optimizations in TOAST-pointer access and perhaps other places. gcc doesn't seem to do this (at least not at -O2), but the problem is demonstrable on some other compilers. I changed struct inet as well, but didn't bother to touch a lot of other struct definitions in which it wouldn't make any difference because there were other fields forcing int alignment anyway. Hopefully none of those struct definitions are used for accessing unaligned Datums.
-
- 20 Feb, 2008 6 commits
-
-
Tom Lane authored
make it a bit clearer what it is, and get rid of duplicate definitions in initdb and pg_ctl.
-
Tom Lane authored
programs: use puts with a compile-time-constant string.
-
Tom Lane authored
non-default settings for the postmaster's port number. The code to parse command line options and postgresql.conf entries wasn't quite right about whitespace or quotes, and it was coded in a not-very-readable way too. Per bug #3969 from Itagaki Takahiro, though this is more extensive than his proposed patch (which fixed only the whitespace problem). This code has been broken since it was put in in 8.0, so patch all the way back.
-
Tom Lane authored
OID or new relfilenode. If the existing OIDs are sufficiently densely populated, this could take a long time (perhaps even be an infinite loop), so it seems wise to allow the system to respond to a cancel interrupt here. Per a gripe from Jacky Leng. Backpatch as far as 8.1. Older versions just fail on OID collision, instead of looping.
-
Alvaro Herrera authored
Per gripe from Clodoaldo Pinto Neto on Message-ID: <a595de7a0801060326qbfc790ax2a60573043c2e2be@mail.gmail.com>
-
Alvaro Herrera authored
from Jaime Casanova.
-
- 19 Feb, 2008 10 commits
-
-
Peter Eisentraut authored
-
Magnus Hagander authored
port files, which obviously didn't compile)
-
Peter Eisentraut authored
-
Peter Eisentraut authored
-
Magnus Hagander authored
-
Magnus Hagander authored
-
Peter Eisentraut authored
-
Peter Eisentraut authored
-
Bruce Momjian authored
-
Bruce Momjian authored
-
- 18 Feb, 2008 1 commit
-
-
Tom Lane authored
and RI_FKey_keyequal_upd_fk, as well as no-longer-needed calls of ri_BuildQueryKeyFull. Aside from saving a few cycles, this avoids needless deadlock risks when an update is not changing the columns that participate in an RI constraint. Per a gripe from Alexey Nalbat. Back-patch to 8.3. Earlier releases did have a need to open the other relation due to the way in which they retrieved information about the RI constraint, so this problem unfortunately can't easily be improved pre-8.3. Tom Lane and Stephan Szabo
-