Better encapsulation of RdbBase

This commit is contained in:
Ivan Skytte Jørgensen
2016-10-04 12:13:12 +02:00
parent bc2904dee7
commit 7ba3a8c9af
2 changed files with 17 additions and 13 deletions

@ -274,17 +274,17 @@ bool Msg3::readList ( rdbid_t rdbId,
"net: msg3: "
"c=%" PRId32" hmf=%" PRId32" sfn=%" PRId32" msfn=%" PRId32" nf=%" PRId32" db=%s.",
(int32_t)compensateForMerge,(int32_t)base->hasMergeFile(),
(int32_t)startFileNum,(int32_t)base->m_mergeStartFileNum-1,
(int32_t)startFileNum,(int32_t)base->mergeStartFileNum()-1,
(int32_t)numFiles,base->m_dbname);
int32_t pre = -10;
if ( compensateForMerge && base->hasMergeFile() ) {
if ( startFileNum >= base->m_mergeStartFileNum - 1 &&
if ( startFileNum >= base->mergeStartFileNum() - 1 &&
(startFileNum > 0 || numFiles != -1) ) {
// now also include the file being merged into, but only
// if we are reading from a file being merged...
if ( startFileNum < base->m_mergeStartFileNum +
base->m_numFilesToMerge - 1 )
pre = base->m_mergeStartFileNum - 1;
if ( startFileNum < base->mergeStartFileNum() +
base->numFilesToMerge() - 1 )
pre = base->mergeStartFileNum() - 1;
if ( g_conf.m_logDebugQuery )
log(LOG_DEBUG,
"net: msg3: startFileNum from %" PRId32" to %" PRId32" (mfn=%" PRId32")",
@ -293,9 +293,9 @@ bool Msg3::readList ( rdbid_t rdbId,
startFileNum++;
}
// adjust num files if we need to, as well
if ( startFileNum < base->m_mergeStartFileNum - 1 &&
if ( startFileNum < base->mergeStartFileNum() - 1 &&
numFiles != -1 &&
startFileNum + numFiles - 1 >= base->m_mergeStartFileNum - 1 ) {
startFileNum + numFiles - 1 >= base->mergeStartFileNum() - 1 ) {
if ( g_conf.m_logDebugQuery )
log(LOG_DEBUG,"net: msg3: numFiles up one.");
// if merge file was inserted before us, inc our file number

@ -230,6 +230,10 @@ class RdbBase {
void forceNextMerge() { m_nextMergeForced = true; }
//msg3 needs to know so it can compensate for ongoing merges
int32_t mergeStartFileNum() const { return m_mergeStartFileNum; }
int32_t numFilesToMerge() const { return m_numFilesToMerge; }
private:
bool parseFilename( const char* filename, int32_t *p_fileId, int32_t *p_fileId2,
int32_t *p_mergeNum, int32_t *p_endMergeFileId );
@ -291,12 +295,6 @@ public:
int32_t m_maxTreeMem ; // max mem tree can use, dump at 90% of this
int32_t m_minToMergeArg;
int32_t m_minToMerge; // need at least this many files b4 merging
int32_t m_absMaxFiles;
int32_t m_numFilesToMerge ;
int32_t m_mergeStartFileNum ;
private:
static void unlinkDoneWrapper(void *state);
void unlinkDone();
@ -304,6 +302,12 @@ private:
static void checkThreadsAgainWrapper(int /*fd*/, void *state);
void renameDone();
int32_t m_minToMergeArg;
int32_t m_minToMerge; // need at least this many files b4 merging
int32_t m_absMaxFiles;
int32_t m_numFilesToMerge ;
int32_t m_mergeStartFileNum ;
// should our next merge in waiting force itself?
bool m_nextMergeForced;