public SubordTableLookupStrategyFactoryQuadTreeForge GetSubordinateLookupStrategy( string operationName, IDictionary<int, ExprNode> positionalExpressions, bool isNWOnTrigger, int numOuterstreams) { ExprForge x = positionalExpressions.Get(0).Forge; ExprForge y = positionalExpressions.Get(1).Forge; ExprForge width = positionalExpressions.Get(2).Forge; ExprForge height = positionalExpressions.Get(3).Forge; string[] expressions = new string[positionalExpressions.Count]; foreach (KeyValuePair<int, ExprNode> entry in positionalExpressions) { expressions[entry.Key] = ExprNodeUtilityPrint.ToExpressionStringMinPrecedenceSafe(entry.Value); } LookupStrategyDesc lookupStrategyDesc = new LookupStrategyDesc(LookupStrategyType.ADVANCED, expressions); return new SubordTableLookupStrategyFactoryQuadTreeForge( x, y, width, height, isNWOnTrigger, numOuterstreams, lookupStrategyDesc); }
public AIRegistryRequirementSubquery( bool hasAggregation, bool hasPrior, bool hasPrev, LookupStrategyDesc lookupStrategyDesc) { HasAggregation = hasAggregation; HasPrior = hasPrior; HasPrev = hasPrev; LookupStrategyDesc = lookupStrategyDesc; }
public SubordTableLookupStrategyFactoryQuadTree(ExprEvaluator x, ExprEvaluator y, ExprEvaluator width, ExprEvaluator height, bool isNWOnTrigger, int streamCountOuter, LookupStrategyDesc lookupStrategyDesc) { X = x; Y = y; Width = width; Height = height; _isNWOnTrigger = isNWOnTrigger; _streamCountOuter = streamCountOuter; LookupStrategyDesc = lookupStrategyDesc; }
/// <summary> /// Ctor. /// </summary> /// <param name="evaluators">The evaluators.</param> /// <param name="streamNum">The stream num.</param> /// <param name="index">index to look up in</param> /// <param name="lookupStrategyDesc">The lookup strategy desc.</param> public IndexedTableLookupStrategyExpr(ExprEvaluator[] evaluators, int streamNum, PropertyIndexedEventTable index, LookupStrategyDesc lookupStrategyDesc) { if (index == null) { throw new ArgumentException("Unexpected null index received"); } _index = index; _streamNum = streamNum; _eventsPerStream = new EventBean[streamNum + 1]; _evaluators = evaluators; _lookupStrategyDesc = lookupStrategyDesc; }
/// <summary> /// Ctor. /// </summary> /// <param name="exprNode">The expr node.</param> /// <param name="streamNum">The stream num.</param> /// <param name="index">index to look up in</param> /// <param name="strategyDesc">The strategy desc.</param> public IndexedTableLookupStrategySingleExpr(ExprNode exprNode, int streamNum, PropertyIndexedEventTableSingle index, LookupStrategyDesc strategyDesc) { if (index == null) { throw new ArgumentException("Unexpected null index received"); } _index = index; _streamNum = streamNum; _strategyDesc = strategyDesc; _eventsPerStream = new EventBean[streamNum + 1]; _exprEvaluator = exprNode.ExprEvaluator; }
/// <summary> /// Ctor. /// </summary> /// <param name="evaluator">The evaluator.</param> /// <param name="streamNum">The stream num.</param> /// <param name="indexes">The indexes.</param> /// <param name="lookupStrategyDesc">The lookup strategy desc.</param> public InKeywordMultiTableLookupStrategyExpr(ExprEvaluator evaluator, int streamNum, PropertyIndexedEventTableSingle[] indexes, LookupStrategyDesc lookupStrategyDesc) { if (indexes == null) { throw new ArgumentException("Unexpected null index received"); } this._indexes = indexes; this._streamNum = streamNum; this._eventsPerStream = new EventBean[streamNum + 1]; this._evaluator = evaluator; this._lookupStrategyDesc = lookupStrategyDesc; }
public SubordTableLookupStrategyFactoryQuadTreeForge( ExprForge x, ExprForge y, ExprForge width, ExprForge height, bool isNWOnTrigger, int streamCountOuter, LookupStrategyDesc lookupStrategyDesc) { this.x = x; this.y = y; this.width = width; this.height = height; this.isNWOnTrigger = isNWOnTrigger; this.streamCountOuter = streamCountOuter; LookupStrategyDesc = lookupStrategyDesc; }
public SubordTableLookupStrategyFactoryQuadTree GetSubordinateLookupStrategy( string operationName, IDictionary <int, ExprNode> positionalExpressions, bool isNWOnTrigger, int numOuterstreams) { var x = positionalExpressions[0].ExprEvaluator; var y = positionalExpressions[1].ExprEvaluator; var width = positionalExpressions[2].ExprEvaluator; var height = positionalExpressions[3].ExprEvaluator; var expressions = new string[positionalExpressions.Count]; foreach (var entry in positionalExpressions) { expressions[entry.Key] = entry.Value.ToExpressionStringMinPrecedenceSafe(); } var lookupStrategyDesc = new LookupStrategyDesc(LookupStrategyType.ADVANCED, expressions); return(new SubordTableLookupStrategyFactoryQuadTree(x, y, width, height, isNWOnTrigger, numOuterstreams, lookupStrategyDesc)); }
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 AIRegistrySubselectLookup MakeSubqueryLookup(LookupStrategyDesc lookupStrategyDesc) { return new AIRegistrySubselectLookupMap(lookupStrategyDesc); }
public AIRegistrySubselectLookupMap(LookupStrategyDesc strategyDesc) { StrategyDesc = strategyDesc; services = new Dictionary<int, SubordTableLookupStrategy>(); }
public AIRegistrySubselectLookupSingle(LookupStrategyDesc strategyDesc) { StrategyDesc = strategyDesc; }
public AIRegistrySubselectLookupMultiPerm(LookupStrategyDesc strategyDesc) { StrategyDesc = strategyDesc; strategies = new ArrayWrap<SubordTableLookupStrategy>(10); }