Below is the list of changes that have just been committed into a local
5.1-ndb 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.1856 05/04/17 21:31:51 pekka@stripped +2 -0
printSchemaFile.cpp, Dbdict.cpp:
post merge fixes 5.0->5.1 for >1600 tables
ndb/src/kernel/blocks/dbdict/printSchemaFile.cpp
1.10 05/04/17 21:08:12 pekka@stripped +1 -1
post merge fixes 5.0->5.1 for >1600 tables
ndb/src/kernel/blocks/dbdict/Dbdict.cpp
1.74 05/04/17 21:08:12 pekka@stripped +25 -28
post merge fixes 5.0->5.1 for >1600 tables
# 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: tuna.ndb.mysql.com
# Root: /orca/space/pekka/ndb/version/my51-dd
--- 1.73/ndb/src/kernel/blocks/dbdict/Dbdict.cpp 2005-04-17 19:08:28 +02:00
+++ 1.74/ndb/src/kernel/blocks/dbdict/Dbdict.cpp 2005-04-17 21:08:12 +02:00
@@ -1765,14 +1765,18 @@
*/
Uint32 Dbdict::getFreeObjId(Uint32 minId)
{
- PageRecordPtr pagePtr;
- c_pageRecordArray.getPtr(pagePtr, c_schemaRecord.schemaPage);
- const SchemaFile* sf = (SchemaFile*)pagePtr.p;
- for (Uint32 i = minId; i < sf->NoOfTableEntries; i++) {
- const SchemaFile::TableEntry& te = sf->TableEntries[i];
- if (te.m_tableState == (Uint32)SchemaFile::INIT ||
- te.m_tableState == (Uint32)SchemaFile::DROP_TABLE_COMMITTED)
- return i;
+ const XSchemaFile * xsf = &c_schemaFile[c_schemaRecord.schemaPage != 0];
+ Uint32 noOfPages = xsf->noOfPages;
+ Uint32 n, i;
+ for (n = 0; n < noOfPages; n++) {
+ jam();
+ const SchemaFile * sf = &xsf->schemaPage[n];
+ for (i = 0; i < NDB_SF_PAGE_ENTRIES; i++) {
+ const SchemaFile::TableEntry& te = sf->TableEntries[i];
+ if (te.m_tableState == (Uint32)SchemaFile::INIT ||
+ te.m_tableState == (Uint32)SchemaFile::DROP_TABLE_COMMITTED)
+ return i;
+ }
}
return RNIL;
}
@@ -2885,10 +2889,9 @@
handleTabInfoInit(r, &parseRecord);
ndbrequire(parseRecord.errorCode == 0);
- PageRecordPtr pageRecPtr;
- c_pageRecordArray.getPtr(pageRecPtr, c_schemaRecord.schemaPage);
ndbrequire(tableId < c_tableRecordPool.getSize());
- SchemaFile::TableEntry * tableEntry = getTableEntry(pageRecPtr.p, tableId);
+ XSchemaFile * xsf = &c_schemaFile[c_schemaRecord.schemaPage != 0];
+ SchemaFile::TableEntry * tableEntry = getTableEntry(xsf, tableId);
tableEntry->m_info_words= tabInfoPtr.sz;
Callback callback;
@@ -6563,9 +6566,8 @@
SchemaFile::TableEntry *objEntry = 0;
if(obj_id != RNIL){
- PageRecordPtr pagePtr;
- c_pageRecordArray.getPtr(pagePtr, c_schemaRecord.schemaPage);
- objEntry = getTableEntry(pagePtr.p, obj_id);
+ XSchemaFile * xsf = &c_schemaFile[c_schemaRecord.schemaPage != 0];
+ objEntry = getTableEntry(xsf, obj_id);
}
// The table seached for was not found
@@ -12663,9 +12665,8 @@
ndbout_c("execCREATE_FILE_REQ objId = %d", objId);
create_obj->gci = 0;
- PageRecordPtr pagePtr;
- c_pageRecordArray.getPtr(pagePtr, c_schemaRecord.schemaPage);
- SchemaFile::TableEntry *objEntry = getTableEntry(pagePtr.p, objId);
+ XSchemaFile * xsf = &c_schemaFile[c_schemaRecord.schemaPage != 0];
+ SchemaFile::TableEntry *objEntry = getTableEntry(xsf, objId);
create_obj->objVersion = objEntry->m_tableVersion + 1;
}
@@ -12764,9 +12765,8 @@
ndbout_c("execCREATE_FILEGROUP_REQ objId = %d", objId);
create_obj->gci = 0;
- PageRecordPtr pagePtr;
- c_pageRecordArray.getPtr(pagePtr, c_schemaRecord.schemaPage);
- SchemaFile::TableEntry *objEntry = getTableEntry(pagePtr.p, objId);
+ XSchemaFile * xsf = &c_schemaFile[c_schemaRecord.schemaPage != 0];
+ SchemaFile::TableEntry *objEntry = getTableEntry(xsf, objId);
create_obj->objVersion = objEntry->m_tableVersion + 1;
}
@@ -13195,11 +13195,9 @@
CreateObjRecordPtr createObjPtr;
ndbrequire(c_opCreateObj.find(createObjPtr, callbackData));
- PageRecordPtr pagePtr;
- c_pageRecordArray.getPtr(pagePtr, c_schemaRecord.schemaPage);
-
Uint32 objId = createObjPtr.p->m_obj_id;
- SchemaFile::TableEntry objEntry = * getTableEntry(pagePtr.p, objId);
+ XSchemaFile * xsf = &c_schemaFile[c_schemaRecord.schemaPage != 0];
+ SchemaFile::TableEntry objEntry = * getTableEntry(xsf, objId);
objEntry.m_tableState = SchemaFile::TABLE_ADD_COMMITTED;
Callback callback;
@@ -13284,10 +13282,9 @@
releaseObjObject(objPtr.i);
#endif
- PageRecordPtr pagePtr;
- c_pageRecordArray.getPtr(pagePtr, c_schemaRecord.schemaPage);
- SchemaFile::TableEntry * tableEntry = getTableEntry(pagePtr.p,
- createObjPtr.p->m_obj_id);
+ XSchemaFile * xsf = &c_schemaFile[c_schemaRecord.schemaPage != 0];
+ SchemaFile::TableEntry * tableEntry =
+ getTableEntry(xsf, createObjPtr.p->m_obj_id);
tableEntry->m_tableState = SchemaFile::DROP_TABLE_COMMITTED;
//@todo check error
--- 1.9/ndb/src/kernel/blocks/dbdict/printSchemaFile.cpp 2005-04-17 19:02:31 +02:00
+++ 1.10/ndb/src/kernel/blocks/dbdict/printSchemaFile.cpp 2005-04-17 21:08:12 +02:00
@@ -87,7 +87,7 @@
<< " State = " << te.m_tableState
<< " version = " << te.m_tableVersion
<< " type = " << te.m_tableType
- << " noOfWords = " << te.m_info_words
+ << " noOfPages = " << te.m_noOfPages
<< " gcp: " << te.m_gcp << endl;
}
}
| Thread |
|---|
| • bk commit into 5.1-ndb tree (pekka:1.1856) | pekka | 17 Apr |