Re: [Maria-developers] 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
participants (1)
-
Sergey Petrunia