Skip to content
  • Raghav Kapoor's avatar
    70d69f96
    WL#7467: Deprecate (5.6) and remove (5.7) ERROR_FOR_DIVISION_BY_ZERO, · 70d69f96
    Raghav Kapoor authored
             NO_ZERO_DATE, NO_ZERO_IN_DATE SQL MODES and make their
             functionality part of STRICT MODE
    
    This is the 5.7 version of the patch.
          
    This patch removes the functionality of ERROR_FOR_DIVISION_BY_ZERO,
    NO_ZERO_DATE, NO_ZERO_IN_DATE SQL MODES and makes their 
    functionality part of STRICT MODE.
    
    All the tests are updated according to the new behaviour.
    
    NOTE:Here STRICT MODE refers to STRICT_ALL_TABLES and
    STRICT_TRANS_TABLES.
    
    NOTE:Also a small refactoring is done for TIME_NO_ZERO_* flags
    which makes the code conceptually clear and easy to understand.
    Previously in old code there was an implicit dependency between
    MODE_NO_ZERO* and TIME_NO_ZERO* flags and they could be freely 
    mixed and the code was confusing and conceptually
    wrong.
    With the elimination of MODE_NO_ZERO_* flags handled in this WL,
    TIME_NO_ZERO_* flags which control the datetime behaviour
    are also updated.
    This refactoring is also done to keep the existing behaviour if 
    SQL_MODE is traditional/STRICT.
    70d69f96
    WL#7467: Deprecate (5.6) and remove (5.7) ERROR_FOR_DIVISION_BY_ZERO,
    Raghav Kapoor authored
             NO_ZERO_DATE, NO_ZERO_IN_DATE SQL MODES and make their
             functionality part of STRICT MODE
    
    This is the 5.7 version of the patch.
          
    This patch removes the functionality of ERROR_FOR_DIVISION_BY_ZERO,
    NO_ZERO_DATE, NO_ZERO_IN_DATE SQL MODES and makes their 
    functionality part of STRICT MODE.
    
    All the tests are updated according to the new behaviour.
    
    NOTE:Here STRICT MODE refers to STRICT_ALL_TABLES and
    STRICT_TRANS_TABLES.
    
    NOTE:Also a small refactoring is done for TIME_NO_ZERO_* flags
    which makes the code conceptually clear and easy to understand.
    Previously in old code there was an implicit dependency between
    MODE_NO_ZERO* and TIME_NO_ZERO* flags and they could be freely 
    mixed and the code was confusing and conceptually
    wrong.
    With the elimination of MODE_NO_ZERO_* flags handled in this WL,
    TIME_NO_ZERO_* flags which control the datetime behaviour
    are also updated.
    This refactoring is also done to keep the existing behaviour if 
    SQL_MODE is traditional/STRICT.
Loading