summaryrefslogtreecommitdiff
path: root/mysql-test/suite/innodb/r/alter_algorithm.result
Commit message (Collapse)AuthorAgeFilesLines
* MDEV-16288 ALTER TABLE…ALGORITHM=DEFAULT does not override alter_algorithmThirunarayanan Balathandayuthapani2020-05-041-1/+5
| | | | | | | | | | | | | | - ALTER_ALGORITHM should be substituted when there is no mention of algorithm in alter statement. - Introduced algorithm(thd) in Alter_info. It returns the user requested algorithm. If user doesn't specify algorithm explicitly then it returns alter_algorithm variable. - changed algorithm() to get_algorithm(thd) to return algorithm name for displaying the error. - set_requested_algorithm(algo_value) to avoid direct assignment on requested_algorithm variable. - Avoid direct access of requested_algorithm to encapsulate requested_algorithm variable
* MDEV-18819 ALTER_COLUMN_VCOL is not set for generated stored columnsSergei Golubchik2019-10-301-4/+0
|
* MDEV-13134: Merge tests to innodb.alter_algorithmMarko Mäkelä2018-11-071-5/+49
| | | | | | Remove the separate test innodb.alter_instant, because it can be easily mistaken for innodb.instant_alter, which in turn is covering various instant ALTER TABLE operations.
* Follow-up to MDEV-16328: ALTER TABLE…page_compression_level should not ↵Marko Mäkelä2018-09-191-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | rebuild table Allow combination of non-instant, non-rebuilding operations with changes of table options that do not require a rebuild. For example, DROP INDEX or ADD INDEX can be performed with ALGORITHM=NOCOPY together with changing such table options. Changing the table options alone would be allowed with ALGORITHM=INSTANT. INNOBASE_ALTER_NOCREATE: A new set of flags, for operations that are refused for ALGORITHM=INSTANT and do not involve creating index trees. Move ALTER_RENAME_INDEX to the proper place (INNOBASE_ALTER_INSTANT). innobase_need_rebuild(): Do not require a rebuild if INNOBASE_ALTER_NOREBUILD operations are combined with ALTER_OPTIONS. ha_innobase::prepare_inplace_alter_table(), ha_innobase::inplace_alter_table(): Use the fast path if ALTER_OPTIONS is combined with INNOBASE_ALTER_NOCREATE. In this case, the actual changes would be deferred to ha_innobase::commit_inplace_alter_table().
* MDEV-16328 ALTER TABLE…page_compression_level should not rebuild tableMarko Mäkelä2018-09-171-21/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The table option page_compression_level is something that only affects future writes, not actually the data format. Therefore, we can allow instant changes of this option. Similarly, the table option page_compressed can be set on a previously uncompressed table without rebuilding the table, because an uncompressed page would be considered valid when reading a page_compressed table. Removing the page_compressed option will continue to require the table to be rebuilt. ha_innobase_inplace_ctx::page_compression_level: The requested page_compression_level at the start of ALTER TABLE, or 0 if page_compressed=OFF. alter_options_need_rebuild(): Renamed from create_option_need_rebuild(). Allow page_compression_level and page_compressed to be changed as above, without rebuilding the table. ha_innobase::check_if_supported_inplace_alter(): Allow ALGORITHM=INSTANT for ALTER_OPTIONS if the table is not to be rebuilt. If rebuild is needed, set ha_alter_info->unsupported_reason. innobase_page_compression_try(): Update SYS_TABLES.TYPE according to the table flags, for an instant change of page_compression_level or page_compressed. commit_cache_norebuild(): Adjust dict_table_t::flags, fil_space_t::flags and (if needed) FSP_SPACE_FLAGS if page_compression_level was specified.
* MDEV-13134 Introduce ALTER TABLE attributes ALGORITHM=NOCOPY and ↵Thirunarayanan Balathandayuthapani2018-05-071-0/+71
ALGORITHM=INSTANT Introduced new alter algorithm type called NOCOPY & INSTANT for inplace alter operation. NOCOPY - Algorithm refuses any alter operation that would rebuild the clustered index. It is a subset of INPLACE algorithm. INSTANT - Algorithm allow any alter operation that would modify only meta data. It is a subset of NOCOPY algorithm. Introduce new variable called alter_algorithm. The values are DEFAULT(0), COPY(1), INPLACE(2), NOCOPY(3), INSTANT(4) Message to deprecate old_alter_table variable and make it alias for alter_algorithm variable. alter_algorithm variable for slave is always set to default.