postgresql/src/test/regress
Tom Lane 793d5662e8 Fix an oversight in the support for storing/retrieving "minimal tuples" in
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.
2009-03-30 04:08:43 +00:00
..
data Avoid regression test cases that fail in locales that sort "v" and "w" 2009-01-19 14:24:13 +00:00
expected Fix an oversight in the support for storing/retrieving "minimal tuples" in 2009-03-30 04:08:43 +00:00
input Fix a couple of snapshot management bugs in the new ResourceOwner world: 2008-12-04 14:51:02 +00:00
output Fix a couple of snapshot management bugs in the new ResourceOwner world: 2008-12-04 14:51:02 +00:00
sql Fix an oversight in the support for storing/retrieving "minimal tuples" in 2009-03-30 04:08:43 +00:00
GNUmakefile Update copyright for 2009. 2009-01-01 17:24:05 +00:00
Makefile
parallel_schedule Revert updatable views 2009-01-27 12:40:15 +00:00
pg_regress_main.c Update copyright for 2009. 2009-01-01 17:24:05 +00:00
pg_regress.c Unset language-related locale settings in any case, otherwise psql will 2009-02-12 13:26:03 +00:00
pg_regress.h Update copyright for 2009. 2009-01-01 17:24:05 +00:00
regress.c Fix executor/spi.h to follow our usual conventions for include files, ie, 2009-01-07 13:44:37 +00:00
regressplans.sh
resultmap Rewrite ECPG regression test driver in C, by splitting the standard 2007-06-12 11:07:34 +00:00
serial_schedule Revert updatable views 2009-01-27 12:40:15 +00:00