本文整理汇总了C++中NdbTransaction::receiveSCAN_TABREF方法的典型用法代码示例。如果您正苦于以下问题:C++ NdbTransaction::receiveSCAN_TABREF方法的具体用法?C++ NdbTransaction::receiveSCAN_TABREF怎么用?C++ NdbTransaction::receiveSCAN_TABREF使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NdbTransaction
的用法示例。
在下文中一共展示了NdbTransaction::receiveSCAN_TABREF方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: handleReceivedSignal
//.........这里部分代码省略.........
assert(tFirstDataPtr);
assert(void2con(tFirstDataPtr));
assert(void2con(tFirstDataPtr)->checkMagicNumber() == 0);
if(tFirstDataPtr &&
(tCon = void2con(tFirstDataPtr)) && (tCon->checkMagicNumber() == 0)){
if(aSignal->m_noOfSections > 0){
tReturnCode = tCon->receiveSCAN_TABCONF(aSignal,
ptr[0].p, ptr[0].sz);
} else {
tReturnCode =
tCon->receiveSCAN_TABCONF(aSignal,
tDataPtr + ScanTabConf::SignalLength,
tLen - ScanTabConf::SignalLength);
}
if (tReturnCode != -1 && tWaitState == WAIT_SCAN)
tNewState = NO_WAIT;
break;
} else {
goto InvalidSignal;
}
}
case GSN_SCAN_TABREF:
{
tFirstDataPtr = int2void(tFirstData);
if (tFirstDataPtr == 0) goto InvalidSignal;
tCon = void2con(tFirstDataPtr);
assert(tFirstDataPtr != 0 &&
void2con(tFirstDataPtr)->checkMagicNumber() == 0);
if (tCon->checkMagicNumber() == 0){
tReturnCode = tCon->receiveSCAN_TABREF(aSignal);
if (tReturnCode != -1 && tWaitState == WAIT_SCAN){
tNewState = NO_WAIT;
}
break;
}
goto InvalidSignal;
}
case GSN_KEYINFO20: {
tFirstDataPtr = int2void(tFirstData);
NdbReceiver* tRec;
if (tFirstDataPtr && (tRec = void2rec(tFirstDataPtr)) &&
tRec->checkMagicNumber() && (tCon = tRec->getTransaction()) &&
tCon->checkState_TransId(&((const KeyInfo20*)tDataPtr)->transId1)){
Uint32 len = ((const KeyInfo20*)tDataPtr)->keyLen;
Uint32 info = ((const KeyInfo20*)tDataPtr)->scanInfo_Node;
int com = -1;
if(aSignal->m_noOfSections > 0 && len == ptr[0].sz){
com = tRec->execKEYINFO20(info, ptr[0].p, len);
} else if(len == tLen - KeyInfo20::HeaderLength){
com = tRec->execKEYINFO20(info, tDataPtr+KeyInfo20::HeaderLength, len);
}
switch(com){
case 1:
tCon->theScanningOp->receiver_delivered(tRec);
tNewState = (((WaitSignalType) tWaitState) == WAIT_SCAN ?
(Uint32) NO_WAIT : tWaitState);
break;
case 0:
break;
case -1: