public SubordCompositeTableLookupStrategyFactory( bool isNWOnTrigger, int numStreams, string[] expressions, ExprEvaluator hashEval, QueryGraphValueEntryRange[] rangeEvals) { _expressions = expressions; InnerIndexQuery = CompositeIndexQueryFactory.MakeSubordinate( isNWOnTrigger, numStreams, hashEval, rangeEvals); }
public SubordCompositeTableLookupStrategyFactory( bool isNWOnTrigger, int numStreams, ICollection <SubordPropHashKey> keyExpr, Type[] coercionKeyTypes, ICollection <SubordPropRangeKey> rangeProps, Type[] coercionRangeTypes) { _rangeDescs = rangeProps; var expressionTexts = new List <String>(); _innerIndexQuery = CompositeIndexQueryFactory.MakeSubordinate( isNWOnTrigger, numStreams, keyExpr, coercionKeyTypes, rangeProps, coercionRangeTypes, expressionTexts); _strategyDesc = new LookupStrategyDesc(LookupStrategyType.COMPOSITE, expressionTexts.ToArray()); }
public CompositeTableLookupStrategy(EventType eventType, int lookupStream, IList <QueryGraphValueEntryHashKeyed> hashKeys, IList <QueryGraphValueEntryRange> rangeKeyPairs, PropertyCompositeEventTable index) { _eventType = eventType; _index = index; _rangeKeyPairs = rangeKeyPairs; _chain = CompositeIndexQueryFactory.MakeJoinSingleLookupStream(false, lookupStream, hashKeys, index.OptKeyCoercedTypes, rangeKeyPairs, index.OptRangeCoercedTypes); var expressionTexts = new ArrayDeque <string>(); foreach (QueryGraphValueEntryRange pair in rangeKeyPairs) { ExprNode[] expressions = pair.Expressions; foreach (ExprNode node in expressions) { expressionTexts.Add(ExprNodeUtility.ToExpressionStringMinPrecedenceSafe(node)); } } _lookupStrategyDesc = new LookupStrategyDesc(LookupStrategyType.COMPOSITE, expressionTexts.ToArray()); }
public HistoricalIndexLookupStrategyComposite(int lookupStream, IList <QueryGraphValueEntryHashKeyed> hashKeys, Type[] keyCoercionTypes, IList <QueryGraphValueEntryRange> rangeKeyPairs, Type[] rangeCoercionTypes) { _chain = CompositeIndexQueryFactory.MakeJoinSingleLookupStream(false, lookupStream, hashKeys, keyCoercionTypes, rangeKeyPairs, rangeCoercionTypes); }