maria-developers team mailing list archive
-
maria-developers team
-
Mailing list archive
-
Message #13311
Re: MDEV-30946 Index usage for DATE(datetime_column) = const does not work for DELETE and UPDATE
Hi Oleg,
Why is the call to Item::date_conds_transformer done after
prune_partitions()?
This causes partition pruning not to be able to use the conditions:
--source include/have_partition.inc
--source include/have_sequence.inc
create table t1 (
a datetime,
key(a)
) partition by range(year(a)) (
partition p0 values less than (2022),
partition p1 values less than (MAXVALUE)
);
insert into t1
select date_add('2020-01-01', interval seq day)
from
seq_1_to_1000;
explain partitions select * from t1 where year(a) = 2020;
explain partitions delete from t1 where year(a) = 2020;
drop table t1;
Gives:
explain partitions select * from t1 where year(a) = 2020;
id select_type table partitions type possible_keys key key_len ref rows Extra
1 SIMPLE t1 p0 range a a 6 NULL 348 Using where; Using index
explain partitions delete from t1 where year(a) = 2020;
id select_type table partitions type possible_keys key key_len ref rows Extra
1 SIMPLE t1 p0,p1 ALL a NULL NULL NULL 1000 Using where
Note that SELECT uses one partition while DELETE uses two.
Please fix this.
BR
Sergei
--
Sergei Petrunia, Software Developer
MariaDB Corporation | Skype: sergefp | Blog: http://petrunia.net