Bug #19773 | Crash when using multi-table updates with federated tables | ||
---|---|---|---|
Submitted: | 12 May 2006 14:50 | Modified: | 13 Jul 2006 3:48 |
Reporter: | Michael Widenius | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Federated storage engine | Severity: | S1 (Critical) |
Version: | 5.0.22, 5.1.10 | OS: | Linux (Linux) |
Assigned to: | Bugs System | CPU Architecture: | Any |
[12 May 2006 14:50]
Michael Widenius
[12 May 2006 14:51]
Michael Widenius
Test case for bug
Attachment: federated2.test (application/octet-stream, text), 2.42 KiB.
[12 May 2006 14:51]
Michael Widenius
Result set for test case (with MyISAM files instead of federated files)
Attachment: federated2.result (application/octet-stream, text), 1.60 KiB.
[17 May 2006 22:40]
Patrick Galbraith
Working on a solution for ::position
[26 May 2006 23:45]
Patrick Galbraith
this is what I have so far. It passes the basic federated test, but still no go on federated2 void ha_federated::position(const byte *record) { DBUG_ENTER("ha_federated::position"); if (has_a_primary_key) { DBUG_PRINT("info", ("has_a_primary_key")); ref_length= table->key_info[0].key_length; key_copy(ref, (byte *)record, table->key_info, ref_length); } else { DBUG_PRINT("info", ("has_a_primary_key")); ref_length= mean_rec_length; memcpy(ref, record, ref_length); } DBUG_VOID_RETURN; } int ha_federated::rnd_pos(byte *buf, byte *pos) { DBUG_ENTER("ha_federated::rnd_pos"); int result= 0; statistic_increment(table->in_use->status_var.ha_read_rnd_count, &LOCK_status); if (has_a_primary_key) result= index_read_idx(buf, 0, pos, ref_length, HA_READ_KEY_EXACT); else memcpy(buf, pos, ref_length); DBUG_RETURN(result); }
[1 Jun 2006 16:09]
Patrick Galbraith
Further help from Antony has yielded a working solution that I am working on coding. I estimate this to be committed for review in a day.
[7 Jun 2006 16:27]
Patrick Galbraith
I have working code that I just need to clean up today and hope to have a commit for review by end of day.
[8 Jun 2006 14:09]
Patrick Galbraith
See patch
[21 Jun 2006 12:27]
Michael Widenius
Review done. - Some part of patch needs to be moved into 5.1 as this is new optimizations - A lot of cleanups to do
[22 Jun 2006 6:38]
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/commits/8049
[28 Jun 2006 6:43]
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/commits/8375
[28 Jun 2006 10:00]
Michael Widenius
Created a new patch based on Patricks patch, but with less overall code changes. Patrick has the patch and for me it's ok to push that patch.
[28 Jun 2006 19:11]
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/commits/8431
[3 Jul 2006 5:11]
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/commits/8628
[6 Jul 2006 19:26]
Paul DuBois
Noted in 5.0.23 changelog. Multiple-table updates with FEDERATED tables could cause a server crash.
[11 Jul 2006 18:35]
Patrick Galbraith
Ver 5.1.12-beta
[13 Jul 2006 3:48]
Paul DuBois
Noted in 5.1.12 changelog.
[13 Jul 2006 22:09]
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/commits/9144
[13 Jul 2006 22:09]
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/commits/9145