mirror of
https://github.com/MariaDB/server.git
synced 2025-02-13 17:05:35 +01:00
![Marko Mäkelä](/assets/img/avatar_default.png)
MySQL 5.7 allows temporary tables to be created in ROW_FORMAT=COMPRESSED. The usefulness of this is questionable. WL#7899 in MySQL 8.0.0 prevents the creation of such compressed tables, so that all InnoDB temporary tables will be located inside the predefined InnoDB temporary tablespace. Pick up and adjust some tests from MySQL 5.7 and 8.0. dict_tf_to_fsp_flags(): Remove the parameter is_temp. fsp_flags_init(): Remove the parameter is_temporary. row_mysql_drop_temp_tables(): Remove. There cannot be any temporary tables in InnoDB. (This never removed #sql* tables in the datadir which were created by DDL.) dict_table_t::dir_path_of_temp_table: Remove. create_table_info_t::m_temp_path: Remove. create_table_info_t::create_options_are_invalid(): Do not allow ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE for temporary tables. create_table_info_t::innobase_table_flags(): Do not unnecessarily prevent CREATE TEMPORARY TABLE with SPATIAL INDEX. (MySQL 5.7 does allow this.) fil_space_belongs_in_lru(): The only FIL_TYPE_TEMPORARY tablespace is never subjected to closing least-recently-used files.
37 lines
1 KiB
Text
37 lines
1 KiB
Text
#
|
|
# WL#6501: make truncate table atomic
|
|
#
|
|
|
|
# load table with some significiant amount of data
|
|
# and then try truncate
|
|
|
|
--source include/have_innodb.inc
|
|
--source include/have_debug.inc
|
|
--source include/big_test.inc
|
|
--source include/have_innodb_16k.inc
|
|
|
|
# Valgrind would complain about memory leaks when we crash on purpose.
|
|
--source include/not_valgrind.inc
|
|
# Embedded server does not support crashing
|
|
--source include/not_embedded.inc
|
|
# Avoid CrashReporter popup on Mac
|
|
--source include/not_crashrep.inc
|
|
|
|
|
|
# Single-Tablespace/Non-Compressed
|
|
let $wl6501_file_per_table = 1;
|
|
let $wl6501_row_fmt = compact;
|
|
let $wl6501_kbs = 16;
|
|
--source suite/innodb_zip/include/innodb_wl6501_scale.inc
|
|
|
|
# Single-Tablespace/Compressed
|
|
let $wl6501_file_per_table = 1;
|
|
let $wl6501_row_fmt = compressed;
|
|
let $wl6501_kbs = 16;
|
|
--source suite/innodb_zip/include/innodb_wl6501_scale.inc
|
|
|
|
# System-Tablespace/Non-Compressed
|
|
let $wl6501_file_per_table = 0;
|
|
let $wl6501_row_fmt = compact;
|
|
let $wl6501_kbs = 16;
|
|
--source suite/innodb_zip/include/innodb_wl6501_scale.inc
|