mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
MDEV-18300: ASAN error in Field_blob::get_key_image upon UPDATE with subquery
For single table updates and multi-table updates , engine independent statistics were not being read even if the statistics were collected. Fixed it, so when the optimizer_use_condition_selectivity > 2 then we would read the available statistics for update queries.
This commit is contained in:
@ -65,3 +65,27 @@ SELECT * FROM t1;
|
||||
a_id b_id c_id
|
||||
1 NULL NULL
|
||||
drop table t1,t2;
|
||||
#
|
||||
# MDEV-18300: ASAN error in Field_blob::get_key_image upon UPDATE with subquery
|
||||
#
|
||||
set @save_optimizer_use_condition_selectivity= @@optimizer_use_condition_selectivity;
|
||||
set @save_use_stat_tables= @@use_stat_tables;
|
||||
set use_stat_tables=preferably;
|
||||
set optimizer_use_condition_selectivity=4;
|
||||
CREATE TABLE t1 (a INT, b CHAR(8)) ENGINE=InnoDB;
|
||||
insert into t1 values (1,'foo'),(2, 'abc');
|
||||
CREATE TABLE t2 (c CHAR(8), d BLOB) ENGINE=InnoDB;
|
||||
insert into t2 values ('abc', 'foo'),('edf', 'food');
|
||||
ANALYZE TABLE t1,t2;
|
||||
UPDATE t1 SET a = 1 WHERE b = ( SELECT c FROM t2 WHERE d = 'foo' );
|
||||
SELECT * FROM t1;
|
||||
a b
|
||||
1 foo
|
||||
1 abc
|
||||
DROP TABLE t1, t2;
|
||||
create table t1 (a int not null, b int, c int) engine=InnoDB;
|
||||
create table t2 (d int, e int) engine=InnoDB;
|
||||
update t1, t2 set a=NULL, b=2, c=NULL where b=d and e=200;
|
||||
drop table t1,t2;
|
||||
set @@optimizer_use_condition_selectivity= @save_optimizer_use_condition_selectivity;
|
||||
set @@use_stat_tables= @save_use_stat_tables;
|
||||
|
Reference in New Issue
Block a user