/// <summary> /// Ctor. /// </summary> /// <param name="allowInitIndex">if set to <c>true</c> [allow initialize index].</param> /// <param name="repositories">for each stream an array of (indexed/unindexed) tables for lookup.</param> /// <param name="isPureSelfJoin">for self-joins</param> /// <param name="streamNumber">is the undirectional stream</param> /// <param name="queryStrategy">is the lookup query strategy for the stream</param> /// <param name="selfJoinRepositoryResets">indicators for any stream's table that reset after strategy executon</param> public JoinSetComposerStreamToWinImpl( bool allowInitIndex, IDictionary <TableLookupIndexReqKey, EventTable>[] repositories, bool isPureSelfJoin, int streamNumber, QueryStrategy queryStrategy, bool[] selfJoinRepositoryResets) { _allowInitIndex = allowInitIndex; _repositories = JoinSetComposerUtil.ToArray(repositories); _streamNumber = streamNumber; _queryStrategy = queryStrategy; _selfJoinRepositoryResets = selfJoinRepositoryResets; if (isPureSelfJoin) { _isResetSelfJoinRepositories = true; selfJoinRepositoryResets.Fill(true); } else { bool flag = false; foreach (bool selfJoinRepositoryReset in selfJoinRepositoryResets) { flag |= selfJoinRepositoryReset; } _isResetSelfJoinRepositories = flag; } }
/// <summary>Ctor. </summary> /// <param name="repositories">indexes for non-historical streams</param> /// <param name="queryStrategies">for each stream a strategy to execute the join</param> /// <param name="streamViews">the viewable representing each stream</param> /// <param name="staticEvalExprEvaluatorContext">expression evaluation context for static (not runtime) evaluation</param> public JoinSetComposerHistoricalImpl(IDictionary <TableLookupIndexReqKey, EventTable>[] repositories, QueryStrategy[] queryStrategies, Viewable[] streamViews, ExprEvaluatorContext staticEvalExprEvaluatorContext) { _repositories = JoinSetComposerUtil.ToArray(repositories, streamViews.Length); _queryStrategies = queryStrategies; _streamViews = streamViews; _staticEvalExprEvaluatorContext = staticEvalExprEvaluatorContext; }
/// <summary> /// Ctor. /// </summary> /// <param name="repositories">for each stream an array of (indexed/unindexed) tables for lookup.</param> /// <param name="queryStrategies">for each stream a strategy to execute the join</param> /// <param name="isPureSelfJoin">for self-join only</param> /// <param name="exprEvaluatorContext">expression evaluation context</param> /// <param name="joinRemoveStream">if set to <c>true</c> [join remove stream].</param> public JoinSetComposerImpl( IDictionary <TableLookupIndexReqKey, EventTable>[] repositories, QueryStrategy[] queryStrategies, bool isPureSelfJoin, ExprEvaluatorContext exprEvaluatorContext, bool joinRemoveStream) { _repositories = JoinSetComposerUtil.ToArray(repositories); _queryStrategies = queryStrategies; _isPureSelfJoin = isPureSelfJoin; _exprEvaluatorContext = exprEvaluatorContext; _joinRemoveStream = joinRemoveStream; }