From: Date: April 1 2008 12:01am Subject: bk commit into 6.0 tree (klewis:1.2629) BUG#34890 List-Archive: http://lists.mysql.com/commits/44711 X-Bug: 34890 Message-Id: <200803312202.m2VM23Sx029530@mail.mysql.com> Below is the list of changes that have just been committed into a local 6.0 repository of klewis. When klewis 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, 2008-03-31 17:01:16-05:00, klewis@klewis-mysql. +5 -0 Bug#34890 - Do not allow recursive locking of mutexes since it is not supported by pthreads. storage/falcon/IndexPage.cpp@stripped, 2008-03-31 17:00:13-05:00, klewis@klewis-mysql. +0 -9 Cleanup storage/falcon/RecordLeaf.cpp@stripped, 2008-03-31 17:00:49-05:00, klewis@klewis-mysql. +4 -2 Cleanup storage/falcon/RecordVersion.cpp@stripped, 2008-03-31 17:00:52-05:00, klewis@klewis-mysql. +1 -1 Cleanup storage/falcon/SyncObject.cpp@stripped, 2008-03-31 17:00:55-05:00, klewis@klewis-mysql. +1 -2 Do not allow recursive locking of mutexes since it is not supported by pthreads. storage/falcon/TableSpaceManager.cpp@stripped, 2008-03-31 17:00:58-05:00, klewis@klewis-mysql. +1 -0 Cleanup diff -Nrup a/storage/falcon/IndexPage.cpp b/storage/falcon/IndexPage.cpp --- a/storage/falcon/IndexPage.cpp 2008-03-28 10:35:17 -05:00 +++ b/storage/falcon/IndexPage.cpp 2008-03-31 17:00:13 -05:00 @@ -505,7 +505,6 @@ void IndexPage::validate(void *before) int superIdx = 0; int supernodeCount = 0; - for (int i=0; i< SUPERNODES; i++) { if(superNodes[i] ==0) @@ -527,7 +526,6 @@ void IndexPage::validate(void *before) supernodeCount++; } - for (IndexNode node (this);; node.getNext(bucketEnd)) { if (node.node >= bucketEnd) @@ -1425,8 +1423,6 @@ Btn* IndexPage::getEnd(void) bool IndexPage::checkAddSuperNode(int pageSize, IndexNode* node, IndexKey *indexKey, int recordNumber, int offset, bool *makeNextSuper) { - - Btn *insertionPoint = node->node; if (makeNextSuper) @@ -1434,7 +1430,6 @@ bool IndexPage::checkAddSuperNode(int pa if (insertionPoint == nodes) { - // Make supernode at the following node, if the // gap from the start of the page to the first supernode is too large. if (makeNextSuper && superNodes[0] > pageSize/(SUPERNODES+1) && !superNodes[SUPERNODES-1]) @@ -1484,7 +1479,6 @@ bool IndexPage::checkAddSuperNode(int pa /* Ideal distance between supernodes*/ int idealDistance = pageSize/(SUPERNODES+1); - int distLeft, distRight; distLeft = position; @@ -1637,7 +1631,6 @@ static int compareSuper(IndexNode *node, // Binary search is used for better speed Btn * IndexPage::findSupernode(int level, UCHAR *key, size_t keylen, int32 recordNumber, Btn *after, bool *found) { - *found = false; if (superNodes[0] == 0) return nodes; @@ -1692,5 +1685,3 @@ Btn * IndexPage::findSupernode(int level return nodes + superNodes[low-1]; } - - diff -Nrup a/storage/falcon/RecordLeaf.cpp b/storage/falcon/RecordLeaf.cpp --- a/storage/falcon/RecordLeaf.cpp 2008-03-30 02:24:27 -05:00 +++ b/storage/falcon/RecordLeaf.cpp 2008-03-31 17:00:49 -05:00 @@ -139,7 +139,8 @@ int RecordLeaf::retireRecords (Table *ta else ++count; } - else if (record->generation <= recordScavenge->scavengeGeneration && record->useCount == 1) + else if ( record->generation <= recordScavenge->scavengeGeneration + && record->useCount == 1) break; else ++count; @@ -183,7 +184,8 @@ int RecordLeaf::retireRecords (Table *ta ++count; } } - else if (record->generation <= recordScavenge->scavengeGeneration && record->useCount == 1) + else if ( (record->generation <= recordScavenge->scavengeGeneration) + && (record->useCount == 1)) { *ptr = NULL; recordScavenge->spaceReclaimed += record->size; diff -Nrup a/storage/falcon/RecordVersion.cpp b/storage/falcon/RecordVersion.cpp --- a/storage/falcon/RecordVersion.cpp 2008-03-30 02:24:27 -05:00 +++ b/storage/falcon/RecordVersion.cpp 2008-03-31 17:00:52 -05:00 @@ -204,7 +204,7 @@ bool RecordVersion::scavenge(RecordScave format->table->activeVersions = true; - // Scavenge criteria not met for this record, so check prior versions. + // Scavenge criteria not met for this base record, so check prior versions. if (priorVersion && recordScavenge->scavengeGeneration != UNDEFINED) { diff -Nrup a/storage/falcon/SyncObject.cpp b/storage/falcon/SyncObject.cpp --- a/storage/falcon/SyncObject.cpp 2008-03-27 22:48:26 -05:00 +++ b/storage/falcon/SyncObject.cpp 2008-03-31 17:00:55 -05:00 @@ -418,7 +418,7 @@ bool SyncObject::isLocked() void SyncObject::stalled(Thread *thread) { #ifdef TRACE - mutex.lock(); + // assume mutex is already locked. LogLock logLock; LinkedList threads; LinkedList syncObjects; @@ -437,7 +437,6 @@ void SyncObject::stalled(Thread *thread) END_FOR; LOG_DEBUG ("------------------------------------\n"); - mutex.release(); #endif } diff -Nrup a/storage/falcon/TableSpaceManager.cpp b/storage/falcon/TableSpaceManager.cpp --- a/storage/falcon/TableSpaceManager.cpp 2008-03-29 13:22:15 -05:00 +++ b/storage/falcon/TableSpaceManager.cpp 2008-03-31 17:00:58 -05:00 @@ -176,6 +176,7 @@ TableSpace* TableSpaceManager::createTab delete tableSpace; throw SQLError(TABLESPACE_EXIST_ERROR, "table space file name \"%s\" already exists\n", fileName); } + try { tableSpace->save();