瀏覽代碼

HPCC-397 Tidy up hthor/roxie input interfaces

Mke IRowStream the ultimate base class, and merge the nextInGroup/nextRow,
nextUnGrouped/ungroupedNextRow() and stop() methods.

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
Richard Chapman 9 年之前
父節點
當前提交
397b3c5c4c

+ 24 - 19
common/thorhelper/roxiehelper.cpp

@@ -133,9 +133,9 @@ void CRHRollingCache::advance()
     if (!eos) {
         if (!e)
             e = new CRHRollingCacheElem();
-        const void * nextrec = in->nextInGroup();//get row from CRHCRHDualCache::cOut, which gets from CRHCRHDualCache, which gets from input
+        const void * nextrec = in->nextRow();//get row from CRHCRHDualCache::cOut, which gets from CRHCRHDualCache, which gets from input
         if (!nextrec)
-            nextrec = in->nextInGroup();
+            nextrec = in->nextRow();
         if (nextrec) {
             e->set(nextrec);
             cache.enqueue(e);
@@ -220,9 +220,9 @@ bool CRHDualCache::get(unsigned n, CRHRollingCacheElem *&out)
     {
         if (!e)
             e = new CRHRollingCacheElem;
-        const void * nextrec = in->nextInGroup();   //get from activity
+        const void * nextrec = in->nextRow();   //get from activity
         if (!nextrec)
-            nextrec = in->nextInGroup();
+            nextrec = in->nextRow();
         if (!nextrec) {
             eos = true;
             break;
@@ -265,7 +265,7 @@ CRHDualCache::cOut::cOut(CRHDualCache *_parent, unsigned &_pos)
     stopped = false;
 }
 
-const void * CRHDualCache::cOut::nextInGroup()
+const void * CRHDualCache::cOut::nextRow()
 {
     CRHRollingCacheElem *e;
     if (stopped || !parent->get(pos,e))
@@ -418,7 +418,7 @@ bool ISimpleInputBase::nextGroup(ConstPointerArray & group)
 {
     // MORE - this should be replaced with a version that reads to a builder
     const void * next;
-    while ((next = nextInGroup()) != NULL)
+    while ((next = nextRow()) != NULL)
         group.append(next);
     if (group.ordinality())
         return true;
@@ -429,10 +429,10 @@ void ISimpleInputBase::readAll(RtlLinkedDatasetBuilder &builder)
 {
     loop
     {
-        const void *nextrec = nextInGroup();
+        const void *nextrec = nextRow();
         if (!nextrec)
         {
-            nextrec = nextInGroup();
+            nextrec = nextRow();
             if (!nextrec)
                 break;
             builder.appendEOG();
@@ -462,6 +462,11 @@ public:
     {
         return input->queryOutputMeta();
     }
+
+    virtual void stop()
+    {
+        input->stop();
+    }
 };
 
 class GroupedInputReader : public InputReaderBase
@@ -481,12 +486,12 @@ public:
         endGroupPending = false;
     }
 
-    virtual const void *nextInGroup()
+    virtual const void *nextRow()
     {
         if (!firstRead)
         {
             firstRead = true;
-            next.setown(input->nextInGroup());
+            next.setown(input->nextRow());
         }
 
         if (eof || endGroupPending)
@@ -496,7 +501,7 @@ public:
         }
 
         OwnedConstRoxieRow prev(next.getClear());
-        next.setown(input->nextUngrouped());  // skip incoming grouping if present
+        next.setown(input->ungroupedNextRow());  // skip incoming grouping if present
 
         if (next)
         {
@@ -516,9 +521,9 @@ public:
     DegroupedInputReader(IInputBase *_input) : InputReaderBase(_input)
     {
     }
-    virtual const void *nextInGroup()
+    virtual const void *nextRow()
     {
-        return input->nextUngrouped();
+        return input->ungroupedNextRow();
     }
 };
 
@@ -535,7 +540,7 @@ public:
         sorter->reset();
     }
 
-    virtual const void *nextInGroup()
+    virtual const void *nextRow()
     {
         if (!firstRead)
         {
@@ -559,7 +564,7 @@ public:
     {
     }
 
-    virtual const void *nextInGroup()
+    virtual const void *nextRow()
     {
         if (!firstRead)
         {
@@ -989,7 +994,7 @@ public:
         curBlock = new SortedBlock(blockNo++, rowManager, activityId);
         loop
         {
-            const void *next = input->nextInGroup();
+            const void *next = input->nextRow();
             if (!next)
                 break;
             if (!curBlock->insert(next, compare))
@@ -1195,7 +1200,7 @@ public:
         curIndex = 0;
         eof = false;
         assertex(sorted.ordinality()==0);
-        const void *next = input->nextInGroup();
+        const void *next = input->nextRow();
         if (!next)
         {
             eof = true;
@@ -1204,7 +1209,7 @@ public:
         loop
         {
             insertHeap(next);
-            next = input->nextInGroup();
+            next = input->nextRow();
             if (!next)
                 break;
         }
@@ -1266,7 +1271,7 @@ public:
     {
         loop
         {
-            const void * next = input->nextInGroup();
+            const void * next = input->nextRow();
             if (!next)
                 break;
             if (!rowsToSort.append(next))

+ 2 - 9
common/thorhelper/roxiehelper.ipp

@@ -21,24 +21,17 @@
 #include "thorhelper.hpp"
 #include "rtlds_imp.hpp"
 #include "jlog.hpp"
+#include "jio.hpp"
 
 extern THORHELPER_API unsigned traceLevel;
 
 //---------------------------------------------------
 // Base classes for all Roxie/HThor activities
 //---------------------------------------------------
-struct THORHELPER_API ISimpleInputBase : public IInterface //base for IInputBase and IHThorSimpleInput
+struct THORHELPER_API ISimpleInputBase : public IRowStream //base for IInputBase and IHThorSimpleInput
 {
-    virtual const void * nextInGroup() = 0;     // return NULL for eog/eof
     virtual bool nextGroup(ConstPointerArray & group);      // note: default implementation can be overridden for efficiency...
     virtual void readAll(RtlLinkedDatasetBuilder &builder); // note: default implementation can be overridden for efficiency...
-    inline const void * nextUngrouped()
-    {
-        const void * ret = nextInGroup();
-        if (!ret)
-            ret = nextInGroup();
-        return ret;
-    };
 };
 
 interface IOutputMetaData;

+ 1 - 1
common/thorhelper/roxielmj.hpp

@@ -105,7 +105,7 @@ public:
     public:
         IMPLEMENT_IINTERFACE;
         cOut(CRHDualCache *_parent, unsigned &_pos); 
-        const void * nextInGroup();
+        const void * nextRow();
         IOutputMetaData * queryOutputMeta() const;
     private:
         void stop();

+ 1 - 1
common/thorhelper/thorstep.cpp

@@ -1128,7 +1128,7 @@ void CMergeJoinProcessor::queryResetEOF()
     resetEOF();
 }
 
-const void * CMergeJoinProcessor::nextInGroup()
+const void * CMergeJoinProcessor::nextRow()
 {
     if (conjunctionOptimizer)
         return conjunctionOptimizer->next();

+ 1 - 1
common/thorhelper/thorstep.ipp

@@ -572,7 +572,7 @@ public:
     virtual bool candidatesExhaustEquality() { return true; }
     
     void addInput(ISteppedInput * _input);
-    const void * nextInGroup();
+    const void * nextRow();
     const void * nextGE(const void * seek, unsigned numFields, bool & wasCompleteMatch, const SmartStepExtra & stepExtra);
     void queryResetEOF();
 

+ 9 - 4
ecl/eclagent/eclagent.cpp

@@ -3654,9 +3654,9 @@ public:
         return in->nextGE(seek, numFields);
     }
 
-    virtual const void *nextInGroup()
+    virtual const void *nextRow()
     {
-        const void *ret = in->nextInGroup();
+        const void *ret = in->nextRow();
         if (ret)
         {
             size32_t size = in->queryOutputMeta()->getRecordSize(ret);
@@ -4039,7 +4039,12 @@ public:
         return in->nextGE(seek, numFields);
     }
 
-    virtual const void *nextInGroup()
+    virtual void stop()
+    {
+        in->stop();
+    }
+
+    virtual const void *nextRow()
     {
         // Code is a little complex to avoid interpreting a skip on all rows in a group as EOF
         try
@@ -4048,7 +4053,7 @@ public:
                 return NULL;
             loop
             {
-                const void *ret = InputProbe::nextInGroup();
+                const void *ret = InputProbe::nextRow();
                 if (!ret)
                 {
                     if (EOGseen)

+ 8 - 3
ecl/eclagent/eclagent.ipp

@@ -876,21 +876,26 @@ private:
             in->done();
         }
 
+        void stop()
+        {
+            in->stop();
+        }
+
         bool isGrouped() { return in->isGrouped(); }
 
         bool nextGroup(ConstPointerArray & group)
         {
             const void * next;
-            while ((next = nextInGroup()) != NULL)
+            while ((next = nextRow()) != NULL)
                 group.append(next);
             if (group.ordinality())
                 return true;
             return false;
         }
     
-        const void *nextInGroup()
+        const void *nextRow()
         {
-            const void *ret = in->nextInGroup();
+            const void *ret = in->nextRow();
             if (ret)
             {
                 size32_t size = in->queryOutputMeta()->getRecordSize(ret);

文件差異過大導致無法顯示
+ 274 - 264
ecl/hthor/hthor.cpp


+ 3 - 3
ecl/hthor/hthor.hpp

@@ -39,11 +39,11 @@ void HTHOR_API setHThorRowManager(roxiemem::IRowManager * manager); // do not ca
 class PointerArray;
 class EclGraphElement;
 
-inline const void * nextUngrouped(ISimpleInputBase * input)
+inline const void * ungroupedNextRow(ISimpleInputBase * input)
 {
-    const void * ret = input->nextInGroup();
+    const void * ret = input->nextRow();
     if (!ret)
-        ret = input->nextInGroup();
+        ret = input->nextRow();
     return ret;
 };
 

+ 103 - 93
ecl/hthor/hthor.ipp

@@ -126,9 +126,9 @@ public:
         }
         else
         {
-            next = inputArray[i]->nextInGroup();
+            next = inputArray[i]->nextRow();
             if (!next)
-                next = inputArray[i]->nextInGroup();
+                next = inputArray[i]->nextRow();
         }
 
         pending[i] = next;
@@ -186,7 +186,7 @@ static bool verifyFormatCrcSuper(unsigned helperCrc, IDistributedFile * df, bool
 
 #define IMPLEMENT_SINKACTIVITY \
     virtual unsigned queryOutputs() { return 0; } \
-    virtual const void * nextInGroup() { throwUnexpected(); } \
+    virtual const void * nextRow() { throwUnexpected(); } \
     virtual bool isGrouped() { throwUnexpected(); } \
     virtual IOutputMetaData * queryOutputMeta() const   { throwUnexpected(); } 
 
@@ -217,6 +217,7 @@ public:
     virtual void execute();
     virtual void extractResult(unsigned & len, void * & ret);
     virtual void done();
+    virtual void stop();
     virtual void setBoundGraph(IHThorBoundLoopGraph * graph) { UNIMPLEMENTED; }
     virtual __int64 getCount();
     virtual unsigned queryOutputs() { return 1; }
@@ -328,7 +329,7 @@ public:
     //interface IHThorInput
     virtual IHThorInput *queryOutput(unsigned index) { assertex(index==0); return this; }
     virtual bool isGrouped()                { return input->isGrouped(); }
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
     virtual IOutputMetaData * queryOutputMeta() const   { return input->queryOutputMeta(); }
 };
 
@@ -405,7 +406,7 @@ public:
     virtual bool needsAllocator() const { return true; }    
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 };
 
 class CHThorProcessActivity : public CHThorSimpleActivityBase
@@ -424,7 +425,7 @@ public:
     virtual bool needsAllocator() const { return true; }    
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 };
 
 class CHThorRollupActivity : public CHThorSimpleActivityBase
@@ -442,7 +443,7 @@ public:
     virtual bool needsAllocator() const { return true; }    
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 };
 
 class CHThorGroupDedupActivity : public CHThorSimpleActivityBase
@@ -467,7 +468,7 @@ public:
     virtual void done();
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 
     virtual const void *nextGE(const void * seek, unsigned numFields);
 
@@ -489,7 +490,7 @@ public:
     virtual void done();
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 
 private:
     OwnedConstRoxieRow kept;
@@ -505,7 +506,7 @@ public:
     virtual void done();
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 
 private:
     bool calcNextDedupAll();
@@ -587,7 +588,7 @@ public:
     CHThorHashDedupActivity(IAgentContext & _agent, unsigned _activityId, unsigned _subgraphId, IHThorHashDedupArg & _arg, ThorActivityKind _kind);
     virtual void ready();
     virtual void done();
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
     virtual bool needsAllocator() const { return true; }    
 
 private:
@@ -611,7 +612,7 @@ public:
     virtual bool needsAllocator() const { return true; }    
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 };
 
 class CHThorNormalizeChildActivity : public CHThorSimpleActivityBase
@@ -632,7 +633,7 @@ public:
     virtual bool needsAllocator() const { return true; }    
     
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 
     void normalizeRecord();
 
@@ -655,7 +656,7 @@ public:
     virtual void ready();
 
     //interface IHThorInput
-    const void *nextInGroup();
+    const void *nextRow();
 
 protected:
     bool advanceInput();
@@ -674,7 +675,7 @@ public:
     virtual bool needsAllocator() const { return true; }    
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 };
 
 class CHThorPrefetchProjectActivity : public CHThorSimpleActivityBase
@@ -692,7 +693,7 @@ public:
     virtual bool needsAllocator() const { return true; }
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 };
 
 class CHThorFilterProjectActivity : public CHThorSimpleActivityBase
@@ -709,7 +710,7 @@ public:
     virtual bool needsAllocator() const { return true; }    
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 };
 
 class CHThorCountProjectActivity : public CHThorSimpleActivityBase
@@ -725,7 +726,7 @@ public:
     virtual bool needsAllocator() const { return true; }    
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 };
 
 class CHThorFilterActivity : public CHThorSteppableActivityBase
@@ -739,7 +740,7 @@ public:
     virtual void ready();
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
     virtual const void *nextGE(const void * seek, unsigned numFields);
 
     virtual bool gatherConjunctions(ISteppedConjunctionCollector & collector);
@@ -759,7 +760,7 @@ public:
     virtual void done();
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
     virtual const void *nextGE(const void * seek, unsigned numFields);
 };
 
@@ -774,7 +775,7 @@ public:
     virtual void ready();
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
     virtual const void *nextGE(const void * seek, unsigned numFields);
 };
 
@@ -784,7 +785,7 @@ public:
     CHThorSkipLimitActivity(IAgentContext &agent, unsigned _activityId, unsigned _subgraphId, IHThorLimitArg &_arg, ThorActivityKind _kind);
     virtual void ready();
     virtual void done();
-    virtual const void * nextInGroup();
+    virtual const void * nextRow();
 
     virtual void onLimitExceeded() { buffer->clear(); }
 
@@ -813,7 +814,7 @@ public:
     CHThorCatchActivity(IAgentContext &agent, unsigned _activityId, unsigned _subgraphId, IHThorCatchArg &_arg, ThorActivityKind _kind);
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
     virtual const void *nextGE(const void * seek, unsigned numFields);
 };
 
@@ -822,7 +823,7 @@ class CHThorSkipCatchActivity : public CHThorSimpleActivityBase
 public:
     CHThorSkipCatchActivity(IAgentContext &agent, unsigned _activityId, unsigned _subgraphId, IHThorCatchArg &_arg, ThorActivityKind _kind);
     virtual void done();
-    virtual const void * nextInGroup();
+    virtual const void * nextRow();
 
 protected:
     void onException(IException *E);
@@ -840,7 +841,7 @@ public:
     CHThorIfActivity(IAgentContext &agent, unsigned _activityId, unsigned _subgraphId, IHThorIfArg &_arg, ThorActivityKind _kind);
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
     virtual void setInput(unsigned, IHThorInput *);
     virtual void ready();
     virtual void done();
@@ -866,7 +867,7 @@ public:
     virtual void ready();
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 };
 
 class CHThorAggregateActivity : public CHThorSimpleActivityBase
@@ -880,7 +881,7 @@ public:
     virtual bool needsAllocator() const { return true; }    
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
     virtual bool isGrouped()                                            { return false; }
 };
 
@@ -900,7 +901,7 @@ public:
     virtual bool needsAllocator() const { return true; }    
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 };
 
 class CHThorSelectNActivity : public CHThorSimpleActivityBase
@@ -914,7 +915,7 @@ public:
     virtual void ready();
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 };
 
 class CHThorFirstNActivity : public CHThorSimpleActivityBase
@@ -932,7 +933,7 @@ public:
     virtual bool isGrouped()                { return grouped; }
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 };
 
 class CHThorChooseSetsActivity : public CHThorSimpleActivityBase
