Bug #28971 | ALTER TABLE followed by UPDATE for a CSV table make server crash | ||
---|---|---|---|
Submitted: | 8 Jun 2007 10:14 | Modified: | 7 Jul 2007 18:49 |
Reporter: | Alexander Barkov | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: CSV | Severity: | S3 (Non-critical) |
Version: | 5.1.20 | OS: | Any |
Assigned to: | Sergey Vojtovich | CPU Architecture: | Any |
[8 Jun 2007 10:14]
Alexander Barkov
[8 Jun 2007 10:48]
Sveta Smirnova
Thank you for the report. Verified as described.
[14 Jun 2007 18:30]
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/28796 ChangeSet@1.2551, 2007-06-15 03:22:40+05:00, svoj@mysql.com +3 -0 BUG#28971 - ALTER TABLE followed by UPDATE for a CSV table make server crash UPDATE against CSV table may cause server crash or update a table with wrong values. CSV can write only a whole row at once. That means it must read all columns, that it is not going to update, and write them along with updated columns. But only limited set of columns was read, those that were needed for the UPDATE query. With this fix all columns are read in case we're performing an UPDATE.
[16 Jun 2007 15:15]
Ingo Strüwing
Exchanged assignee and reviewer since I have a patch for Bug#26827 (table->read_set is set incorrectly, causing update of a different column), which should fix this bug too.
[18 Jun 2007 11:58]
Ingo Strüwing
See Bug#26827 (table->read_set is set incorrectly, causing update of a different column) for the patch.
[21 Jun 2007 7:16]
Ingo Strüwing
For Sergeis approval please see his email Re: bk commit - 6.0-falcon tree (istruewing:1.2563) BUG#26827. I agree as mentioned in an earlier email (though I'd prefer a common solution over a fix per engine. But my vote stands against two).
[7 Jul 2007 16:34]
Bugs System
Pushed into 5.1.21-beta
[7 Jul 2007 18:49]
Paul DuBois
Noted in 5.1.21 changelog. Updates to a CSV table could cause a server crash or update the table with incorrect values.