• Luis Soares's avatar
    BUG#51426: overflow for auto_increment column causes slave to stop · 229da7c0
    Luis Soares authored
    In BUG#49562 we fixed the case where numeric user var events
    would not serialize the flag stating whether the value was signed
    or unsigned (unsigned_flag). This fixed the case that the slave
    would get an overflow while treating the unsigned values as
    signed.
          
    In this bug, we find that the unsigned_flag can sometimes change
    between the moment that the user value is recorded for binlogging
    purposes and the actual binlogging time. Since we take the
    unsigned_flag from the runtime variable data, at binlogging time,
    and the variable value is comes from the copy taken earlier in
    the execution, there may be inconsistency in the
    User_var_log_event between the variable value and its
    unsigned_flag.
          
    We fix this by also copying the unsigned_flag of the
    user_var_entry when its value is copied, for binlogging
    purposes. Later, at binlogging time, we use the copied
    unsigned_flag and not the one in the runtime user_var_entry
    instance.
    229da7c0
log.cc 177 KB