virtual void getMetaInfo(ThorDataLinkMetaInfo &info) const override { initMetaInfo(info); info.canReduceNumRows = true; info.totalRowsMax = helper->getLimit(); calcMetaInfoSize(info, queryInput(0)); }
void getMetaInfo(ThorDataLinkMetaInfo &info) { initMetaInfo(info); info.fastThrough = true; info.canReduceNumRows = true; calcMetaInfoSize(info, queryInput(0)); }
bool FilterGraph::setInput(Speakers _spk) { dropChain(); return queryInput(_spk) && start.setInput(_spk) && buildChain(node_start); }
// IThorDataLink virtual void getMetaInfo(ThorDataLinkMetaInfo &info) override { initMetaInfo(info); info.fastThrough = true; // ish if (helper->canFilter()) info.canReduceNumRows = true; calcMetaInfoSize(info, queryInput(0)); }
virtual void start() override { ActivityTimer s(totalCycles, timeActivities); PARENT::start(); count = 0; eof = nextPut = false; inrowif.set(::queryRowInterfaces(queryInput(0))); }
virtual void getMetaInfo(ThorDataLinkMetaInfo &info) { initMetaInfo(info); info.canBufferInput = true; if (helper->canFilter()) info.canReduceNumRows = true; calcMetaInfoSize(info, queryInput(0)); }
void getMetaInfo(ThorDataLinkMetaInfo &info) { initMetaInfo(info); info.isSequential = true; info.canReduceNumRows = true; info.canBufferInput = true; calcMetaInfoSize(info, queryInput(0)); }
virtual void getMetaInfo(ThorDataLinkMetaInfo &info) override { initMetaInfo(info); info.canReduceNumRows = true; info.canBufferInput = false; info.totalRowsMax = rowLimit; calcMetaInfoSize(info, queryInput(0)); }
virtual void getMetaInfo(ThorDataLinkMetaInfo &info) const override { initMetaInfo(info); if (rolloverEnabled) { info.isSequential = true; info.unknownRowsOutput = true; // don't know how many rolled over } else info.fastThrough = true; calcMetaInfoSize(info, queryInput(0)); }
// IThorDataLink virtual void start() override { ActivityTimer s(totalCycles, timeActivities); PARENT::start(); bool hintunsortedoutput = getOptBool(THOROPT_UNSORTED_OUTPUT, (JFreorderable & helper->getJoinFlags()) != 0); bool hintparallelmatch = getOptBool(THOROPT_PARALLEL_MATCH, hintunsortedoutput); // i.e. unsorted, implies use parallel by default, otherwise no point if (helper->getJoinFlags()&JFlimitedprefixjoin) { CriticalBlock b(joinHelperCrit); // use std join helper (less efficient but implements limited prefix) joinhelper.setown(createJoinHelper(*this, helper, this, hintparallelmatch, hintunsortedoutput)); } else { CriticalBlock b(joinHelperCrit); joinhelper.setown(createSelfJoinHelper(*this, helper, this, hintparallelmatch, hintunsortedoutput)); } strm.setown(isLightweight? doLightweightSelfJoin() : (isLocal ? doLocalSelfJoin() : doGlobalSelfJoin())); assertex(strm); joinhelper->init(strm, NULL, ::queryRowAllocator(queryInput(0)), ::queryRowAllocator(queryInput(0)), ::queryRowMetaData(queryInput(0))); }
virtual void getMetaInfo(ThorDataLinkMetaInfo &info) override { initMetaInfo(info); info.fastThrough = false; calcMetaInfoSize(info, queryInput(0)); }
virtual bool isGrouped() const override { return queryInput(0)->isGrouped(); }
virtual void getMetaInfo(ThorDataLinkMetaInfo &info) override { queryInput(0)->getMetaInfo(info); }