• unknown's avatar
    Bug#20830 - INSERT DELAYED does not honour SET INSERT_ID · 4e52d5ac
    unknown authored
    Bug#20627 - INSERT DELAYED does not honour auto_increment_* variables
    
    INSERT DELAYED ignored an explicitly set INSERT_ID and session
    specific auto_increment_* variables.
    
    The problem was that the inserts are done by a system thread,
    which does not have access to the session variables of the user
    thread.
    
    On a proposal of Guilhem I fixed it so that the variables are
    copied to the data structure for every delayed row. The system
    thread sets its session variables from these values.
    
    
    mysql-test/r/delayed.result:
      Bug#20830 - INSERT DELAYED does not honour SET INSERT_ID
      Bug#20627 - INSERT DELAYED does not honour auto_increment_* variables
      Turned some sleeps into FLUSH TABLEs.
      Added test cases.
    mysql-test/t/delayed.test:
      Bug#20830 - INSERT DELAYED does not honour SET INSERT_ID
      Bug#20627 - INSERT DELAYED does not honour auto_increment_* variables
      Turned some sleeps into FLUSH TABLEs.
      Added test cases.
    sql/sql_insert.cc:
      Bug#20830 - INSERT DELAYED does not honour SET INSERT_ID
      Bug#20627 - INSERT DELAYED does not honour auto_increment_* variables
      Added auto_increment/insert_id related variables to 'delayed_row'.
      The session values are copied to 'delayed_row' by the user thread.
      The delayed insert thread copies them to his session variables.
    4e52d5ac
delayed.test 7.35 KB