@@ -637,9 +637,11 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
637
637
" CPU list indicating which CPU will run the execution thread(s)" ,
638
638
ConfigInfo::CI_USED,
639
639
0 ,
640
- ConfigInfo::CI_STRING ,
640
+ ConfigInfo::CI_BITMASK ,
641
641
0 ,
642
- 0 , 0 },
642
+ 0 ,
643
+ " 65535"
644
+ },
643
645
644
646
{
645
647
CFG_DB_MAINT_LOCK_CPU,
@@ -3013,6 +3015,20 @@ ConfigInfo::ConfigInfo()
3013
3015
else if (param._default )
3014
3016
pinfo.put (" Default" , param._default );
3015
3017
break ;
3018
+
3019
+ case CI_BITMASK:
3020
+ assert (param._min == 0 ); // Bitmask can't have min value
3021
+
3022
+ Uint64 tmp_uint64;
3023
+ require (InitConfigFileParser::convertStringToUint64 (param._max ,
3024
+ tmp_uint64));
3025
+ pinfo.put64 (" Max" , tmp_uint64);
3026
+
3027
+ if (param._default == MANDATORY)
3028
+ pinfo.put (" Mandatory" , (Uint32)1 );
3029
+ else if (param._default )
3030
+ pinfo.put (" Default" , param._default );
3031
+ break ;
3016
3032
}
3017
3033
3018
3034
// Check that pinfo is really new
@@ -3043,6 +3059,7 @@ ConfigInfo::ConfigInfo()
3043
3059
break ;
3044
3060
case CI_ENUM:
3045
3061
case CI_STRING:
3062
+ case CI_BITMASK:
3046
3063
require (p->put (param._fname , param._default ));
3047
3064
break ;
3048
3065
case CI_BOOL:
@@ -3429,6 +3446,7 @@ class PrettyPrinter : public ConfigPrinter {
3429
3446
fprintf (m_out, " \n " );
3430
3447
break ;
3431
3448
3449
+ case ConfigInfo::CI_BITMASK:
3432
3450
case ConfigInfo::CI_ENUM:
3433
3451
case ConfigInfo::CI_STRING:
3434
3452
fprintf (m_out, " %s (String)\n " , param_name);
@@ -3552,6 +3570,7 @@ class XMLPrinter : public ConfigPrinter {
3552
3570
pairs.put (" max" , buf.c_str ());
3553
3571
break ;
3554
3572
3573
+ case ConfigInfo::CI_BITMASK:
3555
3574
case ConfigInfo::CI_ENUM:
3556
3575
case ConfigInfo::CI_STRING:
3557
3576
pairs.put (" type" , " string" );
@@ -3959,6 +3978,7 @@ applyDefaultValues(InitConfigFileParser::Context & ctx,
3959
3978
DBUG_PRINT (" info" ,(" %s=%lld #default" ,name,val));
3960
3979
break ;
3961
3980
}
3981
+ case ConfigInfo::CI_BITMASK:
3962
3982
case ConfigInfo::CI_STRING:{
3963
3983
const char * val;
3964
3984
require (defaults->get (name, &val));
@@ -3987,6 +4007,7 @@ applyDefaultValues(InitConfigFileParser::Context & ctx,
3987
4007
DBUG_PRINT (" info" ,(" %s=%lld" ,name,val));
3988
4008
break ;
3989
4009
}
4010
+ case ConfigInfo::CI_BITMASK:
3990
4011
case ConfigInfo::CI_ENUM:
3991
4012
case ConfigInfo::CI_STRING:{
3992
4013
const char * val;
0 commit comments