@@ -948,7 +949,7 @@ public:
     virtual void ready();
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 };
 
 class CHThorChooseSetsExActivity : public CHThorSimpleActivityBase
@@ -971,7 +972,7 @@ public:
     virtual void done();
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 };
 
 class CHThorChooseSetsLastActivity : public CHThorChooseSetsExActivity
@@ -1013,7 +1014,7 @@ public:
     virtual void done();
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
     virtual const void *nextGE(const void * seek, unsigned numFields);
     virtual bool isGrouped();
 };
@@ -1025,7 +1026,7 @@ public:
     CHThorDegroupActivity(IAgentContext &agent, unsigned _activityId, unsigned _subgraphId, IHThorDegroupArg &_arg, ThorActivityKind _kind);
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
     virtual const void *nextGE(const void * seek, unsigned numFields);
     virtual bool isGrouped();
 };
@@ -1061,7 +1062,7 @@ public:
     virtual bool needsAllocator() const { return true; }    
 
     virtual void done();
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 
     virtual IOutputMetaData * queryOutputMeta() const { return outputMeta; }
 
@@ -1224,7 +1225,7 @@ public:
     virtual void done();
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 };
 
 class CHThorSortedActivity : public CHThorSteppableActivityBase
@@ -1240,7 +1241,7 @@ public:
     virtual void done();
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
     virtual const void *nextGE(const void * seek, unsigned numFields);
 };
 
