mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
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.
This commit is contained in:
@ -223,25 +223,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
|
||||
|
||||
|
||||
/* 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,
|
||||
@ -249,6 +256,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
|
||||
|
||||
|
||||
/* options for mysql_set_option */
|
||||
enum enum_mysql_set_option
|
||||
{
|
||||
|
Reference in New Issue
Block a user