summaryrefslogtreecommitdiffstats
path: root/sql/lock.cc
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--sql/lock.cc19
1 files changed, 9 insertions, 10 deletions
diff --git a/sql/lock.cc b/sql/lock.cc
index ef8c2ba3..a9c866a7 100644
--- a/sql/lock.cc
+++ b/sql/lock.cc
@@ -816,9 +816,8 @@ MYSQL_LOCK *get_lock_data(THD *thd, TABLE **table_ptr, uint count, uint flags)
enum thr_lock_type lock_type;
THR_LOCK_DATA **locks_start;
- if (!((likely(!table->s->tmp_table) ||
- (table->s->tmp_table == TRANSACTIONAL_TMP_TABLE)) &&
- (!(flags & GET_LOCK_SKIP_SEQUENCES) || table->s->sequence == 0)))
+ if ((table->s->tmp_table && table->s->tmp_table != TRANSACTIONAL_TMP_TABLE)
+ || (flags & GET_LOCK_SKIP_SEQUENCES && table->s->sequence != NULL))
continue;
lock_type= table->reginfo.lock_type;
DBUG_ASSERT(lock_type != TL_WRITE_DEFAULT && lock_type != TL_READ_DEFAULT);
@@ -882,7 +881,7 @@ MYSQL_LOCK *get_lock_data(THD *thd, TABLE **table_ptr, uint count, uint flags)
or this connection was killed.
*/
-bool lock_schema_name(THD *thd, const char *db)
+bool lock_schema_name(THD *thd, const Lex_ident_db_normalized &db)
{
MDL_request_list mdl_requests;
MDL_request global_request;
@@ -899,7 +898,7 @@ bool lock_schema_name(THD *thd, const char *db)
return TRUE;
MDL_REQUEST_INIT(&global_request, MDL_key::BACKUP, "", "", MDL_BACKUP_DDL,
MDL_STATEMENT);
- MDL_REQUEST_INIT(&mdl_request, MDL_key::SCHEMA, db, "", MDL_EXCLUSIVE,
+ MDL_REQUEST_INIT(&mdl_request, MDL_key::SCHEMA, db.str, "", MDL_EXCLUSIVE,
MDL_TRANSACTION);
mdl_requests.push_front(&mdl_request);
@@ -936,14 +935,14 @@ bool lock_schema_name(THD *thd, const char *db)
*/
bool lock_object_name(THD *thd, MDL_key::enum_mdl_namespace mdl_type,
- const char *db, const char *name)
+ const LEX_CSTRING &db, const LEX_CSTRING &name)
{
MDL_request_list mdl_requests;
MDL_request global_request;
MDL_request schema_request;
MDL_request mdl_request;
- DBUG_SLOW_ASSERT(ok_for_lower_case_names(db));
+ DBUG_SLOW_ASSERT(Lex_ident_fs(db).ok_for_lower_case_names());
if (thd->locked_tables_mode)
{
@@ -952,16 +951,16 @@ bool lock_object_name(THD *thd, MDL_key::enum_mdl_namespace mdl_type,
return TRUE;
}
- DBUG_ASSERT(name);
+ DBUG_ASSERT(name.str);
DEBUG_SYNC(thd, "before_wait_locked_pname");
if (thd->has_read_only_protection())
return TRUE;
MDL_REQUEST_INIT(&global_request, MDL_key::BACKUP, "", "", MDL_BACKUP_DDL,
MDL_STATEMENT);
- MDL_REQUEST_INIT(&schema_request, MDL_key::SCHEMA, db, "",
+ MDL_REQUEST_INIT(&schema_request, MDL_key::SCHEMA, db.str, "",
MDL_INTENTION_EXCLUSIVE, MDL_TRANSACTION);
- MDL_REQUEST_INIT(&mdl_request, mdl_type, db, name, MDL_EXCLUSIVE,
+ MDL_REQUEST_INIT(&mdl_request, mdl_type, db.str, name.str, MDL_EXCLUSIVE,
MDL_TRANSACTION);
mdl_requests.push_front(&mdl_request);