@@ -1259,7 +1260,7 @@ public:
     virtual void done();
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
     virtual const void *nextGE(const void * seek, unsigned numFields);
 protected:
     void onTrace(const void *row);
@@ -1329,7 +1330,7 @@ public:
     IHThorInput *queryOutput(unsigned index) { return this; }
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 
     virtual bool isGrouped();
 
@@ -1392,7 +1393,7 @@ public:
     virtual bool needsAllocator() const { return true; }    
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 
     virtual bool isGrouped();
 
@@ -1468,8 +1469,8 @@ private:
     void failLimit();
     void createDefaultRight();  
 
-    const void * nextInGroupJoin();
-    const void * nextInGroupDenormalize();
+    const void * nextRowJoin();
+    const void * nextRowDenormalize();
 
 public:
     CHThorLookupJoinActivity(IAgentContext & _agent, unsigned _activityId, unsigned _subgraphId, IHThorHashJoinArg &_arg, ThorActivityKind _kind);
@@ -1481,7 +1482,7 @@ public:
     IHThorInput * queryOutput(unsigned index) { return this; }
 
     //interface IHThorInput
-    virtual const void * nextInGroup();
+    virtual const void * nextRow();
     virtual void updateProgress(IStatisticGatherer &progress) const
     {
         CHThorActivityBase::updateProgress(progress);
@@ -1535,7 +1536,7 @@ public:
     virtual bool needsAllocator() const { return true; }    
 
     //interface IHThorInput
-    virtual const void * nextInGroup();
+    virtual const void * nextRow();
     virtual void updateProgress(IStatisticGatherer &progress) const
     {
         CHThorActivityBase::updateProgress(progress);
@@ -1631,7 +1632,7 @@ public:
     virtual bool needsAllocator() const { return true; }
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 };
 
 class CHThorNullActivity : public CHThorSimpleActivityBase
@@ -1641,7 +1642,7 @@ public:
     CHThorNullActivity(IAgentContext &agent, unsigned _activityId, unsigned _subgraphId, IHThorArg &_arg, ThorActivityKind _kind);
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 };
 
 
@@ -1652,7 +1653,7 @@ public:
     CHThorSideEffectActivity(IAgentContext &agent, unsigned _activityId, unsigned _subgraphId, IHThorSideEffectArg &_arg, ThorActivityKind _kind);
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 };
 
 
@@ -1663,7 +1664,7 @@ public:
     CHThorActionActivity(IAgentContext &agent, unsigned _activityId, unsigned _subgraphId, IHThorActionArg &_arg, ThorActivityKind _kind);
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
     virtual void execute();
 };
 
