summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorThirunarayanan Balathandayuthapani <thiru@mariadb.com>2020-06-01 16:24:15 +0530
committerThirunarayanan Balathandayuthapani <thiru@mariadb.com>2020-06-05 19:13:44 +0530
commitde1dbb7180b76b6034af01f7cb48db73161f4276 (patch)
treeb527f1b3d303c4509d6644ce2ce6c10693dde87a /sql
parentd88870e6cc9660c0522abf36b1e338f9f6a9ddf7 (diff)
downloadmariadb-git-de1dbb7180b76b6034af01f7cb48db73161f4276.tar.gz
MDEV-21282 Assertion 'mariadb_table' failed in gcol.innodb_virtual_debug_purge
- commit ea37b144094a0c2ebfc6774047fd473c1b2a8658 (MDEV-16678) caused a regression. when purge thread tries to open the table for virtual column computation, there is no need to acquire MDL for the table. Because purge thread already hold MDL for the table
Diffstat (limited to 'sql')
-rw-r--r--sql/sql_class.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/sql/sql_class.cc b/sql/sql_class.cc
index 83ef31dc05b..cee2d644480 100644
--- a/sql/sql_class.cc
+++ b/sql/sql_class.cc
@@ -4716,7 +4716,8 @@ TABLE *open_purge_table(THD *thd, const char *db, size_t dblen,
DBUG_ASSERT(thd->open_tables == NULL);
DBUG_ASSERT(thd->locked_tables_mode < LTM_PRELOCKED);
- Open_table_context ot_ctx(thd, 0);
+ /* Purge already hold the MDL for the table */
+ Open_table_context ot_ctx(thd, MYSQL_OPEN_HAS_MDL_LOCK);
TABLE_LIST *tl= (TABLE_LIST*)thd->alloc(sizeof(TABLE_LIST));
LEX_CSTRING db_name= {db, dblen };
LEX_CSTRING table_name= { tb, tblen };