Browse Source

HPCC-8556 Refactor const char * query functions from helpers

Rename some queryXXX functions to getXXX and support values that are not
compile-time constant.

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
Richard Chapman 12 years ago
parent
commit
677b98b2b8

+ 12 - 12
ecl/hqlcpp/hqlckey.cpp

@@ -1573,16 +1573,16 @@ ABoundActivity * HqlCppTranslator::doBuildActivityKeyDiff(BuildCtx & ctx, IHqlEx
     if (flags.length())
         doBuildUnsignedFunction(instance->classctx, "getFlags", flags.str()+1);
 
-    //virtual const char * queryOriginalName() = 0;         // may be null
-    buildRefFilenameFunction(*instance, instance->startctx, "queryOriginalName", original);
+    //virtual const char * getOriginalName() = 0;         // may be null
+    buildRefFilenameFunction(*instance, instance->startctx, "getOriginalName", original);
     noteAllFieldsUsed(original);
 
-    //virtual const char * queryPatchName() = 0;
-    buildRefFilenameFunction(*instance, instance->startctx, "queryUpdatedName", updated);
+    //virtual const char * getUpdatedName() = 0;
+    buildRefFilenameFunction(*instance, instance->startctx, "getUpdatedName", updated);
     noteAllFieldsUsed(updated);
 
-    //virtual const char * queryOutputName() = 0;
-    buildFilenameFunction(*instance, instance->startctx, "queryOutputName", output, hasDynamicFilename(expr));
+    //virtual const char * getOutputName() = 0;
+    buildFilenameFunction(*instance, instance->startctx, "getOutputName", output, hasDynamicFilename(expr));
 
     //virtual int getSequence() = 0;
     doBuildSequenceFunc(instance->classctx, querySequence(expr), false);
@@ -1617,15 +1617,15 @@ ABoundActivity * HqlCppTranslator::doBuildActivityKeyPatch(BuildCtx & ctx, IHqlE
     if (flags.length())
         doBuildUnsignedFunction(instance->classctx, "getFlags", flags.str()+1);
 
-    //virtual const char * queryOriginalName() = 0;
-    buildRefFilenameFunction(*instance, instance->startctx, "queryOriginalName", original);
+    //virtual const char * getOriginalName() = 0;
+    buildRefFilenameFunction(*instance, instance->startctx, "getOriginalName", original);
     noteAllFieldsUsed(original);
 
-    //virtual const char * queryPatchName() = 0;
-    buildFilenameFunction(*instance, instance->startctx, "queryPatchName", patch, true);
+    //virtual const char * getPatchName() = 0;
+    buildFilenameFunction(*instance, instance->startctx, "getPatchName", patch, true);
 
-    //virtual const char * queryOutputName() = 0;
-    buildFilenameFunction(*instance, instance->startctx, "queryOutputName", output, hasDynamicFilename(expr));
+    //virtual const char * getOutputName() = 0;
+    buildFilenameFunction(*instance, instance->startctx, "getOutputName", output, hasDynamicFilename(expr));
 
     //virtual int getSequence() = 0;
     doBuildSequenceFunc(instance->classctx, querySequence(expr), false);

+ 1 - 1
ecl/hqlcpp/hqlhtcpp.cpp

@@ -16085,7 +16085,7 @@ ABoundActivity * HqlCppTranslator::doBuildActivityWorkunitRead(BuildCtx & ctx, I
         }
 
         if (wuid)
-            doBuildVarStringFunction(instance->classctx, "queryWUID", wuid->queryChild(0));
+            doBuildVarStringFunction(instance->classctx, "getWUID", wuid->queryChild(0));
 
         bool usesContents = false;
         if (isStored || (targetRoxie() && (sequenceValue >= 0)))

+ 5 - 4
ecl/hthor/hthor.cpp

@@ -6654,11 +6654,11 @@ void CHThorWorkunitReadActivity::ready()
     grouped = outputMeta.isGrouped();
     unsigned lenData;
     void * tempData;
-    const char * wuid = helper.queryWUID();
+    OwnedRoxieString fromWuid(helper.getWUID());
     ICsvToRowTransformer * csvTransformer = helper.queryCsvTransformer();
     IXmlToRowTransformer * xmlTransformer = helper.queryXmlTransformer();
-    if (wuid)
-        agent.queryCodeContext()->getExternalResultRaw(lenData, tempData, wuid, helper.queryName(), helper.querySequence(), xmlTransformer, csvTransformer);
+    if (fromWuid)
+        agent.queryCodeContext()->getExternalResultRaw(lenData, tempData, fromWuid, helper.queryName(), helper.querySequence(), xmlTransformer, csvTransformer);
     else
         agent.queryCodeContext()->getResultRaw(lenData, tempData, helper.queryName(), helper.querySequence(), xmlTransformer, csvTransformer);
     resultBuffer.setBuffer(lenData, tempData, true);
@@ -6668,7 +6668,8 @@ void CHThorWorkunitReadActivity::ready()
 void CHThorWorkunitReadActivity::checkForDiskRead()
 {
     StringBuffer diskFilename;
-    if(agent.getWorkunitResultFilename(diskFilename, helper.queryWUID(), helper.queryName(), helper.querySequence()))
+    OwnedRoxieString fromWuid(helper.getWUID());
+    if (agent.getWorkunitResultFilename(diskFilename, fromWuid, helper.queryName(), helper.querySequence()))
     {
         diskreadHelper.setown(createWorkUnitReadArg(diskFilename.str(), &helper));
         try

+ 2 - 1
roxie/ccd/ccdserver.cpp

@@ -5396,7 +5396,8 @@ public:
     {
         CRoxieServerActivity::start(parentExtractSize, parentExtract, paused);
         IXmlToRowTransformer * xmlTransformer = helper.queryXmlTransformer();
-        if (helper.queryWUID())
+        OwnedRoxieString fromWuid(helper.getWUID());
+        if (fromWuid)
             UNIMPLEMENTED;
         wuReader.setown(ctx->getWorkunitRowReader(helper.queryName(), helper.querySequence(), xmlTransformer, rowAllocator, meta.isGrouped()));
         // MORE _ should that be in onCreate?

+ 2 - 2
roxie/roxiemem/roxiemem.hpp

@@ -345,8 +345,8 @@ public:
     inline operator const char *() const { return ptr; }
     inline const char * get() const { return ptr; }
     inline const char * getLink() const { LinkRoxieRow(ptr); return ptr; }
-    inline void set(const char * _ptr) { const char * temp = ptr; if (_ptr) LinkRoxieRow(_ptr); ptr = _ptr; ReleaseRoxieRow(temp); }
-    inline void setown(const char * _ptr) { const char * temp = ptr; ptr = _ptr; ReleaseRoxieRow(temp); }
+    inline const char * set(const char * _ptr) { const char * temp = ptr; if (_ptr) LinkRoxieRow(_ptr); ptr = _ptr; ReleaseRoxieRow(temp); return ptr; }
+    inline const char * setown(const char * _ptr) { const char * temp = ptr; ptr = _ptr; ReleaseRoxieRow(temp); return ptr; }
 
 private:
     /* Disable use of some constructs that often cause memory leaks by creating private members */

+ 7 - 7
rtl/include/eclhelper.hpp

@@ -1869,9 +1869,9 @@ enum
 struct IHThorKeyDiffArg : public IHThorArg
 {
     virtual unsigned getFlags() = 0;
-    virtual const char * queryOriginalName() = 0;
-    virtual const char * queryUpdatedName() = 0;
-    virtual const char * queryOutputName() = 0;
+    virtual const char * getOriginalName() = 0;
+    virtual const char * getUpdatedName() = 0;
+    virtual const char * getOutputName() = 0;
     virtual int getSequence() = 0;
     virtual unsigned getExpiryDays() = 0;
 };
@@ -1879,9 +1879,9 @@ struct IHThorKeyDiffArg : public IHThorArg
 struct IHThorKeyPatchArg : public IHThorArg
 {
     virtual unsigned getFlags() = 0;
-    virtual const char * queryOriginalName() = 0;           // may be null
-    virtual const char * queryPatchName() = 0;
-    virtual const char * queryOutputName() = 0;
+    virtual const char * getOriginalName() = 0;           // may be null
+    virtual const char * getPatchName() = 0;
+    virtual const char * getOutputName() = 0;
     virtual int getSequence() = 0;
     virtual unsigned getExpiryDays() = 0;
 };
@@ -1895,7 +1895,7 @@ struct IHThorWorkunitReadArg : public IHThorArg
 {
     virtual const char * queryName() = 0;
     virtual int querySequence() = 0;
-    virtual const char * queryWUID() = 0;
+    virtual const char * getWUID() = 0;
     virtual ICsvToRowTransformer * queryCsvTransformer() = 0;
     virtual IXmlToRowTransformer * queryXmlTransformer() = 0;
 };

+ 1 - 1
rtl/include/eclhelper_base.hpp

@@ -2167,7 +2167,7 @@ class CThorWorkunitReadArg : public CThorArg, implements IHThorWorkunitReadArg
     }
 
     virtual int querySequence() { return -3; }
-    virtual const char * queryWUID() { return NULL; }
+    virtual const char * getWUID() { return NULL; }
     virtual ICsvToRowTransformer * queryCsvTransformer() { return NULL; }
     virtual IXmlToRowTransformer * queryXmlTransformer() { return NULL; }
 };

+ 14 - 10
thorlcr/activities/keydiff/thkeydiff.cpp

@@ -47,11 +47,12 @@ public:
     void init()
     {
         helper = (IHThorKeyDiffArg *)queryHelper();
-
-        originalIndexFile.setown(queryThorFileManager().lookup(container.queryJob(), helper->queryOriginalName()));
-        newIndexFile.setown(queryThorFileManager().lookup(container.queryJob(), helper->queryUpdatedName()));
+        OwnedRoxieString origName(helper->getOriginalName());
+        OwnedRoxieString updatedName(helper->getUpdatedName());
+        originalIndexFile.setown(queryThorFileManager().lookup(container.queryJob(), origName));
+        newIndexFile.setown(queryThorFileManager().lookup(container.queryJob(), updatedName));
         if (originalIndexFile->numParts() != newIndexFile->numParts())
-            throw MakeActivityException(this, TE_KeyDiffIndexSizeMismatch, "Index %s and %s differ in width", helper->queryOriginalName(), helper->queryUpdatedName());
+            throw MakeActivityException(this, TE_KeyDiffIndexSizeMismatch, "Index %s and %s differ in width", origName.get(), updatedName.get());
         if (originalIndexFile->querySuperFile() || newIndexFile->querySuperFile())
             throw MakeActivityException(this, 0, "Diffing super files not supported");  
 
@@ -72,8 +73,9 @@ public:
         queryThorFileManager().noteFileRead(container.queryJob(), newIndexFile);
 
         IArrayOf<IGroup> groups;
-        fillClusterArray(container.queryJob(), helper->queryOutputName(), clusters, groups);
-        patchDesc.setown(queryThorFileManager().create(container.queryJob(), helper->queryOutputName(), clusters, groups, 0 != (KDPoverwrite & helper->getFlags()), 0, !local, width));
+        OwnedRoxieString outputName(helper->getOutputName());
+        fillClusterArray(container.queryJob(), outputName, clusters, groups);
+        patchDesc.setown(queryThorFileManager().create(container.queryJob(), outputName, clusters, groups, 0 != (KDPoverwrite & helper->getFlags()), 0, !local, width));
     }
     void serializeSlaveData(MemoryBuffer &dst, unsigned slave)
     {
@@ -149,7 +151,8 @@ public:
     void done()
     {
         StringBuffer scopedName;
-        queryThorFileManager().addScope(container.queryJob(), helper->queryOutputName(), scopedName);
+        OwnedRoxieString outputName(helper->getOutputName());
+        queryThorFileManager().addScope(container.queryJob(), outputName, scopedName);
         Owned<IWorkUnit> wu = &container.queryJob().queryWorkUnit().lock();
         Owned<IWUResult> r = wu->updateResultBySequence(helper->getSequence());
         r->setResultStatus(ResultStatusCalculated);
@@ -164,10 +167,10 @@ public:
             patchProps.setProp("ECL", originalProps.queryProp("ECL"));
         if (originalProps.getPropBool("@local"))
             patchProps.setPropBool("@local", true);
-        container.queryTempHandler()->registerFile(helper->queryOutputName(), container.queryOwner().queryGraphId(), 0, false, WUFileStandard, &clusters);
+        container.queryTempHandler()->registerFile(outputName, container.queryOwner().queryGraphId(), 0, false, WUFileStandard, &clusters);
         Owned<IDistributedFile> patchFile;
         // set part sizes etc
-        queryThorFileManager().publish(container.queryJob(), helper->queryOutputName(), false, *patchDesc, &patchFile, 0, false);
+        queryThorFileManager().publish(container.queryJob(), outputName, false, *patchDesc, &patchFile, 0, false);
         try { // set file size
             if (patchFile) {
                 __int64 fs = patchFile->getFileSize(true,false);
@@ -203,7 +206,8 @@ public:
         if (0==(KDPoverwrite & helper->getFlags()))
         {
             if (KDPvaroutputname & helper->getFlags()) return;
-            Owned<IDistributedFile> file = queryThorFileManager().lookup(container.queryJob(), helper->queryOutputName(), false, true);
+            OwnedRoxieString outputName(helper->getOutputName());
+            Owned<IDistributedFile> file = queryThorFileManager().lookup(container.queryJob(), outputName, false, true);
             if (file)
                 throw MakeActivityException(this, TE_OverwriteNotSpecified, "Cannot write %s, file already exists (missing OVERWRITE attribute?)", file->queryLogicalName());
         }

+ 8 - 5
thorlcr/activities/keydiff/thkeydiffslave.cpp

@@ -77,8 +77,10 @@ public:
         }
 
         StringBuffer originalFilePart, updatedFilePart;
-        locateFilePartPath(this, helper->queryOriginalName(), *originalIndexPart, originalFilePart);
-        locateFilePartPath(this, helper->queryUpdatedName(), *updatedIndexPart, updatedFilePart);
+        OwnedRoxieString origName(helper->getOriginalName());
+        OwnedRoxieString updatedName(helper->getUpdatedName());
+        locateFilePartPath(this, origName, *originalIndexPart, originalFilePart);
+        locateFilePartPath(this, updatedName, *updatedIndexPart, updatedFilePart);
         StringBuffer patchFilePath;
         getPartFilename(*patchPart, 0, patchFilePath);
         if (globals->getPropBool("@replicateAsync", true))
@@ -94,8 +96,8 @@ public:
             if (!copyTlk)
             {
                 StringBuffer tmp;
-                locateFilePartPath(this, tmp.clear().append(helper->queryOriginalName()).append(" [TLK]").str(), *originalIndexTlkPart, originalFilePart.clear());
-                locateFilePartPath(this, tmp.clear().append(helper->queryUpdatedName()).append(" [TLK]").str(), *updatedIndexTlkPart, updatedFilePart.clear());
+                locateFilePartPath(this, tmp.clear().append(origName).append(" [TLK]").str(), *originalIndexTlkPart, originalFilePart.clear());
+                locateFilePartPath(this, tmp.clear().append(updatedName).append(" [TLK]").str(), *updatedIndexTlkPart, updatedFilePart.clear());
                 getPartFilename(*patchTlkPart, 0, tmp.clear());
                 tlkDiffGenerator.setown(createKeyDiffGenerator(originalFilePart.str(), updatedFilePart.str(), tmp.str(), 0, true, COMPRESS_METHOD_LZMA));
             }
@@ -126,7 +128,8 @@ public:
                 {
                     StringBuffer patchFilePathTlk, updatedFilePartTlk, tmp;
                     getPartFilename(*patchTlkPart, 0, patchFilePathTlk);
-                    locateFilePartPath(this, tmp.append(helper->queryUpdatedName()).append(" [TLK]").str(), *updatedIndexTlkPart, updatedFilePartTlk);
+                    OwnedRoxieString updatedName(helper->getUpdatedName());
+                    locateFilePartPath(this, tmp.append(updatedName).append(" [TLK]").str(), *updatedIndexTlkPart, updatedFilePartTlk);
                     OwnedIFile dstIFileTlk = createIFile(patchFilePathTlk.str());
                     OwnedIFile updatedIFileTlk = createIFile(updatedFilePartTlk.str());
                     copyFile(dstIFileTlk, updatedIFileTlk);

+ 14 - 9
thorlcr/activities/keypatch/thkeypatch.cpp

@@ -46,11 +46,13 @@ public:
     {
         helper = (IHThorKeyPatchArg *)queryHelper();
 
-        Owned<IDistributedFile> originalIndexFile = queryThorFileManager().lookup(container.queryJob(), helper->queryOriginalName());
-        Owned<IDistributedFile> patchFile = queryThorFileManager().lookup(container.queryJob(), helper->queryPatchName());
+        OwnedRoxieString originalName(helper->getOriginalName());
+        OwnedRoxieString patchName(helper->getPatchName());
+        Owned<IDistributedFile> originalIndexFile = queryThorFileManager().lookup(container.queryJob(), originalName);
+        Owned<IDistributedFile> patchFile = queryThorFileManager().lookup(container.queryJob(), patchName);
         
         if (originalIndexFile->numParts() != patchFile->numParts())
-            throw MakeActivityException(this, TE_KeyPatchIndexSizeMismatch, "Index %s and patch %s differ in width", helper->queryOriginalName(), helper->queryPatchName());
+            throw MakeActivityException(this, TE_KeyPatchIndexSizeMismatch, "Index %s and patch %s differ in width", originalName.get(), patchName.get());
         if (originalIndexFile->querySuperFile() || patchFile->querySuperFile())
             throw MakeActivityException(this, 0, "Patching super files not supported");
         
@@ -69,8 +71,9 @@ public:
             throw MakeActivityException(this, 0, "Unsupported: keypatch(%s, %s) - Cannot patch a key that's wider(%d) than the target cluster size(%d)", originalIndexFile->queryLogicalName(), patchFile->queryLogicalName(), width, container.queryJob().querySlaves());
 
         IArrayOf<IGroup> groups;
-        fillClusterArray(container.queryJob(), helper->queryOutputName(), clusters, groups);
-        newIndexDesc.setown(queryThorFileManager().create(container.queryJob(), helper->queryOutputName(), clusters, groups, 0 != (KDPoverwrite & helper->getFlags()), 0, !local, width));
+        OwnedRoxieString outputName(helper->getOutputName());
+        fillClusterArray(container.queryJob(), outputName, clusters, groups);
+        newIndexDesc.setown(queryThorFileManager().create(container.queryJob(), outputName, clusters, groups, 0 != (KDPoverwrite & helper->getFlags()), 0, !local, width));
         if (!local)
             newIndexDesc->queryPart(newIndexDesc->numParts()-1)->queryProperties().setProp("@kind", "topLevelKey");
     }
@@ -133,7 +136,8 @@ public:
     void done()
     {
         StringBuffer scopedName;
-        queryThorFileManager().addScope(container.queryJob(), helper->queryOutputName(), scopedName);
+        OwnedRoxieString outputName(helper->getOutputName());
+        queryThorFileManager().addScope(container.queryJob(), outputName, scopedName);
         Owned<IWorkUnit> wu = &container.queryJob().queryWorkUnit().lock();
         Owned<IWUResult> r = wu->updateResultBySequence(helper->getSequence());
         r->setResultStatus(ResultStatusCalculated);
@@ -156,8 +160,8 @@ public:
         if (originalProps.getPropBool("@local"))
             props.setPropBool("@local", true);
 
-        container.queryTempHandler()->registerFile(helper->queryOutputName(), container.queryOwner().queryGraphId(), 0, false, WUFileStandard, &clusters);
-        queryThorFileManager().publish(container.queryJob(), helper->queryOutputName(), false, *newIndexDesc);
+        container.queryTempHandler()->registerFile(outputName, container.queryOwner().queryGraphId(), 0, false, WUFileStandard, &clusters);
+        queryThorFileManager().publish(container.queryJob(), outputName, false, *newIndexDesc);
     }
     void preStart(size32_t parentExtractSz, const byte *parentExtract)
     {
@@ -166,7 +170,8 @@ public:
         if (0==(KDPoverwrite & helper->getFlags()))
         {
             if (KDPvaroutputname & helper->getFlags()) return;
-            Owned<IDistributedFile> file = queryThorFileManager().lookup(container.queryJob(), helper->queryOutputName(), false, true);
+            OwnedRoxieString outputName(helper->getOutputName());
+            Owned<IDistributedFile> file = queryThorFileManager().lookup(container.queryJob(), outputName, false, true);
             if (file)
                 throw MakeActivityException(this, TE_OverwriteNotSpecified, "Cannot write %s, file already exists (missing OVERWRITE attribute?)", file->queryLogicalName());
         }

+ 8 - 5
thorlcr/activities/keypatch/thkeypatchslave.cpp

@@ -77,8 +77,10 @@ public:
         }
 
         StringBuffer originalFilePart, patchFilePart;
-        locateFilePartPath(this, helper->queryOriginalName(), *originalIndexPart, originalFilePart);
-        locateFilePartPath(this, helper->queryPatchName(), *patchPart, patchFilePart);
+        OwnedRoxieString originalName(helper->getOriginalName());
+        OwnedRoxieString patchName(helper->getPatchName());
+        locateFilePartPath(this, originalName, *originalIndexPart, originalFilePart);
+        locateFilePartPath(this, patchName, *patchPart, patchFilePart);
 
         StringBuffer newIndexFilePath;
         getPartFilename(*newIndexPart, 0, newIndexFilePath);
@@ -95,8 +97,8 @@ public:
             if (!copyTlk)
             {
                 StringBuffer tmp;
-                locateFilePartPath(this, tmp.clear().append(helper->queryOriginalName()).append(" [TLK]").str(), *originalIndexTlkPart, originalFilePart);
-                locateFilePartPath(this, tmp.clear().append(helper->queryPatchName()).append(" [TLK]").str(), *patchTlkPart, patchFilePart);
+                locateFilePartPath(this, tmp.clear().append(originalName).append(" [TLK]").str(), *originalIndexTlkPart, originalFilePart);
+                locateFilePartPath(this, tmp.clear().append(patchName).append(" [TLK]").str(), *patchTlkPart, patchFilePart);
                 getPartFilename(*newIndexTlkPart, 0, tmp.clear());
                 tlkPatchApplicator.setown(createKeyDiffApplicator(patchFilePart.str(), originalFilePart.str(), tmp.str(), NULL, true, true));
             }
@@ -123,7 +125,8 @@ public:
                 {
                     StringBuffer newFilePathTlk, patchFilePathTlk, tmp;
                     getPartFilename(*newIndexTlkPart, 0, newFilePathTlk);
-                    locateFilePartPath(this, tmp.append(helper->queryPatchName()).append(" [TLK]").str(), *patchTlkPart, patchFilePathTlk);
+                    OwnedRoxieString patchName(helper->getPatchName());
+                    locateFilePartPath(this, tmp.append(patchName).append(" [TLK]").str(), *patchTlkPart, patchFilePathTlk);
                     OwnedIFile newIFileTlk = createIFile(newFilePathTlk.str());
                     OwnedIFile patchIFileTlk = createIFile(patchFilePathTlk.str());
                     copyFile(newIFileTlk, patchIFileTlk);

+ 5 - 4
thorlcr/activities/wuidread/thwuidread.cpp

@@ -32,9 +32,9 @@ public:
         IHThorWorkunitReadArg *helper = (IHThorWorkunitReadArg *)queryHelper();
         size32_t lenData;
         void *tempData;
-        const char *wuid = helper->queryWUID();
-        if (wuid)
-            queryCodeContext()->getExternalResultRaw(lenData, tempData, wuid, helper->queryName(), helper->querySequence(), helper->queryXmlTransformer(), helper->queryCsvTransformer());
+        OwnedRoxieString fromWuid(helper->getWUID());
+        if (fromWuid)
+            queryCodeContext()->getExternalResultRaw(lenData, tempData, fromWuid, helper->queryName(), helper->querySequence(), helper->queryXmlTransformer(), helper->queryCsvTransformer());
         else
             queryCodeContext()->getResultRaw(lenData, tempData, helper->queryName(), helper->querySequence(), helper->queryXmlTransformer(), helper->queryCsvTransformer());
         msg.clear();
@@ -79,7 +79,8 @@ CActivityBase *createWorkUnitActivityMaster(CMasterGraphElement *container)
 {
     StringBuffer diskFilename;
     IHThorWorkunitReadArg *wuReadHelper = (IHThorWorkunitReadArg *)container->queryHelper();
-    if (getWorkunitResultFilename(*container, diskFilename, wuReadHelper->queryWUID(), wuReadHelper->queryName(), wuReadHelper->querySequence()))
+    OwnedRoxieString fromWuid(wuReadHelper->getWUID());
+    if (getWorkunitResultFilename(*container, diskFilename, fromWuid, wuReadHelper->queryName(), wuReadHelper->querySequence()))
     {
         Owned<IHThorDiskReadArg> diskReadHelper = createWorkUnitReadArg(diskFilename, LINK(wuReadHelper));
         Owned<CActivityBase> retAct = createDiskReadActivityMaster(container, diskReadHelper);