Skip to content
  • Venkatesh Duggirala's avatar
    be1851d5
    Bug#21229951 VARIABLES IN ALTER EVENT NOT REPLICATED PROPERLY · be1851d5
    Venkatesh Duggirala authored
    Problem: SP local variables that are used in ALTER EVENT
    are not replicated properly.
    
    Analysis: CALL statements are not written into binary log. Instead
    each statement executed in SP is binlogged separately with the exception
    that we modify query string: we replace uses of SP local variables with
    NAME_CONST('spvar_name', <spvar-value>) calls. The code was written
    under the assumption that this replacement was not required for at all
    for all the queries in 'row' based format. But it can happen that DDLs
    (which are always binlogged in statement mode irrespective of binlog
    format) can also use SP local variables and they suffer due to the
    above assumption. 'ALTER EVENT' in this bug case is one such cases
    
    Fix: Any SP local variables used in a query should
    be replaced with NAME_CONST(...) except for the case when it is DML
    query and binlog format is 'ROW'.
    be1851d5
    Bug#21229951 VARIABLES IN ALTER EVENT NOT REPLICATED PROPERLY
    Venkatesh Duggirala authored
    Problem: SP local variables that are used in ALTER EVENT
    are not replicated properly.
    
    Analysis: CALL statements are not written into binary log. Instead
    each statement executed in SP is binlogged separately with the exception
    that we modify query string: we replace uses of SP local variables with
    NAME_CONST('spvar_name', <spvar-value>) calls. The code was written
    under the assumption that this replacement was not required for at all
    for all the queries in 'row' based format. But it can happen that DDLs
    (which are always binlogged in statement mode irrespective of binlog
    format) can also use SP local variables and they suffer due to the
    above assumption. 'ALTER EVENT' in this bug case is one such cases
    
    Fix: Any SP local variables used in a query should
    be replaced with NAME_CONST(...) except for the case when it is DML
    query and binlog format is 'ROW'.
Loading