mirror of
https://github.com/MariaDB/server.git
synced 2025-07-27 18:02:13 +03:00
MDEV-24909 JSON functions don't respect KILL QUERY / max_statement_time limit
pass the pointer to thd->killed down to the json library, check it while scanning, use thd->check_killed() to generate the proper error message
This commit is contained in:
37
mysql-test/main/func_json_notembedded.test
Normal file
37
mysql-test/main/func_json_notembedded.test
Normal file
@ -0,0 +1,37 @@
|
||||
source include/have_profiling.inc;
|
||||
source include/not_embedded.inc;
|
||||
|
||||
set global max_allowed_packet=1073741824;
|
||||
connect u,localhost,root;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-24909 JSON functions don't respect KILL QUERY / max_statement_time limit
|
||||
--echo #
|
||||
set group_concat_max_len= 4294967295;
|
||||
|
||||
set @obj=concat_ws('','{', repeat('"a":"b",', 125000000/2), '"c":"d"}');
|
||||
set @arr=concat_ws('','[', repeat('1234567,', 125000000/2), '2345678]');
|
||||
select length(@obj), length(@arr);
|
||||
|
||||
set max_statement_time=0.0001;
|
||||
disable_abort_on_error;
|
||||
select json_array_append(@arr, '$[0]', 1);
|
||||
select json_array_insert(@arr, '$[0]', 1);
|
||||
select json_insert(@obj, '$.meta', 1);
|
||||
select json_compact(@arr);
|
||||
select json_detailed(@arr);
|
||||
select json_loose(@arr);
|
||||
select json_merge(@obj, @arr);
|
||||
select json_merge_patch(@obj, @obj);
|
||||
select json_merge_preserve(@obj, @arr);
|
||||
select json_remove(@obj,'$.foo');
|
||||
select json_replace(@obj,'$.foo',1);
|
||||
select json_set(@arr,'$[1000]',1);
|
||||
enable_abort_on_error;
|
||||
disconnect u;
|
||||
connection default;
|
||||
set global max_allowed_packet=default;
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.6 tests
|
||||
--echo #
|
Reference in New Issue
Block a user