@@ -1674,7 +1675,7 @@ public:
     CHThorWhenActionActivity(IAgentContext &_agent, unsigned _activityId, unsigned _subgraphId, IHThorArg &_arg, ThorActivityKind _kind, EclGraphElement * _graphElement);
 
     virtual void execute();
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
     virtual void ready();
     virtual void done();
 };
@@ -1685,7 +1686,7 @@ public:
     CHThorDummyActivity(IAgentContext &agent, unsigned _activityId, unsigned _subgraphId, IHThorArg &_arg, ThorActivityKind _kind);
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
     virtual void execute();
 };
 
@@ -1701,7 +1702,7 @@ public:
     virtual bool needsAllocator() const { return true; }    
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
     virtual void ready();
 };
 
@@ -1713,7 +1714,7 @@ class CHThorLinkedRawIteratorActivity : public CHThorSimpleActivityBase
 public:
     CHThorLinkedRawIteratorActivity(IAgentContext &agent, unsigned _activityId, unsigned _subgraphId, IHThorLinkedRawIteratorArg &_arg, ThorActivityKind _kind);
 
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 };
 
 typedef PointerArrayOf<IHThorInput> InputArrayType;
@@ -1746,7 +1747,7 @@ public:
     virtual void done();
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 };
 
 class CHThorConcatActivity : public CHThorMultiInputActivity
