Pārlūkot izejas kodu

HPCC-18671 Remove code to pass keySize around

Signed-off-by: Gavin Halliday <gavin.halliday@lexisnexis.com>
Gavin Halliday 7 gadi atpakaļ
vecāks
revīzija
ec5bff085f

+ 1 - 1
common/fileview2/fvidxsource.cpp

@@ -428,7 +428,7 @@ bool IndexDataSource::addFilter(unsigned column, unsigned matchLen, unsigned siz
 
 
 void IndexDataSource::applyFilter()
 void IndexDataSource::applyFilter()
 {
 {
-    manager.setown(createLocalKeyManager(tlk, 0, NULL));
+    manager.setown(createLocalKeyManager(tlk, NULL));
     ForEachItemIn(i, values)
     ForEachItemIn(i, values)
     {
     {
         IStringSet & cur = values.item(i);
         IStringSet & cur = values.item(i);

+ 13 - 13
common/remote/sockfile.cpp

@@ -2921,7 +2921,6 @@ class CRemoteKeyManager : public CSimpleInterfaceOf<IKeyManager>
     MemoryBuffer rowDataBuffer;
     MemoryBuffer rowDataBuffer;
     MemoryBuffer keyCursorMb;        // used for continuation
     MemoryBuffer keyCursorMb;        // used for continuation
     unsigned __int64 totalGot = 0;
     unsigned __int64 totalGot = 0;
-    size32_t keySize = 0;
     size32_t currentSize = 0;
     size32_t currentSize = 0;
     offset_t currentFpos = 0;
     offset_t currentFpos = 0;
     const byte *currentRow = nullptr;
     const byte *currentRow = nullptr;
@@ -2940,6 +2939,7 @@ class CRemoteKeyManager : public CSimpleInterfaceOf<IKeyManager>
         Linked<CRemoteFileIO> remoteIO = QUERYINTERFACE(iFileIO.get(), CRemoteFileIO);
         Linked<CRemoteFileIO> remoteIO = QUERYINTERFACE(iFileIO.get(), CRemoteFileIO);
         assertex(remoteIO);
         assertex(remoteIO);
         initSendBuffer(sendBuffer);
         initSendBuffer(sendBuffer);
+        size32_t keySize = 0; // backward compatibility - now ignored
         sendBuffer.append(cmd).append(remoteIO->getHandle()).append(filename).append(keySize);
         sendBuffer.append(cmd).append(remoteIO->getHandle()).append(filename).append(keySize);
         if (segmentMonitors)
         if (segmentMonitors)
             segs.serialize(sendBuffer);
             segs.serialize(sendBuffer);
@@ -2971,7 +2971,7 @@ class CRemoteKeyManager : public CSimpleInterfaceOf<IKeyManager>
         else
         else
         {
         {
             Owned<IKeyIndex> keyIndex = createKeyIndex(filename, crc, *delayedFile, false, false);
             Owned<IKeyIndex> keyIndex = createKeyIndex(filename, crc, *delayedFile, false, false);
-            directKM.setown(createLocalKeyManager(keyIndex, keySize, nullptr));
+            directKM.setown(createLocalKeyManager(keyIndex, nullptr));
             return false;
             return false;
         }
         }
         return true;
         return true;
@@ -2988,7 +2988,7 @@ class CRemoteKeyManager : public CSimpleInterfaceOf<IKeyManager>
         return count;
         return count;
     }
     }
 public:
 public:
-    CRemoteKeyManager(const char *_filename, unsigned _keySize, unsigned _crc, IDelayedFile *_delayedFile) : filename(_filename), keySize(_keySize), crc(_crc), delayedFile(_delayedFile)
+    CRemoteKeyManager(const char *_filename, unsigned _crc, IDelayedFile *_delayedFile) : filename(_filename), crc(_crc), delayedFile(_delayedFile)
     {
     {
     }
     }
     ~CRemoteKeyManager()
     ~CRemoteKeyManager()
@@ -3305,21 +3305,21 @@ public:
     }
     }
 };
 };
 
 
-IKeyManager *createRemoteKeyManager(const char *filename, unsigned keySize, unsigned crc, IDelayedFile *delayedFile)
+IKeyManager *createRemoteKeyManager(const char *filename, unsigned crc, IDelayedFile *delayedFile)
 {
 {
-    return new CRemoteKeyManager(filename, keySize, crc, delayedFile);
+    return new CRemoteKeyManager(filename, crc, delayedFile);
 }
 }
 
 
-IKeyManager *createKeyManager(const char *filename, unsigned keySize, unsigned crc, IDelayedFile *delayedFile, bool allowRemote, bool forceRemote)
+IKeyManager *createKeyManager(const char *filename, unsigned crc, IDelayedFile *delayedFile, bool allowRemote, bool forceRemote)
 {
 {
     RemoteFilename rfn;
     RemoteFilename rfn;
     rfn.setRemotePath(filename);
     rfn.setRemotePath(filename);
     if (forceRemote || (allowRemote && !rfn.isLocal()))
     if (forceRemote || (allowRemote && !rfn.isLocal()))
-        return createRemoteKeyManager(filename, keySize, crc, delayedFile);
+        return createRemoteKeyManager(filename, crc, delayedFile);
     else
     else
     {
     {
         Owned<IKeyIndex> keyIndex = createKeyIndex(filename, crc, *delayedFile, false, false);
         Owned<IKeyIndex> keyIndex = createKeyIndex(filename, crc, *delayedFile, false, false);
-        return createLocalKeyManager(keyIndex, keySize, nullptr);
+        return createLocalKeyManager(keyIndex, nullptr);
     }
     }
 }
 }
 
 
@@ -4797,7 +4797,7 @@ class CRemoteFileServer : implements IRemoteFileServer, public CInterface
         return numRecs;
         return numRecs;
     }
     }
 
 
