• Martin Hansson's avatar
    Bug#49534: multitable IGNORE update with sql_safe_updates · 2a22dc2e
    Martin Hansson authored
    error causes debug assertion
    
    The IGNORE option of the multiple-table UPDATE command was
    not intended to suppress errors caused by the
    sql_safe_updates mode. This flag will raise an error if the
    execution of UPDATE does not use a key for row retrieval,
    and should continue do so regardless of the IGNORE option.
    
    However the implementation of IGNORE does not support
    exceptions to the rule; it always converts errors to
    warnings and cannot be extended. The Internal_error_handler
    interface offers the infrastructure to handle individual
    errors, making sure that the error raised by
    sql_safe_updates is not silenced.
    
    Fixed by implementing an Internal_error_handler and using it
    for UPDATE IGNORE commands.
    2a22dc2e
sql_class.h 97.7 KB