Loading ndb/include/util/Properties.hpp +1 −1 Original line number Diff line number Diff line Loading @@ -55,7 +55,7 @@ public: static const char delimiter = ':'; static const char version[]; Properties(); Properties(bool case_insensitive= false); Properties(const Properties &); Properties(const Property *, int len); virtual ~Properties(); Loading ndb/src/common/mgmcommon/ConfigInfo.cpp +21 −24 Original line number Diff line number Diff line Loading @@ -1892,21 +1892,19 @@ const int ConfigInfo::m_NoOfParams = sizeof(m_ParamInfo) / sizeof(ParamInfo); ****************************************************************************/ static void require(bool v) { if(!v) abort();} ConfigInfo::ConfigInfo() { ConfigInfo::ConfigInfo() : m_info(true), m_systemDefaults(true) { int i; Properties *section; const Properties *oldpinfo; m_info.setCaseInsensitiveNames(true); m_systemDefaults.setCaseInsensitiveNames(true); for (i=0; i<m_NoOfParams; i++) { const ParamInfo & param = m_ParamInfo[i]; // Create new section if it did not exist if (!m_info.getCopy(param._section, §ion)) { Properties newsection; newsection.setCaseInsensitiveNames(true); Properties newsection(true); m_info.put(param._section, &newsection); } Loading @@ -1914,7 +1912,7 @@ ConfigInfo::ConfigInfo() { m_info.getCopy(param._section, §ion); // Create pinfo (parameter info) entry Properties pinfo; Properties pinfo(true); pinfo.put("Id", param._paramId); pinfo.put("Fname", param._fname); pinfo.put("Description", param._description); Loading Loading @@ -1942,8 +1940,7 @@ ConfigInfo::ConfigInfo() { if(param._type != ConfigInfo::SECTION){ Properties * p; if(!m_systemDefaults.getCopy(param._section, &p)){ p = new Properties(); p->setCaseInsensitiveNames(true); p = new Properties(true); } if(param._type != STRING && param._default != UNDEFINED && Loading Loading @@ -2834,7 +2831,7 @@ fixDepricated(InitConfigFileParser::Context & ctx, const char * data){ * Transform old values to new values * Transform new values to old values (backward compatible) */ Properties tmp; Properties tmp(true); Properties::Iterator it(ctx.m_currentSection); for (name = it.first(); name != NULL; name = it.next()) { const DepricationTransform * p = &f_deprication[0]; Loading Loading @@ -2966,8 +2963,8 @@ add_node_connections(Vector<ConfigInfo::ConfigRuleSection>§ions, { Uint32 i; Properties * props= ctx.m_config; Properties p_connections; Properties p_connections2; Properties p_connections(true); Properties p_connections2(true); for (i = 0;; i++){ const Properties * tmp; Loading @@ -2987,8 +2984,8 @@ add_node_connections(Vector<ConfigInfo::ConfigRuleSection>§ions, Uint32 nNodes; ctx.m_userProperties.get("NoOfNodes", &nNodes); Properties p_db_nodes; Properties p_api_mgm_nodes; Properties p_db_nodes(true); Properties p_api_mgm_nodes(true); Uint32 i_db= 0, i_api_mgm= 0, n; for (i= 0, n= 0; n < nNodes; i++){ Loading @@ -3014,7 +3011,7 @@ add_node_connections(Vector<ConfigInfo::ConfigRuleSection>§ions, if(!p_connections2.get("", nodeId1+nodeId2<<16, &dummy)) { ConfigInfo::ConfigRuleSection s; s.m_sectionType= BaseString("TCP"); s.m_sectionData= new Properties; s.m_sectionData= new Properties(true); char buf[16]; snprintf(buf, sizeof(buf), "%u", nodeId1); s.m_sectionData->put("NodeId1", buf); Loading @@ -3031,7 +3028,7 @@ add_node_connections(Vector<ConfigInfo::ConfigRuleSection>§ions, if(!p_db_nodes.get("", j, &nodeId2)) break; ConfigInfo::ConfigRuleSection s; s.m_sectionType= BaseString("TCP"); s.m_sectionData= new Properties; s.m_sectionData= new Properties(true); char buf[16]; snprintf(buf, sizeof(buf), "%u", nodeId1); s.m_sectionData->put("NodeId1", buf); Loading @@ -3052,7 +3049,7 @@ static bool add_server_ports(Vector<ConfigInfo::ConfigRuleSection>§ions, { #if 0 Properties * props= ctx.m_config; Properties computers; Properties computers(true); Uint32 port_base = NDB_BASE_PORT+2; Uint32 nNodes; Loading ndb/src/common/mgmcommon/InitConfigFileParser.cpp +5 −5 Original line number Diff line number Diff line Loading @@ -43,10 +43,10 @@ InitConfigFileParser::~InitConfigFileParser() { // Read Config File //**************************************************************************** InitConfigFileParser::Context::Context(const ConfigInfo * info) : m_configValues(1000, 20) { : m_configValues(1000, 20), m_userProperties(true) { m_config = new Properties(); m_defaults = new Properties(); m_config = new Properties(true); m_defaults = new Properties(true); } InitConfigFileParser::Context::~Context(){ Loading Loading @@ -115,7 +115,7 @@ InitConfigFileParser::parseConfig(FILE * file) { snprintf(ctx.fname, sizeof(ctx.fname), section); free(section); ctx.type = InitConfigFileParser::DefaultSection; ctx.m_sectionLineno = ctx.m_lineno; ctx.m_currentSection = new Properties(); ctx.m_currentSection = new Properties(true); ctx.m_userDefaults = NULL; ctx.m_currentInfo = m_info->getInfo(ctx.fname); ctx.m_systemDefaults = m_info->getDefaults(ctx.fname); Loading @@ -137,7 +137,7 @@ InitConfigFileParser::parseConfig(FILE * file) { free(section); ctx.type = InitConfigFileParser::Section; ctx.m_sectionLineno = ctx.m_lineno; ctx.m_currentSection = new Properties(); ctx.m_currentSection = new Properties(true); ctx.m_userDefaults = getSection(ctx.fname, ctx.m_defaults); ctx.m_currentInfo = m_info->getInfo(ctx.fname); ctx.m_systemDefaults = m_info->getDefaults(ctx.fname); Loading ndb/src/common/util/Properties.cpp +20 −13 Original line number Diff line number Diff line Loading @@ -56,7 +56,7 @@ class PropertiesImpl { PropertiesImpl(const PropertiesImpl &); // Not implemented PropertiesImpl& operator=(const PropertiesImpl&); // Not implemented public: PropertiesImpl(Properties *); PropertiesImpl(Properties *, bool case_insensitive); PropertiesImpl(Properties *, const PropertiesImpl &); ~PropertiesImpl(); Loading @@ -69,6 +69,7 @@ class PropertiesImpl { bool m_insensitive; int (* compare)(const char *s1, const char *s2); void setCaseInsensitiveNames(bool value); void grow(int sizeToAdd); PropertyImpl * get(const char * name) const; Loading Loading @@ -113,9 +114,9 @@ Property::~Property(){ /** * Methods for Properties */ Properties::Properties(){ Properties::Properties(bool case_insensitive){ parent = 0; impl = new PropertiesImpl(this); impl = new PropertiesImpl(this, case_insensitive); } Properties::Properties(const Properties & org){ Loading @@ -124,7 +125,7 @@ Properties::Properties(const Properties & org){ } Properties::Properties(const Property * anArray, int arrayLen){ impl = new PropertiesImpl(this); impl = new PropertiesImpl(this, false); put(anArray, arrayLen); } Loading Loading @@ -479,13 +480,12 @@ Properties::unpack(const Uint32 * buf, Uint32 bufLen){ /** * Methods for PropertiesImpl */ PropertiesImpl::PropertiesImpl(Properties * p){ PropertiesImpl::PropertiesImpl(Properties * p, bool case_insensitive){ this->properties = p; items = 0; size = 25; content = new PropertyImpl * [size]; this->m_insensitive = false; this->compare = strcmp; setCaseInsensitiveNames(case_insensitive); } PropertiesImpl::PropertiesImpl(Properties * p, const PropertiesImpl & org){ Loading @@ -506,6 +506,15 @@ PropertiesImpl::~PropertiesImpl(){ delete [] content; } void PropertiesImpl::setCaseInsensitiveNames(bool value){ m_insensitive = value; if(value) compare = strcasecmp; else compare = strcmp; } void PropertiesImpl::grow(int sizeToAdd){ PropertyImpl ** newContent = new PropertyImpl * [size + sizeToAdd]; Loading @@ -523,9 +532,11 @@ PropertiesImpl::get(const char * name) const { return 0; } for(unsigned int i = 0; i<tmp->items; i++) for(unsigned int i = 0; i<tmp->items; i++) { if((* compare)(tmp->content[i]->name, short_name) == 0) return tmp->content[i]; } return 0; } Loading Loading @@ -1110,11 +1121,7 @@ Properties::getCopy(const char * name, Uint32 no, Properties ** value) const { void Properties::setCaseInsensitiveNames(bool value){ impl->m_insensitive = value; if(value) impl->compare = strcasecmp; else impl->compare = strcmp; impl->setCaseInsensitiveNames(value); } bool Loading Loading
ndb/include/util/Properties.hpp +1 −1 Original line number Diff line number Diff line Loading @@ -55,7 +55,7 @@ public: static const char delimiter = ':'; static const char version[]; Properties(); Properties(bool case_insensitive= false); Properties(const Properties &); Properties(const Property *, int len); virtual ~Properties(); Loading
ndb/src/common/mgmcommon/ConfigInfo.cpp +21 −24 Original line number Diff line number Diff line Loading @@ -1892,21 +1892,19 @@ const int ConfigInfo::m_NoOfParams = sizeof(m_ParamInfo) / sizeof(ParamInfo); ****************************************************************************/ static void require(bool v) { if(!v) abort();} ConfigInfo::ConfigInfo() { ConfigInfo::ConfigInfo() : m_info(true), m_systemDefaults(true) { int i; Properties *section; const Properties *oldpinfo; m_info.setCaseInsensitiveNames(true); m_systemDefaults.setCaseInsensitiveNames(true); for (i=0; i<m_NoOfParams; i++) { const ParamInfo & param = m_ParamInfo[i]; // Create new section if it did not exist if (!m_info.getCopy(param._section, §ion)) { Properties newsection; newsection.setCaseInsensitiveNames(true); Properties newsection(true); m_info.put(param._section, &newsection); } Loading @@ -1914,7 +1912,7 @@ ConfigInfo::ConfigInfo() { m_info.getCopy(param._section, §ion); // Create pinfo (parameter info) entry Properties pinfo; Properties pinfo(true); pinfo.put("Id", param._paramId); pinfo.put("Fname", param._fname); pinfo.put("Description", param._description); Loading Loading @@ -1942,8 +1940,7 @@ ConfigInfo::ConfigInfo() { if(param._type != ConfigInfo::SECTION){ Properties * p; if(!m_systemDefaults.getCopy(param._section, &p)){ p = new Properties(); p->setCaseInsensitiveNames(true); p = new Properties(true); } if(param._type != STRING && param._default != UNDEFINED && Loading Loading @@ -2834,7 +2831,7 @@ fixDepricated(InitConfigFileParser::Context & ctx, const char * data){ * Transform old values to new values * Transform new values to old values (backward compatible) */ Properties tmp; Properties tmp(true); Properties::Iterator it(ctx.m_currentSection); for (name = it.first(); name != NULL; name = it.next()) { const DepricationTransform * p = &f_deprication[0]; Loading Loading @@ -2966,8 +2963,8 @@ add_node_connections(Vector<ConfigInfo::ConfigRuleSection>§ions, { Uint32 i; Properties * props= ctx.m_config; Properties p_connections; Properties p_connections2; Properties p_connections(true); Properties p_connections2(true); for (i = 0;; i++){ const Properties * tmp; Loading @@ -2987,8 +2984,8 @@ add_node_connections(Vector<ConfigInfo::ConfigRuleSection>§ions, Uint32 nNodes; ctx.m_userProperties.get("NoOfNodes", &nNodes); Properties p_db_nodes; Properties p_api_mgm_nodes; Properties p_db_nodes(true); Properties p_api_mgm_nodes(true); Uint32 i_db= 0, i_api_mgm= 0, n; for (i= 0, n= 0; n < nNodes; i++){ Loading @@ -3014,7 +3011,7 @@ add_node_connections(Vector<ConfigInfo::ConfigRuleSection>§ions, if(!p_connections2.get("", nodeId1+nodeId2<<16, &dummy)) { ConfigInfo::ConfigRuleSection s; s.m_sectionType= BaseString("TCP"); s.m_sectionData= new Properties; s.m_sectionData= new Properties(true); char buf[16]; snprintf(buf, sizeof(buf), "%u", nodeId1); s.m_sectionData->put("NodeId1", buf); Loading @@ -3031,7 +3028,7 @@ add_node_connections(Vector<ConfigInfo::ConfigRuleSection>§ions, if(!p_db_nodes.get("", j, &nodeId2)) break; ConfigInfo::ConfigRuleSection s; s.m_sectionType= BaseString("TCP"); s.m_sectionData= new Properties; s.m_sectionData= new Properties(true); char buf[16]; snprintf(buf, sizeof(buf), "%u", nodeId1); s.m_sectionData->put("NodeId1", buf); Loading @@ -3052,7 +3049,7 @@ static bool add_server_ports(Vector<ConfigInfo::ConfigRuleSection>§ions, { #if 0 Properties * props= ctx.m_config; Properties computers; Properties computers(true); Uint32 port_base = NDB_BASE_PORT+2; Uint32 nNodes; Loading
ndb/src/common/mgmcommon/InitConfigFileParser.cpp +5 −5 Original line number Diff line number Diff line Loading @@ -43,10 +43,10 @@ InitConfigFileParser::~InitConfigFileParser() { // Read Config File //**************************************************************************** InitConfigFileParser::Context::Context(const ConfigInfo * info) : m_configValues(1000, 20) { : m_configValues(1000, 20), m_userProperties(true) { m_config = new Properties(); m_defaults = new Properties(); m_config = new Properties(true); m_defaults = new Properties(true); } InitConfigFileParser::Context::~Context(){ Loading Loading @@ -115,7 +115,7 @@ InitConfigFileParser::parseConfig(FILE * file) { snprintf(ctx.fname, sizeof(ctx.fname), section); free(section); ctx.type = InitConfigFileParser::DefaultSection; ctx.m_sectionLineno = ctx.m_lineno; ctx.m_currentSection = new Properties(); ctx.m_currentSection = new Properties(true); ctx.m_userDefaults = NULL; ctx.m_currentInfo = m_info->getInfo(ctx.fname); ctx.m_systemDefaults = m_info->getDefaults(ctx.fname); Loading @@ -137,7 +137,7 @@ InitConfigFileParser::parseConfig(FILE * file) { free(section); ctx.type = InitConfigFileParser::Section; ctx.m_sectionLineno = ctx.m_lineno; ctx.m_currentSection = new Properties(); ctx.m_currentSection = new Properties(true); ctx.m_userDefaults = getSection(ctx.fname, ctx.m_defaults); ctx.m_currentInfo = m_info->getInfo(ctx.fname); ctx.m_systemDefaults = m_info->getDefaults(ctx.fname); Loading
ndb/src/common/util/Properties.cpp +20 −13 Original line number Diff line number Diff line Loading @@ -56,7 +56,7 @@ class PropertiesImpl { PropertiesImpl(const PropertiesImpl &); // Not implemented PropertiesImpl& operator=(const PropertiesImpl&); // Not implemented public: PropertiesImpl(Properties *); PropertiesImpl(Properties *, bool case_insensitive); PropertiesImpl(Properties *, const PropertiesImpl &); ~PropertiesImpl(); Loading @@ -69,6 +69,7 @@ class PropertiesImpl { bool m_insensitive; int (* compare)(const char *s1, const char *s2); void setCaseInsensitiveNames(bool value); void grow(int sizeToAdd); PropertyImpl * get(const char * name) const; Loading Loading @@ -113,9 +114,9 @@ Property::~Property(){ /** * Methods for Properties */ Properties::Properties(){ Properties::Properties(bool case_insensitive){ parent = 0; impl = new PropertiesImpl(this); impl = new PropertiesImpl(this, case_insensitive); } Properties::Properties(const Properties & org){ Loading @@ -124,7 +125,7 @@ Properties::Properties(const Properties & org){ } Properties::Properties(const Property * anArray, int arrayLen){ impl = new PropertiesImpl(this); impl = new PropertiesImpl(this, false); put(anArray, arrayLen); } Loading Loading @@ -479,13 +480,12 @@ Properties::unpack(const Uint32 * buf, Uint32 bufLen){ /** * Methods for PropertiesImpl */ PropertiesImpl::PropertiesImpl(Properties * p){ PropertiesImpl::PropertiesImpl(Properties * p, bool case_insensitive){ this->properties = p; items = 0; size = 25; content = new PropertyImpl * [size]; this->m_insensitive = false; this->compare = strcmp; setCaseInsensitiveNames(case_insensitive); } PropertiesImpl::PropertiesImpl(Properties * p, const PropertiesImpl & org){ Loading @@ -506,6 +506,15 @@ PropertiesImpl::~PropertiesImpl(){ delete [] content; } void PropertiesImpl::setCaseInsensitiveNames(bool value){ m_insensitive = value; if(value) compare = strcasecmp; else compare = strcmp; } void PropertiesImpl::grow(int sizeToAdd){ PropertyImpl ** newContent = new PropertyImpl * [size + sizeToAdd]; Loading @@ -523,9 +532,11 @@ PropertiesImpl::get(const char * name) const { return 0; } for(unsigned int i = 0; i<tmp->items; i++) for(unsigned int i = 0; i<tmp->items; i++) { if((* compare)(tmp->content[i]->name, short_name) == 0) return tmp->content[i]; } return 0; } Loading Loading @@ -1110,11 +1121,7 @@ Properties::getCopy(const char * name, Uint32 no, Properties ** value) const { void Properties::setCaseInsensitiveNames(bool value){ impl->m_insensitive = value; if(value) impl->compare = strcasecmp; else impl->compare = strcmp; impl->setCaseInsensitiveNames(value); } bool Loading