summaryrefslogtreecommitdiff
path: root/sql/sql_help.cc
diff options
context:
space:
mode:
authorKonstantin Osipov <kostja@sun.com>2009-12-08 12:57:07 +0300
committerKonstantin Osipov <kostja@sun.com>2009-12-08 12:57:07 +0300
commita66a2608ae4d70a3f9b3d41e38cfb97eb616bed3 (patch)
treeb2b94a32418f0728974d2bad4d3fa70acc2d75ef /sql/sql_help.cc
parent4a8a1c568d8785dc608cc111e74e1ed389f1353e (diff)
downloadmariadb-git-a66a2608ae4d70a3f9b3d41e38cfb97eb616bed3.tar.gz
Backport of:
---------------------------------------------------------- revno: 2617.69.20 committer: Konstantin Osipov <kostja@sun.com> branch nick: 5.4-4284-1-assert timestamp: Thu 2009-08-13 18:29:55 +0400 message: WL#4284 "Transactional DDL locking" A review fix. Since WL#4284 implementation separated MDL_request and MDL_ticket, MDL_request becamse a utility object necessary only to get a ticket. Store it by-value in TABLE_LIST with the intent to merge MDL_request::key with table_list->table_name and table_list->db in future. Change the MDL subsystem to not require MDL_requests to stay around till close_thread_tables(). Remove the list of requests from the MDL context. Requests for shared metadata locks acquired in open_tables() are only used as a list in recover_from_failed_open_table_attempt(), which calls mdl_context.wait_for_locks() for this list. To keep such list for recover_from_failed_open_table_attempt(), introduce a context class (Open_table_context), that collects all requests. A lot of minor cleanups and simplications that became possible with this change.
Diffstat (limited to 'sql/sql_help.cc')
-rw-r--r--sql/sql_help.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/sql/sql_help.cc b/sql/sql_help.cc
index 003741a7ddc..af67db45b36 100644
--- a/sql/sql_help.cc
+++ b/sql/sql_help.cc
@@ -653,6 +653,7 @@ bool mysqld_help(THD *thd, const char *mask)
tables[3].alias= tables[3].table_name= (char*) "help_keyword";
tables[3].lock_type= TL_READ;
tables[0].db= tables[1].db= tables[2].db= tables[3].db= (char*) "mysql";
+ init_mdl_requests(tables);
Open_tables_state open_tables_state_backup;
if (open_system_tables_for_read(thd, tables, &open_tables_state_backup))