public VirtualDWViewImpl( VirtualDWViewFactory factory, AgentInstanceContext agentInstanceContext, VirtualDataWindow dataExternal) { this._factory = factory; this._agentInstanceContext = agentInstanceContext; this._dataExternal = dataExternal; }
public SubordTableLookupStrategyVDW( VirtualDWViewFactory factory, SubordTableLookupStrategyFactoryVDW subordTableFactory, VirtualDataWindowLookup externalIndex) { this.factory = factory; this.externalIndex = externalIndex; nwOnTrigger = subordTableFactory.IsNwOnTrigger; var hashKeys = subordTableFactory.HashEvals; var hashCoercionTypes = subordTableFactory.HashCoercionTypes; var rangeKeys = subordTableFactory.RangeEvals; var rangeCoercionTypes = subordTableFactory.RangeCoercionTypes; evaluators = new ExternalEvaluator[hashKeys.Length + rangeKeys.Length]; eventsLocal = new EventBean[subordTableFactory.NumOuterStreams + 1]; var count = 0; foreach (var hashKey in hashKeys) { evaluators[count] = new ExternalEvaluatorHashRelOp(hashKeys[count], hashCoercionTypes[count]); count++; } for (var i = 0; i < rangeKeys.Length; i++) { var rangeKey = rangeKeys[i]; if (rangeKey.Type.IsRange()) { var range = (QueryGraphValueEntryRangeIn) rangeKey; var evaluatorStart = range.ExprStart; var evaluatorEnd = range.ExprEnd; evaluators[count] = new ExternalEvaluatorBtreeRange( evaluatorStart, evaluatorEnd, rangeCoercionTypes[i]); } else { var relOp = (QueryGraphValueEntryRangeRelOp) rangeKey; var evaluator = relOp.Expression; evaluators[count] = new ExternalEvaluatorHashRelOp(evaluator, rangeCoercionTypes[i]); } count++; } }