1
0
mirror of https://github.com/MariaDB/server.git synced 2025-05-28 13:01:41 +03:00
Marko Mäkelä ac24289e66 MDEV-16328 ALTER TABLE…page_compression_level should not rebuild table
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.
2018-09-17 14:37:39 +03:00
..
2018-05-16 15:03:09 +05:30
2014-08-02 21:26:16 +02:00
2017-06-08 12:45:08 +03:00
2015-12-09 10:00:49 +01:00
2017-02-10 06:30:42 -05:00
2012-10-16 13:04:42 +02:00
2017-02-10 06:30:42 -05:00
2018-07-02 12:27:28 +03:00
2017-10-25 17:17:21 +03:00
2017-10-25 17:17:21 +03:00
2018-05-12 22:14:59 +03:00
2013-01-15 19:16:18 +01:00
2015-10-05 17:14:13 +02:00
2018-06-06 11:25:33 +03:00
2016-04-26 23:05:26 +02:00
2017-09-17 11:05:33 +03:00
2018-01-08 14:51:20 +02:00
2018-06-18 15:43:59 +03:00
2017-11-06 18:10:23 +02:00
2018-08-03 15:57:23 +03:00
2018-02-15 10:22:03 +02:00
2018-01-18 09:28:37 +02:00
2017-02-10 06:30:42 -05:00
2018-02-17 14:54:12 +02:00
2017-02-10 06:30:42 -05:00
2015-10-23 18:49:02 +03:00
2018-07-02 12:27:28 +03:00
2018-07-26 09:19:52 +03:00
2018-05-17 09:37:01 +03:00
2017-08-29 10:07:33 +03:00