List:Commits« Previous MessageNext Message »
From:Kevin Lewis Date:May 12 2009 10:58pm
Subject:bzr commit into mysql-6.0-falcon-team branch (kevin.lewis:2704)
Bug#43344 Bug#44721
View as plain text  
#At file:///C:/Work/bzr/Merge/mysql-6.0-falcon-team/ based on revid:kevin.lewis@stripped

 2704 Kevin Lewis	2009-05-12
      Code Cleanup and compile warnings
      Fix the previous patch for Bug#43344 & Bug#44721 that made a call to getAllocatedSize()
      from inside a thaw.  This caused a recursive loop and a stack overflow.

    modified:
      storage/falcon/Dbb.cpp
      storage/falcon/Record.cpp
      storage/falcon/Record.h
      storage/falcon/RecordVersion.cpp
      storage/falcon/SRLUpdateRecords.cpp
=== modified file 'storage/falcon/Dbb.cpp'
--- a/storage/falcon/Dbb.cpp	2009-04-27 16:43:53 +0000
+++ b/storage/falcon/Dbb.cpp	2009-05-12 22:58:23 +0000
@@ -793,7 +793,7 @@ int64 Dbb::updateSequence(int sequenceId
 	int slot = sequenceId % sequencesPerPage;
 	int64 value;
 	
-	if (delta && page->sequences [slot] != 0xffffffffffffffffLL)
+	if (delta && page->sequences [slot] != (int64) 0xffffffffffffffffLL)
 		{
 		bdb->mark(transId);
 		

=== modified file 'storage/falcon/Record.cpp'
--- a/storage/falcon/Record.cpp	2009-05-12 14:35:40 +0000
+++ b/storage/falcon/Record.cpp	2009-05-12 22:58:23 +0000
@@ -962,7 +962,6 @@ void Record::deleteData(bool now)
 // Only one thread can chill a record at a time because that 
 // thread must 'own' the transaction.  So this CAS may not be needed.
 
-
 void Record::chillData(void)
 {
 	// Detach the pointer from data.record

=== modified file 'storage/falcon/Record.h'
--- a/storage/falcon/Record.h	2009-05-12 14:35:40 +0000
+++ b/storage/falcon/Record.h	2009-05-12 22:58:23 +0000
@@ -180,7 +180,6 @@ protected:
 		return ((recordData != NULL) && (recordData != recordIsChilled));
 		}
 
-
 public:
 	uint64		generation;
 	Format		*format;

=== modified file 'storage/falcon/RecordVersion.cpp'
--- a/storage/falcon/RecordVersion.cpp	2009-05-12 14:35:40 +0000
+++ b/storage/falcon/RecordVersion.cpp	2009-05-12 22:58:23 +0000
@@ -434,7 +434,7 @@ char *RecordVersion::thaw()
 		if (table->dbb->fetchRecord(table->dataSection, recordNumber, &stream))
 			{
 			recordData = setEncodedRecord(&stream, true);
-			bytesReallocated = getAllocatedSize();
+			bytesReallocated = size - getSize();
 			}
 
 		if (bytesReallocated > 0)

=== modified file 'storage/falcon/SRLUpdateRecords.cpp'
--- a/storage/falcon/SRLUpdateRecords.cpp	2009-05-12 14:35:40 +0000
+++ b/storage/falcon/SRLUpdateRecords.cpp	2009-05-12 22:58:23 +0000
@@ -43,7 +43,7 @@ bool SRLUpdateRecords::chill(Transaction
 	// Record data has been written to the serial log.
 	// Before releasing the data, find the allocated size.
 
-	int chillBytes = record->getAllocatedSize();
+	uint64 chillBytes = record->getAllocatedSize();
 
 	// Release the data buffer and set the state accordingly
 


Attachment: [text/bzr-bundle] bzr/kevin.lewis@sun.com-20090512225823-8s9aip99pvdgip4c.bundle
Thread
bzr commit into mysql-6.0-falcon-team branch (kevin.lewis:2704)Bug#43344 Bug#44721Kevin Lewis13 May