Hi, Sergey! On Oct 19, Sergey Vojtovich wrote:
diff --git a/sql/ha_partition.cc b/sql/ha_partition.cc index 0488ebf..02de92a 100644 --- a/sql/ha_partition.cc +++ b/sql/ha_partition.cc @@ -3907,9 +3907,14 @@ THR_LOCK_DATA **ha_partition::store_lock(THD *thd, } else { - for (i= bitmap_get_first_set(&(m_part_info->lock_partitions)); + MY_BITMAP *used_partitions= lock_type == TL_UNLOCK || + lock_type == TL_IGNORE ?
why TL_IGNORE too? external_lock only checks for TL_UNLOCK. external_lock() checks for F_UNLCK, which is different namespace.
oops. indeed. my mistake, sorry.
TL_IGNORE is something very hard to follow. In this particular case it is called exactly by FLUSH TABLES, when it collects list of locks for tables to be re-locked. FWICT we can't catch TL_IGNORE in this else branch otherwise.
I see, thanks. Ok to push Regards, Sergei Chief Architect MariaDB and security@mariadb.org