Forráskód Böngészése

HPCC-8556 Refactor const char * query functions from helpers

More cleanup of dead code and out-of-date comments.

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
Richard Chapman 12 éve
szülő
commit
a1a65fd997

+ 0 - 2
common/commonext/commonext.cpp

@@ -58,9 +58,7 @@ MODULE_INIT(INIT_PRIORITY_STANDARD)
     kindArray[TAKworkunitwrite] = "workunitwrite";
     kindArray[TAKfunnel] = "funnel";
     kindArray[TAKapply] = "apply";
-    kindArray[TAKtemptable] = "temptable";
     kindArray[TAKinlinetable] = "inlinetable";
-    kindArray[TAKtemprow] = "temprow";
     kindArray[TAKhashdistribute] = "hashdistribute";
     kindArray[TAKhashdedup] = "hashdedup";
     kindArray[TAKnormalize] = "normalize";

+ 1 - 5
common/thorhelper/thorcommon.cpp

@@ -637,12 +637,10 @@ extern const char * getActivityText(ThorActivityKind kind)
     case TAKselfjoin:               return "Self Join";
     case TAKkeyedjoin:              return "Keyed Join";
     case TAKgroup:                  return "Group";
-    case TAKworkunitwrite:              return "Output";
+    case TAKworkunitwrite:          return "Output";
     case TAKfunnel:                 return "Funnel";
     case TAKapply:                  return "Apply";
-    case TAKtemptable:              return "Inline Dataset";
     case TAKinlinetable:            return "Inline Dataset";
-    case TAKtemprow:                return "Inline Row";
     case TAKhashdistribute:         return "Hash Distribute";
     case TAKhashdedup:              return "Hash Dedup";
     case TAKnormalize:              return "Normalize";
