summaryrefslogtreecommitdiff
path: root/sql/mdl.h
diff options
context:
space:
mode:
authorEugene Kosov <claprix@yandex.ru>2020-05-13 01:45:54 +0300
committerEugene Kosov <eugene.kosov@mariadb.com>2020-06-23 23:34:42 +0300
commitd712956526236867de3239c18b789f5c7b497ac7 (patch)
tree0dbe0989b710938d167c3ffe0aec33e2675a2bd4 /sql/mdl.h
parente9c389c3346752df4bc3b000a16c799f0f8eca13 (diff)
downloadmariadb-git-d712956526236867de3239c18b789f5c7b497ac7.tar.gz
MDEV-19749 MDL scalability regression after backup locks
use ilist instread of I_P_List because it's generally slightly faster on inserting, removing and iterating
Diffstat (limited to 'sql/mdl.h')
-rw-r--r--sql/mdl.h12
1 files changed, 4 insertions, 8 deletions
diff --git a/sql/mdl.h b/sql/mdl.h
index 4659238e9f2..dd10b3a45d0 100644
--- a/sql/mdl.h
+++ b/sql/mdl.h
@@ -1,6 +1,7 @@
#ifndef MDL_H
#define MDL_H
/* Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2020, MariaDB
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -16,6 +17,7 @@
51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA */
#include "sql_plist.h"
+#include "ilist.h"
#include <my_sys.h>
#include <m_string.h>
#include <mysql_com.h>
@@ -685,7 +687,7 @@ public:
threads/contexts.
*/
-class MDL_ticket : public MDL_wait_for_subgraph
+class MDL_ticket : public MDL_wait_for_subgraph, public ilist_node<>
{
public:
/**
@@ -694,15 +696,9 @@ public:
*/
MDL_ticket *next_in_context;
MDL_ticket **prev_in_context;
- /**
- Pointers for participating in the list of satisfied/pending requests
- for the lock. Externally accessible.
- */
- MDL_ticket *next_in_lock;
- MDL_ticket **prev_in_lock;
public:
#ifdef WITH_WSREP
- void wsrep_report(bool debug);
+ void wsrep_report(bool debug) const;
#endif /* WITH_WSREP */
bool has_pending_conflicting_lock() const;