本文整理汇总了C++中ndbdictionary::Dictionary::getDefaultHashMap方法的典型用法代码示例。如果您正苦于以下问题:C++ Dictionary::getDefaultHashMap方法的具体用法?C++ Dictionary::getDefaultHashMap怎么用?C++ Dictionary::getDefaultHashMap使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ndbdictionary::Dictionary
的用法示例。
在下文中一共展示了Dictionary::getDefaultHashMap方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GETNDB
Uint32
determineMaxFragCount(NDBT_Context* ctx, NDBT_Step* step)
{
Ndb* pNdb = GETNDB(step);
NdbDictionary::Dictionary* dict = pNdb->getDictionary();
/* Find max # frags we can create... */
ndbout << "Determining max fragment count on this cluster" << endl;
Uint32 fc = (ctx->getTab()->getFragmentCount() * 2);
ndbout << "Start point " << fc << endl;
bool up = true;
do
{
ndbout << "Trying " << fc << " ...";
NdbDictionary::HashMap hm;
bool ok = (dict->getDefaultHashMap(hm, fc) == 0);
ndbout << "a" << endl;
if (!ok)
{
if (dict->initDefaultHashMap(hm, fc) == 0)
{
ndbout << "b" << endl;
ok = (dict->createHashMap(hm) == 0);
}
ndbout << "c" << endl;
}
if (ok)
{
Uint32 args[2];
args[0] = 0;
args[1] = fc;
if (NDBT_Tables::createTable(pNdb,
ctx->getTab()->getName(),
false,
false,
CMT_createTableHook,
&args) != 0)
{
ok = false;
}
else
{
/* Worked, drop it... */
char buf[100];
BaseString::snprintf(buf, sizeof(buf),
"%s_%u",
ctx->getTab()->getName(),
0);
ndbout << "Dropping " << buf << endl;
pNdb->getDictionary()->dropTable(buf);
}
}
if (ok)
{
ndbout << "ok" << endl;
if (up)
{
fc*= 2;
}
else
{
break;
}
}
else
{
ndbout << "failed" << endl;
if (up)
{
up = false;
}
fc--;
}
} while (true);
ndbout << "Max frag count : " << fc << endl;
return fc;
}