Skip to content

Commit 4e53799

Browse files
committed
MDEV-39184- Rework MDL enum constants values
Incorporated code review comments of copilot.
1 parent 7b09728 commit 4e53799

File tree

4 files changed

+7
-16
lines changed

4 files changed

+7
-16
lines changed

mysql-test/main/backup_lock.result

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,9 @@ WHERE TABLE_NAME NOT LIKE 'innodb_%_stats';
5151
LOCK_MODE LOCK_TYPE TABLE_SCHEMA TABLE_NAME
5252
MDL_BACKUP_DDL Backup lock
5353
MDL_BACKUP_FLUSH Backup lock
54+
MDL_INTENTION_EXCLUSIVE Schema metadata lock test
5455
MDL_SHARED_WRITE Table metadata lock test t1
5556
MDL_SHARED_UPGRADABLE Table metadata lock test t1
56-
MDL_INTENTION_EXCLUSIVE Schema metadata lock test
5757
SET STATEMENT max_statement_time=1 FOR backup stage block_ddl;
5858
ERROR 70100: Query was interrupted: execution time limit 1.0 sec exceeded
5959
backup stage block_ddl;
@@ -88,9 +88,9 @@ WHERE TABLE_NAME NOT LIKE 'innodb_%_stats';
8888
LOCK_MODE LOCK_TYPE TABLE_SCHEMA TABLE_NAME
8989
MDL_BACKUP_ALTER_COPY Backup lock
9090
MDL_BACKUP_FLUSH Backup lock
91+
MDL_INTENTION_EXCLUSIVE Schema metadata lock test
9192
MDL_SHARED_WRITE Table metadata lock test t1
9293
MDL_SHARED_UPGRADABLE Table metadata lock test t1
93-
MDL_INTENTION_EXCLUSIVE Schema metadata lock test
9494
backup stage block_ddl;
9595
backup stage block_commit;
9696
connection default;
@@ -124,8 +124,8 @@ SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.me
124124
WHERE TABLE_NAME NOT LIKE 'innodb_%_stats';
125125
LOCK_MODE LOCK_TYPE TABLE_SCHEMA TABLE_NAME
126126
MDL_BACKUP_WAIT_DDL Backup lock
127-
MDL_SHARED_WRITE Table metadata lock test t1
128127
MDL_INTENTION_EXCLUSIVE Schema metadata lock test
128+
MDL_SHARED_WRITE Table metadata lock test t1
129129
backup stage end;
130130
connection default;
131131
commit;

mysql-test/main/backup_locks.result

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ drop table t1;
3434
connection default;
3535
SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA, TABLE_NAME FROM information_schema.metadata_lock_info where table_name not like "innodb_%";
3636
LOCK_MODE LOCK_TYPE TABLE_SCHEMA TABLE_NAME
37-
MDL_SHARED_HIGH_PRIO Table metadata lock test t1
3837
MDL_INTENTION_EXCLUSIVE Schema metadata lock test
38+
MDL_SHARED_HIGH_PRIO Table metadata lock test t1
3939
select * from t1;
4040
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
4141
backup unlock;

sql/mdl.cc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ static void init_mdl_psi_keys(void)
100100

101101
PSI_stage_info MDL_key::m_namespace_to_wait_state_name[NAMESPACE_END]=
102102
{
103-
{0, "Not initilised", 0},
103+
{0, "Not initialised", 0},
104104
{0, "Waiting for backup lock", 0},
105105
{0, "Waiting for schema metadata lock", 0},
106106
{0, "Waiting for table metadata lock", 0},
@@ -115,7 +115,7 @@ PSI_stage_info MDL_key::m_namespace_to_wait_state_name[NAMESPACE_END]=
115115

116116
static const LEX_STRING lock_types[]=
117117
{
118-
{},
118+
{ C_STRING_WITH_LEN("MDL_NOT_INITIALIZED") },
119119
{ C_STRING_WITH_LEN("MDL_INTENTION_EXCLUSIVE") },
120120
{ C_STRING_WITH_LEN("MDL_SHARED") },
121121
{ C_STRING_WITH_LEN("MDL_SHARED_HIGH_PRIO") },
@@ -131,7 +131,7 @@ static const LEX_STRING lock_types[]=
131131

132132
static const LEX_STRING backup_lock_types[]=
133133
{
134-
{},
134+
{ C_STRING_WITH_LEN("MDL_BACKUP_NOT_INITIALIZED") },
135135
{ C_STRING_WITH_LEN("MDL_BACKUP_START") },
136136
{ C_STRING_WITH_LEN("MDL_BACKUP_FLUSH") },
137137
{ C_STRING_WITH_LEN("MDL_BACKUP_WAIT_FLUSH") },

sql/mdl.h

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -133,11 +133,6 @@ class MDL_context_owner
133133

134134
enum enum_mdl_type {
135135
/* This means that the MDL_request is not initialized */
136-
/*
137-
TODO (newbie): should be MDL_NOT_INITIALIZED= 0, as it is strange
138-
that not-inited request has MDL_INTENTION_EXCLUSIVE.
139-
Must fix tests, as at least mysql_rm_table_no_locks() depends on this.
140-
*/
141136
MDL_NOT_INITIALIZED= 0,
142137
/*
143138
An intention exclusive metadata lock (IX). Used only for scoped locks.
@@ -394,10 +389,6 @@ struct MDL_key
394389
Note that although there isn't metadata locking on triggers,
395390
it's necessary to have a separate namespace for them since
396391
MDL_key is also used outside of the MDL subsystem.
397-
398-
TODO (newbie): NOT_INITIALIZED=0 as default bzero() sets wrongly type to
399-
BACKUP. But dozens switch() cases for NOT_INITIALIZED must be added to
400-
pacify the compiler.
401392
*/
402393
enum enum_mdl_namespace { NOT_INITIALIZED=0,
403394
BACKUP,

0 commit comments

Comments
 (0)