← Back to team overview

maria-developers team mailing list archive

check_sql_mode

 

Hello,
I'm trying to add an option to sql_mode.
For this, I'm adding in sql_class.h :
#define MODE_CONCAT_NULL_YIELDS_NULL    (1ULL << 32)

But now, my serveur doesn't start and show "Sysvar 'sql_mode' 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));
    SYSVAR_ASSERT(size == sizeof(ulonglong));
  }

Function my_set_bits works on 32bit and typelib.count may be up to 64.
In my case typelib.count is 33 and my_set_bits(33) returns 1, and the assert is false.

What is my mistake ?

Best regards,
Jérôme.

Follow ups