This patch is an improvement over the previous initial prototype. It
passes all tests on my machine, ibm17, windows except for testBlobLinkedListReclamationOnRollback. And that test just needs to
get changed to expect the improved reclamation, after the patch table
is left with 1 allocated page rather than 1000.
I expect to post one more patch with comments cleaned up and making sure debugging code is removed.
The major change in the approach to get a number of tests to pass was
to change the "in transaction" queueing code that creates the HeapPostCommit to only take a PageKey rather than a Heap. This meant
the code did not interact with the conglomerate cache and possibly have
to do things like read data from the container during abort. This is the same info that the raw store ReclaimSpace work item does. This solved
problems with alter table tests, interrupt tests, and AccessFactory unit tests.
only test error, which just needs to be changed to accept new behavior:
.tests.store.ClobReclamationTest)junit.framework.AssertionFailedError: Column va
lue mismatch @ column 'NUMALLOCATEDPAGES', row 1: