summaryrefslogtreecommitdiff
path: root/sql/table_cache.cc
diff options
context:
space:
mode:
authorSergey Vojtovich <svoj@mariadb.org>2013-08-15 18:15:32 +0400
committerSergey Vojtovich <svoj@mariadb.org>2013-08-15 18:15:32 +0400
commit954d21deb26c6621eac83d73d3e65a4100de1c91 (patch)
treeaa576bbd6a652bf92c6ad772458a11a81055419f /sql/table_cache.cc
parentdf3bedb82ddd4f76f2450fcc6b6e0819503b2ba6 (diff)
downloadmariadb-git-954d21deb26c6621eac83d73d3e65a4100de1c91.tar.gz
MDEV-4897 - Assertion `share->tdc.prev == 0 && share->tdc.next == 0'
failed in TABLE_SHARE* tdc_acquire_share(THD*, const char*, const char*, const char*, uint, uint, TABLE**) Removed false assertions. When multiple threads acquire the same previously unused share, only one thread shall remove share from unused list (the one that has was_unused == true). Other threads will ignore this step and may continue even if share is not yet removed from unused list.
Diffstat (limited to 'sql/table_cache.cc')
-rw-r--r--sql/table_cache.cc2
1 files changed, 0 insertions, 2 deletions
diff --git a/sql/table_cache.cc b/sql/table_cache.cc
index 14e735ed3b2..b3c08400d56 100644
--- a/sql/table_cache.cc
+++ b/sql/table_cache.cc
@@ -847,7 +847,6 @@ TABLE_SHARE *tdc_acquire_share(THD *thd, const char *db, const char *table_name,
if ((*out_table= tc_acquire_table(thd, share)))
{
DBUG_ASSERT(!(flags & GTS_NOLOCK));
- DBUG_ASSERT(!share->tdc.prev && !share->tdc.next);
DBUG_ASSERT(!share->error);
DBUG_ASSERT(!share->is_view);
DBUG_RETURN(share);
@@ -898,7 +897,6 @@ TABLE_SHARE *tdc_acquire_share(THD *thd, const char *db, const char *table_name,
}
mysql_mutex_unlock(&LOCK_unused_shares);
}
- DBUG_ASSERT(share->tdc.prev == 0 && share->tdc.next == 0);
end:
DBUG_PRINT("exit", ("share: 0x%lx ref_count: %u",