• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ pmdGetKRCB函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中pmdGetKRCB函数的典型用法代码示例。如果您正苦于以下问题:C++ pmdGetKRCB函数的具体用法?C++ pmdGetKRCB怎么用?C++ pmdGetKRCB使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了pmdGetKRCB函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: pmdModuleLoader

   INT32 _pmdController::loadForeignModule()
   {
      INT32 rc = SDB_OK ;
      const CHAR *MONGO_MODULE_NAME = "fapmongo" ;
      const CHAR *MONGO_MODULE_PATH = "./bin/fap/" ;
      _fapMongo = SDB_OSS_NEW pmdModuleLoader() ;
      if ( NULL == _fapMongo )
      {
         PD_LOG( PDERROR, "Failed to alloc foreign access protocol module" ) ;
         rc = SDB_OOM ;
         goto error ;
      }
      rc = _fapMongo->load( MONGO_MODULE_NAME, MONGO_MODULE_PATH ) ;
      PD_RC_CHECK( rc, PDERROR, "Failed to load module: %s, path: %s"
                   " rc: %d", MONGO_MODULE_NAME, MONGO_MODULE_PATH, rc ) ;
      rc = _fapMongo->create( _protocol ) ;
      PD_RC_CHECK( rc, PDERROR, "Failed to create protocol service" ) ;
      rc = _protocol->init( pmdGetKRCB() ) ;
      PD_RC_CHECK( rc, PDERROR, "Failed to init protocol" ) ;

   done:
      return rc ;
   error:
      goto done ;
   }
开发者ID:ArvinPatrick,项目名称:SequoiaDB,代码行数:25,代码来源:pmdController.cpp


示例2: pmdGetKRCB

   INT32 rtnCoord2PhaseCommit::doPhase2( CHAR * pReceiveBuffer, SINT32 packSize,
                                         CHAR * * ppResultBuffer, pmdEDUCB * cb,
                                         MsgOpReply & replyHeader )
   {
      INT32 rc = SDB_OK;
      pmdKRCB *pKrcb                   = pmdGetKRCB();
      CoordCB *pCoordcb                = pKrcb->getCoordCB();
      netMultiRouteAgent *pRouteAgent  = pCoordcb->getRouteAgent();
      CHAR *pMsgReq                    = NULL;
      MsgHeader *pMsgHead              = NULL;
      CoordGroupList groupLst;
      CoordGroupList sendGroupLst;

      rc = buildPhase2Msg( pReceiveBuffer, &pMsgReq );
      PD_RC_CHECK( rc, PDERROR,
                  "failed to build the message on phase1(rc=%d)",
                  rc );

      pMsgHead = (MsgHeader *)pMsgReq;
      pMsgHead->TID = cb->getTID();

      rc = executeOnDataGroup( pMsgReq, pRouteAgent, cb );
      PD_RC_CHECK( rc, PDERROR,
                  "failed to execute on data-group on phase1(rc=%d)",
                  rc );
   done:
      if ( pMsgReq )
      {
         SDB_OSS_FREE( pMsgReq );
         pMsgReq = NULL;
      }
      return rc;
   error:
      goto done;
   }
开发者ID:ArvinPatrick,项目名称:SequoiaDB,代码行数:35,代码来源:rtnCoordTransaction.cpp


