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); }