//--------------------------------------------------------------------------// // CRURefreshTaskExecutor::GetDefaultMdamOptForTable() // // If the table has more then two key columns and the range log is not empty // then mdam must be forced on the table unless the user forced otherwise //--------------------------------------------------------------------------// CRUForceOptions::MdamOptions CRURefreshTaskExecutor::GetDefaultMdamOptForTable(CRUTbl &tbl) { Int32 numTableKeyCol = tbl.GetKeyColumnList().GetCount(); if (numTableKeyCol < 2) { return CRUForceOptions::MDAM_NO_FORCE; } if (FALSE == GetRefreshTask()->IsSingleDeltaRefresh()) { return CRUForceOptions::MDAM_NO_FORCE; } const CRUDeltaDef *pDdef = GetRootMV().GetDeltaDefByUid(tbl.GetUID()); if (NULL != pDdef && TRUE == pDdef->isRangeLogNonEmpty_) { return CRUForceOptions::MDAM_ON; } return CRUForceOptions::MDAM_NO_FORCE; }