Skip to content
  • Raghav Kapoor's avatar
    3ab69696
    BUG#18311187 - SQL_MODE IS CHANGED TO WRONG VALUE AFTER DUMP/DATA UPGRADE FOR TRIGGERS · 3ab69696
    Raghav Kapoor authored
    BACKGROUND:
    With the push of WL#7467, it was observed that SQL_MODE is 
    changed to wrong value in triggers during live/dump upgrade
    which is not desired behaviour.
    
    ANALYSIS:
    SQL_MODE for triggers is stored in .TRG files at trigger 
    creation time.
    If the user upgraded to the version in which WL#7467 was pushed,
    the value of SQL_MODES in .TRG files started mapping to the
    new SQL_MODES currently available which was not desired and
    might lead to wrong behaviour of triggers after upgrade.
    
    FIX:
    As a fix for this issue, the removed SQL_MODES are again
    introduced for backward compatibility during upgrade.
    However, Setting NO_ZERO_DATE, NO_ZERO_IN_DATE and
    ERROR_FOR_DIVISION_BY_ZERO will have no effect and 
    user will get a warning if he tries to explicitly set
    these modes.  
    
    NOTE TO DOCUMENTATION:
    =====================
    For stored routines that were created in 5.6 with 
    NO_ZERO_* modes, after upgrade to 5.7, these modes will
    *not* show up in the output of
    SHOW CREATE PROC/FUNC/EVENTS/TRIGGERS, and SELECT * FROM
    information_schema.triggers.
    Only Select * from mysql.proc and mysql.events
    table will show the NO_ZERO_* modes after upgrade for the 
    procs/events that were created in 5.6.
    In 5.7, since we cannot use NO_ZERO_* modes,
    mysql.proc/mysql.events or even SHOW CREATE will not show
    any of NO_ZERO_* Modes.
    3ab69696
    BUG#18311187 - SQL_MODE IS CHANGED TO WRONG VALUE AFTER DUMP/DATA UPGRADE FOR TRIGGERS
    Raghav Kapoor authored
    BACKGROUND:
    With the push of WL#7467, it was observed that SQL_MODE is 
    changed to wrong value in triggers during live/dump upgrade
    which is not desired behaviour.
    
    ANALYSIS:
    SQL_MODE for triggers is stored in .TRG files at trigger 
    creation time.
    If the user upgraded to the version in which WL#7467 was pushed,
    the value of SQL_MODES in .TRG files started mapping to the
    new SQL_MODES currently available which was not desired and
    might lead to wrong behaviour of triggers after upgrade.
    
    FIX:
    As a fix for this issue, the removed SQL_MODES are again
    introduced for backward compatibility during upgrade.
    However, Setting NO_ZERO_DATE, NO_ZERO_IN_DATE and
    ERROR_FOR_DIVISION_BY_ZERO will have no effect and 
    user will get a warning if he tries to explicitly set
    these modes.  
    
    NOTE TO DOCUMENTATION:
    =====================
    For stored routines that were created in 5.6 with 
    NO_ZERO_* modes, after upgrade to 5.7, these modes will
    *not* show up in the output of
    SHOW CREATE PROC/FUNC/EVENTS/TRIGGERS, and SELECT * FROM
    information_schema.triggers.
    Only Select * from mysql.proc and mysql.events
    table will show the NO_ZERO_* modes after upgrade for the 
    procs/events that were created in 5.6.
    In 5.7, since we cannot use NO_ZERO_* modes,
    mysql.proc/mysql.events or even SHOW CREATE will not show
    any of NO_ZERO_* Modes.
Loading