示例3: PD_TRACE_ENTRY

   // PD_TRACE_DECLARE_FUNCTION ( SDB__SDB_DMSCB_DISPATCHPAGECLEANSU, "_SDB_DMSCB::dispatchPageCleanSU" )
   _dmsStorageUnit *_SDB_DMSCB::dispatchPageCleanSU ( dmsStorageUnitID *suID )
   {
      PD_TRACE_ENTRY ( SDB__SDB_DMSCB_DISPATCHPAGECLEANSU ) ;
      *suID               = DMS_INVALID_SUID ;
      pmdOptionsCB *optCB = pmdGetOptionCB() ;
      _dmsStorageUnit *su = NULL ;
      SDB_ASSERT ( suID, "suID can't be NULL" ) ;
      _pageCleanHistory firstSU ;
      ossTickDelta deltaTime ;

      ossScopedLock _lock(&_mutex, EXCLUSIVE) ;

      if ( _pageCleanHistoryList.size() == 0 )
         goto done ;
      firstSU = _pageCleanHistoryList.front() ;
      deltaTime = pmdGetKRCB()->getCurTime () - firstSU.first ;
      if ( deltaTime.toUINT64() / 1000 >
           (UINT64)optCB->getPageCleanInterval() )
      {
         PD_TRACE1 ( SDB__SDB_DMSCB_DISPATCHPAGECLEANSU,
                     PD_PACK_ULONG ( firstSU.second ) ) ;
         if ( NULL != _cscbVec[firstSU.second] )
         {
            *suID = firstSU.second ;
            _latchVec[*suID]->lock_r() ;
            su = _cscbVec[*suID]->_su ;
         }
         _pageCleanHistorySet.erase ( firstSU.second ) ;
         _pageCleanHistoryList.pop_front () ;
      }
   done :
      PD_TRACE_EXIT ( SDB__SDB_DMSCB_DISPATCHPAGECLEANSU ) ;
      return su ;
   }
开发者ID:Niwalker,项目名称:SequoiaDB,代码行数:35,代码来源:dmsCB.cpp


示例4: pmdGetKRCB

   INT32 _rtnCoordSql::execute( MsgHeader *pMsg,
                                pmdEDUCB *cb,
                                INT64 &contextID,
                                rtnContextBuf *buf )

   {
      INT32 rc          = SDB_OK ;
      SQL_CB *sqlcb     = pmdGetKRCB()->getSqlCB() ;
      CHAR *sql         = NULL ;

      contextID         = -1 ;

      rc = msgExtractSql( (CHAR*)pMsg, &sql ) ;
      if ( SDB_OK != rc )
      {
         PD_LOG( PDERROR, "failed to extract sql" ) ;
         rc = SDB_SYS ;
         goto error ;
      }

      // add last op info
      MON_SAVE_OP_DETAIL( cb->getMonAppCB(), pMsg->opCode,
                          "%s", sql ) ;

      rc = sqlcb->exec( sql, cb, contextID ) ;

   done:
      return rc ;
   error:
      goto done ;
   }
开发者ID:Andrew8305,项目名称:SequoiaDB,代码行数:31,代码来源:rtnCoordSql.cpp


示例5: pmdGetKRCB

   INT32 _pmdController::activeForeignModule()
   {
      INT32 rc = SDB_OK ;
      pmdEDUParam *pProtocolData = NULL ;
      pmdEDUMgr *pEDUMgr = pmdGetKRCB()->getEDUMgr() ;
      EDUID eduID = PMD_INVALID_EDUID ;

      if ( NULL == _fapMongo )
      {
         goto done ;
      }

      // listener for access protocol
      pProtocolData = new pmdEDUParam() ;
      pProtocolData->pSocket = (void *)_pMongoListener ;
      pProtocolData->protocol = _protocol ;
      rc = pEDUMgr->startEDU( EDU_TYPE_FAPLISTENER, (void*)pProtocolData,
                              &eduID ) ;
      PD_RC_CHECK( rc, PDERROR, "Failed to start FAP listerner, rc: %d",
                   rc ) ;
      pEDUMgr->regSystemEDU( EDU_TYPE_FAPLISTENER, eduID ) ;

      // wait until protocol listener starts
      rc = pEDUMgr->waitUntil ( eduID, PMD_EDU_RUNNING ) ;
      PD_RC_CHECK( rc, PDERROR, "Wait FAP Listener active failed, rc: %d",
                   rc ) ;

   done:
      return rc ;
   error:
      goto done ;
   }
开发者ID:Andrew8305,项目名称:SequoiaDB,代码行数:32,代码来源:pmdController.cpp


