Loading ndb/src/common/logger/LogHandler.cpp +3 −4 Original line number Diff line number Diff line Loading @@ -117,10 +117,9 @@ LogHandler::parseParams(const BaseString &_params) { _params.split(v_args, ","); for(size_t i=0; i < v_args.size(); i++) { Vector<BaseString> v_param_value; v_args[i].split(v_param_value, "=", 2); if(v_param_value.size() == 2 && !setParam(v_param_value[0], v_param_value[1])) if(v_args[i].split(v_param_value, "=", 2) != 2) ret = false; else if (!setParam(v_param_value[0], v_param_value[1])) ret = false; } Loading ndb/src/common/logger/Logger.cpp +6 −3 Original line number Diff line number Diff line Loading @@ -169,10 +169,13 @@ Logger::addHandler(const BaseString &logstring) { size_t i; Vector<BaseString> logdest; Vector<LogHandler *>loghandlers; DBUG_ENTER("Logger::addHandler"); logstring.split(logdest, ";"); for(i = 0; i < logdest.size(); i++) { DBUG_PRINT("info",("adding: %s",logdest[i])); Vector<BaseString> v_type_args; logdest[i].split(v_type_args, ":", 2); Loading @@ -191,16 +194,16 @@ Logger::addHandler(const BaseString &logstring) { handler = new ConsoleLogHandler(); if(handler == NULL) return false; DBUG_RETURN(false); if(!handler->parseParams(params)) return false; DBUG_RETURN(false); loghandlers.push_back(handler); } for(i = 0; i < loghandlers.size(); i++) addHandler(loghandlers[i]); return true; /* @todo handle errors */ DBUG_RETURN(true); /* @todo handle errors */ } bool Loading ndb/src/kernel/blocks/dblqh/DblqhMain.cpp +17 −16 Original line number Diff line number Diff line Loading @@ -8573,12 +8573,10 @@ Uint32 Dblqh::initScanrec(const ScanFragReq* scanFragReq) /** * Used for scan take over */ { FragrecordPtr tFragPtr; tFragPtr.i = fragptr.p->tableFragptr; ptrCheckGuard(tFragPtr, cfragrecFileSize, fragrecord); scanptr.p->fragPtrI = fragptr.p->tableFragptr; } /** * !idx uses 1 - (MAX_PARALLEL_SCANS_PER_FRAG - 1) = 1-11 Loading @@ -8587,7 +8585,7 @@ Uint32 Dblqh::initScanrec(const ScanFragReq* scanFragReq) Uint32 start = (idx ? MAX_PARALLEL_SCANS_PER_FRAG : 1 ); Uint32 stop = (idx ? MAX_PARALLEL_INDEX_SCANS_PER_FRAG : MAX_PARALLEL_SCANS_PER_FRAG - 1); stop += start; Uint32 free = fragptr.p->m_scanNumberMask.find(start); Uint32 free = tFragPtr.p->m_scanNumberMask.find(start); if(free == Fragrecord::ScanNumberMask::NotFound || free >= stop){ jam(); Loading @@ -8607,9 +8605,8 @@ Uint32 Dblqh::initScanrec(const ScanFragReq* scanFragReq) return ZOK; } scanptr.p->scanNumber = free; fragptr.p->m_scanNumberMask.clear(free);// Update mask tFragPtr.p->m_scanNumberMask.clear(free);// Update mask LocalDLList<ScanRecord> active(c_scanRecordPool, fragptr.p->m_activeScans); active.add(scanptr); Loading Loading @@ -8693,8 +8690,12 @@ void Dblqh::finishScanrec(Signal* signal) LocalDLList<ScanRecord> scans(c_scanRecordPool, fragptr.p->m_activeScans); scans.release(scanptr); FragrecordPtr tFragPtr; tFragPtr.i = scanptr.p->fragPtrI; ptrCheckGuard(tFragPtr, cfragrecFileSize, fragrecord); const Uint32 scanNumber = scanptr.p->scanNumber; ndbrequire(!fragptr.p->m_scanNumberMask.get(scanNumber)); ndbrequire(!tFragPtr.p->m_scanNumberMask.get(scanNumber)); ScanRecordPtr restart; /** Loading @@ -8702,13 +8703,13 @@ void Dblqh::finishScanrec(Signal* signal) */ if(scanNumber == NR_ScanNo || !queue.first(restart)){ jam(); fragptr.p->m_scanNumberMask.set(scanNumber); tFragPtr.p->m_scanNumberMask.set(scanNumber); return; } if(ERROR_INSERTED(5034)){ jam(); fragptr.p->m_scanNumberMask.set(scanNumber); tFragPtr.p->m_scanNumberMask.set(scanNumber); return; } Loading ndb/src/mgmsrv/InitConfigFileParser.cpp +24 −44 Original line number Diff line number Diff line Loading @@ -213,48 +213,41 @@ InitConfigFileParser::parseConfig(FILE * file) { // Parse Name-Value Pair //**************************************************************************** bool InitConfigFileParser::parseNameValuePair(Context& ctx, const char* line) { char tmpLine[MAX_LINE_LENGTH]; char fname[MAX_LINE_LENGTH], rest[MAX_LINE_LENGTH]; char* t; const char *separator_list[]= {":", "=", 0}; const char *separator= 0; bool InitConfigFileParser::parseNameValuePair(Context& ctx, const char* line) { if (ctx.m_currentSection == NULL){ ctx.reportError("Value specified outside section"); return false; } strncpy(tmpLine, line, MAX_LINE_LENGTH); // ************************************* // Check if a separator exists in line // Split string at first occurrence of // '=' or ':' // ************************************* for(int i= 0; separator_list[i] != 0; i++) { if(strchr(tmpLine, separator_list[i][0])) { separator= separator_list[i]; break; } } if (separator == 0) { Vector<BaseString> tmp_string_split; if (BaseString(line).split(tmp_string_split, BaseString("=:"), 2) != 2) { ctx.reportError("Parse error"); return false; } // ******************************************* // Get pointer to substring before separator // ******************************************* t = strtok(tmpLine, separator); // ***************************************** // Count number of tokens before separator // ***************************************** if (sscanf(t, "%120s%120s", fname, rest) != 1) { ctx.reportError("Multiple names before \'%c\'", separator[0]); return false; // ************************************* // Remove leading and trailing chars // ************************************* { for (int i = 0; i < 2; i++) tmp_string_split[i].trim("\r\n \t"); } // ************************************* // First in split is fname // ************************************* const char *fname= tmp_string_split[0].c_str(); if (!ctx.m_currentInfo->contains(fname)) { ctx.reportError("[%s] Unknown parameter: %s", ctx.fname, fname); return false; Loading @@ -273,24 +266,11 @@ bool InitConfigFileParser::parseNameValuePair(Context& ctx, const char* line) { } } // ****************************************** // Get pointer to substring after separator // ****************************************** t = strtok(NULL, "\0"); if (t == NULL) { ctx.reportError("No value for parameter"); return false; } // ****************************************** // Remove prefix and postfix spaces and tabs // ******************************************* trim(t); // *********************** // Store name-value pair // *********************** return storeNameValuePair(ctx, fname, t); return storeNameValuePair(ctx, fname, tmp_string_split[1].c_str()); } Loading Loading
ndb/src/common/logger/LogHandler.cpp +3 −4 Original line number Diff line number Diff line Loading @@ -117,10 +117,9 @@ LogHandler::parseParams(const BaseString &_params) { _params.split(v_args, ","); for(size_t i=0; i < v_args.size(); i++) { Vector<BaseString> v_param_value; v_args[i].split(v_param_value, "=", 2); if(v_param_value.size() == 2 && !setParam(v_param_value[0], v_param_value[1])) if(v_args[i].split(v_param_value, "=", 2) != 2) ret = false; else if (!setParam(v_param_value[0], v_param_value[1])) ret = false; } Loading
ndb/src/common/logger/Logger.cpp +6 −3 Original line number Diff line number Diff line Loading @@ -169,10 +169,13 @@ Logger::addHandler(const BaseString &logstring) { size_t i; Vector<BaseString> logdest; Vector<LogHandler *>loghandlers; DBUG_ENTER("Logger::addHandler"); logstring.split(logdest, ";"); for(i = 0; i < logdest.size(); i++) { DBUG_PRINT("info",("adding: %s",logdest[i])); Vector<BaseString> v_type_args; logdest[i].split(v_type_args, ":", 2); Loading @@ -191,16 +194,16 @@ Logger::addHandler(const BaseString &logstring) { handler = new ConsoleLogHandler(); if(handler == NULL) return false; DBUG_RETURN(false); if(!handler->parseParams(params)) return false; DBUG_RETURN(false); loghandlers.push_back(handler); } for(i = 0; i < loghandlers.size(); i++) addHandler(loghandlers[i]); return true; /* @todo handle errors */ DBUG_RETURN(true); /* @todo handle errors */ } bool Loading
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp +17 −16 Original line number Diff line number Diff line Loading @@ -8573,12 +8573,10 @@ Uint32 Dblqh::initScanrec(const ScanFragReq* scanFragReq) /** * Used for scan take over */ { FragrecordPtr tFragPtr; tFragPtr.i = fragptr.p->tableFragptr; ptrCheckGuard(tFragPtr, cfragrecFileSize, fragrecord); scanptr.p->fragPtrI = fragptr.p->tableFragptr; } /** * !idx uses 1 - (MAX_PARALLEL_SCANS_PER_FRAG - 1) = 1-11 Loading @@ -8587,7 +8585,7 @@ Uint32 Dblqh::initScanrec(const ScanFragReq* scanFragReq) Uint32 start = (idx ? MAX_PARALLEL_SCANS_PER_FRAG : 1 ); Uint32 stop = (idx ? MAX_PARALLEL_INDEX_SCANS_PER_FRAG : MAX_PARALLEL_SCANS_PER_FRAG - 1); stop += start; Uint32 free = fragptr.p->m_scanNumberMask.find(start); Uint32 free = tFragPtr.p->m_scanNumberMask.find(start); if(free == Fragrecord::ScanNumberMask::NotFound || free >= stop){ jam(); Loading @@ -8607,9 +8605,8 @@ Uint32 Dblqh::initScanrec(const ScanFragReq* scanFragReq) return ZOK; } scanptr.p->scanNumber = free; fragptr.p->m_scanNumberMask.clear(free);// Update mask tFragPtr.p->m_scanNumberMask.clear(free);// Update mask LocalDLList<ScanRecord> active(c_scanRecordPool, fragptr.p->m_activeScans); active.add(scanptr); Loading Loading @@ -8693,8 +8690,12 @@ void Dblqh::finishScanrec(Signal* signal) LocalDLList<ScanRecord> scans(c_scanRecordPool, fragptr.p->m_activeScans); scans.release(scanptr); FragrecordPtr tFragPtr; tFragPtr.i = scanptr.p->fragPtrI; ptrCheckGuard(tFragPtr, cfragrecFileSize, fragrecord); const Uint32 scanNumber = scanptr.p->scanNumber; ndbrequire(!fragptr.p->m_scanNumberMask.get(scanNumber)); ndbrequire(!tFragPtr.p->m_scanNumberMask.get(scanNumber)); ScanRecordPtr restart; /** Loading @@ -8702,13 +8703,13 @@ void Dblqh::finishScanrec(Signal* signal) */ if(scanNumber == NR_ScanNo || !queue.first(restart)){ jam(); fragptr.p->m_scanNumberMask.set(scanNumber); tFragPtr.p->m_scanNumberMask.set(scanNumber); return; } if(ERROR_INSERTED(5034)){ jam(); fragptr.p->m_scanNumberMask.set(scanNumber); tFragPtr.p->m_scanNumberMask.set(scanNumber); return; } Loading
ndb/src/mgmsrv/InitConfigFileParser.cpp +24 −44 Original line number Diff line number Diff line Loading @@ -213,48 +213,41 @@ InitConfigFileParser::parseConfig(FILE * file) { // Parse Name-Value Pair //**************************************************************************** bool InitConfigFileParser::parseNameValuePair(Context& ctx, const char* line) { char tmpLine[MAX_LINE_LENGTH]; char fname[MAX_LINE_LENGTH], rest[MAX_LINE_LENGTH]; char* t; const char *separator_list[]= {":", "=", 0}; const char *separator= 0; bool InitConfigFileParser::parseNameValuePair(Context& ctx, const char* line) { if (ctx.m_currentSection == NULL){ ctx.reportError("Value specified outside section"); return false; } strncpy(tmpLine, line, MAX_LINE_LENGTH); // ************************************* // Check if a separator exists in line // Split string at first occurrence of // '=' or ':' // ************************************* for(int i= 0; separator_list[i] != 0; i++) { if(strchr(tmpLine, separator_list[i][0])) { separator= separator_list[i]; break; } } if (separator == 0) { Vector<BaseString> tmp_string_split; if (BaseString(line).split(tmp_string_split, BaseString("=:"), 2) != 2) { ctx.reportError("Parse error"); return false; } // ******************************************* // Get pointer to substring before separator // ******************************************* t = strtok(tmpLine, separator); // ***************************************** // Count number of tokens before separator // ***************************************** if (sscanf(t, "%120s%120s", fname, rest) != 1) { ctx.reportError("Multiple names before \'%c\'", separator[0]); return false; // ************************************* // Remove leading and trailing chars // ************************************* { for (int i = 0; i < 2; i++) tmp_string_split[i].trim("\r\n \t"); } // ************************************* // First in split is fname // ************************************* const char *fname= tmp_string_split[0].c_str(); if (!ctx.m_currentInfo->contains(fname)) { ctx.reportError("[%s] Unknown parameter: %s", ctx.fname, fname); return false; Loading @@ -273,24 +266,11 @@ bool InitConfigFileParser::parseNameValuePair(Context& ctx, const char* line) { } } // ****************************************** // Get pointer to substring after separator // ****************************************** t = strtok(NULL, "\0"); if (t == NULL) { ctx.reportError("No value for parameter"); return false; } // ****************************************** // Remove prefix and postfix spaces and tabs // ******************************************* trim(t); // *********************** // Store name-value pair // *********************** return storeNameValuePair(ctx, fname, t); return storeNameValuePair(ctx, fname, tmp_string_split[1].c_str()); } Loading