← Back to team overview

maria-developers team mailing list archive

Win32 - Sysvar 'optimizer_switch' failed 'def_val < my_set_bits(typelib.count)'

 

Hi All,

Build of last 10.2-ext fail on Win32 with message :
Sysvar 'optimizer_switch' failed 'def_val < my_set_bits(typelib.count)'

The problem seems to be in sys_vars.ic (Sys_var_set) :
>
>   {
>     option.var_type|= GET_SET;
>     global_var(ulonglong)= def_val;
>     SYSVAR_ASSERT(typelib.count > 0);
>     SYSVAR_ASSERT(typelib.count <= 64);
>     SYSVAR_ASSERT(def_val <= my_set_bits(typelib.count));

Patch b14e2b04 introduce a new optimizer_switch and now 'optimizer_switch' has 32 values.
my_set_bits works with unit32.

A new function like this
static inline uint64 my_set_bits64(int n) {
  return (((1ULL << (n - 1)) - 1) << 1) | 1; }

might solve this issue.

Regards.