mirror of
https://github.com/MariaDB/server.git
synced 2025-05-07 04:01:59 +03:00
Post-fix for MDEV-35144. Cannot allocate options values on the statement arena, because HA_CREATE_INFO is shallow-copied for every execution, so if the option_list was initially empty, it will be reset for every execution and any values allocated on the statement arena will be lost. Cannot allocate option values on the execution arena, because HA_CREATE_INFO is shallow-copied for every execution, so if the option_list was initially NOT empty, any values appended to the end will be preserved and if they're on the execution arena their content will be destroyed. Let's use thd->change_item_tree() to save and restore necessary pointers for every execution. followup for 3da565c41d87
42 lines
1.0 KiB
Plaintext
42 lines
1.0 KiB
Plaintext
--source include/have_innodb.inc
|
|
--source include/have_sequence.inc
|
|
--source include/count_sessions.inc
|
|
|
|
let $ID= `SELECT @id := CONNECTION_ID()`;
|
|
|
|
connect (con1, localhost, root,,);
|
|
let $ignore= `SELECT @id := $ID`;
|
|
|
|
connection default;
|
|
send CREATE TABLE t1 ENGINE=InnoDB SELECT * FROM seq_1_to_100000000;
|
|
|
|
connection con1;
|
|
let $wait_condition=
|
|
select count(*) = 1 from information_schema.processlist
|
|
where state = 'Sending data'
|
|
and info = 'CREATE TABLE t1 ENGINE=InnoDB SELECT * FROM seq_1_to_100000000';
|
|
--source include/wait_condition.inc
|
|
KILL QUERY @id;
|
|
disconnect con1;
|
|
|
|
connection default;
|
|
--error ER_QUERY_INTERRUPTED
|
|
reap;
|
|
|
|
CREATE TABLE t1 (a SERIAL) ENGINE=InnoDB;
|
|
DROP TABLE t1;
|
|
--source include/wait_until_count_sessions.inc
|
|
|
|
--echo # End of 10.2 tests
|
|
|
|
--echo #
|
|
--echo # MDEV-35236 Assertion `(mem_root->flags & 4) == 0' failed in safe_lexcstrdup_root
|
|
--echo #
|
|
prepare stmt from 'create or replace table t engine=innodb select 1 as f';
|
|
set innodb_compression_default=on;
|
|
execute stmt;
|
|
execute stmt;
|
|
drop table t;
|
|
|
|
--echo # End of 10.5 tests
|