mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
MDEV-11816 Disallow CREATE TEMPORARY TABLE…ROW_FORMAT=COMPRESSED
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.
This commit is contained in:
@ -1,40 +0,0 @@
|
||||
# insert test
|
||||
insert into t1 values (100, 1.1, 'pune');
|
||||
insert into t1 values (99, 1.2, 'mumbai');
|
||||
insert into t1 values (98, 1.3, 'jaipur');
|
||||
insert into t1 values (97, 1.4, 'delhi');
|
||||
insert into t1 values (96, 1.5, 'ahmedabad');
|
||||
select * from t1;
|
||||
select * from t1 where i = 98;
|
||||
select * from t1 where i < 100;
|
||||
#
|
||||
# add index using alter table table
|
||||
explain select * from t1 where f > 1.29999;
|
||||
alter table t1 add index sec_index(f);
|
||||
explain select * from t1 where f > 1.29999;
|
||||
select * from t1 where f > 1.29999;
|
||||
#
|
||||
explain select * from t1 where i = 100;
|
||||
alter table t1 add unique index pri_index(i);
|
||||
explain select * from t1 where i = 100;
|
||||
select * from t1 where i = 100;
|
||||
#
|
||||
# delete test
|
||||
delete from t1 where i < 97;
|
||||
select * from t1;
|
||||
insert into t1 values (96, 1.5, 'kolkata');
|
||||
select * from t1;
|
||||
#
|
||||
# update test
|
||||
update t1 set f = 1.44 where c = 'delhi';
|
||||
select * from t1;
|
||||
#
|
||||
# truncate table
|
||||
truncate table t1;
|
||||
insert into t1 values (100, 1.1, 'pune');
|
||||
insert into t1 values (99, 1.2, 'mumbai');
|
||||
insert into t1 values (98, 1.3, 'jaipur');
|
||||
insert into t1 values (97, 1.4, 'delhi');
|
||||
insert into t1 values (96, 1.5, 'ahmedabad');
|
||||
select * from t1;
|
||||
|
Reference in New Issue
Block a user