• unknown's avatar
    Fixed BUG#13683: INSERT DELAYED into a view creates an infinite loop. · 708f3b7b
    unknown authored
     The bug was caused by wrong behaviour of mysql_insert() which in case
     of INSERT DELAYED into a view exited with thd->net.report_error == 0.
     This blocked error reporting to the client which started waiting
     infinitely for response to the query.
    
    
    mysql-test/r/insert.result:
      Fixed results for the added test case.
    mysql-test/t/insert.test:
      Added test case.
    sql/sql_insert.cc:
      Fixed BUG#13683: INSERT DELAYED into a view creates an infinite loop.
       Changed mysql_insert(): delayed_get_table() applied to a view exits
       with ER_WRONG_OBJECT error (and with thd->net.report_error == 1) and
       in this case we must just exit from mysql_insert().  Prior to this
       change, instead of exiting open_and_lock_tables() was invoked which
       cleared thd->net.report_error to zero and caused the bug.
    708f3b7b
sql_insert.cc 76.5 KB