-    IKeyManager *prepKey(int handle, const char *keyname, unsigned keySize, SegMonitorList *segs)
+    IKeyManager *prepKey(int handle, const char *keyname, SegMonitorList *segs)
     {
     {
         OpenFileInfo fileInfo;
         OpenFileInfo fileInfo;
         if (!lookupFileIOHandle(handle, fileInfo, of_key))
         if (!lookupFileIOHandle(handle, fileInfo, of_key))
@@ -4811,7 +4811,7 @@ class CRemoteFileServer : implements IRemoteFileServer, public CInterface
             VStringBuffer errStr("Error opening key file : %s", keyname);
             VStringBuffer errStr("Error opening key file : %s", keyname);
             throw createDafsException(RFSERR_KeyIndexFailed, errStr.str());
             throw createDafsException(RFSERR_KeyIndexFailed, errStr.str());
         }
         }
-        Owned<IKeyManager> keyManager = createLocalKeyManager(index, keySize, nullptr);
+        Owned<IKeyManager> keyManager = createLocalKeyManager(index, nullptr);
         if (segs)
         if (segs)
         {
         {
             keyManager->setSegmentMonitors(*segs);
             keyManager->setSegmentMonitors(*segs);
@@ -4825,16 +4825,16 @@ class CRemoteFileServer : implements IRemoteFileServer, public CInterface
     {
     {
         int handle;
         int handle;
         StringBuffer keyName;
         StringBuffer keyName;
-        size32_t keySize;
+        size32_t keySize; // backward comp
         mb.read(handle).read(keyName).read(keySize);
         mb.read(handle).read(keyName).read(keySize);
         if (segmentMonitors)
         if (segmentMonitors)
         {
         {
             SegMonitorList segs;
             SegMonitorList segs;
             segs.deserialize(mb);
             segs.deserialize(mb);
-            return prepKey(handle, keyName, keySize, &segs);
+            return prepKey(handle, keyName, &segs);
         }
         }
         else
         else
-            return prepKey(handle, keyName, keySize, nullptr);
+            return prepKey(handle, keyName, nullptr);
     }
     }
 
 
     class cCommandProcessor: public CInterface, implements IPooledThread
     class cCommandProcessor: public CInterface, implements IPooledThread

+ 2 - 2
common/remote/sockfile.hpp

@@ -65,8 +65,8 @@ interface IRemoteFileServer : extends IInterface
 interface IKeyManager;
 interface IKeyManager;
 interface IDelayedFile;
 interface IDelayedFile;
 extern REMOTE_API IFile * createRemoteFile(SocketEndpoint &ep,const char * _filename);
 extern REMOTE_API IFile * createRemoteFile(SocketEndpoint &ep,const char * _filename);
-extern REMOTE_API IKeyManager *createKeyManager(const char *filename, unsigned keySize, unsigned crc, IDelayedFile *delayedFile, bool allowRemote, bool forceRemote);
-extern REMOTE_API IKeyManager * createRemoteKeyManager(const char *filename, unsigned keySize, unsigned crc, IDelayedFile *delayedFile);
+extern REMOTE_API IKeyManager *createKeyManager(const char *filename, unsigned crc, IDelayedFile *delayedFile, bool allowRemote, bool forceRemote);
+extern REMOTE_API IKeyManager * createRemoteKeyManager(const char *filename, unsigned crc, IDelayedFile *delayedFile);
 extern REMOTE_API unsigned getRemoteVersion(ISocket * _socket, StringBuffer &ver);
 extern REMOTE_API unsigned getRemoteVersion(ISocket * _socket, StringBuffer &ver);
 extern REMOTE_API unsigned stopRemoteServer(ISocket * _socket);
 extern REMOTE_API unsigned stopRemoteServer(ISocket * _socket);
 extern REMOTE_API const char *remoteServerVersionString();
 extern REMOTE_API const char *remoteServerVersionString();

+ 9 - 9
ecl/hthor/hthorkey.cpp

@@ -467,7 +467,7 @@ bool CHThorIndexReadActivityBase::doPreopenLimitFile(unsigned __int64 & count, u
         {
         {
             Owned<IKeyIndex> tlk = openKeyFile(df->queryPart(num));
             Owned<IKeyIndex> tlk = openKeyFile(df->queryPart(num));
             verifyIndex(tlk);
             verifyIndex(tlk);
-            Owned<IKeyManager> tlman = createLocalKeyManager(tlk, keySize, NULL);
+            Owned<IKeyManager> tlman = createLocalKeyManager(tlk, NULL);
             initManager(tlman);
             initManager(tlman);
             while(tlman->lookup(false) && (count<=limit))
             while(tlman->lookup(false) && (count<=limit))
             {
             {
@@ -503,7 +503,7 @@ IKeyIndex * CHThorIndexReadActivityBase::doPreopenLimitPart(unsigned __int64 & r
         verifyIndex(kidx);
         verifyIndex(kidx);
     if (limit != (unsigned) -1)
     if (limit != (unsigned) -1)
     {
     {
-        Owned<IKeyManager> kman = createLocalKeyManager(kidx, keySize, NULL);
+        Owned<IKeyManager> kman = createLocalKeyManager(kidx, NULL);
         initManager(kman);
         initManager(kman);
         result += kman->checkCount(limit-result);
         result += kman->checkCount(limit-result);
     }
     }
@@ -604,7 +604,7 @@ void CHThorIndexReadActivityBase::initManager(IKeyManager *manager)
 
 
 void CHThorIndexReadActivityBase::initPart()                                    
 void CHThorIndexReadActivityBase::initPart()                                    
 { 
 { 
-    klManager.setown(createLocalKeyManager(keyIndex, keySize, NULL));
+    klManager.setown(createLocalKeyManager(keyIndex, NULL));
     initManager(klManager);     
     initManager(klManager);     
     callback.setManager(klManager);
     callback.setManager(klManager);
 }
 }
@@ -634,7 +634,7 @@ bool CHThorIndexReadActivityBase::firstMultiPart()
     if(!tlk)
     if(!tlk)
         openTlk();
         openTlk();
     verifyIndex(tlk);
     verifyIndex(tlk);
-    tlManager.setown(createLocalKeyManager(tlk, keySize, NULL));
+    tlManager.setown(createLocalKeyManager(tlk, NULL));
     initManager(tlManager);
     initManager(tlManager);
     nextPartNumber = 0;
     nextPartNumber = 0;
     return nextMultiPart();
     return nextMultiPart();
@@ -864,7 +864,7 @@ bool CHThorIndexReadActivity::nextPart()
 {
 {
     if(keyIndexCache && (seekGEOffset || localSortKey))
     if(keyIndexCache && (seekGEOffset || localSortKey))
     {
     {
-        klManager.setown(createKeyMerger(keyIndexCache, keySize, seekGEOffset, NULL));
+        klManager.setown(createKeyMerger(keyIndexCache, seekGEOffset, NULL));
         keyIndexCache.clear();
         keyIndexCache.clear();
         initManager(klManager);
         initManager(klManager);
         callback.setManager(klManager);
         callback.setManager(klManager);
@@ -3118,7 +3118,7 @@ public:
             //Owned<IRecordLayoutTranslator> 
             //Owned<IRecordLayoutTranslator> 
             trans.setown(owner.getLayoutTranslator(&f));
             trans.setown(owner.getLayoutTranslator(&f));
             owner.verifyIndex(&f, index, trans);
             owner.verifyIndex(&f, index, trans);
-            Owned<IKeyManager> manager = createLocalKeyManager(index, index->keySize(), NULL);
+            Owned<IKeyManager> manager = createLocalKeyManager(index, NULL);
             if(trans)
             if(trans)
                 manager->setLayoutTranslator(trans);
                 manager->setLayoutTranslator(trans);
             managers.append(*manager.getLink());
             managers.append(*manager.getLink());
@@ -3159,7 +3159,7 @@ void KeyedLookupPartHandler::openPart()
     if(manager)
     if(manager)
         return;
         return;
     Owned<IKeyIndex> index = openKeyFile(*part);
     Owned<IKeyIndex> index = openKeyFile(*part);
-    manager.setown(createLocalKeyManager(index, index->keySize(), NULL));
+    manager.setown(createLocalKeyManager(index, NULL));
     IRecordLayoutTranslator * trans = tlk->queryRecordLayoutTranslator();
     IRecordLayoutTranslator * trans = tlk->queryRecordLayoutTranslator();
     if(trans)
     if(trans)
         manager->setLayoutTranslator(trans);
         manager->setLayoutTranslator(trans);
@@ -3239,7 +3239,7 @@ public:
             {
             {
                 Owned<IKeyIndex> index = openKeyFile(f.queryPart(0));
                 Owned<IKeyIndex> index = openKeyFile(f.queryPart(0));
                 owner.verifyIndex(&f, index, trans);
                 owner.verifyIndex(&f, index, trans);
-                manager.setown(createLocalKeyManager(index, index->keySize(), NULL));
+                manager.setown(createLocalKeyManager(index, NULL));
             }
             }
             else
             else
             {
             {
@@ -3252,7 +3252,7 @@ public:
                     parts->addIndex(index.getLink());
                     parts->addIndex(index.getLink());
                 }
                 }
                 owner.verifyIndex(&f, index, trans);
                 owner.verifyIndex(&f, index, trans);
-                manager.setown(createKeyMerger(parts, index->keySize(), 0, NULL));
+                manager.setown(createKeyMerger(parts, 0, nullptr));
             }
             }
             if(trans)
             if(trans)
                 manager->setLayoutTranslator(trans);
                 manager->setLayoutTranslator(trans);

+ 3 - 3
roxie/ccd/ccdactivities.cpp

@@ -3160,7 +3160,7 @@ protected:
             }
             }
             if (allKeys->numParts())
             if (allKeys->numParts())
             {
             {
-                tlk.setown(createKeyMerger(allKeys, 0, 0, &logctx));
+                tlk.setown(createKeyMerger(allKeys, 0, &logctx));
                 createSegmentMonitorsPending = true;
                 createSegmentMonitorsPending = true;
             }
             }
             else
             else
@@ -3173,7 +3173,7 @@ protected:
             IKeyIndex *k = kib->queryPart(lastPartNo.fileNo);
             IKeyIndex *k = kib->queryPart(lastPartNo.fileNo);
             if (filechanged)
             if (filechanged)
             {
             {
-                tlk.setown(createLocalKeyManager(k, 0, &logctx));
+                tlk.setown(createLocalKeyManager(k, &logctx));
                 createSegmentMonitorsPending = true;
                 createSegmentMonitorsPending = true;
             }
             }
             else
             else
@@ -3422,7 +3422,7 @@ public:
                 i++;
                 i++;
             }
             }
             if (allKeys->numParts())
             if (allKeys->numParts())
-                tlk.setown(::createKeyMerger(allKeys, 0, steppingOffset, &logctx));
+                tlk.setown(::createKeyMerger(allKeys, steppingOffset, &logctx));
             else
             else
                 tlk.clear();
                 tlk.clear();
             createSegmentMonitorsPending = true;
             createSegmentMonitorsPending = true;

+ 10 - 10
roxie/ccd/ccdserver.cpp

@@ -22791,7 +22791,7 @@ public:
                                     if ((indexHelper.getFlags() & TIRcountkeyedlimit) != 0)
                                     if ((indexHelper.getFlags() & TIRcountkeyedlimit) != 0)
                                     {
                                     {
                                         Owned<IKeyManager> countKey;
                                         Owned<IKeyManager> countKey;
-                                        countKey.setown(createLocalKeyManager(thisKey, 0, this));
+                                        countKey.setown(createLocalKeyManager(thisKey, this));
                                         countKey->setLayoutTranslator(translators->item(fileNo));
                                         countKey->setLayoutTranslator(translators->item(fileNo));
                                         createSegmentMonitors(countKey);
                                         createSegmentMonitors(countKey);
                                         unsigned __int64 count = countKey->checkCount(keyedLimit);
                                         unsigned __int64 count = countKey->checkCount(keyedLimit);
@@ -22806,11 +22806,11 @@ public:
                             }
                             }
                             if (seekGEOffset && !thisKey->isTopLevelKey())
                             if (seekGEOffset && !thisKey->isTopLevelKey())
                             {
                             {
-                                tlk.setown(createSingleKeyMerger(thisKey, 0, seekGEOffset, this));
+                                tlk.setown(createSingleKeyMerger(thisKey, seekGEOffset, this));
                             }
                             }
                             else
                             else
                             {
                             {
-                                tlk.setown(createLocalKeyManager(thisKey, 0, this));
+                                tlk.setown(createLocalKeyManager(thisKey, this));
                                 tlk->setLayoutTranslator(translators->item(fileNo));
                                 tlk->setLayoutTranslator(translators->item(fileNo));
                             }
                             }
                             createSegmentMonitors(tlk);
                             createSegmentMonitors(tlk);
@@ -23070,9 +23070,9 @@ public:
             keySet.setown(createKeyIndexSet());
             keySet.setown(createKeyIndexSet());
             keySet->addIndex(LINK(key));
             keySet->addIndex(LINK(key));
             if (owner.seekGEOffset)
             if (owner.seekGEOffset)
-                tlk.setown(createKeyMerger(keySet, 0, owner.seekGEOffset, &owner));
+                tlk.setown(createKeyMerger(keySet, owner.seekGEOffset, &owner));
             else
             else
-                tlk.setown(createLocalKeyManager(keySet->queryPart(0), 0, &owner));
+                tlk.setown(createLocalKeyManager(keySet->queryPart(0), &owner));
             tlk->setLayoutTranslator(trans);
             tlk->setLayoutTranslator(trans);
             owner.indexHelper.createSegmentMonitors(tlk);
             owner.indexHelper.createSegmentMonitors(tlk);
             tlk->finishSegmentMonitors();
             tlk->finishSegmentMonitors();
@@ -23482,7 +23482,7 @@ public:
         unsigned __int64 result = 0;
         unsigned __int64 result = 0;
         for (unsigned i = 0; i < numParts; i++)
         for (unsigned i = 0; i < numParts; i++)
         {
         {
-            Owned<IKeyManager> countTlk = createLocalKeyManager(keyIndexSet->queryPart(i), 0, this);
+            Owned<IKeyManager> countTlk = createLocalKeyManager(keyIndexSet->queryPart(i), this);
             countTlk->setLayoutTranslator(translators->item(i));
             countTlk->setLayoutTranslator(translators->item(i));
             indexHelper.createSegmentMonitors(countTlk);
             indexHelper.createSegmentMonitors(countTlk);
             countTlk->finishSegmentMonitors();
             countTlk->finishSegmentMonitors();
@@ -23514,12 +23514,12 @@ public:
             }
             }
             if (numParts > 1 || seekGEOffset)
             if (numParts > 1 || seekGEOffset)
             {
             {
-                tlk.setown(createKeyMerger(keyIndexSet, 0, seekGEOffset, this));
+                tlk.setown(createKeyMerger(keyIndexSet, seekGEOffset, this));
                 // note that we don't set up translator because we don't support it. If that ever changes...
                 // note that we don't set up translator because we don't support it. If that ever changes...
             }
             }
             else
             else
             {
             {
-                tlk.setown(createLocalKeyManager(keyIndexSet->queryPart(0), 0, this));
+                tlk.setown(createLocalKeyManager(keyIndexSet->queryPart(0), this));
                 tlk->setLayoutTranslator(translators->item(0));
                 tlk->setLayoutTranslator(translators->item(0));
             }
             }
             indexHelper.createSegmentMonitors(tlk);
             indexHelper.createSegmentMonitors(tlk);
@@ -25284,7 +25284,7 @@ public:
     CRoxieServerFullKeyedJoinHead(IRoxieSlaveContext *_ctx, const IRoxieServerActivityFactory *_factory, IProbeManager *_probeManager, const RemoteActivityId &_remoteId, IKeyArray * _keySet, TranslatorArray *_translators, IOutputMetaData *_indexReadMeta, IJoinProcessor *_joinHandler, bool _isLocal)
     CRoxieServerFullKeyedJoinHead(IRoxieSlaveContext *_ctx, const IRoxieServerActivityFactory *_factory, IProbeManager *_probeManager, const RemoteActivityId &_remoteId, IKeyArray * _keySet, TranslatorArray *_translators, IOutputMetaData *_indexReadMeta, IJoinProcessor *_joinHandler, bool _isLocal)
         : CRoxieServerActivity(_ctx, _factory, _probeManager),
         : CRoxieServerActivity(_ctx, _factory, _probeManager),
           helper((IHThorKeyedJoinArg &)basehelper), 
           helper((IHThorKeyedJoinArg &)basehelper), 
-          tlk(createLocalKeyManager(NULL, 0, this)),
+          tlk(createLocalKeyManager(NULL, this)),
           translators(_translators),
           translators(_translators),
           keySet(_keySet),
           keySet(_keySet),
           remote(_ctx, this, _remoteId, 0, helper, *this, true, true),
           remote(_ctx, this, _remoteId, 0, helper, *this, true, true),
@@ -26179,7 +26179,7 @@ public:
         IOutputMetaData *_indexReadMeta, unsigned _joinFlags, bool _isSimple, bool _isLocal)
         IOutputMetaData *_indexReadMeta, unsigned _joinFlags, bool _isSimple, bool _isLocal)
         : CRoxieServerKeyedJoinBase(_ctx, _factory, _probeManager, _remoteId, _joinFlags, false, _isSimple, _isLocal),
         : CRoxieServerKeyedJoinBase(_ctx, _factory, _probeManager, _remoteId, _joinFlags, false, _isSimple, _isLocal),
           indexReadMeta(_indexReadMeta),
           indexReadMeta(_indexReadMeta),
-          tlk(createLocalKeyManager(NULL, 0, this)),
+          tlk(createLocalKeyManager(NULL, this)),
           keySet(_keySet),
           keySet(_keySet),
           translators(_translators)
           translators(_translators)
     {
     {

+ 21 - 23
system/jhtree/jhtree.cpp

@@ -395,7 +395,6 @@ protected:
     offset_t lookupFpos;
     offset_t lookupFpos;
     unsigned keySize;       // size of key record including payload
     unsigned keySize;       // size of key record including payload
     unsigned keyedSize;     // size of non-payload part of key
     unsigned keyedSize;     // size of non-payload part of key
-    unsigned eclKeySize;    // size of output record according to ecl
     unsigned numsegs;
     unsigned numsegs;
     bool matched;
     bool matched;
     bool eof;
     bool eof;
@@ -554,7 +553,7 @@ protected:
 public:
 public:
     IMPLEMENT_IINTERFACE;
     IMPLEMENT_IINTERFACE;
 
 
-    CKeyLevelManager(IKeyIndex * _key, unsigned _eclKeySize, IContextLogger *_ctx)
+    CKeyLevelManager(IKeyIndex * _key, IContextLogger *_ctx)
     {
     {
         ctx = _ctx;
         ctx = _ctx;
         numsegs = 0;
         numsegs = 0;
@@ -562,7 +561,6 @@ public:
         keyCursor = NULL;
         keyCursor = NULL;
         keySize = 0;
         keySize = 0;
         keyedSize = 0;
         keyedSize = 0;
-        eclKeySize = _eclKeySize;
         started = false;
         started = false;
         setKey(_key);
         setKey(_key);
         seeks = 0;
         seeks = 0;
@@ -1612,7 +1610,7 @@ bool CKeyIndex::hasSpecialFileposition() const
 
 
 size32_t CKeyIndex::keySize()
 size32_t CKeyIndex::keySize()
 {
 {
-    size32_t fileposSize = keyHdr->hasSpecialFileposition() ? 8 : 0;
+    size32_t fileposSize = keyHdr->hasSpecialFileposition() ? sizeof(offset_t) : 0;
     return keyHdr->getMaxKeyLength() + fileposSize;
     return keyHdr->getMaxKeyLength() + fileposSize;
 }
 }
 
 
@@ -2460,14 +2458,14 @@ class CKeyMerger : public CKeyLevelManager
     }
     }
 
 
 public:
 public:
-    CKeyMerger(IKeyIndexSet *_keyset, size32_t _eclKeySize, unsigned _sortFieldOffset, IContextLogger *_ctx) : CKeyLevelManager(NULL, _eclKeySize, _ctx), sortFieldOffset(_sortFieldOffset)
+    CKeyMerger(IKeyIndexSet *_keyset, unsigned _sortFieldOffset, IContextLogger *_ctx) : CKeyLevelManager(NULL, _ctx), sortFieldOffset(_sortFieldOffset)
     {
     {
         segs.setMergeBarrier(sortFieldOffset);
         segs.setMergeBarrier(sortFieldOffset);
         init();
         init();
         setKey(_keyset);
         setKey(_keyset);
     }
     }
 
 
-    CKeyMerger(IKeyIndex *_onekey, size32_t _eclKeySize, unsigned _sortFieldOffset, IContextLogger *_ctx) : CKeyLevelManager(NULL, _eclKeySize, _ctx), sortFieldOffset(_sortFieldOffset)
+    CKeyMerger(IKeyIndex *_onekey, unsigned _sortFieldOffset, IContextLogger *_ctx) : CKeyLevelManager(NULL, _ctx), sortFieldOffset(_sortFieldOffset)
     {
     {
         segs.setMergeBarrier(sortFieldOffset);
         segs.setMergeBarrier(sortFieldOffset);
         init();
         init();
@@ -2964,14 +2962,14 @@ public:
     }
     }
 };
 };
 
 
-extern jhtree_decl IKeyManager *createKeyMerger(IKeyIndexSet * _keys, unsigned _rawSize, unsigned _sortFieldOffset, IContextLogger *_ctx)
+extern jhtree_decl IKeyManager *createKeyMerger(IKeyIndexSet * _keys, unsigned _sortFieldOffset, IContextLogger *_ctx)
 {
 {
-    return new CKeyMerger(_keys, _rawSize, _sortFieldOffset, _ctx);
+    return new CKeyMerger(_keys, _sortFieldOffset, _ctx);
 }
 }
 
 
-extern jhtree_decl IKeyManager *createSingleKeyMerger(IKeyIndex * _onekey, unsigned _rawSize, unsigned _sortFieldOffset, IContextLogger *_ctx)
+extern jhtree_decl IKeyManager *createSingleKeyMerger(IKeyIndex * _onekey, unsigned _sortFieldOffset, IContextLogger *_ctx)
 {
 {
-    return new CKeyMerger(_onekey, _rawSize, _sortFieldOffset, _ctx);
+    return new CKeyMerger(_onekey, _sortFieldOffset, _ctx);
 }
 }
 
 
 class CKeyIndexSet : implements IKeyIndexSet, public CInterface
 class CKeyIndexSet : implements IKeyIndexSet, public CInterface
@@ -2999,9 +2997,9 @@ extern jhtree_decl IKeyIndexSet *createKeyIndexSet()
     return new CKeyIndexSet;
     return new CKeyIndexSet;
 }
 }
 
 
-extern jhtree_decl IKeyManager *createLocalKeyManager(IKeyIndex *key, unsigned _rawSize, IContextLogger *_ctx)
+extern jhtree_decl IKeyManager *createLocalKeyManager(IKeyIndex *key, IContextLogger *_ctx)
 {
 {
-    return new CKeyLevelManager(key, _rawSize, _ctx);
+    return new CKeyLevelManager(key, _ctx);
 }
 }
 
 
 class CKeyArray : implements IKeyArray, public CInterface
 class CKeyArray : implements IKeyArray, public CInterface
@@ -3052,7 +3050,7 @@ class IKeyManagerTest : public CppUnit::TestFixture
             Owned<IKeyIndexSet> keyset = createKeyIndexSet();
             Owned<IKeyIndexSet> keyset = createKeyIndexSet();
             keyset->addIndex(index1.getClear());
             keyset->addIndex(index1.getClear());
             keyset->addIndex(index2.getClear());
             keyset->addIndex(index2.getClear());
-            Owned <IKeyManager> tlk1 = createKeyMerger(keyset, maxSize, 7, NULL);
+            Owned <IKeyManager> tlk1 = createKeyMerger(keyset, 7, NULL);
             Owned<IStringSet> sset1 = createStringSet(7);
             Owned<IStringSet> sset1 = createStringSet(7);
             sset1->addRange("0000003", "0000003");
             sset1->addRange("0000003", "0000003");
             sset1->addRange("0000005", "0000006");
             sset1->addRange("0000005", "0000006");
@@ -3089,7 +3087,7 @@ class IKeyManagerTest : public CppUnit::TestFixture
             ASSERT(!tlk1->lookup(true)); 
             ASSERT(!tlk1->lookup(true)); 
             ASSERT(!tlk1->lookup(true)); 
             ASSERT(!tlk1->lookup(true)); 
 
 
-            Owned <IKeyManager> tlk2 = createKeyMerger(NULL, maxSize, 7, NULL);
+            Owned <IKeyManager> tlk2 = createKeyMerger(NULL, 7, NULL);
             tlk2->setKey(keyset);
             tlk2->setKey(keyset);
             tlk2->deserializeCursorPos(mb);
             tlk2->deserializeCursorPos(mb);
             tlk2->append(createKeySegmentMonitor(false, sset1.getLink(), 0, 7));
             tlk2->append(createKeySegmentMonitor(false, sset1.getLink(), 0, 7));
@@ -3105,7 +3103,7 @@ class IKeyManagerTest : public CppUnit::TestFixture
             ASSERT(!tlk2->lookup(true)); 
             ASSERT(!tlk2->lookup(true)); 
             ASSERT(!tlk2->lookup(true)); 
             ASSERT(!tlk2->lookup(true)); 
 
 
-            Owned <IKeyManager> tlk3 = createKeyMerger(NULL, maxSize, 7, NULL);
+            Owned <IKeyManager> tlk3 = createKeyMerger(NULL, 7, NULL);
             tlk3->setKey(keyset);
             tlk3->setKey(keyset);
             tlk3->append(createKeySegmentMonitor(false, sset1.getLink(), 0, 7));
             tlk3->append(createKeySegmentMonitor(false, sset1.getLink(), 0, 7));
             tlk3->append(createKeySegmentMonitor(false, sset2.getLink(), 7, 3));
             tlk3->append(createKeySegmentMonitor(false, sset2.getLink(), 7, 3));
@@ -3118,7 +3116,7 @@ class IKeyManagerTest : public CppUnit::TestFixture
             ASSERT(!tlk3->lookupSkip("081", 7, 3)); 
             ASSERT(!tlk3->lookupSkip("081", 7, 3)); 
             ASSERT(!tlk3->lookup(true)); 
             ASSERT(!tlk3->lookup(true)); 
 
 
-            Owned <IKeyManager> tlk4 = createKeyMerger(NULL, maxSize, 7, NULL);
+            Owned <IKeyManager> tlk4 = createKeyMerger(NULL, 7, NULL);
             tlk4->setKey(keyset);
             tlk4->setKey(keyset);
             tlk4->append(createKeySegmentMonitor(false, sset1.getLink(), 0, 7));
             tlk4->append(createKeySegmentMonitor(false, sset1.getLink(), 0, 7));
             tlk4->append(createKeySegmentMonitor(false, sset3.getLink(), 7, 3));
             tlk4->append(createKeySegmentMonitor(false, sset3.getLink(), 7, 3));
@@ -3243,14 +3241,14 @@ protected:
         {
         {
             unsigned maxSize = (variable && blobby) ? 18 : 10;
             unsigned maxSize = (variable && blobby) ? 18 : 10;
             Owned <IKeyIndex> index1 = createKeyIndex("keyfile1.$$$", 0, false, false);
             Owned <IKeyIndex> index1 = createKeyIndex("keyfile1.$$$", 0, false, false);
-            Owned <IKeyManager> tlk1 = createLocalKeyManager(index1, maxSize, NULL);
+            Owned <IKeyManager> tlk1 = createLocalKeyManager(index1, NULL);
             Owned<IStringSet> sset1 = createStringSet(10);
             Owned<IStringSet> sset1 = createStringSet(10);
             sset1->addRange("0000000001", "0000000100");
             sset1->addRange("0000000001", "0000000100");
             tlk1->append(createKeySegmentMonitor(false, sset1.getClear(), 0, 10));
             tlk1->append(createKeySegmentMonitor(false, sset1.getClear(), 0, 10));
             tlk1->finishSegmentMonitors();
             tlk1->finishSegmentMonitors();
             tlk1->reset();
             tlk1->reset();
 
 
-            Owned <IKeyManager> tlk1a = createLocalKeyManager(index1, maxSize, NULL);
+            Owned <IKeyManager> tlk1a = createLocalKeyManager(index1, NULL);
             Owned<IStringSet> sset1a = createStringSet(8);
             Owned<IStringSet> sset1a = createStringSet(8);
             sset1a->addRange("00000000", "00000001");
             sset1a->addRange("00000000", "00000001");
             tlk1a->append(createKeySegmentMonitor(false, sset1a.getClear(), 0, 8));
             tlk1a->append(createKeySegmentMonitor(false, sset1a.getClear(), 0, 8));
@@ -3283,7 +3281,7 @@ protected:
 
 
 
 
             Owned <IKeyIndex> index2 = createKeyIndex("keyfile2.$$$", 0, false, false);
             Owned <IKeyIndex> index2 = createKeyIndex("keyfile2.$$$", 0, false, false);
-            Owned <IKeyManager> tlk2 = createLocalKeyManager(index2, maxSize, NULL);
+            Owned <IKeyManager> tlk2 = createLocalKeyManager(index2, NULL);
             Owned<IStringSet> sset2 = createStringSet(10);
             Owned<IStringSet> sset2 = createStringSet(10);
             sset2->addRange("0000000001", "0000000100");
             sset2->addRange("0000000001", "0000000100");
             ASSERT(sset2->numValues() == 65536);
             ASSERT(sset2->numValues() == 65536);
@@ -3298,7 +3296,7 @@ protected:
                 both->addIndex(index1.getLink());
                 both->addIndex(index1.getLink());
                 both->addIndex(index2.getLink());
                 both->addIndex(index2.getLink());
                 Owned<IStringSet> sset3 = createStringSet(10);
                 Owned<IStringSet> sset3 = createStringSet(10);
-                tlk3.setown(createKeyMerger(NULL, maxSize, 0, NULL));
+                tlk3.setown(createKeyMerger(NULL, 0, NULL));
                 tlk3->setKey(both);
                 tlk3->setKey(both);
                 sset3->addRange("0000000001", "0000000100");
                 sset3->addRange("0000000001", "0000000100");
                 tlk3->append(createKeySegmentMonitor(false, sset3.getClear(), 0, 10));
                 tlk3->append(createKeySegmentMonitor(false, sset3.getClear(), 0, 10));
@@ -3306,7 +3304,7 @@ protected:
                 tlk3->reset();
                 tlk3->reset();
             }
             }
 
 
-            Owned <IKeyManager> tlk2a = createLocalKeyManager(index2, maxSize, NULL);
+            Owned <IKeyManager> tlk2a = createLocalKeyManager(index2, NULL);
             Owned<IStringSet> sset2a = createStringSet(10);
             Owned<IStringSet> sset2a = createStringSet(10);
             sset2a->addRange("0000000048", "0000000048");
             sset2a->addRange("0000000048", "0000000048");
             ASSERT(sset2a->numValues() == 1);
             ASSERT(sset2a->numValues() == 1);
@@ -3314,7 +3312,7 @@ protected:
             tlk2a->finishSegmentMonitors();
             tlk2a->finishSegmentMonitors();
             tlk2a->reset();
             tlk2a->reset();
 
 
-            Owned <IKeyManager> tlk2b = createLocalKeyManager(index2, maxSize, NULL);
+            Owned <IKeyManager> tlk2b = createLocalKeyManager(index2, NULL);
             Owned<IStringSet> sset2b = createStringSet(10);
             Owned<IStringSet> sset2b = createStringSet(10);
             sset2b->addRange("0000000047", "0000000049");
             sset2b->addRange("0000000047", "0000000049");
             ASSERT(sset2b->numValues() == 3);
             ASSERT(sset2b->numValues() == 3);
@@ -3322,7 +3320,7 @@ protected:
             tlk2b->finishSegmentMonitors();
             tlk2b->finishSegmentMonitors();
             tlk2b->reset();
             tlk2b->reset();
 
 
-            Owned <IKeyManager> tlk2c = createLocalKeyManager(index2, maxSize, NULL);
+            Owned <IKeyManager> tlk2c = createLocalKeyManager(index2, NULL);
             Owned<IStringSet> sset2c = createStringSet(10);
             Owned<IStringSet> sset2c = createStringSet(10);
             sset2c->addRange("0000000047", "0000000047");
             sset2c->addRange("0000000047", "0000000047");
             tlk2c->append(createKeySegmentMonitor(false, sset2c.getClear(), 0, 10));
             tlk2c->append(createKeySegmentMonitor(false, sset2c.getClear(), 0, 10));

+ 3 - 3
system/jhtree/jhtree.hpp

@@ -228,9 +228,9 @@ interface IKeyManager : public IInterface, extends IIndexReadContext
     virtual bool lookupSkip(const void *seek, size32_t seekGEOffset, size32_t seeklen) = 0;
     virtual bool lookupSkip(const void *seek, size32_t seekGEOffset, size32_t seeklen) = 0;
 };
 };
 
 
