Bug #78553 Convert MyISAM to an optional storage engine plugin
Submitted: 25 Sep 2015 8:16 Modified: 25 Sep 2015 8:22
Reporter: Laurynas Biveinis (OCA) Email Updates:
Status: Open Impact on me:
Category:MySQL Server: MyISAM storage engine Severity:S4 (Feature request)
Version:8.0 OS:Any
Assigned to: CPU Architecture:Any

[25 Sep 2015 8:16] Laurynas Biveinis
Convert MyISAM to an optional (but built and tested by default) storage engine plugin

- Remove its mandatory uses in the server, such as the last of MyISAM system tables.
- Make sure internal_tmp_disk_storage_engine accepts plugin SEs as args (or remove option altogether).
- Prepend myisam- prefix to all the MyISAM-specific options (e.g. key_buffer_size) so that they can be moved to the plugin from the server core.
- Make MyISAM build as a shared library plugin, ensure server works without it present, remove as many "if (table se is myisam) then this else that" checks from the core server as possible.
- Move MyISAM tests to a separate MTR suite.

The above list is probably incomplete.

How to repeat:

Suggested fix:
[25 Sep 2015 8:22] Laurynas Biveinis
See also bug 78554
[18 Jun 2016 21:28] Omer Barnir
Posted by developer:
Reported version value updated to reflect release name change from 5.8 to 8.0
[14 Oct 2016 7:51] Daniƫl van Eeden
I think it makes sense to move MyISAM, MRG_MYISAM and FEDERATED out of the core and into a storage engine plugin.

See also:
Bug #82957 	Remove MRG_MYISAM (MERGE) storage engine
Bug #82959 	Remove FEDERATED storage engine

Then this plugin could/should be in a separate RPM package.

This also helps to improve and demonstrate the storage engine API etc.