# # This tests various issues when vcol items allocate memory (e.g. more items) # not in the TABLE::expr_arena. # --echo # --echo # MDEV-9690 concurrent queries with virtual columns crash in temporal code --echo # create table t1 (a datetime, # get_datetime_value b int as (a > 1), # Arg_comparator c int as (a in (1,2,3)), # in_datetime d int as ((a,a) in ((1,1),(2,1),(NULL,1))), # cmp_item_datetime # other issues e int as ((a,1) in ((1,1),(2,1),(NULL,1))) # cmp_item_row::alloc_comparators() ); enable_prepare_warnings; show create table t1; disable_prepare_warnings; connect con1, localhost, root; disable_warnings; insert t1 (a) values ('2010-10-10 10:10:10'); enable_warnings; #Enable after fix MDEV-31359 --disable_ps2_protocol select * from t1; --enable_ps2_protocol disconnect con1; connection default; disable_warnings; select * from t1; enable_warnings; drop table t1; connect con1, localhost, root; create table t1 (a datetime, b datetime as (least(a,1)) # Item_func_min_max::get_date ); insert t1 (a) values ('2010-10-10 10:10:10'); select * from t1; disconnect con1; connection default; select * from t1; drop table t1; --echo # --echo # MDEV-13435 Crash when selecting virtual columns generated using JSON functions --echo # create table t1 ( id int not null , js varchar(1000) not null, t time AS (cast(json_value(json_extract(js,concat('$.singleDay."', dayname(curdate()),'"')),'$.start') as time)) virtual); insert into t1(id,js) values (0, '{"default" : {"start": "00:00:00", "end":"23:59:50"}}'); select * from t1; drop table t1; --echo # --echo # MDEV-26281 ASAN use-after-poison when complex conversion is involved in blob --echo # create table t1 (v2 blob as ('a' is null), a1 int, a char(1) as (cast(a1 in (0,current_user() is null) as char(16777216) ))); insert ignore into t1 values ('x','x',v2) ; drop table t1; --echo # --echo # End of 10.2 tests --echo #