summaryrefslogtreecommitdiff
path: root/sql/handler.h
diff options
context:
space:
mode:
authorSergei Golubchik <serg@mariadb.org>2016-05-03 20:31:02 +0200
committerSergei Golubchik <serg@mariadb.org>2016-05-05 01:05:05 +0200
commit153259874bfb32c9d1f89a682b96897e32a61986 (patch)
tree8735a88f80dd97bbc21d14a91478eca6b6145015 /sql/handler.h
parent5ef0ce4131c9e5ebd2e09907a6a89b6c9d6c5afe (diff)
downloadmariadb-git-153259874bfb32c9d1f89a682b96897e32a61986.tar.gz
MDEV-9155 Enabling Defragmenting in 10.1.8 still causes OPTIMIZE TABLE to take metadatalocks
take MDL_SHARED_WRITE instead of MDL_SHARED_NO_READ_WRITE for OPTIMIZE TABLE. For engines that need a stronger lock (like MyISAM), reopen the table with MDL_SHARED_NO_READ_WRITE.
Diffstat (limited to 'sql/handler.h')
-rw-r--r--sql/handler.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/sql/handler.h b/sql/handler.h
index 92a4e81ddcc..3ffe4d03596 100644
--- a/sql/handler.h
+++ b/sql/handler.h
@@ -248,6 +248,15 @@ enum enum_alter_inplace_result {
*/
#define HA_CAN_EXPORT (1LL << 45)
+/*
+ Storage engine does not require an exclusive metadata lock
+ on the table during optimize. (TODO and repair?).
+ It can allow other connections to open the table.
+ (it does not necessarily mean that other connections can
+ read or modify the table - this is defined by THR locks and the
+ ::store_lock() method).
+*/
+#define HA_CONCURRENT_OPTIMIZE (1LL << 46)
/*
Set of all binlog flags. Currently only contain the capabilities