MySQLOnRocksDB/mysql-5.6
forked from facebook/mysql-5.6

Loading…
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This task is about adding support for online (and/or in-place) DDL operations for MyRocks.
What can be supported
Some DDL changes have no effect on how the data is stored and so can be trivially supported:
** Default value changes
** N in char(N)
** possibly something else
Some changes may require data format change
** Should we try support for adding/removing non-key fields?
Some changes allow for in-place operation:
** The most important are ADD INDEX/DROP INDEX
How to support it
SQL layer will make the following calls:
h->check_if_supported_inplace_alter() // = HA_ALTER_INPLACE...
h->prepare_inplace_alter_table()
...
h->commit_inplace_alter_table
The first is to inquire whether the storage engine supports in-place operation for the given ALTER TABLE command. The latter are to actually made the change.