Commit 1d399d1d authored by unknown's avatar unknown

testTransaction

Resources in SUMA


ndb/src/kernel/blocks/suma/Suma.cpp:
  release table attributes/fragments when releasing table.
  add #if 0-ed READ_CONFIG_REQ (todo)
parent db2db3c0
...@@ -267,6 +267,40 @@ Suma::execREAD_NODESCONF(Signal* signal){ ...@@ -267,6 +267,40 @@ Suma::execREAD_NODESCONF(Signal* signal){
sendSTTORRY(signal); sendSTTORRY(signal);
} }
#if 0
void
Suma::execREAD_CONFIG_REQ(Signal* signal)
{
const ReadConfigReq * req = (ReadConfigReq*)signal->getDataPtr();
Uint32 ref = req->senderRef;
Uint32 senderData = req->senderData;
ndbrequire(req->noOfParameters == 0);
jamEntry();
const ndb_mgm_configuration_iterator * p =
theConfiguration.getOwnConfigIterator();
ndbrequire(p != 0);
ndbrequire(!ndb_mgm_get_int_parameter(p, CFG_DB_NO_REDOLOG_FILES,
&cnoLogFiles));
ndbrequire(cnoLogFiles > 0);
ndbrequire(!ndb_mgm_get_int_parameter(p, CFG_LQH_FRAG, &cfragrecFileSize));
ndbrequire(!ndb_mgm_get_int_parameter(p, CFG_LQH_TABLE, &ctabrecFileSize));
ndbrequire(!ndb_mgm_get_int_parameter(p, CFG_LQH_TC_CONNECT,
&ctcConnectrecFileSize));
clogFileFileSize = 4 * cnoLogFiles;
ndbrequire(!ndb_mgm_get_int_parameter(p, CFG_LQH_SCAN, &cscanrecFileSize));
cmaxAccOps = cscanrecFileSize * MAX_PARALLEL_SCANS_PER_FRAG;
initRecords();
initialiseRecordsLab(signal, 0, ref, senderData);
return;
}//Dblqh::execSIZEALT_REP()
#endif
void void
Suma::sendSTTORRY(Signal* signal){ Suma::sendSTTORRY(Signal* signal){
signal->theData[0] = 0; signal->theData[0] = 0;
...@@ -581,34 +615,33 @@ Suma::execDUMP_STATE_ORD(Signal* signal){ ...@@ -581,34 +615,33 @@ Suma::execDUMP_STATE_ORD(Signal* signal){
jamEntry(); jamEntry();
Uint32 tCase = signal->theData[0]; Uint32 tCase = signal->theData[0];
if(tCase < 8000 || tCase > 8004) if(tCase >= 8000 && tCase <= 8003){
return; SubscriptionPtr subPtr;
c_subscriptions.getPtr(subPtr, g_subPtrI);
SubscriptionPtr subPtr;
c_subscriptions.getPtr(subPtr, g_subPtrI); Ptr<SyncRecord> syncPtr;
c_syncPool.getPtr(syncPtr, subPtr.p->m_syncPtrI);
Ptr<SyncRecord> syncPtr;
c_syncPool.getPtr(syncPtr, subPtr.p->m_syncPtrI); if(tCase == 8000){
syncPtr.p->startMeta(signal);
if(tCase == 8000){ }
syncPtr.p->startMeta(signal);
} if(tCase == 8001){
syncPtr.p->startScan(signal);
if(tCase == 8001){ }
syncPtr.p->startScan(signal);
}
if(tCase == 8002){
syncPtr.p->startTrigger(signal);
}
if(tCase == 8003){ if(tCase == 8002){
subPtr.p->m_subscriptionType = SubCreateReq::SingleTableScan; syncPtr.p->startTrigger(signal);
LocalDataBuffer<15> attrs(c_dataBufferPool, syncPtr.p->m_attributeList); }
Uint32 tab = 0;
Uint32 att[] = { 0, 1, 1 }; if(tCase == 8003){
syncPtr.p->m_tableList.append(&tab, 1); subPtr.p->m_subscriptionType = SubCreateReq::SingleTableScan;
attrs.append(att, 3); LocalDataBuffer<15> attrs(c_dataBufferPool, syncPtr.p->m_attributeList);
Uint32 tab = 0;
Uint32 att[] = { 0, 1, 1 };
syncPtr.p->m_tableList.append(&tab, 1);
attrs.append(att, 3);
}
} }
if(tCase == 8004){ if(tCase == 8004){
...@@ -1229,6 +1262,9 @@ SumaParticipant::parseTable(Signal* signal, GetTabInfoConf* conf, Uint32 tableId ...@@ -1229,6 +1262,9 @@ SumaParticipant::parseTable(Signal* signal, GetTabInfoConf* conf, Uint32 tableId
if(!tabPtr.isNull() && if(!tabPtr.isNull() &&
tabPtr.p->m_schemaVersion != tableDesc.TableVersion){ tabPtr.p->m_schemaVersion != tableDesc.TableVersion){
jam(); jam();
tabPtr.p->release(* this);
// oops wrong schema version in stored tabledesc // oops wrong schema version in stored tabledesc
// we need to find all subscriptions with old table desc // we need to find all subscriptions with old table desc
// and all subscribers to this // and all subscribers to this
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment