summaryrefslogtreecommitdiff
path: root/VC++Files
diff options
context:
space:
mode:
authorunknown <guilhem@mysql.com>2004-08-19 01:03:43 +0200
committerunknown <guilhem@mysql.com>2004-08-19 01:03:43 +0200
commitbcfb79c844662a586265e0444f469146bbfc855b (patch)
treea4b00773d2e10dde018f4ff9daea518c66024f02 /VC++Files
parentead6df77e2f311966769ffcb2954ff26a33d69b1 (diff)
downloadmariadb-git-bcfb79c844662a586265e0444f469146bbfc855b.tar.gz
Very small API change: changing the values in enum enum_shutdown_level;
as this enum is not really usable yet (as MySQL server supports only one shutdown level), and as SHUTDOWN_DEFAULT is still left to 0, this change should disturb no user. Later (in 4.1.4 or 4.1.5) code will be pushed to implement graceful shutdown using this enum. VC++Files/winmysqladmin/mysql_com.h: changing the values in the enumeration enum_shutdown_level. include/mysql_com.h: changing the values in the enum enum_shutdown_level. The main one, SHUTDOWN_DEFAULT, is unchanged.
Diffstat (limited to 'VC++Files')
-rw-r--r--VC++Files/winmysqladmin/mysql_com.h43
1 files changed, 27 insertions, 16 deletions
diff --git a/VC++Files/winmysqladmin/mysql_com.h b/VC++Files/winmysqladmin/mysql_com.h
index 0870f340451..a732953a8d7 100644
--- a/VC++Files/winmysqladmin/mysql_com.h
+++ b/VC++Files/winmysqladmin/mysql_com.h
@@ -155,25 +155,32 @@ enum enum_field_types { FIELD_TYPE_DECIMAL, FIELD_TYPE_TINY,
#define FIELD_TYPE_CHAR FIELD_TYPE_TINY /* For compability */
#define FIELD_TYPE_INTERVAL FIELD_TYPE_ENUM /* For compability */
+
+/* Shutdown/kill enums and constants */
+
+/* Bits for THD::killable. */
+#define KILLABLE_CONNECT (unsigned char)(1 << 0)
+#define KILLABLE_TRANS (unsigned char)(1 << 1)
+#define KILLABLE_LOCK_TABLE (unsigned char)(1 << 2)
+#define KILLABLE_UPDATE (unsigned char)(1 << 3)
+
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.
+ 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_DEFAULT= 0, /* mapped to WAIT_ALL_BUFFERS for now */
- /*
- 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".
- */
- 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= KILLABLE_CONNECT,
+ /* wait for existing trans to finish */
+ SHUTDOWN_WAIT_TRANSACTIONS= KILLABLE_TRANS,
+ /* wait for existing updates to finish (=> no partial MyISAM update) */
+ SHUTDOWN_WAIT_UPDATES= KILLABLE_UPDATE,
+ /* flush InnoDB buffers and other storage engines' buffers*/
+ SHUTDOWN_WAIT_ALL_BUFFERS= (KILLABLE_UPDATE << 1),
+ /* don't flush InnoDB buffers, flush other storage engines' buffers*/
+ SHUTDOWN_WAIT_CRITICAL_BUFFERS= (KILLABLE_UPDATE << 1) + 1,
/* Now the 2 levels of the KILL command */
#if MYSQL_VERSION_ID >= 50000
KILL_QUERY= 254,
@@ -181,6 +188,10 @@ enum enum_shutdown_level {
KILL_CONNECTION= 255
};
+/* Same value and type (0, enum_shutdown_level) but not same meaning */
+#define NOT_KILLED SHUTDOWN_DEFAULT
+
+
extern unsigned long max_allowed_packet;
extern unsigned long net_buffer_length;