public ReplicatedTableQueryProvider(IQueryProvider innerQueryProvider, bool isConvertMode, long txnViewId, StaleViewHandling staleViewHandling) { this.innerQueryProvider = innerQueryProvider; this.isConvertMode = isConvertMode; this.txnViewId = txnViewId; this.staleViewHandling = staleViewHandling; }
public ReplicatedTableEnumerable(IEnumerable <T> collection, bool isConvertMode, long txnViewId, StaleViewHandling staleViewHandling) { _collection = collection; this.isConvertMode = isConvertMode; this.txnViewId = txnViewId; this.staleViewHandling = staleViewHandling; }
internal ReplicatedTableQuery(IQueryable <TElement> innerTableQuery, bool isConvertMode, long txnViewId, StaleViewHandling staleViewHandling) { this.innerTableQuery = innerTableQuery; this.isConvertMode = isConvertMode; this.txnViewId = txnViewId; this.staleViewHandling = staleViewHandling; Provider = new ReplicatedTableQueryProvider(innerTableQuery.Provider, isConvertMode, txnViewId, staleViewHandling); Expression = innerTableQuery.Expression; }
public ReplicatedTableEnumerator(IEnumerator <T> collection, bool isConvertMode, long txnViewId, StaleViewHandling staleViewHandling) { _collection = collection; this.txnViewId = txnViewId; switch (staleViewHandling) { case StaleViewHandling.NoThrowOnStaleView: SkipHigherViewIdRowsFunc = (viewId, rowViewId) => false; // NOP HandleStaleView = (viewId, rowViewId) => { }; // NOP break; case StaleViewHandling.ThrowOnStaleView: SkipHigherViewIdRowsFunc = (viewId, rowViewId) => false; // NOP HandleStaleView = ReplicatedTable.ThrowIfViewIdNotConsistent; // throw on stale view break; case StaleViewHandling.TreatAsNotFound: SkipHigherViewIdRowsFunc = (viewId, rowViewId) => rowViewId > viewId; // skip row if higher viewId HandleStaleView = (viewId, rowViewId) => { }; // NOP break; default: { var msg = string.Format("Unexpected value=\'{0}\' ", staleViewHandling); throw new Exception(msg); } } InitDelegates(isConvertMode); }