示例6: SDB_ASSERT

 INT32 rtnCoordTransCommit::execute( CHAR * pReceiveBuffer, SINT32 packSize,
                                  CHAR * * ppResultBuffer, pmdEDUCB * cb,
                                  MsgOpReply & replyHeader,
                                  BSONObj **ppErrorObj )
 {
    INT32 rc = SDB_OK;
    rtnCoordOperator *pRollbackOperator = NULL;
    rc = rtnCoord2PhaseCommit::execute( pReceiveBuffer, packSize, ppResultBuffer,
                                     cb, replyHeader, ppErrorObj );
    SDB_ASSERT( NULL == *ppErrorObj, "impossible" ) ;
    PD_RC_CHECK( rc, PDERROR,
                "failed to commit the transaction(rc=%d)",
                rc );
    cb->delTransaction();
 done:
    return rc;
 error:
    pRollbackOperator = pmdGetKRCB()->getCoordCB()->getProcesserFactory(
       )->getOperator( MSG_BS_TRANS_ROLLBACK_REQ );
    if ( pRollbackOperator )
    {
       pRollbackOperator->execute( pReceiveBuffer, packSize, ppResultBuffer,
                                  cb, replyHeader, ppErrorObj );
       SDB_ASSERT( NULL == *ppErrorObj, "impossible" ) ;
    }
    goto done;
 }
开发者ID:ArvinPatrick,项目名称:SequoiaDB,代码行数:27,代码来源:rtnCoordTransaction.cpp


示例7: pmdGetKRCB

   INT32 _coordOmOperatorBase::queryOnOmAndPushToVec( const rtnQueryOptions &options,
                                                      pmdEDUCB *cb,
                                                      vector< BSONObj > &objs,
                                                      rtnContextBuf *buf )
   {
      INT32 rc = SDB_OK ;
      SINT64 contextID = -1 ;
      rtnContextBuf bufObj ;
      SDB_RTNCB *rtnCB = pmdGetKRCB()->getRTNCB() ;

      rc = queryOnOm( options, cb, contextID, buf ) ;
      if ( SDB_OK != rc )
      {
         PD_LOG( PDERROR, "Failed to query on om: %d", rc ) ;
         goto error ;
      }

      do
      {
         rc = rtnGetMore( contextID, -1, bufObj, cb, rtnCB ) ;
         if ( SDB_DMS_EOC == rc )
         {
            rc = SDB_OK ;
            contextID = -1 ;
            break ;
         }
         else if ( SDB_OK != rc )
         {
            contextID = -1 ;
            PD_LOG( PDERROR, "Failed to getmore from context, rc: %d", rc ) ;
            goto error ;
         }
         else
         {
            while ( !bufObj.eof() )
            {
               BSONObj obj ;
               rc = bufObj.nextObj( obj ) ;
               if ( SDB_OK != rc )
               {
                  PD_LOG( PDERROR, "Failed to get obj from obj buf, rc: %d",
                          rc ) ;
                  goto error ;
               }

               objs.push_back( obj.getOwned() ) ;
            }
         }
      } while( TRUE ) ;

   done:
      if ( -1 != contextID )
      {
         rtnCB->contextDelete( contextID, cb ) ;
      }
      return rc ;
   error:
      goto done ;
   }
开发者ID:SequoiaDB,项目名称:SequoiaDB,代码行数:59,代码来源:coordOmOperator.cpp


示例8: pmdGetKRCB

 void _monAppCB::startOperator()
 {
    _lastOpBeginTime = pmdGetKRCB()->getCurTime() ;
    _lastOpEndTime.clear() ;
    _lastOpType = MSG_NULL ;
    _cmdType = CMD_UNKNOW ;
    ossMemset( _lastOpDetail, 0, sizeof(_lastOpDetail) ) ;
 }
开发者ID:2015520,项目名称:SequoiaDB,代码行数:8,代码来源:monCB.cpp


