Commit f04bbed2 authored by Sergei Golubchik's avatar Sergei Golubchik

MDEV-17755 Assertion `!table || (!table->read_set ||...

MDEV-17755 Assertion `!table || (!table->read_set || bitmap_is_set(table->read_set, field_index) || (!(ptr >= table->record[0] && ptr < table->record[0] + table->s->reclength)))' failed in Field_bit::val_int upon SELECT with JOIN, partitions, indexed virtual column

add a test case
parent 6a73569f
...@@ -956,3 +956,20 @@ test_jfg test_jfg11 ...@@ -956,3 +956,20 @@ test_jfg test_jfg11
test_jfg test_jfg12#P#p1000 test_jfg test_jfg12#P#p1000
test_jfg test_jfg12#P#pmax test_jfg test_jfg12#P#pmax
DROP DATABASE test_jfg; DROP DATABASE test_jfg;
create table t1 (a int) engine=innodb;
create table t2 (
b int,
c int,
d bit not null default 0,
v bit as (d) virtual,
key (b,v)
) engine=innodb partition by hash (b);
insert into t1 values (1),(2);
insert into t2 (b,c,d) values (1,1,0),(2,2,0);
explain select t1.* from t1 join t2 on (v = a);
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 2
1 SIMPLE t2 index NULL b 7 NULL 2 Using where; Using index; Using join buffer (flat, BNL join)
select t1.* from t1 join t2 on (v = a);
a
drop table t1, t2;
...@@ -1051,3 +1051,20 @@ SELECT database_name, table_name FROM mysql.innodb_table_stats WHERE ...@@ -1051,3 +1051,20 @@ SELECT database_name, table_name FROM mysql.innodb_table_stats WHERE
database_name = 'test_jfg'; database_name = 'test_jfg';
DROP DATABASE test_jfg; DROP DATABASE test_jfg;
#
# MDEV-17755 Assertion `!table || (!table->read_set || bitmap_is_set(table->read_set, field_index) || (!(ptr >= table->record[0] && ptr < table->record[0] + table->s->reclength)))' failed in Field_bit::val_int upon SELECT with JOIN, partitions, indexed virtual column
#
create table t1 (a int) engine=innodb;
create table t2 (
b int,
c int,
d bit not null default 0,
v bit as (d) virtual,
key (b,v)
) engine=innodb partition by hash (b);
insert into t1 values (1),(2);
insert into t2 (b,c,d) values (1,1,0),(2,2,0);
explain select t1.* from t1 join t2 on (v = a);
select t1.* from t1 join t2 on (v = a);
drop table t1, t2;
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment