diff options
Diffstat (limited to 'storage/archive/ha_archive.cc')
-rw-r--r-- | storage/archive/ha_archive.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/storage/archive/ha_archive.cc b/storage/archive/ha_archive.cc index f3f5788360a..a7fda9a471a 100644 --- a/storage/archive/ha_archive.cc +++ b/storage/archive/ha_archive.cc @@ -1449,12 +1449,13 @@ THR_LOCK_DATA **ha_archive::store_lock(THD *thd, /* Here is where we get into the guts of a row level lock. If TL_UNLOCK is set - If we are not doing a LOCK TABLE or DISCARD/IMPORT + If we are not doing a LOCK TABLE, DELAYED LOCK or DISCARD/IMPORT TABLESPACE, then allow multiple writers */ if ((lock_type >= TL_WRITE_CONCURRENT_INSERT && - lock_type <= TL_WRITE) && !thd_in_lock_tables(thd) + lock_type <= TL_WRITE) && delayed_insert == FALSE && + !thd_in_lock_tables(thd) && !thd_tablespace_op(thd)) lock_type = TL_WRITE_ALLOW_WRITE; |