// PD_TRACE_DECLARE_FUNCTION( SDB__QGMPLMTHMATCHERSCAN__EXEC, "qgmPlMthMatcherScan::_execute" )
   INT32 qgmPlMthMatcherScan::_execute( _pmdEDUCB *eduCB )
   {
      PD_TRACE_ENTRY( SDB__QGMPLMTHMATCHERSCAN__EXEC ) ;
      INT32 rc = SDB_OK;
      SDB_ASSERT ( _input.size() == 0, "impossible" );

      _invalidPredicate = FALSE ;
      _contextID = -1 ;

      if ( SDB_ROLE_COORD == _dbRole )
      {
         rc = _executeOnCoord( eduCB ) ;
      }
      if ( SDB_COORD_UNKNOWN_OP_REQ == rc ||
           SDB_ROLE_COORD != _dbRole )
      {
         rc = _executeOnData( eduCB ) ;
      }

      if ( SDB_RTN_INVALID_PREDICATES == rc )
      {
         rc = SDB_OK ;
         _invalidPredicate = TRUE ;
      }
      else if ( SDB_OK != rc )
      {
         goto error ;
      }

   done:
      PD_TRACE_EXITRC( SDB__QGMPLMTHMATCHERSCAN__EXEC, rc ) ;
      return rc ;
   error:
      goto done ;
   }
Beispiel #2
0
   INT32 _qgmPlScan::_execute( _pmdEDUCB *eduCB )
   {
      PD_TRACE_ENTRY( SDB__QGMPLSCAN__EXEC ) ;
      INT32 rc = SDB_OK ;

      SDB_ASSERT ( _input.size() == 0, "impossible" ) ;

      _invalidPredicate = FALSE ;
      _contextID = -1 ;

      _qgmConditionNodeHelper tree( _conditionNode ) ;
      _condition = tree.toBson( FALSE ) ;
      rc = SDB_ROLE_COORD == _dbRole ?
           _executeOnCoord( eduCB ) : _executeOnData( eduCB ) ;

      if ( SDB_RTN_INVALID_PREDICATES == rc )
      {
         rc = SDB_OK ;
         _invalidPredicate = TRUE ;
      }
      else if ( SDB_OK != rc )
      {
         goto error ;
      }
      else
      {
      }

   done:
      PD_TRACE_EXITRC( SDB__QGMPLSCAN__EXEC, rc ) ;
      return rc ;
   error:
      goto done ;
   }
Beispiel #3
0
   // PD_TRACE_DECLARE_FUNCTION( SDB__QGMPLCOMMAND__EXEC, "_qgmPlCommand::_execute" )
   INT32 _qgmPlCommand::_execute( _pmdEDUCB *eduCB )
   {
      PD_TRACE_ENTRY( SDB__QGMPLCOMMAND__EXEC ) ;
      INT32 rc = SDB_OK ;
      SDB_ROLE role = pmdGetKRCB()->getDBRole();

      rc = SDB_ROLE_COORD == role?
           _executeOnCoord( eduCB ) : _executeOnData( eduCB ) ;
      if ( SDB_OK != rc )
      {
         goto error ;
      }

   done:
      PD_TRACE_EXITRC( SDB__QGMPLCOMMAND__EXEC, rc ) ;
      return rc ;
   error:
      goto done ;
   }