postgresql/src/test/isolation/expected
Tom Lane b75d18bd4f Fix use-of-already-freed-memory problem in EvalPlanQual processing.
Up to now, the "child" executor state trees generated for EvalPlanQual
rechecks have simply shared the ResultRelInfo arrays used for the original
execution tree.  However, this leads to dangling-pointer problems, because
ExecInitModifyTable() is all too willing to scribble on some fields of the
ResultRelInfo(s) even when it's being run in one of those child trees.
This trashes those fields from the perspective of the parent tree, because
even if the generated subtree is logically identical to what was in use in
the parent, it's in a memory context that will go away when we're done
with the child state tree.

We do however want to share information in the direction from the parent
down to the children; in particular, fields such as es_instrument *must*
be shared or we'll lose the stats arising from execution of the children.
So the simplest fix is to make a copy of the parent's ResultRelInfo array,
but not copy any fields back at end of child execution.

Per report from Manuel Kniep.  The added isolation test is based on his
example.  In an unpatched memory-clobber-enabled build it will reliably
fail with "ctid is NULL" errors in all branches back to 9.1, as a
consequence of junkfilter->jf_junkAttNo being overwritten with $7f7f.
This test cannot be run as-is before that for lack of WITH syntax; but
I have no doubt that some variant of this problem can arise in older
branches, so apply the code change all the way back.
2015-01-15 18:53:05 -05:00
..
aborted-keyrevoke.out Improve concurrency of foreign key locking 2013-01-23 12:04:59 -03:00
aborted-keyrevoke_2.out Improve concurrency of foreign key locking 2013-01-23 12:04:59 -03:00
alter-table-1.out Isolation test files for ALTER TABLE patch 2014-04-06 11:44:24 -04:00
classroom-scheduling.out Strip whitespace from SQL blocks in the isolation test suite. This is purely 2011-08-18 17:09:58 +03:00
delete-abort-savept-2.out Improve concurrency of foreign key locking 2013-01-23 12:04:59 -03:00
delete-abort-savept.out Avoid resetting Xmax when it's a multi with an aborted update 2013-12-05 12:21:55 -03:00
drop-index-concurrently-1.out Allow drop-index-concurrently-1 test to run at any isolation level. 2013-10-08 16:55:12 -05:00
drop-index-concurrently-1_2.out Allow drop-index-concurrently-1 test to run at any isolation level. 2013-10-08 16:55:12 -05:00
eval-plan-qual.out Fix use-of-already-freed-memory problem in EvalPlanQual processing. 2015-01-15 18:53:05 -05:00
fk-contention.out Improve concurrency of foreign key locking 2013-01-23 12:04:59 -03:00
fk-deadlock.out Improve concurrency of foreign key locking 2013-01-23 12:04:59 -03:00
fk-deadlock2.out Improve concurrency of foreign key locking 2013-01-23 12:04:59 -03:00
fk-deadlock2_1.out Make some isolationtester specs more complete 2013-10-04 15:52:58 -03:00
fk-deadlock2_2.out Make some isolationtester specs more complete 2013-10-04 15:52:58 -03:00
fk-deadlock_1.out Make some isolationtester specs more complete 2013-10-04 15:52:58 -03:00
fk-delete-insert.out Improve concurrency of foreign key locking 2013-01-23 12:04:59 -03:00
index-only-scan.out Fix serializable mode with index-only scans. 2012-09-04 21:13:11 -05:00
lock-update-delete.out Make some isolationtester specs more complete 2013-10-04 15:52:58 -03:00
lock-update-delete_1.out Make some isolationtester specs more complete 2013-10-04 15:52:58 -03:00
lock-update-traversal.out Make some isolationtester specs more complete 2013-10-04 15:52:58 -03:00
multiple-row-versions.out Strip whitespace from SQL blocks in the isolation test suite. This is purely 2011-08-18 17:09:58 +03:00
multixact-no-deadlock.out Improve concurrency of foreign key locking 2013-01-23 12:04:59 -03:00
multixact-no-forget.out Fix improper abort during update chain locking 2013-12-05 17:47:51 -03:00
multixact-no-forget_1.out Fix improper abort during update chain locking 2013-12-05 17:47:51 -03:00
nowait-2.out Fix FOR UPDATE NOWAIT on updated tuple chains 2014-08-27 19:15:18 -04:00
nowait-3.out Fix FOR UPDATE NOWAIT on updated tuple chains 2014-08-27 19:15:18 -04:00
nowait-4.out Fix FOR UPDATE NOWAIT on updated tuple chains 2014-08-27 19:15:18 -04:00
nowait-4_1.out Fix FOR UPDATE NOWAIT on updated tuple chains 2014-08-27 19:15:18 -04:00
nowait-5.out Fix FOR UPDATE NOWAIT on updated tuple chains 2014-08-27 19:15:18 -04:00
nowait.out Fix FOR UPDATE NOWAIT on updated tuple chains 2014-08-27 19:15:18 -04:00
partial-index.out Strip whitespace from SQL blocks in the isolation test suite. This is purely 2011-08-18 17:09:58 +03:00
prepared-transactions.out Add an SSI regression test that tests all interesting permutations in the 2011-08-18 17:09:58 +03:00
project-manager.out Strip whitespace from SQL blocks in the isolation test suite. This is purely 2011-08-18 17:09:58 +03:00
propagate-lock-delete.out Don't ignore tuple locks propagated by our updates 2013-12-18 13:45:51 -03:00
receipt-report.out Strip whitespace from SQL blocks in the isolation test suite. This is purely 2011-08-18 17:09:58 +03:00
referential-integrity.out Strip whitespace from SQL blocks in the isolation test suite. This is purely 2011-08-18 17:09:58 +03:00
ri-trigger.out Strip whitespace from SQL blocks in the isolation test suite. This is purely 2011-08-18 17:09:58 +03:00
simple-write-skew.out Strip whitespace from SQL blocks in the isolation test suite. This is purely 2011-08-18 17:09:58 +03:00
temporal-range-integrity.out Strip whitespace from SQL blocks in the isolation test suite. This is purely 2011-08-18 17:09:58 +03:00
timeouts.out Bump up timeout delays some more in timeouts isolation test. 2013-03-20 13:53:43 -04:00
total-cash.out Strip whitespace from SQL blocks in the isolation test suite. This is purely 2011-08-18 17:09:58 +03:00
tuplelock-conflict.out Fix thinko in lock mode enum 2015-01-04 15:48:29 -03:00
two-ids.out Strip whitespace from SQL blocks in the isolation test suite. This is purely 2011-08-18 17:09:58 +03:00