diff options
author | Oleksandr Byelkin <sanja@mariadb.com> | 2019-07-24 13:20:36 +0200 |
---|---|---|
committer | Oleksandr Byelkin <sanja@mariadb.com> | 2019-07-24 13:20:36 +0200 |
commit | bccd9d0e3a96ec026d01d24abac1cea7959f0d02 (patch) | |
tree | 169d3fba99fcd8490bf879d8f26e0c21c4d75a7f | |
parent | 819c40d694071e56adb62ded97561717edb59f23 (diff) | |
download | mariadb-git-bccd9d0e3a96ec026d01d24abac1cea7959f0d02.tar.gz |
MDEV-20108: [ERROR] mysqld got signal 11 in st_select_lex::add_table_to_listbb-10.4-MDEV-20108
Use the same select as for usual table list.
-rw-r--r-- | mysql-test/main/parser.result | 13 | ||||
-rw-r--r-- | mysql-test/main/parser.test | 14 | ||||
-rw-r--r-- | sql/sql_yacc.yy | 2 |
3 files changed, 28 insertions, 1 deletions
diff --git a/mysql-test/main/parser.result b/mysql-test/main/parser.result index 2e2342161fc..2b4a0bb7163 100644 --- a/mysql-test/main/parser.result +++ b/mysql-test/main/parser.result @@ -1784,4 +1784,17 @@ a select * from t1 for update; a drop table t1; +# +# MDEV-20108: [ERROR] mysqld got signal 11 in +# st_select_lex::add_table_to_list +# +CREATE TABLE t1 (c1 INT NULL); +CREATE TABLE t2 (c1 INT NULL); +SET STATEMENT max_statement_time=900 FOR LOCK TABLES `t1` WRITE; +select * from t1; +c1 +select * from t2; +ERROR HY000: Table 't2' was not locked with LOCK TABLES +SET STATEMENT max_statement_time=900 FOR unlock tables; +drop table t1, t2; # End of 10.4 tests diff --git a/mysql-test/main/parser.test b/mysql-test/main/parser.test index 35a2334eec2..b3cfcfb4fcc 100644 --- a/mysql-test/main/parser.test +++ b/mysql-test/main/parser.test @@ -1552,4 +1552,18 @@ create table t1 (a int); select * from t1 for update; drop table t1; +--echo # +--echo # MDEV-20108: [ERROR] mysqld got signal 11 in +--echo # st_select_lex::add_table_to_list +--echo # +CREATE TABLE t1 (c1 INT NULL); +CREATE TABLE t2 (c1 INT NULL); + +SET STATEMENT max_statement_time=900 FOR LOCK TABLES `t1` WRITE; +select * from t1; +--error ER_TABLE_NOT_LOCKED +select * from t2; +SET STATEMENT max_statement_time=900 FOR unlock tables; +drop table t1, t2; + --echo # End of 10.4 tests diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy index 5dd1011c07e..104d47f7cad 100644 --- a/sql/sql_yacc.yy +++ b/sql/sql_yacc.yy @@ -16715,7 +16715,7 @@ table_lock: ? MDL_SHARED_WRITE : MDL_SHARED_NO_READ_WRITE; - if (unlikely(!Select-> + if (unlikely(!Lex->current_select_or_default()-> add_table_to_list(thd, $1, $2, table_options, lock_type, mdl_type))) MYSQL_YYABORT; |