@@ -797,9 +795,7 @@ extern bool isActivitySource(ThorActivityKind kind)
     switch (kind)
     {
     case TAKpiperead:
-    case TAKtemptable:
     case TAKinlinetable:
-    case TAKtemprow:
     case TAKworkunitread:
     case TAKnull:
     case TAKsideeffect:

+ 0 - 3
ecl/eclagent/eclgraph.cpp

@@ -106,9 +106,6 @@ static IHThorActivity * createActivity(IAgentContext & agent, unsigned activityI
         return createConcatActivity(agent, activityId, subgraphId, (IHThorFunnelArg &)arg, kind);
     case TAKapply:
         return createApplyActivity(agent, activityId, subgraphId, (IHThorApplyArg &)arg, kind);
-    case TAKtemptable:
-    case TAKtemprow:
-        return createTempTableActivity(agent, activityId, subgraphId, (IHThorTempTableArg &)arg, kind);
     case TAKinlinetable:
         return createInlineTableActivity(agent, activityId, subgraphId, (IHThorInlineTableArg &)arg, kind);
     case TAKnormalize:

+ 0 - 1
ecl/hqlcpp/hqlhtcpp.cpp

@@ -16529,7 +16529,6 @@ ABoundActivity * HqlCppTranslator::doBuildActivityCountTransform(BuildCtx & ctx,
     IHqlExpression * transform = queryNewColumnProvider(expr);
     IHqlExpression * counter = queryPropertyChild(expr, _countProject_Atom, 0);
 
-    // Overriding IHThorTempTableArg
     Owned<ActivityInstance> instance = new ActivityInstance(*this, ctx, TAKinlinetable, expr, "InlineTable");
     buildActivityFramework(instance);
     buildInstancePrefix(instance);

+ 0 - 62
ecl/hthor/hthor.cpp

@@ -5966,30 +5966,6 @@ void CHThorDictionaryWorkUnitWriteActivity::execute()
 
 //=====================================================================================================
 
-CHThorCountActivity::CHThorCountActivity(IAgentContext &_agent, unsigned _activityId, unsigned _subgraphId, IHThorCountArg &_arg, ThorActivityKind _kind)
- : CHThorActivityBase(_agent, _activityId, _subgraphId, _arg, _kind), helper(_arg)
-{
-}
-
-__int64 CHThorCountActivity::getCount()
-{
-    __int64 count = 0;
-    loop
-    {
-        OwnedConstHThorRow nextrec(input->nextInGroup());
-        if (!nextrec)
-        {
-            nextrec.setown(input->nextInGroup());
-            if (!nextrec)
-                break;
-        }
-        count++;
-    }
-    return count;
-}
-
-//=====================================================================================================
-
 
 CHThorRemoteResultActivity::CHThorRemoteResultActivity(IAgentContext &_agent, unsigned _activityId, unsigned _subgraphId, IHThorRemoteResultArg &_arg, ThorActivityKind _kind)
  : CHThorActivityBase(_agent, _activityId, _subgraphId, _arg, _kind), helper(_arg)
@@ -6015,42 +5991,6 @@ void CHThorRemoteResultActivity::execute()
 
 //=====================================================================================================
 
-/*
- * Deprecated in 3.8, this class is being kept for backward compatibility,
- * since now the code generator is using InlineTables (below) for all
- * temporary tables and rows.
- */
-CHThorTempTableActivity::CHThorTempTableActivity(IAgentContext &_agent, unsigned _activityId, unsigned _subgraphId, IHThorTempTableArg &_arg, ThorActivityKind _kind) :
-                 CHThorSimpleActivityBase(_agent, _activityId, _subgraphId, _arg, _kind), helper(_arg)
-{
-}
-
-void CHThorTempTableActivity::ready()
-{
-    CHThorSimpleActivityBase::ready();
-    curRow = 0;
-    numRows = helper.numRows();
-}
-
-
-const void *CHThorTempTableActivity::nextInGroup()
-{
-    // Filtering empty rows, returns the next valid row
-    while (curRow < numRows)
-    {
-        RtlDynamicRowBuilder rowBuilder(rowAllocator);
-        size32_t size = helper.getRow(rowBuilder, curRow++);
-        if (size)
-        {
-            processed++;
-            return rowBuilder.finalizeRowClear(size);
-        }
-    }
-    return NULL;
-}
-
-//=====================================================================================================
-
 CHThorInlineTableActivity::CHThorInlineTableActivity(IAgentContext &_agent, unsigned _activityId, unsigned _subgraphId, IHThorInlineTableArg &_arg, ThorActivityKind _kind) :
                  CHThorSimpleActivityBase(_agent, _activityId, _subgraphId, _arg, _kind), helper(_arg)
 {
@@ -9894,8 +9834,6 @@ MAKEFACTORY(AllJoin);
 MAKEFACTORY(WorkUnitWrite);
 MAKEFACTORY(DictionaryWorkUnitWrite);
 MAKEFACTORY(FirstN);
-MAKEFACTORY(Count);
-MAKEFACTORY(TempTable);
 MAKEFACTORY(InlineTable);
 MAKEFACTORY_ARG(Concat, Funnel);
 MAKEFACTORY(Apply);

+ 0 - 2
ecl/hthor/hthor.hpp

@@ -106,8 +106,6 @@ extern HTHOR_API IHThorActivity *createAllJoinActivity(IAgentContext &, unsigned
 extern HTHOR_API IHThorActivity *createWorkUnitWriteActivity(IAgentContext &, unsigned _activityId, unsigned _subgraphId, IHThorWorkUnitWriteArg &arg, ThorActivityKind kind);
 extern HTHOR_API IHThorActivity *createDictionaryWorkUnitWriteActivity(IAgentContext &, unsigned _activityId, unsigned _subgraphId, IHThorDictionaryWorkUnitWriteArg &arg, ThorActivityKind kind);
 extern HTHOR_API IHThorActivity *createFirstNActivity(IAgentContext &, unsigned _activityId, unsigned _subgraphId, IHThorFirstNArg &arg, ThorActivityKind kind);
-extern HTHOR_API IHThorActivity *createCountActivity(IAgentContext &, unsigned _activityId, unsigned _subgraphId, IHThorCountArg &arg, ThorActivityKind kind);
-extern HTHOR_API IHThorActivity *createTempTableActivity(IAgentContext &, unsigned _activityId, unsigned _subgraphId, IHThorTempTableArg &arg, ThorActivityKind kind);
 extern HTHOR_API IHThorActivity *createInlineTableActivity(IAgentContext &, unsigned _activityId, unsigned _subgraphId, IHThorInlineTableArg &arg, ThorActivityKind kind);
 extern HTHOR_API IHThorActivity *createConcatActivity(IAgentContext &, unsigned _activityId, unsigned _subgraphId, IHThorFunnelArg &arg, ThorActivityKind kind);
 extern HTHOR_API IHThorActivity *createApplyActivity(IAgentContext &, unsigned _activityId, unsigned _subgraphId, IHThorApplyArg &arg, ThorActivityKind kind);

+ 0 - 36
ecl/hthor/hthor.ipp

@@ -1480,18 +1480,6 @@ public:
     virtual bool needsAllocator() const { return true; }
 };
 
-class CHThorCountActivity : public CHThorActivityBase
-{
-    IHThorCountArg &helper;
-
-public:
-    IMPLEMENT_SINKACTIVITY;
-
-    CHThorCountActivity (IAgentContext &agent, unsigned _activityId, unsigned _subgraphId, IHThorCountArg &_arg, ThorActivityKind _kind);
-    virtual __int64 getCount();
-};
-
-
 class CHThorRemoteResultActivity : public CHThorActivityBase
 {
     IHThorRemoteResultArg &helper;
@@ -1538,30 +1526,6 @@ public:
     virtual void execute();
 };
 
-class CHThorTempTableActivity : public CHThorSimpleActivityBase
-{
-    IHThorTempTableArg &helper;
-    unsigned curRow;
-    unsigned numRows;
-
-public:
-    CHThorTempTableActivity(IAgentContext &agent, unsigned _activityId, unsigned _subgraphId, IHThorTempTableArg &_arg, ThorActivityKind _kind);
-
-    virtual void ready();
-    virtual bool needsAllocator() const { return true; }    
-
-    //interface IHThorInput
-    virtual const void *nextInGroup();
-};
-
-/*
- * This class differ from TempTable (above) by having 64-bit number of rows
- * and, in Thor, it's able to run distributed in the cluster. We, therefore,
- * need to keep consistency and implement it here, too.
- *
- * Some optimisations [ex. NORMALIZE(ds) -> DATASET(COUNT)] will make use of
- * this class, so you can't use TempTables.
- */
 class CHThorInlineTableActivity : public CHThorSimpleActivityBase
 {
     IHThorInlineTableArg &helper;

+ 0 - 3
roxie/ccd/ccdquery.cpp

@@ -528,9 +528,6 @@ protected:
             return createRoxieServerSplitActivityFactory(id, subgraphId, *this, helperFactory, kind);
         case TAKstreamediterator:
             return createRoxieServerStreamedIteratorActivityFactory(id, subgraphId, *this, helperFactory, kind);
-        case TAKtemptable:
-        case TAKtemprow:
-            return createRoxieServerTempTableActivityFactory(id, subgraphId, *this, helperFactory, kind);
         case TAKinlinetable:
             return createRoxieServerInlineTableActivityFactory(id, subgraphId, *this, helperFactory, kind);
         case TAKthroughaggregate:

+ 7 - 83
roxie/ccd/ccdserver.cpp

@@ -5226,82 +5226,6 @@ IRoxieServerActivityFactory *createRoxieServerDatasetResultActivityFactory(unsig
 
 //=================================================================================
 
-/*
- * Deprecated in 3.8, this class is being kept for backward compatibility,
- * since now the code generator is using InlineTables (below) for all
- * temporary tables and rows.
- */
-class CRoxieServerTempTableActivity : public CRoxieServerActivity
-{
-    IHThorTempTableArg &helper;
-    unsigned curRow;
-    unsigned numRows;
-
-public:
-    CRoxieServerTempTableActivity(const IRoxieServerActivityFactory *_factory, IProbeManager *_probeManager)
-        : CRoxieServerActivity(_factory, _probeManager), helper((IHThorTempTableArg &) basehelper)
-    {
-        curRow = 0;
-    }
-
-    virtual void start(unsigned parentExtractSize, const byte *parentExtract, bool paused)
-    {
-        curRow = 0;
-        CRoxieServerActivity::start(parentExtractSize, parentExtract, paused);
-        numRows = helper.numRows();
-    }
-
-    virtual bool needsAllocator() const { return true; }
-    virtual const void *nextInGroup()
-    {
-        ActivityTimer t(totalCycles, timeActivities, ctx->queryDebugContext());
-        // Filtering empty rows, returns the next valid row
-        while (curRow < numRows)
-        {
-            RtlDynamicRowBuilder rowBuilder(rowAllocator);
-            unsigned outSize = helper.getRow(rowBuilder, curRow++);
-            if (outSize)
-            {
-                processed++;
-                return rowBuilder.finalizeRowClear(outSize);
-            }
-        }
-        return NULL;
-    }
-
-    virtual void setInput(unsigned idx, IRoxieInput *_in)
-    {
-        throw MakeStringException(ROXIE_SET_INPUT, "Internal error: setInput() called for source activity");
-    }
-
-};
-
-class CRoxieServerTempTableActivityFactory : public CRoxieServerActivityFactory
-{
-
-public:
-    CRoxieServerTempTableActivityFactory(unsigned _id, unsigned _subgraphId, IQueryFactory &_queryFactory, HelperFactory *_helperFactory, ThorActivityKind _kind)
-        : CRoxieServerActivityFactory(_id, _subgraphId, _queryFactory, _helperFactory, _kind)
-    {
-    }
-
-    virtual IRoxieServerActivity *createActivity(IProbeManager *_probeManager) const
-    {
-        return new CRoxieServerTempTableActivity(this, _probeManager);
-    }
-    virtual void setInput(unsigned idx, unsigned source, unsigned sourceidx)
-    {
-        throw MakeStringException(ROXIE_SET_INPUT, "Internal error: setInput() should not be called for TempTable activity");
-    }
-};
-
-IRoxieServerActivityFactory *createRoxieServerTempTableActivityFactory(unsigned _id, unsigned _subgraphId, IQueryFactory &_queryFactory, HelperFactory *_helperFactory, ThorActivityKind _kind)
-{
-    return new CRoxieServerTempTableActivityFactory(_id, _subgraphId, _queryFactory, _helperFactory, _kind);
-}
-
-//=================================================================================
-
 class CRoxieServerInlineTableActivity : public CRoxieServerActivity
 {
     IHThorInlineTableArg &helper;
@@ -25948,12 +25872,12 @@ struct PrefetchProjectActivityTest : public ccdserver_hqlhelper::CThorPrefetchPr
 };
 extern "C" IHThorArg * prefetchProjectActivityTestFactory() { return new PrefetchProjectActivityTest; }
 
-struct TempTableActivityTest : public ccdserver_hqlhelper::CThorTempTableArg {
-    virtual IOutputMetaData * queryOutputMeta() 
+struct InlineTableActivityTest : public ccdserver_hqlhelper::CThorInlineTableArg {
+    virtual IOutputMetaData * queryOutputMeta()
     {
-        return &testMeta; 
+        return &testMeta;
     }
-    virtual size32_t getRow(ARowBuilder & _self, unsigned row) {
+    virtual size32_t getRow(ARowBuilder & _self, __uint64 row) {
         unsigned char * self = (unsigned char *) _self.getSelf();
         switch (row) {
             case 0: {
@@ -25963,11 +25887,11 @@ struct TempTableActivityTest : public ccdserver_hqlhelper::CThorTempTableArg {
         }
         return 0;
     }
-    virtual unsigned numRows() {
+    virtual __uint64 numRows() {
         return 1;
     }
 };
-extern "C" IHThorArg * tempTableActivityTestFactory() { return new TempTableActivityTest; }
+extern "C" IHThorArg * inlineTableActivityTestFactory() { return new InlineTableActivityTest; }
 
 struct SelectNActivityTest : public ccdserver_hqlhelper::CThorSelectNArg {
     virtual IOutputMetaData * queryOutputMeta() 
@@ -26311,7 +26235,7 @@ protected:
         init();
         Owned <IRoxieServerActivityFactory> factory = createRoxieServerPrefetchProjectActivityFactory(1, 1, *queryFactory, prefetchProjectActivityTestFactory, TAKprefetchproject);
         Owned<ActivityArray> childGraph = new ActivityArray(false, false, false, false);
-        IRoxieServerActivityFactory *ttf = createRoxieServerTempTableActivityFactory(2, 1, *queryFactory, tempTableActivityTestFactory, TAKtemptable);
+        IRoxieServerActivityFactory *ttf = createRoxieServerInlineTableActivityFactory(2, 1, *queryFactory, inlineTableActivityTestFactory, TAKinlinetable);
         IRoxieServerActivityFactory *snf = createRoxieServerSelectNActivityFactory(3, 1, *queryFactory, selectNActivityTestFactory, TAKselectn);
         IRoxieServerActivityFactory *lrf = createRoxieServerLocalResultWriteActivityFactory(4, 1, *queryFactory, localResultActivityTestFactory, TAKlocalresultwrite, 0, 8, true);
         childGraph->append(*ttf);

+ 0 - 1
roxie/ccd/ccdserver.hpp

@@ -324,7 +324,6 @@ extern IRoxieServerActivityFactory *createRoxieServerNewChildAggregateActivityFa
 extern IRoxieServerActivityFactory *createRoxieServerNewChildGroupAggregateActivityFactory(unsigned _id, unsigned _subgraphId, IQueryFactory &_queryFactory, HelperFactory *_helperFactory, ThorActivityKind _kind);
 extern IRoxieServerActivityFactory *createRoxieServerNewChildThroughNormalizeActivityFactory(unsigned _id, unsigned _subgraphId, IQueryFactory &_queryFactory, HelperFactory *_helperFactory, ThorActivityKind _kind);
 extern IRoxieServerActivityFactory *createRoxieServerDatasetResultActivityFactory(unsigned _id, unsigned _subgraphId, IQueryFactory &_queryFactory, HelperFactory *_helperFactory, ThorActivityKind _kind, bool _isRoot);
-extern IRoxieServerActivityFactory *createRoxieServerTempTableActivityFactory(unsigned _id, unsigned _subgraphId, IQueryFactory &_queryFactory, HelperFactory *_helperFactory, ThorActivityKind _kind);
 extern IRoxieServerActivityFactory *createRoxieServerInlineTableActivityFactory(unsigned _id, unsigned _subgraphId, IQueryFactory &_queryFactory, HelperFactory *_helperFactory, ThorActivityKind _kind);
 extern IRoxieServerActivityFactory *createRoxieServerWorkUnitReadActivityFactory(unsigned _id, unsigned _subgraphId, IQueryFactory &_queryFactory, HelperFactory *_helperFactory, ThorActivityKind _kind);
 extern IRoxieServerActivityFactory *createRoxieServerLocalResultReadActivityFactory(unsigned _id, unsigned _subgraphId, IQueryFactory &_queryFactory, HelperFactory *_helperFactory, ThorActivityKind _kind, unsigned graphId);

+ 1 - 23
rtl/include/eclhelper.hpp

@@ -703,7 +703,6 @@ enum ThorActivityKind
     TAKworkunitwrite,
     TAKfunnel,
     TAKapply,
-    TAKtemptable,
     TAKhashdistribute,
     TAKhashdedup,
     TAKnormalize,
@@ -831,7 +830,6 @@ enum ThorActivityKind
     TAKlinkedrawiterator,
     TAKnormalizelinkedchild,
     TAKfilterproject,
-    TAKtemprow,
     TAKdiskexists,              // non-grouped count of dataset (not child), (may filter input)
     TAKindexexists,
     TAKchildexists,
@@ -866,7 +864,6 @@ enum ActivityInterfaceEnum
     TAIarg,
     TAIpipereadarg_1,
     TAIindexwritearg_1,
-    TAIcountarg_1,
     TAIfirstnarg_1,
     TAIchoosesetsarg_1,
     TAIchoosesetsexarg_1,
@@ -897,7 +894,6 @@ enum ActivityInterfaceEnum
     TAIthroughaggregateextra_1,
     TAIdistributionarg_1,
     TAIhashaggregateextra_1,
-    TAItemptablearg_1,
     TAIsamplearg_1,
     TAIentharg_1,
     TAIfunnelarg_1,
@@ -1149,10 +1145,6 @@ struct IHThorIndexWriteArg : public IHThorArg
     virtual ICompare * queryCompare() = 0;          // only guaranteed present if TIWhaswidth defined
 };
 
-struct IHThorCountArg : public IHThorArg
-{
-};
-
 struct IHThorFirstNArg : public IHThorArg
 {
     virtual __int64 getLimit() = 0;
@@ -1187,7 +1179,7 @@ struct IHThorDiskWriteArg : public IHThorArg
     virtual void getUpdateCRCs(unsigned & eclCRC, unsigned __int64 & totalCRC) = 0;
     virtual void getEncryptKey(size32_t & keyLen, void * & key) = 0;
     virtual unsigned getFormatCrc() = 0;
-    virtual const char * getCluster(unsigned idx) = 0;        // result only valid until next call.
+    virtual const char * getCluster(unsigned idx) = 0;
 };
 
 struct IHThorFilterArg : public IHThorArg
@@ -1444,20 +1436,6 @@ struct IHThorHashAggregateArg : public IHThorAggregateArg, public IHThorHashAggr
     COMMON_NEWTHOR_FUNCTIONS
 };
 
-/*
- * This class has been deprecated in 3.8 in favour of IHThorInlineTableArg.
- * CThorTempRowArg also now derives from IHThorInlineTableArg.
- *
- * As of 3.8, only old code will implement this interface.
- */
-struct IHThorTempTableArg : public IHThorArg
-{
-    virtual size32_t getRow(ARowBuilder & rowBuilder, unsigned row) = 0;
-    virtual unsigned numRows() = 0;
-    virtual bool isConstant()                           { return true; }    // deprecated in favour of getFlags
-    virtual size32_t getRowSingle(ARowBuilder & rowBuilder) = 0;            // deprecated, TempRow derives from InlineTable
-};
-
 struct IHThorInlineTableArg : public IHThorArg
 {
     virtual size32_t getRow(ARowBuilder & rowBuilder, __uint64 row) = 0;

+ 0 - 44
rtl/include/eclhelper_base.hpp

@@ -352,27 +352,6 @@ public:
     virtual ICompare * queryCompare() { return NULL; }
 };
 
-//I don't think this is ever used....
-class CThorCountArg : public CThorArg, implements IHThorCountArg
-{
-    virtual void Link() const { RtlCInterface::Link(); }
-    virtual bool Release() const { return RtlCInterface::Release(); }
-    virtual IOutputMetaData * queryOutputMeta() { return NULL; }
-    virtual void onCreate(ICodeContext * _ctx, IHThorArg *, MemoryBuffer * in) { ctx = _ctx; }
-
-
-    virtual IInterface * selectInterface(ActivityInterfaceEnum which)                       
-    { 
-        switch (which)
-        {
-        case TAIarg:
-        case TAIcountarg_1:
-            return static_cast<IHThorCountArg *>(this);
-        }
-        return NULL;
-    }
-};
-
 class CThorFirstNArg : public CThorArg, implements IHThorFirstNArg
 {
     virtual void Link() const { RtlCInterface::Link(); }
@@ -1324,29 +1303,6 @@ class CThorHashAggregateArg : public CThorArg, implements IHThorHashAggregateArg
     virtual size32_t mergeAggregate(ARowBuilder & rowBuilder, const void * src) { rtlFailUnexpected(); return 0; }
 };
 
-class CThorTempTableArg : public CThorArg, implements IHThorTempTableArg
-{
-public:
-    virtual void Link() const { RtlCInterface::Link(); }
-    virtual bool Release() const { return RtlCInterface::Release(); }
-    virtual void onCreate(ICodeContext * _ctx, IHThorArg *, MemoryBuffer * in) { ctx = _ctx; }
-
-    virtual IInterface * selectInterface(ActivityInterfaceEnum which)
-    {
-        switch (which)
-        {
-        case TAIarg:
-        case TAItemptablearg_1:
-            return static_cast<IHThorTempTableArg *>(this);
-        }
-        return NULL;
-    }
-
-    virtual unsigned getFlags()                         { return 0; }
-    virtual bool isConstant()                           { return (getFlags() & TTFnoconstant) == 0; }
-    virtual size32_t getRowSingle(ARowBuilder & rowBuilder) { return 0; }
-};
-
 class CThorInlineTableArg : public CThorArg, implements IHThorInlineTableArg
 {
 public:

+ 3 - 79
thorlcr/activities/temptable/thtmptableslave.cpp

@@ -23,86 +23,10 @@
 #include "thactivityutil.ipp"
 
 /*
- * Deprecated in 3.8, this class is being kept for backward compatibility,
- * since now the code generator is using InlineTables (below) for all
- * temporary tables and rows.
- */
-class CTempTableSlaveActivity : public CSlaveActivity, public CThorDataLink
-{
-private:
-    IHThorTempTableArg * helper;
-    bool empty;
-    unsigned currentRow;
-    unsigned numRows;
-    size32_t maxrecsize;
-    bool isLocal;
-public:
-    IMPLEMENT_IINTERFACE_USING(CSimpleInterface);
-
-    CTempTableSlaveActivity(CGraphElementBase *_container) : CSlaveActivity(_container), CThorDataLink(this) { }
-    virtual bool isGrouped() { return false; }
-    void init(MemoryBuffer &data, MemoryBuffer &slaveData)
-    {
-        appendOutputLinked(this);
-        isLocal = false;
-        helper = static_cast <IHThorTempTableArg *> (queryHelper());
-    }
-    void start()
-    {
-        ActivityTimer s(totalCycles, timeActivities, NULL);
-        dataLinkStart("TEMPTABLE", container.queryId());
-        currentRow = 0;
-        isLocal = container.queryOwnerId() && container.queryOwner().isLocalOnly();
-        empty = isLocal ? false : !firstNode();
-        numRows = helper->numRows();
-    }
-    void stop()
-    {
-        dataLinkStop();
-    }
-    CATCH_NEXTROW()
-    {
-        ActivityTimer t(totalCycles, timeActivities, NULL);
-        if (empty || abortSoon)
-            return NULL;
-        // Filtering empty rows, returns the next valid row
-        while (currentRow < numRows) {
-            RtlDynamicRowBuilder row(queryRowAllocator());
-            size32_t sizeGot = helper->getRow(row, currentRow++);
-            if (sizeGot)
-            {
-                dataLinkIncrement();
-                return row.finalizeRowClear(sizeGot);
-            }
-        }
-        return NULL;
-    }
-    void getMetaInfo(ThorDataLinkMetaInfo &info)
-    {
-        initMetaInfo(info);
-        info.isSource = true;
-        info.unknownRowsOutput = false;
-        if (isLocal || firstNode())
-            info.totalRowsMin = helper->numRows();
-        else
-            info.totalRowsMin = 0;
-        info.totalRowsMax = info.totalRowsMin;
-    }
-};
-
-CActivityBase *createTempTableSlave(CGraphElementBase *container)
-{
-    return new CTempTableSlaveActivity(container);
-}
-
-/*
- * This class is essentially a temp table, but this could be used for creating massive
- * test tables and will also be used when optimising NORMALISE(ds, count) to
- * DATASET(count, transform), so could end up consuming a lot of rows.
+ * This class can be used for creating massive temp tables and will also be used
+ * when optimising NORMALISE(ds, count) to DATASET(count, transform), so could end
+ * up consuming a lot of rows.
  *
- * It also uses an extended version of the helper (to get distributed flag), and it was
- * simple enough to clone. Should be simpler to deprecate the old 32bit temp table
- * in the future, too.
  */
 class CInlineTableSlaveActivity : public CSlaveActivity, public CThorDataLink
 {

+ 1 - 6
thorlcr/activities/temptable/thtmptableslave.ipp

@@ -20,15 +20,10 @@
 
 #include "platform.h"
 #include "jiface.hpp"       // IInterface defined in jlib   
-#include "eclhelper.hpp"        // for IHThorTempTableArg
+#include "eclhelper.hpp"        // for IHThorInlineTableArg
 #include "slave.ipp"
 #include "thactivityutil.ipp"
 
-
-
-activityslaves_decl CActivityBase *createTempTableSlave(CGraphElementBase *container);
-
-
 activityslaves_decl CActivityBase *createInlineTableSlave(CGraphElementBase *container);
 
 

+ 0 - 2
thorlcr/graph/thgraph.cpp

@@ -961,9 +961,7 @@ bool isGlobalActivity(CGraphElementBase &container)
         case TAKstreamediterator:
         case TAKworkunitread:
         case TAKchilddataset:
-        case TAKtemptable:
         case TAKinlinetable:
-        case TAKtemprow:
         case TAKnull:
         case TAKemptyaction:
         case TAKlocalresultread:

+ 0 - 2
thorlcr/master/thactivitymaster.cpp

@@ -126,9 +126,7 @@ public:
             case TAKnormalize:
             case TAKnormalizechild:
             case TAKnormalizelinkedchild:
-            case TAKtemptable:
             case TAKinlinetable:
-            case TAKtemprow:
             case TAKpull:
             case TAKnull:
             case TAKpiperead:

+ 0 - 4
thorlcr/slave/slave.cpp

@@ -481,10 +481,6 @@ public:
             case TAKapply:
                 ret = createApplySlave(this);
                 break;
-            case TAKtemptable:
-            case TAKtemprow:
-                ret = createTempTableSlave(this);
-                break;
             case TAKinlinetable:
                 ret = createInlineTableSlave(this);
                 break;