示例9: PD_TRACE_ENTRY

   // PD_TRACE_DECLARE_FUNCTION( SDB__QGMPLDELETE__EXEC, "_qgmPlDelete::_execute" )
   INT32 _qgmPlDelete::_execute( _pmdEDUCB *eduCB )
   {
      PD_TRACE_ENTRY( SDB__QGMPLDELETE__EXEC ) ;
      INT32 rc = SDB_OK ;

      _SDB_KRCB *krcb = pmdGetKRCB() ;
      SDB_ROLE role = krcb->getDBRole() ;
      CHAR *msg = NULL ;
      if ( SDB_ROLE_COORD == role )
      {
         INT32 bufSize = 0 ;
         MsgOpReply dummyReply ;
         rtnCoordDelete del ;
         rc = msgBuildDeleteMsg( &msg, &bufSize,
                                 _collection.toString().c_str(),
                                 0, 0,
                                 _condition.isEmpty()?
                                 NULL : &_condition ) ;
         if ( SDB_OK != rc )
         {
            goto error ;
         }

         rc = del.execute( msg, *((SINT32 *)msg),
                           eduCB, dummyReply,
                           NULL ) ;
      }
      else
      {
         SDB_DPSCB *dpsCB = krcb->getDPSCB() ;

         if ( dpsCB && eduCB->isFromLocal() && !dpsCB->isLogLocal() )
         {
            dpsCB = NULL ;
         }
         SDB_DMSCB *dmsCB = krcb->getDMSCB() ;
         BSONObj empty ;
         rc = rtnDelete( _collection.toString().c_str(),
                         _condition, empty, 0, eduCB,
                         dmsCB, dpsCB ) ;
      }

      if ( SDB_OK != rc )
      {
         goto error ;
      }
   done:
      if ( NULL != msg )
      {
         SDB_OSS_FREE( msg ) ;
         msg = NULL ;
      }
      PD_TRACE_EXITRC( SDB__QGMPLDELETE__EXEC, rc ) ;
      return rc ;
   error:
      goto done ;
   }
开发者ID:Niwalker,项目名称:SequoiaDB,代码行数:58,代码来源:qgmPlDelete.cpp


示例10: pmdGetKRCB

 void _qgmPlCommand::_killContext()
 {
    if ( -1 != _contextID )
    {
       SDB_RTNCB *rtnCB = pmdGetKRCB()->getRTNCB() ;
       rtnKillContexts( 1, &_contextID, _eduCB, rtnCB ) ;
       _contextID = -1 ;
    }
    return ;
 }
开发者ID:SequoiaDB,项目名称:SequoiaDB,代码行数:10,代码来源:qgmPlCommand.cpp


示例11: pmdGetKRCB

 void _pmdCoordProcessor::_onDetach()
 {
    pmdDataProcessor::_onDetach() ;
    _CoordCB *pCoordCB = pmdGetKRCB()->getCoordCB() ;
    if ( eduCB() && pCoordCB )
    {
       netMultiRouteAgent *pRouteAgent = pCoordCB->getRouteAgent() ;
       pRouteAgent->delSession( eduCB()->getTID() ) ;
    }
 }
开发者ID:Niwalker,项目名称:SequoiaDB,代码行数:10,代码来源:pmdProcessor.cpp