@@ -1764,7 +1765,7 @@ public:
     virtual void ready();
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 
     virtual bool isGrouped()                { return grouped; }
 };
@@ -1781,7 +1782,7 @@ public:
     virtual void ready();
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 
     virtual bool isGrouped()                { return grouped; }
 };
@@ -1798,7 +1799,7 @@ public:
     virtual void ready();
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 
     virtual bool isGrouped()                { return true; }
 
@@ -1817,7 +1818,7 @@ public:
     virtual bool needsAllocator() const { return true; }    
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 
 protected:
     void nextInputs(OwnedRowArray & out);
@@ -1837,7 +1838,7 @@ public:
     virtual bool needsAllocator() const { return true; }    
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 
 protected:
     void nextInputs(ConstPointerArray & out);
@@ -1855,7 +1856,7 @@ public:
     virtual bool isGrouped() { return false; }
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 };
 
 class CHThorApplyActivity : public CHThorActivityBase 
@@ -1910,7 +1911,7 @@ public:
     virtual bool needsAllocator() const { return true; }    
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 };
 
 class CHThorParseActivity : public CHThorSimpleActivityBase, implements IMatchedAction
@@ -1927,7 +1928,7 @@ public:
     virtual bool needsAllocator() const { return true; }    
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 
 protected:
     bool processRecord(const void * in);
@@ -1951,7 +1952,7 @@ public:
     //interface IHThorInput
     virtual void ready();
     virtual void done();
-    virtual const void * nextInGroup();
+    virtual const void * nextRow();
     virtual bool isGrouped() { return false; }
 
 protected:
@@ -1987,7 +1988,7 @@ public:
     virtual void done();
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
     virtual bool isGrouped() { return false; }
 
 private:
@@ -2020,7 +2021,7 @@ public:
     virtual bool needsAllocator() const { return true; }    
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 
     //iface IXMLSelect
     virtual void match(IColumnProvider &entry, offset_t startOffset, offset_t endOffset)
@@ -2069,7 +2070,7 @@ public:
     CHThorWSCRowCallActivity(IAgentContext &agent, unsigned _activityId, unsigned _subgraphId, IHThorWebServiceCallArg &_arg, ThorActivityKind _kind);
     virtual bool needsAllocator() const { return true; }    
 
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 
 private:
 };
@@ -2081,7 +2082,7 @@ public:
       : CHThorWSCRowCallActivity(agent, _activityId, _subgraphId, _arg, _kind)
     {
     }
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 };
 
 class CHThorSoapRowCallActivity : extends CHThorWSCRowCallActivity
@@ -2091,7 +2092,7 @@ public:
       : CHThorWSCRowCallActivity(agent, _activityId, _subgraphId, _arg, _kind)
     {
     }
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 };
 
 class CHThorSoapRowActionActivity : public CHThorWSCBaseActivity
@@ -2108,7 +2109,7 @@ class CHThorSoapDatasetCallActivity : public CHThorWSCBaseActivity
 public:
     CHThorSoapDatasetCallActivity(IAgentContext &agent, unsigned _activityId, unsigned _subgraphId, IHThorSoapCallArg &_arg, ThorActivityKind _kind);
 
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
     virtual bool needsAllocator() const { return true; }    
 
     // IWSCRowProvider
@@ -2140,7 +2141,7 @@ public:
     virtual bool needsAllocator() const { return true; }    
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
     virtual void ready();
 };
 
@@ -2155,7 +2156,7 @@ public:
     virtual bool needsAllocator() const { return true; }    
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
     virtual void ready();
 };
 
@@ -2175,7 +2176,7 @@ public:
     virtual bool needsAllocator() const { return true; }    
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 
 //IHThorGroupAggregateCallback
     virtual void processRow(const void * src);
@@ -2195,7 +2196,7 @@ public:
     virtual bool needsAllocator() const { return true; }    
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
     virtual void ready();
     virtual void done();
 };
@@ -2334,7 +2335,7 @@ public:
     virtual bool needsAllocator() const { return true; }    
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 };
 
 
@@ -2344,7 +2345,7 @@ class CHThorCsvReadActivity : public CHThorDiskReadBaseActivity
 public:
     CHThorCsvReadActivity(IAgentContext &agent, unsigned _activityId, unsigned _subgraphId, IHThorCsvReadArg &_arg, ThorActivityKind _kind);
     ~CHThorCsvReadActivity();
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
     virtual void ready();
     virtual bool needsAllocator() const { return true; }    
     virtual void done();
@@ -2377,7 +2378,7 @@ public:
     virtual void ready();
     virtual void done();
     virtual bool needsAllocator() const { return true; }    
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 
     //iface IXMLSelect
     virtual void match(IColumnProvider &entry, offset_t startOffset, offset_t endOffset)
@@ -2428,7 +2429,7 @@ public:
     virtual bool needsAllocator() const { return true; }    
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 };
 
 
@@ -2450,7 +2451,7 @@ public:
     virtual bool needsAllocator() const { return true; }    
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 };
 
 
@@ -2472,7 +2473,7 @@ public:
     virtual bool needsAllocator() const { return true; }    
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 };
 
 
@@ -2497,7 +2498,7 @@ public:
     virtual bool needsAllocator() const { return true; }    
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 };
 
 
@@ -2518,7 +2519,7 @@ public:
     virtual bool needsAllocator() const { return true; }    
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 };
 
 class CHThorLocalResultWriteActivity : public CHThorActivityBase
