Below is the list of changes that have just been committed into a local
4.1 repository of pekka. When pekka 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
1.2529 06/07/04 15:11:11 pekka@stripped +1 -0
ndb - bug#20847 fix (4.1)
ndb/src/kernel/blocks/dbtup/DbtupTabDesMan.cpp
1.3 06/07/04 15:09:39 pekka@stripped +3 -2
DROP did not do merge with right buddies
# This is a BitKeeper patch. What follows are the unified diffs for the
# set of deltas contained in the patch. The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User: pekka
# Host: orca.ndb.mysql.com
# Root: /space/pekka/ndb/version/my41-bug20847
--- 1.2/ndb/src/kernel/blocks/dbtup/DbtupTabDesMan.cpp 2004-09-16 12:53:16 +02:00
+++ 1.3/ndb/src/kernel/blocks/dbtup/DbtupTabDesMan.cpp 2006-07-04 15:09:39 +02:00
@@ -59,7 +59,7 @@ Uint32 Dbtup::allocTabDescr(const Tabler
Uint32 reference = RNIL;
Uint32 allocSize = getTabDescrOffsets(regTabPtr, offset);
/* ---------------------------------------------------------------- */
-/* ALWAYS ALLOCATE A MULTIPLE OF 16 BYTES */
+/* ALWAYS ALLOCATE A MULTIPLE OF 16 WORDS */
/* ---------------------------------------------------------------- */
allocSize = (((allocSize - 1) >> 4) + 1) << 4;
Uint32 list = nextHigherTwoLog(allocSize - 1); /* CALCULATE WHICH LIST IT BELONGS TO
*/
@@ -73,7 +73,6 @@ Uint32 Dbtup::allocTabDescr(const Tabler
if (retNo >= ZTD_FREE_SIZE) {
ljam();
Uint32 retRef = reference + allocSize; /* SET THE RETURN POINTER
*/
- retNo = itdaMergeTabDescr(retRef, retNo); /* MERGE WITH POSSIBLE RIGHT
NEIGHBOURS */
freeTabDescr(retRef, retNo); /* RETURN UNUSED TD SPACE TO THE TD
AREA */
} else {
ljam();
@@ -102,6 +101,7 @@ Uint32 Dbtup::allocTabDescr(const Tabler
void Dbtup::freeTabDescr(Uint32 retRef, Uint32 retNo)
{
+ retNo = itdaMergeTabDescr(retRef, retNo); /* MERGE WITH POSSIBLE RIGHT NEIGHBOURS
*/
while (retNo >= ZTD_FREE_SIZE) {
ljam();
Uint32 list = nextHigherTwoLog(retNo);
@@ -111,6 +111,7 @@ void Dbtup::freeTabDescr(Uint32 retRef,
retRef += sizeOfChunk;
retNo -= sizeOfChunk;
}//while
+ ndbassert(retNo == 0);
}//Dbtup::freeTabDescr()
Uint32
| Thread |
|---|
| • bk commit into 4.1 tree (pekka:1.2529) BUG#20847 | pekka | 4 Jul |