- 21 Aug, 2007 13 commits
-
-
Bruce Momjian authored
-
Tom Lane authored
Windows builds. In passing, fix an obsolete comment, per gripe from Greg Stark.
-
Bruce Momjian authored
-
Magnus Hagander authored
(Still needs to build the .sql output files, but this handles the C part of the build)
-
Magnus Hagander authored
on mingw and probably cygwin.
-
Tom Lane authored
objects to it.
-
Tom Lane authored
of int64 for int32. Per reports from Merlin Moncure and Andrew Chernow.
-
Tom Lane authored
of the datatype to int64. Per Andrew Chernow.
-
Tom Lane authored
byte after the last full byte of the bit array, regardless of whether that byte was part of the valid data or not. Found by buildfarm testing. Thanks to Stefan Kaltenbrunner for nailing down the cause.
-
Tom Lane authored
-
Tom Lane authored
-
Tom Lane authored
the core additions. For the moment I diked it out of contrib/Makefile. We should look at turning it into a backward-compatibility package.
-
Tom Lane authored
Oleg Bartunov and Teodor Sigaev, but I did a lot of editorializing, so anything that's broken is probably my fault. Documentation is nonexistent as yet, but let's land the patch so we can get some portability testing done.
-
- 20 Aug, 2007 1 commit
-
-
Peter Eisentraut authored
database.
-
- 19 Aug, 2007 3 commits
-
-
Andrew Dunstan authored
-
Bruce Momjian authored
< * Allow server log information to be output as INSERT statements > * -Allow server log information to be output as CSV format
-
Andrew Dunstan authored
redirect_stderr to logging_collector. Original patch from Arul Shaji, subsequently modified by Greg Smith, and then heavily modified by me.
-
- 16 Aug, 2007 1 commit
-
-
Bruce Momjian authored
> > * Reduce XID consumption of read-only queries > > http://archives.postgresql.org/pgsql-hackers/2007-08/msg00516.php >
-
- 15 Aug, 2007 4 commits
-
-
Tom Lane authored
are not one of the query's defined result relations, but nonetheless have triggers fired against them while the query is active. This was formerly impossible but can now occur because of my recent patch to fix the firing order for RI triggers. Caching a ResultRelInfo avoids duplicating work by repeatedly opening and closing the same relation, and also allows EXPLAIN ANALYZE to "see" and report on these extra triggers. Use the same mechanism to cache open relations when firing deferred triggers at transaction shutdown; this replaces the former one-element-cache strategy used in that case, and should improve performance a bit when there are deferred triggers on a number of relations.
-
Tom Lane authored
row within one query: we were firing check triggers before all the updates were done, leading to bogus failures. Fix by making the triggers queued by an RI update go at the end of the outer query's trigger event list, thereby effectively making the processing "breadth-first". This was indeed how it worked pre-8.0, so the bug does not occur in the 7.x branches. Per report from Pavel Stehule.
-
Bruce Momjian authored
> A third idea would be for a heap scan to check if all rows are visible > and if so set a per-table flag which can be checked by index scans. > Any change to the table would have to clear the flag. To detect > changes during the heap scan a counter could be set at the start and > checked at the end --- if it is the same, the table has not been > modified --- any table change would increment the counter.
-
Bruce Momjian authored
-
- 14 Aug, 2007 8 commits
-
-
Tom Lane authored
that still thought they could set HEAP_XMAX_COMMITTED immediately after seeing the other transaction commit. Make them use the same logic as tqual.c does to determine if the hint bit can be set yet.
-
Bruce Momjian authored
< o Use backend PREPARE/EXECUTE facility for ecpg where possible
-
Michael Meskes authored
-
Michael Meskes authored
-
Michael Meskes authored
-
Michael Meskes authored
-
Michael Meskes authored
-
Michael Meskes authored
- Really prepare statements - Added more regression tests - Added auto-prepare mode - Use '$n' for positional variables, '?' is still possible via ecpg option - Cleaned up the sources a little bit
-
- 13 Aug, 2007 3 commits
-
-
Tom Lane authored
thorough testing of async-commit mode from the buildfarm. This patch MUST get reverted before 8.3 release!
-
Tom Lane authored
First, we cannot assume that XLogAsyncCommitFlush guarantees hint bits will be settable, because clog.c's inexact LSN bookkeeping results in windows where a previously flushed transaction is considered unhintable because it shares an LSN slot with a later unflushed transaction. But repair_frag requires XMIN_COMMITTED to be correct so that it can distinguish tuples moved by the current vacuum. Since not being able to set the bit is an uncommon corner case, the most practical way of dealing with it seems to be to abandon shrinking (ie, don't invoke repair_frag) when we find a non-dead tuple whose XMIN_COMMITTED bit couldn't be set. Second, it is possible for the same reason that a RECENTLY_DEAD tuple does not get its XMAX_COMMITTED bit set during scan_heap. But by the time repair_frag examines the tuple it might be possible to set the bit. We therefore must take buffer content lock when calling HeapTupleSatisfiesVacuum a second time, else we can get an Assert failure in SetBufferCommitInfoNeedsSave. This latter bug is latent in existing releases, but I think it cannot actually occur without async commit, since the first HeapTupleSatisfiesVacuum call should always have set the bit. So I'm not going to back-patch it. In passing, reduce the existing "cannot shrink relation" messages from NOTICE to LOG level. The new message must be no higher than LOG if we don't want unpredictable regression test failures, and consistency seems like a good idea. Also arrange that only one such message is reported per VACUUM FULL; in typical scenarios you could get spammed with many such messages, which seems a bit useless.
-
Tom Lane authored
certain corner cases. Per discussion, the code does what we want, but it really needs to be documented that these functions act differently from regexp_matches.
-
- 12 Aug, 2007 2 commits
-
-
Tom Lane authored
enlarge the memory chunk in-place when it was feasible to do so. This turns out to not work well at all for scenarios involving repeated cycles of palloc/repalloc/pfree: the eventually freed chunks go into the wrong freelist for the next initial palloc request, and so we consume memory indefinitely. While that could be defended against, the number of cases where the optimization can still be applied drops significantly, and adjusting the initial sizes of StringInfo buffers makes it drop to almost nothing. Seems better to just remove the extra complexity. Per recent discussion and testing.
-
Tom Lane authored
likewise increase the initial size of the scanner's literal buffer to 1024 (from 128). Instrumentation of the regression tests suggests that this saves a useful amount of repalloc() traffic --- the number of calls occurring during one set of tests drops from about 6900 to about 3900. The old sizes were chosen in the late 90's with an eye to machines much smaller than are common today.
-
- 11 Aug, 2007 2 commits
-
-
Tom Lane authored
regexp_split_to_table() within a single query. This is only a partial solution, as it turns out that with enough matches per string these functions can also tickle a repalloc() misbehavior. But fixing that is a topic for a separate patch.
-
Tom Lane authored
that cached compiled patterns will still be there when the function is next called. Clean up looping logic, thereby fixing bug identified by Pavel Stehule. Share setup code between the two functions, add some comments, and avoid risky mixing of int and size_t variables. Clean up the documentation a tad, and accept all the flag characters mentioned in table 9-19 rather than just a subset.
-
- 10 Aug, 2007 2 commits
- 09 Aug, 2007 1 commit
-
-
Tom Lane authored
Brendan Jurd
-