void CRUUnAuditRefreshTaskExecutor::Work() { switch (GetState()) { case EX_START: // MAIN PROCESS { RUASSERT(FALSE == IsTransactionOpen()); Start(); break; } case EX_PROLOGUE: // MAIN PROCESS { RUASSERT(FALSE == IsTransactionOpen()); // Turn the MV (+ optionally its indexes) non-available Prologue(); break; } case EX_PURGE_DATA: // MAIN PROCESS { RUASSERT(FALSE == IsTransactionOpen()); // Execute purgedata from the MV (with indexes) PurgeData(); break; } case EX_REFRESH: // REMOTE PROCESS { RUASSERT(FALSE == IsTransactionOpen()); // Execute the incremental INTERNAL REFRESH Refresh(); break; } case EX_RECOMPUTE: // REMOTE PROCESS { // Execute INTERNAL REFRESH RECOMPUTE Recompute(); break; } case EX_POPINDEX: // REMOTE PROCESS { RUASSERT(FALSE == IsTransactionOpen()); PopulateIndexes(); break; } case EX_EPILOGUE: // MAIN PROCESS { RUASSERT(FALSE == IsTransactionOpen()); // Turn the MV (+ optionally indexes) back to available // Perform the final metadata update Epilogue(); break; } default: RUASSERT(FALSE); } }
/// /// Class Destructor. Includes PurgeData, which removes /// menubars CommandManager::~CommandManager() { //WARNING: This removes menubars that could still be assigned to windows! PurgeData(); }
void CRUAuditRefreshTaskExecutor::Work() { switch (GetState()) { case EX_START: // MAIN PROCESS { // This state only logs the opening message Start(); break; } case EX_PROLOGUE: // MAIN PROCESS { // This state just starts a transaction Prologue(); break; } case EX_PURGE_DATA: // MAIN PROCESS { RUASSERT(FALSE == IsTransactionOpen()); // Execute purgedata from the MV (with indexes) PurgeData(); break; } case EX_REMOTE_START: { // this state starts up the table lock protocol // and starts a transaction RemoteStart(); break; } case EX_RECOMPUTE: // REMOTE PROCESS { // This state execute an internal refresh recompute statement Recompute(); break; } case EX_REFRESH: // REMOTE PROCESS { // This state execute an internal refresh statement // It may be a multi delta refresh or a single delta refresh Refresh(); break; } case EX_POPINDEX: // REMOTE PROCESS { RUASSERT(FALSE == IsTransactionOpen()); PopulateIndexes(); break; } case EX_REMOTE_END: // REMOTE PROCESS { RemoteEnd(); break; } case EX_EPILOGUE: // MAIN PROCESS { // Update all meta-data concerning the mv and used tables objects Epilogue(); break; } default: RUASSERT(FALSE); } }