#At file:///home/mysql/mysql-6.0-falcon-team/
3082 Jim Starkey 2009-03-26 [merge]
Merge.
modified:
storage/falcon/BackLog.cpp
storage/falcon/RecordVersion.cpp
storage/falcon/RecordVersion.h
storage/falcon/StorageDatabase.cpp
storage/falcon/Transaction.cpp
storage/falcon/ha_falcon.cpp
=== modified file 'storage/falcon/BackLog.cpp'
--- a/storage/falcon/BackLog.cpp 2009-03-02 23:21:28 +0000
+++ b/storage/falcon/BackLog.cpp 2009-03-26 14:34:17 +0000
@@ -99,7 +99,7 @@
{
RecordVersion *record = fetch(backlogId);
- if (record->transactionId != transaction->transactionId)
+ if (record->getTransactionId() != transaction->transactionId)
{
record->release(REC_HISTORY);
=== modified file 'storage/falcon/RecordVersion.cpp'
--- a/storage/falcon/RecordVersion.cpp 2009-03-26 15:07:58 +0000
+++ b/storage/falcon/RecordVersion.cpp 2009-03-26 16:51:28 +0000
@@ -84,7 +84,7 @@
// prior versions from 'stream'
virtualOffset = stream->getInt64();
- transactionId = stream->getInt();
+ TransId transactionId = stream->getInt();
int priorType = stream->getInt();
superceded = false;
transactionState = NULL;
@@ -112,6 +112,14 @@
transaction = NULL;
***/
}
+ else
+ {
+ // Creates a transaction state object for storing the transaction id
+
+ transactionState = new TransactionState();
+ transactionState->transactionId = transactionId;
+ transactionState->state = Committed;
+ }
}
RecordVersion::~RecordVersion()
@@ -178,7 +186,7 @@
if (state == Committed || recTransState == trans->transactionState)
return (getRecordData()) ? this : NULL;
}
- else if (transactionId <= trans->transactionId)
+ else if (recTransState->transactionId <= trans->transactionId)
{
if (trans->visible(recTransState, FOR_READING))
return (getRecordData()) ? this : NULL;
@@ -379,7 +387,7 @@
TransId RecordVersion::getTransactionId()
{
- return transactionId;
+ return transactionState->transactionId;
}
int RecordVersion::getSavePointId()
@@ -482,7 +490,7 @@
void RecordVersion::print(void)
{
Log::debug(" %p\tId %d, enc %d, state %d, tid %d, use %d, grp %d, prior %p\n",
- this, recordNumber, encoding, state, transactionId, useCount,
+ this, recordNumber, encoding, state, transactionState->transactionId, useCount,
generation, priorVersion);
if (priorVersion)
@@ -498,7 +506,7 @@
{
Record::serialize(stream);
stream->putInt64(virtualOffset);
- stream->putInt(transactionId);
+ stream->putInt(transactionState->transactionId);
// Recursively serialize the prior version chain
@@ -518,10 +526,9 @@
transactionState = newTransState;
transactionState->addRef();
- transactionId = transactionState->transactionId;
}
Transaction* RecordVersion::findTransaction(void)
{
- return
format->table->database->transactionManager->findTransaction(transactionId);
+ return
format->table->database->transactionManager->findTransaction(transactionState->transactionId);
}
=== modified file 'storage/falcon/RecordVersion.h'
--- a/storage/falcon/RecordVersion.h 2009-03-26 15:07:58 +0000
+++ b/storage/falcon/RecordVersion.h 2009-03-26 16:51:28 +0000
@@ -74,7 +74,7 @@
//Transaction *transaction;
RecordVersion *nextInTrans;
RecordVersion *prevInTrans;
- TransId transactionId;
+ //TransId transactionId;
int savePointId;
bool superceded;
=== modified file 'storage/falcon/StorageDatabase.cpp'
--- a/storage/falcon/StorageDatabase.cpp 2009-03-25 22:37:22 +0000
+++ b/storage/falcon/StorageDatabase.cpp 2009-03-26 12:13:06 +0000
@@ -1039,7 +1039,7 @@
// value as a BigInt, if it is not set, we
// can use int64
- if (temp & 0x8000000000000000)
+ if (temp & 0x8000000000000000ULL)
{
BigInt bigInt;
bigInt.set(temp);
=== modified file 'storage/falcon/Transaction.cpp'
--- a/storage/falcon/Transaction.cpp 2009-03-25 22:11:35 +0000
+++ b/storage/falcon/Transaction.cpp 2009-03-26 14:34:17 +0000
@@ -382,7 +382,6 @@
releaseDeferredIndexes();
releaseSavepoints();
- Transaction *rollbackTransaction = transactionManager->rolledBackTransaction;
chillPoint = &firstRecord;
totalRecordData = 0;
totalRecords = 0;
@@ -572,7 +571,7 @@
// Thaw the record then update the total record data bytes for this transaction
- ASSERT(record->transactionId == transactionId);
+ ASSERT(record->getTransactionId() == transactionId);
bool thawed;
int bytesRestored = control.updateRecords.thaw(record, &thawed);
=== modified file 'storage/falcon/ha_falcon.cpp'
--- a/storage/falcon/ha_falcon.cpp 2009-03-24 13:31:43 +0000
+++ b/storage/falcon/ha_falcon.cpp 2009-03-26 12:36:59 +0000
@@ -3016,7 +3016,7 @@
// encode it as a BigInt to support unsigned values
// with the MSB set in the index
- if (((Field_num*)field)->unsigned_flag && (temp &
0x8000000000000000))
+ if (((Field_num*)field)->unsigned_flag && (temp &
LL(0x8000000000000000)))
{
BigInt bigInt;
bigInt.set((uint64)temp);
| Thread |
|---|
| • commit into mysql-6.0-falcon-team branch (JimStarkeyjstarkey:3082) | JimStarkeyjstarkey | 26 Mar 2009 |