Bug #13305 | multi-table update crashes slave if involves function | ||
---|---|---|---|
Submitted: | 18 Sep 2005 10:54 | Modified: | 6 Oct 2005 20:50 |
Reporter: | Guilhem Bichot | Email Updates: | |
Status: | Duplicate | Impact on me: | |
Category: | MySQL Server: Replication | Severity: | S3 (Non-critical) |
Version: | 5.0 | OS: | Linux (linux) |
Assigned to: | Assigned Account | CPU Architecture: | Any |
[18 Sep 2005 10:54]
Guilhem Bichot
[18 Sep 2005 11:52]
Guilhem Bichot
I would suggest this bug goes to Antony, as the code is his: acurtis 1.271.1.149 if (lex->sql_command == SQLCOM_UPDATE_MULTI) acurtis 1.218.43.1 { acurtis 1.218.43.1 DBUG_PRINT("info",("need faked locked tables")); acurtis 1.218.43.1 acurtis 1.393.2.4 if (check_multi_update_lock(thd)) acurtis 1.218.43.1 goto error; acurtis 1.218.43.1 acurtis 1.218.43.1 /* Fix for replication, the tables are opened and locked, acurtis 1.218.43.1 now we pretend that we have performed a LOCK TABLES action */ acurtis 1.218.43.1 acurtis 1.218.43.1 fake_prev_lock= thd->locked_tables; acurtis 1.218.43.1 if (thd->lock) acurtis 1.218.43.1 thd->locked_tables= thd->lock; acurtis 1.218.43.1 thd->lock= 0; acurtis 1.218.43.1 slave_fake_lock= 1; acurtis 1.218.43.1 }
[18 Sep 2005 19:19]
Sergei Golubchik
The fix for the BUG#7011 is no longer correct for 5.0. It tries to do prelocking which worked in 4.0 and 4.1 but in 5.0 SP and triggers do the same trick. Thus BUG#7011 should be re-fixed in 5.0, one possible solution - for multi-updates perform all_tables_not_ok() test later when all locks are known.
[19 Sep 2005 13:29]
Guilhem Bichot
does not happen with multi-DELETE (could not repeat using a similar testcase).
[6 Oct 2005 0:29]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/internals/30738
[6 Oct 2005 20:50]
Sergei Golubchik
a duplicate of bug#12618