=== modified file 'storage/ndb/src/mgmsrv/ConfigInfo.cpp' --- storage/ndb/src/mgmsrv/ConfigInfo.cpp 2010-12-02 11:02:29 +0000 +++ storage/ndb/src/mgmsrv/ConfigInfo.cpp 2010-12-06 14:21:46 +0000 @@ -1267,7 +1267,7 @@ const ConfigInfo::ParamInfo ConfigInfo:: ConfigInfo::CI_USED, false, ConfigInfo::CI_ENUM, - 0, + "Default", /* Default method */ (const char*)arbit_method_typelib, 0 }, @@ -2102,7 +2102,7 @@ const ConfigInfo::ParamInfo ConfigInfo:: ConfigInfo::CI_USED, false, ConfigInfo::CI_ENUM, - 0, /* default for ENUM doesnt seem to work... */ + "abort", (const char*)default_operation_redo_problem_action_typelib, 0 }, @@ -4037,7 +4037,6 @@ applyDefaultValues(InitConfigFileParser: (void) ctx.m_info->getStatus(ctx.m_currentInfo, name); if(!ctx.m_currentSection->contains(name)){ switch (ctx.m_info->getType(ctx.m_currentInfo, name)){ - case ConfigInfo::CI_ENUM: case ConfigInfo::CI_INT: case ConfigInfo::CI_BOOL:{ Uint32 val = 0; @@ -4061,6 +4060,18 @@ applyDefaultValues(InitConfigFileParser: DBUG_PRINT("info",("%s=%s #default",name,val)); break; } + case ConfigInfo::CI_ENUM:{ + const char * val; + require(defaults->get(name, &val)); + + /* Map Enum default string to int */ + Uint32 intVal; + require(ctx.m_info->verify_enum(ctx.m_currentInfo, name, val, intVal)); + + ctx.m_currentSection->put(name, intVal); + DBUG_PRINT("info",("%s=%s(%u) #default",name,val, intVal)); + break; + } case ConfigInfo::CI_SECTION: break; }