mirror of
https://github.com/MariaDB/server.git
synced 2025-11-12 10:22:39 +03:00
If the engine wants to avoid rnd_pos() - force a temporary table before a filesort. But don't do it if addon_fields are used.
28 lines
970 B
Plaintext
28 lines
970 B
Plaintext
#
|
|
# MDEV-14500 Support engines without rnd_pos
|
|
#
|
|
source include/have_archive.inc;
|
|
source include/have_sequence.inc;
|
|
source include/have_partition.inc;
|
|
|
|
create table t1(c1 int not null, c2 double not null, c3 char(255) not null) engine=archive;
|
|
insert t1 select seq, seq+0.7, concat('row with c1 = ', seq) from seq_1_to_10;
|
|
explain partitions select c1,c3 from t1 order by c2;
|
|
set max_length_for_sort_data = 4;
|
|
explain partitions select c1,c3 from t1 order by c2;
|
|
flush status;
|
|
select c1,c3 from t1 order by c2;
|
|
set max_length_for_sort_data = default;
|
|
show status where variable_name like '%tmp%' and value != 0;
|
|
|
|
alter table t1 partition by hash (c1) partitions 3;
|
|
explain partitions select c1,c3 from t1 order by c2;
|
|
set max_length_for_sort_data = 4;
|
|
explain partitions select c1,c3 from t1 order by c2;
|
|
flush status;
|
|
select c1,c3 from t1 order by c2;
|
|
set max_length_for_sort_data = default;
|
|
show status where variable_name like '%tmp%' and value != 0;
|
|
|
|
drop table t1;
|