summaryrefslogtreecommitdiff
path: root/include/mysql_com.h
diff options
context:
space:
mode:
authormonty@mysql.com <>2004-09-06 15:14:10 +0300
committermonty@mysql.com <>2004-09-06 15:14:10 +0300
commit31122efde725e9b472e467a7cb1807100b7e6b1e (patch)
treed9ef905036723648a1d354d0523ef8124e4dee76 /include/mysql_com.h
parent32594c99899edd6de0053609c087f04dc21fbbfd (diff)
parent5d71817c7049e9db5c22e1667a41f57cf558d8ed (diff)
downloadmariadb-git-31122efde725e9b472e467a7cb1807100b7e6b1e.tar.gz
Merge with 4.1
(Includes merge of arena code in 4.1 and 5.0)
Diffstat (limited to 'include/mysql_com.h')
-rw-r--r--include/mysql_com.h41
1 files changed, 24 insertions, 17 deletions
diff --git a/include/mysql_com.h b/include/mysql_com.h
index fa73895000c..3cf1a011e3c 100644
--- a/include/mysql_com.h
+++ b/include/mysql_com.h
@@ -242,25 +242,32 @@ enum enum_field_types { MYSQL_TYPE_DECIMAL, MYSQL_TYPE_TINY,
#define FIELD_TYPE_INTERVAL MYSQL_TYPE_ENUM
#define FIELD_TYPE_GEOMETRY MYSQL_TYPE_GEOMETRY
-enum enum_shutdown_level {
- /*
- We want levels to be in growing order of hardness. So we leave room
- for future intermediate levels. For now, escalating one level is += 10;
- later if we insert new levels in between we will need a function
- next_shutdown_level(level). Note that DEFAULT does not respect the
- growing property.
- */
- SHUTDOWN_DEFAULT= 0, /* mapped to WAIT_ALL_BUFFERS for now */
+
+/* Shutdown/kill enums and constants */
+
+/* Bits for THD::killable. */
+#define MYSQL_SHUTDOWN_KILLABLE_CONNECT (unsigned char)(1 << 0)
+#define MYSQL_SHUTDOWN_KILLABLE_TRANS (unsigned char)(1 << 1)
+#define MYSQL_SHUTDOWN_KILLABLE_LOCK_TABLE (unsigned char)(1 << 2)
+#define MYSQL_SHUTDOWN_KILLABLE_UPDATE (unsigned char)(1 << 3)
+
+enum mysql_enum_shutdown_level {
/*
- Here is the list in growing order (the next does the previous plus
- something). WAIT_ALL_BUFFERS is what we have now. Others are "this MySQL
- server does not support this shutdown level yet".
+ We want levels to be in growing order of hardness (because we use number
+ comparisons). Note that DEFAULT does not respect the growing property, but
+ it's ok.
*/
- SHUTDOWN_WAIT_CONNECTIONS= 10, /* wait for existing connections to finish */
- SHUTDOWN_WAIT_TRANSACTIONS= 20, /* wait for existing trans to finish */
- SHUTDOWN_WAIT_STATEMENTS= 30, /* wait for existing updating stmts to finish */
- SHUTDOWN_WAIT_ALL_BUFFERS= 40, /* flush InnoDB buffers */
- SHUTDOWN_WAIT_CRITICAL_BUFFERS= 50, /* flush MyISAM buffs (no corruption) */
+ SHUTDOWN_DEFAULT = 0,
+ /* wait for existing connections to finish */
+ SHUTDOWN_WAIT_CONNECTIONS= MYSQL_SHUTDOWN_KILLABLE_CONNECT,
+ /* wait for existing trans to finish */
+ SHUTDOWN_WAIT_TRANSACTIONS= MYSQL_SHUTDOWN_KILLABLE_TRANS,
+ /* wait for existing updates to finish (=> no partial MyISAM update) */
+ SHUTDOWN_WAIT_UPDATES= MYSQL_SHUTDOWN_KILLABLE_UPDATE,
+ /* flush InnoDB buffers and other storage engines' buffers*/
+ SHUTDOWN_WAIT_ALL_BUFFERS= (MYSQL_SHUTDOWN_KILLABLE_UPDATE << 1),
+ /* don't flush InnoDB buffers, flush other storage engines' buffers*/
+ SHUTDOWN_WAIT_CRITICAL_BUFFERS= (MYSQL_SHUTDOWN_KILLABLE_UPDATE << 1) + 1,
/* Now the 2 levels of the KILL command */
#if MYSQL_VERSION_ID >= 50000
KILL_QUERY= 254,