3085 Kevin Lewis 2009-03-27
Delete ASSERT(state != recQueuedForDelete); in RecordVersion::fetchVersionRecursive()
This assert means that a record is queued for delete, but not gone yet, and we can still use it.
Previously, it would have turned into a bad pointer while using it. Now, the record is detached above, but still attached below, so we can still refer to it.
modified:
storage/falcon/RecordVersion.cpp
3084 Kevin Lewis 2009-03-27
Allow RecordScavenge::canBeRetired() to check if the transaction is purged.
modified:
storage/falcon/Dbb.cpp
storage/falcon/RecordScavenge.cpp
storage/falcon/RecordVersion.cpp
storage/falcon/Transaction.cpp
storage/falcon/TransactionState.cpp
storage/falcon/TransactionState.h
=== modified file 'storage/falcon/RecordVersion.cpp'
--- a/storage/falcon/RecordVersion.cpp 2009-03-27 13:43:10 +0000
+++ b/storage/falcon/RecordVersion.cpp 2009-03-27 15:16:56 +0000
@@ -174,7 +174,6 @@ Record* RecordVersion::fetchVersionRecur
{
// Unless the record is at least as old as the transaction, it's not for us
- ASSERT(state != recQueuedForDelete);
TransactionState* recTransState = transactionState;
if (state != recLock)
Attachment: [text/bzr-bundle] bzr/kevin.lewis@sun.com-20090327151656-m94hqd88n92t4i0c.bundle
| Thread |
|---|
| • bzr push into mysql-6.0-falcon-team branch (kevin.lewis:3084 to 3085) | Kevin Lewis | 27 Mar |