public override ExecNode MakeExec(
            AgentInstanceContext agentInstanceContext,
            IDictionary<TableLookupIndexReqKey, EventTable>[] indexesPerStream,
            EventType[] streamTypes,
            Viewable[] streamViews,
            VirtualDWView[] viewExternal,
            ILockable[] tableSecondaryIndexLocks)
        {
            var execs = new LookupInstructionExec[LookupInstructions.Length];

            var count = 0;
            foreach (var instruction in LookupInstructions) {
                var exec = instruction.MakeExec(
                    agentInstanceContext,
                    indexesPerStream,
                    streamTypes,
                    streamViews,
                    viewExternal);
                execs[count] = exec;
                count++;
            }

            return new LookupInstructionExecNode(
                rootStream,
                rootStreamName,
                NumStreams,
                execs,
                requiredPerStream,
                assemblyInstructionFactories);
        }
Example #2
0
        public void SetUp()
        {
            _lookupStrategies = new JoinExecTableLookupStrategy[4];
            for (int i = 0; i < _lookupStrategies.Length; i++)
            {
                _lookupStrategies[i] = new SupportTableLookupStrategy(1);
            }

            _exec = new LookupInstructionExec(0, "test",
                                              new[] { 1, 2, 3, 4 }, _lookupStrategies, new[] { false, true, true, false, false });

            _rep = new SupportRepositoryImpl();
        }
Example #3
0
        public override ExecNode MakeExec(string statementName, string statementId, Attribute[] annotations, IDictionary <TableLookupIndexReqKey, EventTable>[] indexesPerStream, EventType[] streamTypes, Viewable[] streamViews, HistoricalStreamIndexList[] historicalStreamIndexLists, VirtualDWView[] viewExternal, ILockable[] tableSecondaryIndexLocks)
        {
            var execs = new LookupInstructionExec[_lookupInstructions.Count];

            int count = 0;

            foreach (LookupInstructionPlan instruction in _lookupInstructions)
            {
                LookupInstructionExec exec = instruction.MakeExec(statementName, statementId, annotations,
                                                                  indexesPerStream, streamTypes, streamViews,
                                                                  historicalStreamIndexLists, viewExternal);
                execs[count] = exec;
                count++;
            }

            return(new LookupInstructionExecNode(
                       _rootStream, _rootStreamName,
                       _numStreams, execs, _requiredPerStream,
                       _assemblyInstructionFactories));
        }