@@ -2556,7 +2557,7 @@ class CHThorLocalResultSpillActivity : public CHThorSimpleActivityBase
 
 public:
     CHThorLocalResultSpillActivity (IAgentContext &agent, unsigned _activityId, unsigned _subgraphId, IHThorLocalResultSpillArg &_arg, ThorActivityKind _kind, __int64 graphId);
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 
 protected:
     virtual void ready();
@@ -2574,11 +2575,15 @@ public:
         curRow = 0; 
     }
 
-    virtual const void * nextInGroup()
+    virtual const void * nextRow()
     {
         return result->getOwnRow(curRow++);
     }
 
+    virtual void stop()
+    {
+    }
+
 protected:
     Owned<IHThorGraphResult> result;
     unsigned curRow;
@@ -2591,7 +2596,7 @@ class ConstPointerArrayInput : public CInterfaceOf<ISimpleInputBase>
 public:
     void init(ConstPointerArray * _array)       { array = _array; curRow = 0; }
 
-    virtual const void * nextInGroup()
+    virtual const void * nextRow()
     {
         if (array->isItem(curRow))
         {
@@ -2603,6 +2608,10 @@ public:
         return NULL;
     }
 
+    virtual void stop()
+    {
+    }
+
 protected:
     ConstPointerArray * array;
     unsigned curRow;
@@ -2626,7 +2635,7 @@ class CHThorLoopActivity : public CHThorSimpleActivityBase
 public:
     CHThorLoopActivity (IAgentContext &agent, unsigned _activityId, unsigned _subgraphId, IHThorLoopArg &helper, ThorActivityKind _kind);
     ~CHThorLoopActivity();
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
     virtual void setBoundGraph(IHThorBoundLoopGraph * graph) { loopGraph.set(graph); }
     virtual bool needsAllocator() const { return true; }    
 
@@ -2655,7 +2664,7 @@ public:
     virtual bool needsAllocator() const { return true; }    
 
     //interface IHThorInput
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 };
 
 class CHThorGraphLoopResultWriteActivity : public CHThorActivityBase
@@ -2689,7 +2698,7 @@ class CHThorGraphLoopActivity : public CHThorSimpleActivityBase
 
 public:
     CHThorGraphLoopActivity (IAgentContext &agent, unsigned _activityId, unsigned _subgraphId, IHThorGraphLoopArg &_arg, ThorActivityKind _kind);
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
     virtual void setBoundGraph(IHThorBoundLoopGraph * graph) { loopGraph.set(graph); }
     virtual bool needsAllocator() const { return true; }    
 
@@ -2714,7 +2723,7 @@ class CHThorParallelGraphLoopActivity : public CHThorSimpleActivityBase
 
 public:
     CHThorParallelGraphLoopActivity (IAgentContext &agent, unsigned _activityId, unsigned _subgraphId, IHThorGraphLoopArg &_arg, ThorActivityKind _kind);
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
     virtual void setBoundGraph(IHThorBoundLoopGraph * graph) { loopGraph.set(graph); }
 
 protected:
@@ -2729,12 +2738,13 @@ class LibraryCallOutput : public CInterface, public IHThorInput
 public:
     LibraryCallOutput(CHThorLibraryCallActivity * _owner, unsigned _output, IOutputMetaData * _meta);
 
-    virtual const void * nextInGroup();
+    virtual const void * nextRow();
     virtual bool isGrouped();
     virtual IOutputMetaData * queryOutputMeta() const;
 
     virtual void ready();
     virtual void done();
+    virtual void stop();
     virtual void updateProgress(IStatisticGatherer &progress) const;
 
 protected:
@@ -2766,7 +2776,7 @@ class CHThorLibraryCallActivity : public CHThorSimpleActivityBase
 
 public:
     CHThorLibraryCallActivity (IAgentContext &agent, unsigned _activityId, unsigned _subgraphId, IHThorLibraryCallArg &_arg, ThorActivityKind _kind, IPropertyTree * node);
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
     virtual IHThorInput *queryOutput(unsigned idx);
 
     IHThorGraphResult * getResultRows(unsigned whichOutput);
@@ -2792,7 +2802,7 @@ public:
     //interface IHThorInput
     virtual void done();
     virtual void ready();
-    virtual const void * nextInGroup();
+    virtual const void * nextRow();
     virtual const void * nextGE(const void * seek, unsigned numFields);
     virtual IInputSteppingMeta * querySteppingMeta();
 };
@@ -2807,7 +2817,7 @@ public:
 
     virtual void ready();
     virtual void done();
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 };
 
 class CHThorInputAdaptor : public ITypedRowStream, public CInterface
@@ -2817,7 +2827,7 @@ public:
     IMPLEMENT_IINTERFACE;
 
     virtual IOutputMetaData * queryOutputMeta() const { return input->queryOutputMeta(); }
-    virtual const void *nextRow() { return input->nextInGroup(); }
+    virtual const void *nextRow() { return input->nextRow(); }
     virtual void stop() { }
 
 protected:
@@ -2840,7 +2850,7 @@ public:
 
     virtual void execute();
 
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 
     virtual bool isGrouped()                { return outputMeta.isGrouped(); }
 };

+ 18 - 18
ecl/hthor/hthorkey.cpp

