[MDEV-8733] Table storage engine conversion does not remove TRANSACTIONAL flags Created: 2015-09-02 Updated: 2023-07-28 Resolved: 2019-12-24 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Data Definition - Alter Table |
| Affects Version/s: | 5.5, 10.0, 10.1, 10.2, 10.3, 10.4 |
| Fix Version/s: | N/A |
| Type: | Bug | Priority: | Minor |
| Reporter: | Karsten Richter | Assignee: | Unassigned |
| Resolution: | Not a Bug | Votes: | 1 |
| Labels: | upstream | ||
| Environment: |
Ubuntu 14.04 x86_64 deb from official binary repo |
||
| Issue Links: |
|
||||||||||||||||
| Description |
|
If a table is created as MyISAM or ARIA engine or was at some point in the past converted to this engine type, a later conversion to INNODB and any subsequent ALTER TABLE statement produces the warning #1478. This is a critical bug as e.g. Ruby on rails interprets this warning as a failed transaction and does not apply DB migrations. This can be reproduced using the following SQL:
Result:
|
| Comments |
| Comment by Elena Stepanova [ 2015-09-03 ] | ||||||||||||||||
|
It's an upstream bug https://bugs.mysql.com/bug.php?id=67727 . Workaround:
| ||||||||||||||||
| Comment by Elena Stepanova [ 2019-05-01 ] | ||||||||||||||||
|
In 10.4, the flag is still not deleted, but in this particular case InnoDB doesn't complain anymore:
| ||||||||||||||||
| Comment by Sergei Golubchik [ 2019-12-24 ] | ||||||||||||||||
|
This is intentional. The goal is to preserve as many attributes as possible, so that if you convert back to Aria you get your table in its original state. |