EVOLUTION-MANAGER
Edit File: db917.test
# test DB-917 # test that table/share open lock timeout does not crash the server on subsequent access source include/have_partition.inc; source include/have_tokudb.inc; disable_warnings; drop table if exists t1; enable_warnings; set @orig_table_open_cache = @@global.table_open_cache; create table t1(a int) engine = tokudb partition by key(a) partitions 2 (partition p0 engine = tokudb, partition p1 engine = tokudb); lock tables t1 read,t1 as t2 read,t1 as t3 read, t1 as t4 read, t1 as t5 read, t1 as t6 read, t1 as t7 read, t1 as t8 read, t1 as t9 read, t1 as t10 read; set @@global.table_open_cache = 10; begin; insert into t1 values(1),(1); # when the bug is present, this results in a lock wait timeout --error ER_BAD_FIELD_ERROR select * from t1 where c like _ucs2 0x039C0025 collate ucs2_unicode_ci; # when the bug exists, this results in the assertion # kc_info->cp_info[keynr] == NULL in tokudb/ha_tokudb.cc initialize_col_pack_info --error ER_TABLE_EXISTS_ERROR create table t1(c1 binary (1), c2 varbinary(1)); unlock tables; drop table t1; set @@global.table_open_cache = @orig_table_open_cache;