示例12: PD_TRACE_ENTRY

   // PD_TRACE_DECLARE_FUNCTION ( SDB__CLSREPSET_INIT, "_clsReplicateSet::initialize" )
   INT32 _clsReplicateSet::initialize ()
   {
      INT32 rc = SDB_OK ;
      PD_TRACE_ENTRY ( SDB__CLSREPSET_INIT ) ;

      if ( !_agent )
      {
         rc = SDB_INVALIDARG ;
         goto error ;
      }

      g_startShiftTime = (INT32)pmdGetOptionCB()->startShiftTime() ;

      _logger = pmdGetKRCB()->getDPSCB() ;
      _clsCB = pmdGetKRCB()->getClsCB() ;
      SDB_ASSERT( NULL != _logger, "logger should not be NULL" ) ;

      _logger->regEventHandler( this ) ;

      rc = _replBucket.init() ;
      PD_RC_CHECK( rc, PDERROR, "Init repl bucket failed, rc: %d", rc ) ;

      _totalLogSize = (UINT64)pmdGetOptionCB()->getReplLogFileSz()*
                      (UINT64)pmdGetOptionCB()->getReplLogFileNum() ;
      {
         UINT32 rate = 2 ;
         UINT32 timeBase = CLS_SYNCCTRL_BASE_TIME ;

         for ( UINT32 idx = 0 ; idx < CLS_SYNCCTRL_THRESHOLD_SIZE ; ++idx )
         {
            rate = 2 << idx ;
            _sizethreshold[ idx ] = _totalLogSize * ( rate - 1 ) / rate ;
            _timeThreshold[ idx ] = timeBase << idx ;
         }
      }

   done:
      PD_TRACE_EXITRC ( SDB__CLSREPSET_INIT, rc );
      return rc ;
   error:
      goto done ;
   }
开发者ID:SequoiaDB,项目名称:SequoiaDB,代码行数:43,代码来源:clsReplicateSet.cpp


示例13: pmdGetOptionCB

   INT32 _CoordCB::init ()
   {
      INT32 rc = SDB_OK ;
      CoordGroupInfo *pGroupInfo = NULL ;
      UINT32 catGID = CATALOG_GROUPID ;
      UINT16 catNID = SYS_NODE_ID_BEGIN + CLS_REPLSET_MAX_NODE_SIZE ;
      MsgRouteID id ;
      pmdOptionsCB *optCB = pmdGetOptionCB() ;
      vector< _pmdAddrPair > catAddrs = optCB->catAddrs() ;

      _pNetWork = SDB_OSS_NEW _netRouteAgent( &_multiRouteAgent ) ;
      if ( !_pNetWork )
      {
         PD_LOG( PDERROR, "Failed to alloc memory for net agent" ) ;
         rc = SDB_OOM ;
         goto error ;
      }
      _multiRouteAgent.setNetWork( _pNetWork ) ;

      pGroupInfo = SDB_OSS_NEW CoordGroupInfo( CAT_CATALOG_GROUPID ) ;
      if ( !pGroupInfo )
      {
         PD_LOG( PDERROR, "Failed to alloc memory for group info" ) ;
         rc = SDB_OOM ;
         goto error ;
      }
      _catGroupInfo = CoordGroupInfoPtr( pGroupInfo ) ;

      for ( UINT32 i = 0 ; i < catAddrs.size() ; ++i )
      {
         if ( 0 == catAddrs[i]._host[ 0 ] )
         {
            break ;
         }
         id.columns.groupID = catGID ;
         id.columns.nodeID = catNID++ ;
         id.columns.serviceID = MSG_ROUTE_CAT_SERVICE ;
         addCatNodeAddr( id, catAddrs[i]._host, catAddrs[i]._service ) ;
      }

      pmdGetStartup().ok( TRUE ) ;
      pmdGetKRCB()->setGroupName( COORD_GROUPNAME ) ;
      {
         MsgRouteID id ;
         id.value = MSG_INVALID_ROUTEID ;
         id.columns.groupID = COORD_GROUPID ;
         pmdSetNodeID( id ) ;
      }

   done:
      return rc ;
   error:
      goto done ;
   }
开发者ID:hanjirui,项目名称:SequoiaDB,代码行数:54,代码来源:coordCB.cpp


示例14: pmdGetKRCB

 void _pmdEDUCB::clearTransInfo()
 {
    _curTransID = DPS_INVALID_TRANS_ID ;
    _relatedTransLSN = DPS_INVALID_LSN_OFFSET ;
    _curTransLSN = DPS_INVALID_LSN_OFFSET ;
    dpsTransCB *pTransCB = pmdGetKRCB()->getTransCB();
    if ( pTransCB )
    {
       pTransCB->transLockReleaseAll( this );
    }
 }
开发者ID:jasonsungblog,项目名称:SequoiaDB,代码行数:11,代码来源:pmdEDU.cpp


