1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-27 18:02:13 +03:00

MDEV-21684: mysqld crash with signal 11 when renaming table+max_statement_time

Main select should be pushed first in case of SET STATEMENT.
This commit is contained in:
Oleksandr Byelkin
2020-02-26 13:58:08 +01:00
parent e637355156
commit a17a327f11
4 changed files with 129 additions and 14 deletions

View File

@ -1575,4 +1575,37 @@ SET STATEMENT max_statement_time=0 FOR desc t1;
drop table t1;
SET STATEMENT max_statement_time=0 FOR do 1;
set @save_sql_mode=@@SQL_MODE;
set SQL_MODE=ORACLE;
create table t1 (a int);
SET STATEMENT max_statement_time=0 FOR desc t1;
drop table t1;
SET STATEMENT max_statement_time=0 FOR do 1;
set SQL_MODE=@save_sql_mode;
--echo #
--echo # MDEV-21684: mysqld crash with signal 11 when renaming
--echo # table+max_statement_time
--echo #
--error ER_NO_SUCH_TABLE
SET STATEMENT max_statement_time=180 FOR RENAME TABLE bleh TO blah;
SET STATEMENT max_statement_time=180 FOR load index into cache t1_base;
--error ER_NO_SUCH_TABLE
SET STATEMENT max_statement_time=180 FOR DROP INDEX i1 ON t1;
SET STATEMENT max_statement_time=180 FOR BACKUP LOCK test.t1;
SET STATEMENT max_statement_time=180 FOR BACKUP UNLOCK;
set @save_sql_mode=@@SQL_MODE;
set SQL_MODE=ORACLE;
--error ER_NO_SUCH_TABLE
SET STATEMENT max_statement_time=180 FOR RENAME TABLE bleh TO blah;
SET STATEMENT max_statement_time=180 FOR load index into cache t1_base;
--error ER_NO_SUCH_TABLE
SET STATEMENT max_statement_time=180 FOR DROP INDEX i1 ON t1;
SET STATEMENT max_statement_time=180 FOR BACKUP LOCK test.t1;
SET STATEMENT max_statement_time=180 FOR BACKUP UNLOCK;
set SQL_MODE=@save_sql_mode;
--echo # End of 10.4 tests