コード例 #1
0
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);
	}
}
コード例 #2
0
///
///  Class Destructor.  Includes PurgeData, which removes
///  menubars
CommandManager::~CommandManager()
{
   //WARNING: This removes menubars that could still be assigned to windows!
   PurgeData();
}
コード例 #3
0
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);
	}
}