示例15: PD_TRACE_ENTRY

 // PD_TRACE_DECLARE_FUNCTION ( SDB__CLSCATCLR_HNDTMOUT, "_clsCatalogCaller::handleTimeout" )
 void _clsCatalogCaller::handleTimeout( const UINT32 &millisec )
 {
    PD_TRACE_ENTRY ( SDB__CLSCATCLR_HNDTMOUT );
    callerMeta::iterator itr = _meta.begin() ;
    for ( ; itr != _meta.end(); itr++ )
    {
       if ( CLS_CALLER_NO_SEND != itr->second.timeout )
       {
          itr->second.timeout += millisec ;
          if ( CLS_CALLER_INTERVAL <= itr->second.timeout )
          {
             pmdGetKRCB()->getClsCB()->updateCatGroup ( TRUE ) ;
             pmdGetKRCB()->getClsCB()->sendToCatlog( itr->second.header) ;
             itr->second.timeout = 0 ;
          }
       }
    }
    PD_TRACE_EXIT ( SDB__CLSCATCLR_HNDTMOUT );
    return ;
 }
开发者ID:2015520,项目名称:SequoiaDB,代码行数:21,代码来源:clsCatalogCaller.cpp


示例16: pmdBackgroundJobEntryPoint

   // PD_TRACE_DECLARE_FUNCTION ( SDB_PMDBGJOBENTPNT, "pmdBackgroundJobEntryPoint" )
   INT32 pmdBackgroundJobEntryPoint( pmdEDUCB *cb, void *pData )
   {
      SDB_ASSERT( NULL != pData, "impossible" ) ;
      PD_TRACE_ENTRY ( SDB_PMDBGJOBENTPNT );
      rtnJobMgr *jobMgr = rtnGetJobMgr () ;
      pmdEDUMgr *pEDUMgr = pmdGetKRCB()->getEDUMgr() ;
      rtnBaseJob *job = (rtnBaseJob*)pData ;
      INT32 rc = SDB_OK ;
      BOOLEAN reuseEDU = job->reuseEDU() ;
      string expStr ;

      PD_LOG( PDINFO, "Start a background job[%s]", job->name() ) ;

      cb->setName( job->name() ) ;
      job->attachIn( cb ) ;

      try
      {
         pEDUMgr->activateEDU( cb ) ;
         rc = job->doit () ;
         if ( SDB_OK != rc )
         {
            PD_LOG ( PDWARNING, "Background job[%s] do failed, rc = %d",
                     job->name(), rc ) ;
         }
         else
         {
            PD_LOG ( PDINFO, "Background job[%s] finished", job->name() ) ;
         }
      }
      catch( std::exception &e )
      {
         PD_LOG( PDERROR, "Occur exception: %s", e.what() ) ;
         rc = SDB_SYS ;
         expStr = e.what() ;
      }

      job->attachOut () ;

      jobMgr->_removeJob ( cb->getID(), rc ) ;
      if ( !reuseEDU )
      {
         pEDUMgr->forceUserEDU( cb->getID() ) ;
      }

      if ( !expStr.empty() )
      {
         throw pdGeneralException( rc, expStr ) ;
      }

      PD_TRACE_EXITRC ( SDB_PMDBGJOBENTPNT, rc );
      return SDB_OK ;
   }
开发者ID:SequoiaDB,项目名称:SequoiaDB,代码行数:54,代码来源:pmdBackgroundJob.cpp


示例17: pmdGetKRCB

   _rtnContextLob::~_rtnContextLob()
   {
      if ( NULL != _stream && _stream->isOpened() )
      {
         pmdKRCB *krcb = pmdGetKRCB() ;
         pmdEDUMgr *eduMgr = krcb->getEDUMgr() ;
         pmdEDUCB *cb = eduMgr->getEDUByID( eduID() ) ;
         _stream->closeWithException( cb ) ;
      }

      SAFE_OSS_DELETE( _stream ) ;
   }
