diff options
Diffstat (limited to 'sql')
-rw-r--r-- | sql/ha_ndbcluster_binlog.cc | 2 | ||||
-rw-r--r-- | sql/sql_base.cc | 9 |
2 files changed, 8 insertions, 3 deletions
diff --git a/sql/ha_ndbcluster_binlog.cc b/sql/ha_ndbcluster_binlog.cc index c7d7c342ed0..889ccbea785 100644 --- a/sql/ha_ndbcluster_binlog.cc +++ b/sql/ha_ndbcluster_binlog.cc @@ -261,7 +261,7 @@ ndbcluster_binlog_open_table(THD *thd, NDB_SHARE *share, my_free((gptr) table, MYF(0)); DBUG_RETURN(error); } - assign_new_table_id(share); + assign_new_table_id(table_share); if (!table->record[1] || table->record[1] == table->record[0]) { table->record[1]= alloc_root(&table->mem_root, diff --git a/sql/sql_base.cc b/sql/sql_base.cc index 446939215b6..be7ebb52e20 100644 --- a/sql/sql_base.cc +++ b/sql/sql_base.cc @@ -2414,11 +2414,17 @@ void abort_locked_tables(THD *thd,const char *db, const char *table_name) share - Pointer to table share structure + DESCRIPTION + + We are intentionally not checking that share->mutex is locked + since this function should only be called when opening a table + share and before it is entered into the table_def_cache (meaning + that it cannot be fetched by another thread, even accidentally). + PRE-CONDITION(S) share is non-NULL The LOCK_open mutex is locked - The share->mutex is locked POST-CONDITION(S) @@ -2438,7 +2444,6 @@ void assign_new_table_id(TABLE_SHARE *share) /* Preconditions */ DBUG_ASSERT(share != NULL); safe_mutex_assert_owner(&LOCK_open); - safe_mutex_assert_owner(&share->mutex); ulong tid= ++last_table_id; /* get next id */ /* |