public SubordCompositeTableLookupStrategy(
     SubordCompositeTableLookupStrategyFactory factory,
     PropertyCompositeEventTable index)
 {
     _factory = factory;
     _index = index;
 }
Esempio n. 2
0
 public CompositeTableLookupStrategy(
     EventType eventType,
     int lookupStream,
     ExprEvaluator hashKeys,
     QueryGraphValueEntryRange[] rangeKeyPairs,
     PropertyCompositeEventTable index)
 {
     this._eventType = eventType;
     this._index = index;
     _chain = CompositeIndexQueryFactory.MakeJoinSingleLookupStream(false, lookupStream, hashKeys, rangeKeyPairs);
 }
        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 SubordCompositeTableLookupStrategy(CompositeIndexQuery innerIndexQuery, PropertyCompositeEventTable index, LookupStrategyDesc strategyDesc)
 {
     this._innerIndexQuery = innerIndexQuery;
     this._index           = index;
     this._strategyDesc    = strategyDesc;
 }