开发者ID:247687009,项目名称:SequoiaDB,代码行数:12,代码来源:rtnContextLob.cpp


示例18: pmdGetKRCB

   /*
      _coordOmStrategyAccessor implement
   */
   _coordOmStrategyAccessor::_coordOmStrategyAccessor( INT64 timeout )
   {
      pmdKRCB *krcb = pmdGetKRCB() ;
      CoordCB *pCoord = krcb->getCoordCB() ;
      pmdOptionsCB *optionsCB = krcb->getOptionCB() ;

      _pOmProxy = pCoord->getResource()->getOmProxy() ;
      _oprTimeout = timeout ;

      optionsCB->getFieldStr( PMD_OPTION_CLUSTER_NAME, _clsName, "" ) ;
      optionsCB->getFieldStr( PMD_OPTION_BUSINESS_NAME, _bizName, "" ) ;
   }
开发者ID:SequoiaDB,项目名称:SequoiaDB,代码行数:15,代码来源:coordOmStrategyAccessor.cpp


示例19: catSplitCheckConflict

   INT32 catSplitCheckConflict( BSONObj & match, clsSplitTask & splitTask,
                                BOOLEAN & conflict, pmdEDUCB * cb )
   {
      INT32 rc = SDB_OK ;
      pmdKRCB *krcb = pmdGetKRCB() ;
      SDB_DMSCB *dmsCB = krcb->getDMSCB() ;
      SDB_RTNCB *rtnCB = krcb->getRTNCB() ;
      BSONObj dummyObj ;
      INT64 contextID = -1 ;

      rtnContextBuf buffObj ;
      INT64 startPos = 0 ;

      rc = rtnQuery( CAT_TASK_INFO_COLLECTION, dummyObj, match, dummyObj,
                     dummyObj, 0, cb, 0, -1, dmsCB, rtnCB, contextID ) ;
      PD_RC_CHECK ( rc, PDERROR, "Failed to perform query, rc = %d", rc ) ;

      while ( SDB_OK == rc )
      {
         rc = rtnGetMore( contextID, -1, buffObj, startPos, cb, rtnCB ) ;
         if ( rc )
         {
            if ( SDB_DMS_EOC == rc )
            {
               contextID = -1 ;
               rc = SDB_OK ;
               break ;
            }
            PD_LOG( PDERROR, "Failed to retreive record, rc = %d", rc ) ;
            goto error ;
         }

         rc = _checkSplitTaskConflict( &buffObj, conflict, &splitTask ) ;
         PD_RC_CHECK( rc, PDERROR, "Check split task conflict error, rc: %d",
                      rc ) ;

         if ( conflict )
         {
            break ;
         }
      }

   done:
      if ( -1 != contextID )
      {
         rtnCB->contextDelete ( contextID, cb ) ;
      }
      return rc ;
      return rc ;
   error:
      goto done ;
   }
开发者ID:jasonsungblog,项目名称:SequoiaDB,代码行数:52,代码来源:catSplit.cpp


示例20: SDB_ASSERT

 void _dpsLogWrapper::regEventHandler( dpsEventHandler *pHandler )
 {
    SDB_ASSERT( pHandler, "Handle can't be NULL" ) ;
    SDB_ASSERT( FALSE == pmdGetKRCB()->isActive(),
                "Can't register handle when pmd actived" ) ;
    for ( UINT32 i = 0 ; i < _vecEventHandler.size() ; ++i )
    {
       SDB_ASSERT( pHandler != _vecEventHandler[ i ],
                   "Handle can't be same" ) ;
    }
    _vecEventHandler.push_back( pHandler ) ;
    _buf.regEventHandler( pHandler ) ;
 }
开发者ID:hanjirui,项目名称:SequoiaDB,代码行数:13,代码来源:dpsLogWrapper.cpp



注:本文中的pmdGetKRCB函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ pmd_addr_end函数代码示例发布时间:2022-05-30
下一篇:
C++ pmc_enable_periph_clock函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap