mirror of
https://github.com/MariaDB/server.git
synced 2025-02-07 06:12:18 +01:00
3cd706b107
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 3da565c41d
41 lines
1 KiB
Text
41 lines
1 KiB
Text
--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
|