• Martin Hansson's avatar
    Bug#43580: Issue with Innodb on multi-table update · 391364fa
    Martin Hansson authored
                            
    Certain multi-updates gave different results on InnoDB from
    to MyISAM, due to on-the-fly updates being used on the former and
    the update order matters.
    Fixed by turning off on-the-fly updates when update order 
    dependencies are present.
    
    
    mysql-test/r/innodb_mysql.result:
      Bug#43580: Test result.
    mysql-test/suite/rpl/r/rpl_slave_skip.result:
      Bug#43580: Changed test result. The InnoDB result is now what it would have been on MyISAM.
    mysql-test/t/innodb_mysql.test:
      Bug#43580: Test case.
    sql/sql_base.cc:
      Bug#43580: Added a word of caution about using tmp_set here.
    sql/sql_update.cc:
      Bug#43580: Fix.
      Calls to TABLE::mark_columns_needed_for_update() are moved
      from mysql_multi_update_prepare() and right before the decison
      to do on-the-fly updates to the place where we do (or don't do)
      on-the-fly updates.
    391364fa
sql_base.cc 288 KB