From fec844aca88e1c6b9c36bb0b811e92d9d023ffb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Lindstr=C3=B6m?= Date: Tue, 6 Sep 2016 09:43:16 +0300 Subject: Merge InnoDB 5.7 from mysql-5.7.14. Contains also: MDEV-10549 mysqld: sql/handler.cc:2692: int handler::ha_index_first(uchar*): Assertion `table_share->tmp_table != NO_TMP_TABLE || m_lock_type != 2' failed. (branch bb-10.2-jan) Unlike MySQL, InnoDB still uses THR_LOCK in MariaDB MDEV-10548 Some of the debug sync waits do not work with InnoDB 5.7 (branch bb-10.2-jan) enable tests that were fixed in MDEV-10549 MDEV-10548 Some of the debug sync waits do not work with InnoDB 5.7 (branch bb-10.2-jan) fix main.innodb_mysql_sync - re-enable online alter for partitioned innodb tables --- storage/innobase/srv/srv0conc.cc | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'storage/innobase/srv/srv0conc.cc') diff --git a/storage/innobase/srv/srv0conc.cc b/storage/innobase/srv/srv0conc.cc index 96f17ea3359..a362873fee3 100644 --- a/storage/innobase/srv/srv0conc.cc +++ b/storage/innobase/srv/srv0conc.cc @@ -152,6 +152,19 @@ srv_conc_enter_innodb_with_atomics( return; } + if (srv_thread_concurrency == 0) { + + if (notified_mysql) { + + (void) os_atomic_decrement_lint( + &srv_conc.n_waiting, 1); + + thd_wait_end(trx->mysql_thd); + } + + return; + } + if (srv_conc.n_active < (lint) srv_thread_concurrency) { ulint n_active; -- cgit v1.2.1