本文整理汇总了C++中DLList::seize方法的典型用法代码示例。如果您正苦于以下问题:C++ DLList::seize方法的具体用法?C++ DLList::seize怎么用?C++ DLList::seize使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DLList
的用法示例。
在下文中一共展示了DLList::seize方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: findTriggerList
/* ---------------------------------------------------------------- */
bool
Dbtup::createTrigger(Tablerec* table, const CreateTrigReq* req)
{
if (ERROR_INSERTED(4003)) {
CLEAR_ERROR_INSERT_VALUE;
return false;
}
TriggerType::Value ttype = req->getTriggerType();
TriggerActionTime::Value ttime = req->getTriggerActionTime();
TriggerEvent::Value tevent = req->getTriggerEvent();
DLList<TupTriggerData>* tlist = findTriggerList(table, ttype, ttime, tevent);
ndbrequire(tlist != NULL);
TriggerPtr tptr;
if (!tlist->seize(tptr))
return false;
// Set trigger id
tptr.p->triggerId = req->getTriggerId();
// ndbout_c("Create TupTrigger %u = %u %u %u %u", tptr.p->triggerId, table, ttype, ttime, tevent);
// Set index id
tptr.p->indexId = req->getIndexId();
// Set trigger type etc
tptr.p->triggerType = ttype;
tptr.p->triggerActionTime = ttime;
tptr.p->triggerEvent = tevent;
tptr.p->sendBeforeValues = true;
if ((tptr.p->triggerType == TriggerType::SUBSCRIPTION) &&
((tptr.p->triggerEvent == TriggerEvent::TE_UPDATE) ||
(tptr.p->triggerEvent == TriggerEvent::TE_DELETE))) {
jam();
tptr.p->sendBeforeValues = false;
}
/*
tptr.p->sendOnlyChangedAttributes = false;
if (((tptr.p->triggerType == TriggerType::SUBSCRIPTION) ||
(tptr.p->triggerType == TriggerType::SUBSCRIPTION_BEFORE)) &&
(tptr.p->triggerEvent == TriggerEvent::TE_UPDATE)) {
jam();
tptr.p->sendOnlyChangedAttributes = true;
}
*/
tptr.p->sendOnlyChangedAttributes = !req->getReportAllMonitoredAttributes();
// Set monitor all
tptr.p->monitorAllAttributes = req->getMonitorAllAttributes();
tptr.p->monitorReplicas = req->getMonitorReplicas();
tptr.p->m_receiverBlock = refToBlock(req->getReceiverRef());
tptr.p->attributeMask.clear();
if (tptr.p->monitorAllAttributes) {
jam();
for(Uint32 i = 0; i < table->m_no_of_attributes; i++) {
if (!primaryKey(table, i)) {
jam();
tptr.p->attributeMask.set(i);
}
}
} else {
// Set attribute mask
jam();
tptr.p->attributeMask = req->getAttributeMask();
}
return true;
}//Dbtup::createTrigger()