private static StoreOperationState undoStateForDoState()

in elastic-db-tools/src/main/java/com/microsoft/azure/elasticdb/shard/storeops/base/StoreOperation.java [120:151]


    private static StoreOperationState undoStateForDoState(StoreOperationState doState) {
        switch (doState) {
            case DoGlobalConnect:
            case DoLocalSourceConnect:
            case DoLocalTargetConnect:
            case DoGlobalPreLocalBeginTransaction:
            case DoGlobalPreLocalExecute:
                return StoreOperationState.UndoEnd;

            case DoGlobalPreLocalCommitTransaction:
            case DoLocalSourceBeginTransaction:
            case DoLocalSourceExecute:
                return StoreOperationState.UndoGlobalPostLocalBeginTransaction;

            case DoLocalSourceCommitTransaction:
            case DoLocalTargetBeginTransaction:
            case DoLocalTargetExecute:
                return StoreOperationState.UndoLocalSourceBeginTransaction;

            case DoLocalTargetCommitTransaction:
            case DoGlobalPostLocalBeginTransaction:
            case DoGlobalPostLocalExecute:
            case DoGlobalPostLocalCommitTransaction:
                return StoreOperationState.UndoLocalTargetBeginTransaction;

            case DoBegin:
            case DoEnd:
            default:
                // Debug.Fail("Unexpected Do states for corresponding Undo operation.");
                return StoreOperationState.UndoBegin;
        }
    }