-extern jhtree_decl IKeyManager *createLocalKeyManager(IKeyIndex * _key, unsigned rawSize, IContextLogger *ctx);
-extern jhtree_decl IKeyManager *createKeyMerger(IKeyIndexSet * _key, unsigned rawSize, unsigned sortFieldOffset, IContextLogger *ctx);
-extern jhtree_decl IKeyManager *createSingleKeyMerger(IKeyIndex * _onekey, unsigned rawSize, unsigned sortFieldOffset, IContextLogger *ctx);
+extern jhtree_decl IKeyManager *createLocalKeyManager(IKeyIndex * _key, IContextLogger *ctx);
+extern jhtree_decl IKeyManager *createKeyMerger(IKeyIndexSet * _key, unsigned sortFieldOffset, IContextLogger *ctx);
+extern jhtree_decl IKeyManager *createSingleKeyMerger(IKeyIndex * _onekey, unsigned sortFieldOffset, IContextLogger *ctx);
 
 
 class KLBlobProviderAdapter : implements IBlobProvider
 class KLBlobProviderAdapter : implements IBlobProvider
 {
 {

+ 1 - 1
thorlcr/activities/hashdistrib/thhashdistribslave.cpp

@@ -2379,7 +2379,7 @@ class IndexDistributeSlaveActivity : public HashDistributeSlaveBase
         CKeyLookup(IndexDistributeSlaveActivity &_owner, IHThorKeyedDistributeArg *_helper, IKeyIndex *_tlk)
         CKeyLookup(IndexDistributeSlaveActivity &_owner, IHThorKeyedDistributeArg *_helper, IKeyIndex *_tlk)
             : owner(_owner), helper(_helper), tlk(_tlk)
             : owner(_owner), helper(_helper), tlk(_tlk)
         {
         {
-            tlkManager.setown(createLocalKeyManager(tlk, tlk->keySize(), NULL));
+            tlkManager.setown(createLocalKeyManager(tlk, nullptr));
             numslaves = owner.queryContainer().queryJob().querySlaves();
             numslaves = owner.queryContainer().queryJob().querySlaves();
         }
         }
         unsigned hash(const void *data)
         unsigned hash(const void *data)

+ 1 - 1
thorlcr/activities/indexread/thindexread.cpp

@@ -161,7 +161,7 @@ protected:
                     throw MakeThorException(TE_FileNotFound, "Top level key part does not exist, for key: %s", index->queryLogicalName());
                     throw MakeThorException(TE_FileNotFound, "Top level key part does not exist, for key: %s", index->queryLogicalName());
 
 
                 unsigned fixedSize = indexBaseHelper->queryDiskRecordSize()->querySerializedDiskMeta()->getFixedSize(); // used only if fixed
                 unsigned fixedSize = indexBaseHelper->queryDiskRecordSize()->querySerializedDiskMeta()->getFixedSize(); // used only if fixed
-                Owned <IKeyManager> tlk = createLocalKeyManager(keyIndex, fixedSize, NULL);
+                Owned <IKeyManager> tlk = createLocalKeyManager(keyIndex, nullptr);
                 indexBaseHelper->createSegmentMonitors(tlk);
                 indexBaseHelper->createSegmentMonitors(tlk);
                 tlk->finishSegmentMonitors();
                 tlk->finishSegmentMonitors();
                 tlk->reset();
                 tlk->reset();

+ 3 - 3
thorlcr/activities/indexread/thindexreadslave.cpp

@@ -246,7 +246,7 @@ public:
             if ((localKey && partDescs.ordinality()>1) || seekGEOffset) // for now at least, no remote key support if stepping or merging
             if ((localKey && partDescs.ordinality()>1) || seekGEOffset) // for now at least, no remote key support if stepping or merging
             {
             {
                 Owned<IKeyIndex> keyIndex = createKeyIndex(filePath, crc, *lfile, false, false);
                 Owned<IKeyIndex> keyIndex = createKeyIndex(filePath, crc, *lfile, false, false);
-                klManager.setown(createLocalKeyManager(keyIndex, fixedDiskRecordSize, nullptr));
+                klManager.setown(createLocalKeyManager(keyIndex, nullptr));
                 if (!keyIndexSet)
                 if (!keyIndexSet)
                     keyIndexSet.setown(createKeyIndexSet());
                     keyIndexSet.setown(createKeyIndexSet());
                 keyIndexSet->addIndex(keyIndex.getClear());
                 keyIndexSet->addIndex(keyIndex.getClear());
@@ -255,7 +255,7 @@ public:
             {
             {
                 bool allowRemote = getOptBool("remoteKeyFilteringEnabled");
                 bool allowRemote = getOptBool("remoteKeyFilteringEnabled");
                 bool forceRemote = allowRemote ? getOptBool("forceDafilesrv") : false; // can only force remote, if forceDafilesrv and remoteKeyFilteringEnabled are enabled.
                 bool forceRemote = allowRemote ? getOptBool("forceDafilesrv") : false; // can only force remote, if forceDafilesrv and remoteKeyFilteringEnabled are enabled.
-                klManager.setown(createKeyManager(filePath, fixedDiskRecordSize, crc, lfile, allowRemote, forceRemote));
+                klManager.setown(createKeyManager(filePath, crc, lfile, allowRemote, forceRemote));
             }
             }
             keyManagers.append(*klManager.getClear());
             keyManagers.append(*klManager.getClear());
         }
         }
@@ -505,7 +505,7 @@ public:
                 steppingMeta.init(rawMeta, hasPostFilter);
                 steppingMeta.init(rawMeta, hasPostFilter);
         }
         }
         if (keyIndexSet)
         if (keyIndexSet)
