本文整理汇总了C++中CBitSet::AddRef方法的典型用法代码示例。如果您正苦于以下问题:C++ CBitSet::AddRef方法的具体用法?C++ CBitSet::AddRef怎么用?C++ CBitSet::AddRef使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CBitSet
的用法示例。
在下文中一共展示了CBitSet::AddRef方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: CPhysicalDML
//---------------------------------------------------------------------------
// @function:
// CXformImplementDML::Transform
//
// @doc:
// Actual transformation
//
//---------------------------------------------------------------------------
void
CXformImplementDML::Transform
(
CXformContext *pxfctxt,
CXformResult *pxfres,
CExpression *pexpr
)
const
{
GPOS_ASSERT(NULL != pxfctxt);
GPOS_ASSERT(FPromising(pxfctxt->Pmp(), this, pexpr));
GPOS_ASSERT(FCheckPattern(pexpr));
CLogicalDML *popDML = CLogicalDML::PopConvert(pexpr->Pop());
IMemoryPool *mp = pxfctxt->Pmp();
// extract components for alternative
CLogicalDML::EDMLOperator edmlop = popDML->Edmlop();
CTableDescriptor *ptabdesc = popDML->Ptabdesc();
ptabdesc->AddRef();
CColRefArray *pdrgpcrSource = popDML->PdrgpcrSource();
pdrgpcrSource->AddRef();
CBitSet *pbsModified = popDML->PbsModified();
pbsModified->AddRef();
CColRef *pcrAction = popDML->PcrAction();
CColRef *pcrTableOid = popDML->PcrTableOid();
CColRef *pcrCtid = popDML->PcrCtid();
CColRef *pcrSegmentId = popDML->PcrSegmentId();
CColRef *pcrTupleOid = popDML->PcrTupleOid();
// child of DML operator
CExpression *pexprChild = (*pexpr)[0];
pexprChild->AddRef();
// create physical DML
CExpression *pexprAlt =
GPOS_NEW(mp) CExpression
(
mp,
GPOS_NEW(mp) CPhysicalDML(mp, edmlop, ptabdesc, pdrgpcrSource, pbsModified, pcrAction, pcrTableOid, pcrCtid, pcrSegmentId, pcrTupleOid),
pexprChild
);
// add alternative to transformation result
pxfres->Add(pexprAlt);
}