@@ -186,7 +186,7 @@ public:
 
     //interface IHThorInput
     virtual void ready();
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
     virtual bool needsAllocator() const { return true; }
 
 protected:
@@ -201,7 +201,7 @@ void CHThorNullAggregateActivity::ready()
     finished = false;
 }
 
-const void *CHThorNullAggregateActivity::nextInGroup()
+const void *CHThorNullAggregateActivity::nextRow()
 {
     if (finished) return NULL;
 
@@ -229,7 +229,7 @@ public:
 
     //interface IHThorInput
     virtual void ready();
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
     virtual bool needsAllocator() const { return true; }
 
 protected:
@@ -243,7 +243,7 @@ void CHThorNullCountActivity::ready()
     finished = false;
 }
 
-const void *CHThorNullCountActivity::nextInGroup()
+const void *CHThorNullCountActivity::nextRow()
 {
     if (finished) return NULL;
 
@@ -771,7 +771,7 @@ public:
 
     //interface IHThorInput
     virtual void ready();
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
     virtual const void * nextGE(const void * seek, unsigned numFields);
 
     virtual IInputSteppingMeta * querySteppingMeta();
@@ -887,7 +887,7 @@ void CHThorIndexReadActivity::initPart()
     CHThorIndexReadActivityBase::initPart();
 }
 
-const void *CHThorIndexReadActivity::nextInGroup()
+const void *CHThorIndexReadActivity::nextRow()
 {
     if(keyedLimitReached)
     {
@@ -1100,7 +1100,7 @@ public:
 
     virtual void ready();
     virtual void done();
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
     virtual bool needsAllocator() const { return true; }
 
 protected:
@@ -1152,7 +1152,7 @@ void CHThorIndexNormalizeActivity::done()
     CHThorIndexReadActivityBase::done();
 }
 
-const void *CHThorIndexNormalizeActivity::nextInGroup()
+const void *CHThorIndexNormalizeActivity::nextRow()
 {
     if ((stopAfter && (processed-initialProcessed)==stopAfter) || !klManager)
         return NULL;
@@ -1283,7 +1283,7 @@ public:
     //interface IHThorInput
     virtual void done();
     virtual void ready();
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
     virtual bool needsAllocator() const { return true; }
 
 protected:
@@ -1357,7 +1357,7 @@ void CHThorIndexAggregateActivity::gather()
     }
 }
 
-const void *CHThorIndexAggregateActivity::nextInGroup()
+const void *CHThorIndexAggregateActivity::nextRow()
 {
     if (finished) return NULL;
     gather();
@@ -1398,7 +1398,7 @@ public:
 
     //interface IHThorInput
     virtual void ready();
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
 
 protected:
     void * createNextRow();
@@ -1424,7 +1424,7 @@ void CHThorIndexCountActivity::ready()
     choosenLimit = helper.getChooseNLimit();
 }
 
-const void *CHThorIndexCountActivity::nextInGroup()
+const void *CHThorIndexCountActivity::nextRow()
 {
     if (finished) return NULL;
 
@@ -1505,7 +1505,7 @@ public:
 
     //interface IHThorInput
     virtual void ready();
-    virtual const void *nextInGroup();
+    virtual const void *nextRow();
     virtual bool needsAllocator() const { return true; }        
     virtual void processRow(const void * next);
 
@@ -1568,7 +1568,7 @@ void CHThorIndexGroupAggregateActivity::gather()
     }
 }
 
-const void *CHThorIndexGroupAggregateActivity::nextInGroup()
+const void *CHThorIndexGroupAggregateActivity::nextRow()
 {
     if (eof)
         return NULL;
@@ -2164,7 +2164,7 @@ public:
         avail.signal();
     }
 
