List:Commits« Previous MessageNext Message »
From:U-ROWVWADEjas Date:October 9 2007 8:46pm
Subject:bk commit into 6.0 tree (jas:1.2635)
View as plain text  
Below is the list of changes that have just been committed into a local
6.0 repository of . When  does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet@stripped, 2007-10-09 16:46:34-04:00, jas@rowvwade. +1 -0
  Do index insertion after duplicate check to simplify
  backout.

  storage/falcon/Table.cpp@stripped, 2007-10-09 16:46:23-04:00, jas@rowvwade. +18 -18
    Do index insertion after duplicate check to simplify
    backout.

diff -Nrup a/storage/falcon/Table.cpp b/storage/falcon/Table.cpp
--- a/storage/falcon/Table.cpp	2007-10-08 17:18:34 -04:00
+++ b/storage/falcon/Table.cpp	2007-10-09 16:46:23 -04:00
@@ -339,13 +339,13 @@ void Table::insert(Transaction *transact
 		
 		if (indexes)
 			{
-			FOR_INDEXES(index, this);
-				index->insert(record, transaction);
-			END_FOR;
-			
 			do
 				sync.lock(ATOMIC_UPDATE);
 			while (!checkUniqueIndexes(transaction, record, &sync));
+
+			FOR_INDEXES(index, this);
+				index->insert(record, transaction);
+			END_FOR;
 			}
 
 		// Verify that record is valid
@@ -1104,13 +1104,13 @@ void Table::update(Transaction * transac
 		
 		if (indexes)
 			{
-			FOR_INDEXES(index, this);
-				index->update(oldRecord, record, transaction);
-			END_FOR;
-			
 			do
 				sync.lock(ATOMIC_UPDATE);
 			while (!checkUniqueIndexes(transaction, record, &sync));
+
+			FOR_INDEXES(index, this);
+				index->update(oldRecord, record, transaction);
+			END_FOR;
 			}
 
 		scavenge.lock(Shared);
@@ -2670,13 +2670,13 @@ uint Table::insert(Transaction *transact
 		
 		if (indexes)
 			{
-			FOR_INDEXES(index, this);
-				index->insert (record, transaction);
-			END_FOR;
-			
 			do
 				sync.lock(ATOMIC_UPDATE);
 			while (!checkUniqueIndexes(transaction, record, &sync));
+
+			FOR_INDEXES(index, this);
+				index->insert (record, transaction);
+			END_FOR;
 			}
 
 		// Do actual insert
@@ -2699,14 +2699,14 @@ uint Table::insert(Transaction *transact
 			insert(NULL, record, recordNumber);
 			}
 
+		garbageCollect(record, NULL, transaction, true);
+
 		if (recordNumber >= 0)
 			{
 			dbb->updateRecord(dataSection, recordNumber, NULL, transaction, false);
 			record->recordNumber = -1;
 			}
 
-		garbageCollect(record, NULL, transaction, true);
-
 		if (record)
 			record->release();
 
@@ -2800,13 +2800,13 @@ void Table::update(Transaction * transac
 		
 		if (indexes)
 			{
-			FOR_INDEXES(index, this);
-				index->update(oldRecord, record, transaction);
-			END_FOR;
-			
 			do
 				sync.lock(ATOMIC_UPDATE);
 			while (!checkUniqueIndexes(transaction, record, &sync));
+
+			FOR_INDEXES(index, this);
+				index->update(oldRecord, record, transaction);
+			END_FOR;
 			}
 
 		//updateInversion(record, transaction);
Thread
bk commit into 6.0 tree (jas:1.2635)U-ROWVWADEjas9 Oct