Esempio n. 1
0
        /// <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;
 }
Esempio n. 3
0
 /// <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;
 }