From bcfb79c844662a586265e0444f469146bbfc855b Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 19 Aug 2004 01:03:43 +0200 Subject: 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. --- VC++Files/winmysqladmin/mysql_com.h | 43 +++++++++++++++++++++++-------------- 1 file changed, 27 insertions(+), 16 deletions(-) (limited to 'VC++Files') 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; -- cgit v1.2.1