-            keyMergerManager.setown(createKeyMerger(keyIndexSet, fixedDiskRecordSize, seekGEOffset, NULL));
+            keyMergerManager.setown(createKeyMerger(keyIndexSet, seekGEOffset, nullptr));
     }
     }
 
 
 // IThorDataLink
 // IThorDataLink

+ 3 - 3
thorlcr/activities/keyedjoin/thkeyedjoinslave.cpp

@@ -1198,7 +1198,7 @@ class CKeyedJoinSlave : public CSlaveActivity, implements IJoinProcessor, implem
 
 
         CKeyLocalLookup(CKeyedJoinSlave &_owner) : owner(_owner), indexReadFieldsRow(_owner.indexInputAllocator)
         CKeyLocalLookup(CKeyedJoinSlave &_owner) : owner(_owner), indexReadFieldsRow(_owner.indexInputAllocator)
         {
         {
-            tlkManager.setown(owner.keyHasTlk ? createLocalKeyManager(nullptr, owner.fixedRecordSize, nullptr) : nullptr);
+            tlkManager.setown(owner.keyHasTlk ? createLocalKeyManager(nullptr, nullptr) : nullptr);
 
 
             if (owner.getKeyManagers(partKeyManagers)) // true signifies that dealing with a local mergable set of index parts
             if (owner.getKeyManagers(partKeyManagers)) // true signifies that dealing with a local mergable set of index parts
                 currentPartKeyManager = &partKeyManagers.item(0);
                 currentPartKeyManager = &partKeyManagers.item(0);
@@ -1588,14 +1588,14 @@ class CKeyedJoinSlave : public CSlaveActivity, implements IJoinProcessor, implem
             {
             {
                 bool allowRemote = getOptBool("remoteKeyFilteringEnabled");
                 bool allowRemote = getOptBool("remoteKeyFilteringEnabled");
                 bool forceRemote = allowRemote ? getOptBool("forceDafilesrv") : false; // can only force remote, if forceDafilesrv and remoteKeyFilteringEnabled are enabled.
                 bool forceRemote = allowRemote ? getOptBool("forceDafilesrv") : false; // can only force remote, if forceDafilesrv and remoteKeyFilteringEnabled are enabled.
-                klManager.setown(createKeyManager(filename, fixedRecordSize, crc, lfile, allowRemote, forceRemote));
+                klManager.setown(createKeyManager(filename, crc, lfile, allowRemote, forceRemote));
                 keyManagers.append(*klManager.getClear());
                 keyManagers.append(*klManager.getClear());
             }
             }
         }
         }
         if (localMergedKey)
         if (localMergedKey)
         {
         {
             dbgassertex(0 == keyManagers.ordinality());
             dbgassertex(0 == keyManagers.ordinality());
-            keyManagers.append(*createKeyMerger(partKeySet, fixedRecordSize, 0, nullptr));
+            keyManagers.append(*createKeyMerger(partKeySet, 0, nullptr));
             return true;
             return true;
         }
         }
         else
         else

+ 1 - 1
tools/dumpkey/dumpkey.cpp

@@ -156,7 +156,7 @@ int main(int argc, const char **argv)
             }
             }
             else
             else
             {
             {
-                Owned<IKeyManager> manager = createLocalKeyManager(index, key_size, NULL);
+                Owned<IKeyManager> manager = createLocalKeyManager(index, NULL);
                 Owned<IPropertyTree> metadata = index->getMetadata();
                 Owned<IPropertyTree> metadata = index->getMetadata();
                 Owned<IOutputMetaData> diskmeta;
                 Owned<IOutputMetaData> diskmeta;
                 Owned<IOutputMetaData> translatedmeta;
                 Owned<IOutputMetaData> translatedmeta;