Skip to content
  • Abhishek Ranjan's avatar
    57bb3edf
    WL#6614 : Define and reimplement IGNORE · 57bb3edf
    Abhishek Ranjan authored
    WL#6891 : Define and reimplement STRICT MODE
    
    IGNORE Reimplementation :
    This worklog reimplements IGNORE. In the previous implementation,
    errors were downgraded to warnings inside THD::raise_condition()
    based on SELECT_LEX::no_error. This patch changes it to use an
    Internal_error_handler activated just for statements which support
    IGNORE keyword to downgrade specific errors to warnings.
    
    Bugs Fixed by this worklog :
    
    - Bug#11744960 : INSERT IGNORE SHOULD RETURN WARNINGS
    - Bug#11752648 : MULTI-DELETE IGNORE DOES NOT REPORT WARNINGS
    - Bug#16522924 : UPDATE TRIGGER INVOKED WHEN UPDATE IGNORE
                     MEANS THAT NO UPDATE IS PERFORMED
    - Bug#16860715 : ASSERT IN PROTOCOL::END_STATEMENT DURING DELETE
                     IGNORE
    - Bug#16860829 : ASSERT IN DIAGNOSTICS_AREA::SET_ERROR_STATUS
    - Bug#17550423 : DELETE IGNORE GIVES INCORRECT RESULT WITH FOREIGN
                     KEY FOR PARENT TABLE
    
    
    STRICT Mode Reimplementation :
    This worklog reimplements STRICT mode. In the previous implementation
    When STRICT MODE was enabled, warning were upgraded to errors inside
    THD::raise_condition() based on THD::abort_on_warning flag.
    This patch uses an Internal_error_handler activated just for
    STRICT MODE to do the upgrade of specific warnings to errors.
    
    Bugs Fixed by this worklog :
    
    - BUG#11751889: TRIGGERS OVERRIDE STRICT SQL_MODE
    - Bug#16976939: FIX ERROR MESSAGE ON DUPLICATE INDEX CREATION AND
                    STRICT MODE
    - BUG#18526888: STRICT MODE DOES NOT APPLY TO MULTI DELETE STATEMENT
    57bb3edf
    WL#6614 : Define and reimplement IGNORE
    Abhishek Ranjan authored
    WL#6891 : Define and reimplement STRICT MODE
    
    IGNORE Reimplementation :
    This worklog reimplements IGNORE. In the previous implementation,
    errors were downgraded to warnings inside THD::raise_condition()
    based on SELECT_LEX::no_error. This patch changes it to use an
    Internal_error_handler activated just for statements which support
    IGNORE keyword to downgrade specific errors to warnings.
    
    Bugs Fixed by this worklog :
    
    - Bug#11744960 : INSERT IGNORE SHOULD RETURN WARNINGS
    - Bug#11752648 : MULTI-DELETE IGNORE DOES NOT REPORT WARNINGS
    - Bug#16522924 : UPDATE TRIGGER INVOKED WHEN UPDATE IGNORE
                     MEANS THAT NO UPDATE IS PERFORMED
    - Bug#16860715 : ASSERT IN PROTOCOL::END_STATEMENT DURING DELETE
                     IGNORE
    - Bug#16860829 : ASSERT IN DIAGNOSTICS_AREA::SET_ERROR_STATUS
    - Bug#17550423 : DELETE IGNORE GIVES INCORRECT RESULT WITH FOREIGN
                     KEY FOR PARENT TABLE
    
    
    STRICT Mode Reimplementation :
    This worklog reimplements STRICT mode. In the previous implementation
    When STRICT MODE was enabled, warning were upgraded to errors inside
    THD::raise_condition() based on THD::abort_on_warning flag.
    This patch uses an Internal_error_handler activated just for
    STRICT MODE to do the upgrade of specific warnings to errors.
    
    Bugs Fixed by this worklog :
    
    - BUG#11751889: TRIGGERS OVERRIDE STRICT SQL_MODE
    - Bug#16976939: FIX ERROR MESSAGE ON DUPLICATE INDEX CREATION AND
                    STRICT MODE
    - BUG#18526888: STRICT MODE DOES NOT APPLY TO MULTI DELETE STATEMENT
Loading