-    virtual const void *nextInGroup()
+    virtual const void *nextRow()
     {
         if (!started)
         {
@@ -2273,10 +2273,10 @@ public:
             {
                 if (aborting)
                     break;
-                const void *row = input->nextInGroup();
+                const void *row = input->nextRow();
                 if (!row)
                 {
-                    row = input->nextInGroup();
+                    row = input->nextRow();
                     if (!row)
                         break;
                 }
@@ -3513,7 +3513,7 @@ public:
         {
             if (aborting)
                 break;
-            const void *row = input->nextInGroup();
+            const void *row = input->nextRow();
             if (!row)
             {
                 if (eogSeen)

+ 7 - 7
ecl/hthor/hthorstep.cpp

@@ -46,9 +46,9 @@ CHThorSteppedInput::CHThorSteppedInput(IHThorInput * _input)
 
 const void * CHThorSteppedInput::nextInputRow()
 {
-    const void * ret = input->nextInGroup();
+    const void * ret = input->nextRow();
     if (!ret)
-        ret = input->nextInGroup();
+        ret = input->nextRow();
     return ret;
 }
 
@@ -132,7 +132,7 @@ void CHThorNWayMergeActivity::done()
     CHThorNaryActivity::done();
 }
 
-const void * CHThorNWayMergeActivity::nextInGroup()
+const void * CHThorNWayMergeActivity::nextRow()
 {
     const void * next = merger.nextRow();
     if (next)
@@ -215,9 +215,9 @@ IInputSteppingMeta * CHThorMergeJoinBaseActivity::querySteppingMeta()
     return processor.queryInputSteppingMeta();
 }
 
-const void * CHThorMergeJoinBaseActivity::nextInGroup()
+const void * CHThorMergeJoinBaseActivity::nextRow()
 {
-    const void * next = processor.nextInGroup();
+    const void * next = processor.nextRow();
     if (next)
         processed++;
     return next;
@@ -298,9 +298,9 @@ IInputSteppingMeta * CHThorNWayJoinActivity::querySteppingMeta()
     return processor.querySteppingMeta();
 }
 
-const void * CHThorNWayJoinActivity::nextInGroup()
+const void * CHThorNWayJoinActivity::nextRow()
 {
-    const void * next = processor.nextInGroup();
+    const void * next = processor.nextRow();
     if (next)
         processed++;
     return next;

+ 3 - 3
ecl/hthor/hthorstep.ipp

@@ -66,7 +66,7 @@ public:
 
     virtual void ready();
     virtual void done();
-    virtual const void * nextInGroup();
+    virtual const void * nextRow();
     virtual const void * nextGE(const void * seek, unsigned numFields);
     virtual IInputSteppingMeta * querySteppingMeta();
 
@@ -86,7 +86,7 @@ public:
     //interface IHThorInput
     virtual void ready();
     virtual void done();
-    virtual const void * nextInGroup();
+    virtual const void * nextRow();
     virtual const void * nextGE(const void * seek, unsigned numFields);
     virtual IInputSteppingMeta * querySteppingMeta();
     virtual bool gatherConjunctions(ISteppedConjunctionCollector & collector);
@@ -149,7 +149,7 @@ public:
     //interface IHThorInput
     virtual void ready();
     virtual void done();
-    virtual const void * nextInGroup();
+    virtual const void * nextRow();
     virtual const void * nextGE(const void * seek, unsigned numFields);
     virtual IInputSteppingMeta * querySteppingMeta();
 

+ 2 - 2
roxie/ccd/ccdactivities.cpp

@@ -5166,10 +5166,10 @@ public:
             Owned<IRoxieInput> input = remoteGraph->startOutput(0, remoteExtractBuilder.size(), remoteExtractBuilder.getbytes(), false);
             while (!aborted)
             {
-                const void * next = input->nextInGroup();
+                const void * next = input->nextRow();
                 if (!next)
                 {
-                    next = input->nextInGroup();
+                    next = input->nextRow();
                     if (!next)
                         break;
                 }

+ 4 - 4
roxie/ccd/ccdcontext.cpp

@@ -655,7 +655,7 @@ public:
     {
         idx = 0;
     }
-    virtual const void * nextInGroup()
+    virtual const void * nextRow()
     {
         if (idx < count)
         {
@@ -762,7 +762,7 @@ public:
         RtlLinkedDatasetBuilder builder(rowAllocator);
         loop
         {
-            const void *ret = nextInGroup();
+            const void *ret = nextRow();
             if (!ret)
             {
                 if (atEOG || !isGrouped)
@@ -820,7 +820,7 @@ public:
         if (bufferBase)
             free(bufferBase);
     }
-    virtual const void *nextInGroup()
+    virtual const void *nextRow()
     {
         if (eof)
             return NULL;
@@ -996,7 +996,7 @@ public:
         rows->first();
     }
 
-    virtual const void *nextInGroup()
+    virtual const void *nextRow()
     {
         if (rows->isValid())
         {

+ 1 - 1
roxie/ccd/ccdcontext.hpp

@@ -37,7 +37,7 @@ class WorkflowMachine;
 
 interface IWorkUnitRowReader : public IInterface
 {
-    virtual const void * nextInGroup() = 0;
+    virtual const void * nextRow() = 0;
     virtual void getResultRowset(size32_t & tcount, byte * * & tgt) = 0;
 };
 

+ 6 - 6
roxie/ccd/ccddebug.cpp

@@ -148,9 +148,9 @@ public:
         else
             return NULL;
     }
-    virtual const void *nextInGroup()
+    virtual const void *nextRow()
     {
-        const void *ret = in->nextInGroup();
+        const void *ret = in->nextRow();
         if (ret)
         {
             size32_t size = inMeta->getRecordSize(ret);
@@ -243,9 +243,9 @@ public:
         // MORE - should probably only note them when wasCompleteMatch is true?
         return _next(InputProbe::nextSteppedGE(seek, numFields, wasCompleteMatch, stepExtra));
     }
-    virtual const void *nextInGroup()
+    virtual const void *nextRow()
     {
-        return _next(InputProbe::nextInGroup());
+        return _next(InputProbe::nextRow());
     }
 
     void getNodeProgressInfo(IPropertyTree &node)
@@ -858,7 +858,7 @@ public:
         targetAct->updateTimes(debugContext->querySequence());
     }
 
-    virtual const void *nextInGroup()
+    virtual const void *nextRow()
     {
         // Code is a little complex to avoid interpreting a skip on all rows in a group as EOF
         try
@@ -867,7 +867,7 @@ public:
                 return NULL;
             loop
             {
-                const void *ret = InputProbe::nextInGroup();
+                const void *ret = InputProbe::nextRow();
                 if (!ret)
                 {
                     if (EOGseen)

文件差異過大導致無法顯示
+ 300 - 300
roxie/ccd/ccdserver.cpp


+ 1 - 1
thorlcr/activities/join/thjoinslave.cpp

@@ -632,7 +632,7 @@ public:
     }
     CATCH_NEXTROW()
     {
-        OwnedConstThorRow ret = processor.nextInGroup();
+        OwnedConstThorRow ret = processor.nextRow();
         if (ret)
         {
             dataLinkIncrement();

+ 1 - 1
thorlcr/activities/loop/thloopslave.cpp

@@ -1280,7 +1280,7 @@ public:
         throwUnexpected();
     }
 
-    virtual const void * nextInGroup()
+    virtual const void * nextRow()
     {
         throwUnexpected();
     }