mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +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:
@ -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_CHAR FIELD_TYPE_TINY /* For compability */
|
||||||
#define FIELD_TYPE_INTERVAL FIELD_TYPE_ENUM /* 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 {
|
enum enum_shutdown_level {
|
||||||
/*
|
/*
|
||||||
We want levels to be in growing order of hardness. So we leave room
|
We want levels to be in growing order of hardness (because we use number
|
||||||
for future intermediate levels. For now, escalating one level is += 10;
|
comparisons). Note that DEFAULT does not respect the growing property, but
|
||||||
later if we insert new levels in between we will need a function
|
it's ok.
|
||||||
next_shutdown_level(level). Note that DEFAULT does not respect the
|
|
||||||
growing property.
|
|
||||||
*/
|
*/
|
||||||
SHUTDOWN_DEFAULT= 0, /* mapped to WAIT_ALL_BUFFERS for now */
|
SHUTDOWN_DEFAULT= 0,
|
||||||
/*
|
/* wait for existing connections to finish */
|
||||||
Here is the list in growing order (the next does the previous plus
|
SHUTDOWN_WAIT_CONNECTIONS= KILLABLE_CONNECT,
|
||||||
something). WAIT_ALL_BUFFERS is what we have now. Others are "this MySQL
|
/* wait for existing trans to finish */
|
||||||
server does not support this shutdown level yet".
|
SHUTDOWN_WAIT_TRANSACTIONS= KILLABLE_TRANS,
|
||||||
*/
|
/* wait for existing updates to finish (=> no partial MyISAM update) */
|
||||||
SHUTDOWN_WAIT_CONNECTIONS= 10, /* wait for existing connections to finish */
|
SHUTDOWN_WAIT_UPDATES= KILLABLE_UPDATE,
|
||||||
SHUTDOWN_WAIT_TRANSACTIONS= 20, /* wait for existing trans to finish */
|
/* flush InnoDB buffers and other storage engines' buffers*/
|
||||||
SHUTDOWN_WAIT_STATEMENTS= 30, /* wait for existing updating stmts to finish */
|
SHUTDOWN_WAIT_ALL_BUFFERS= (KILLABLE_UPDATE << 1),
|
||||||
SHUTDOWN_WAIT_ALL_BUFFERS= 40, /* flush InnoDB buffers */
|
/* don't flush InnoDB buffers, flush other storage engines' buffers*/
|
||||||
SHUTDOWN_WAIT_CRITICAL_BUFFERS= 50, /* flush MyISAM buffs (no corruption) */
|
SHUTDOWN_WAIT_CRITICAL_BUFFERS= (KILLABLE_UPDATE << 1) + 1,
|
||||||
/* Now the 2 levels of the KILL command */
|
/* Now the 2 levels of the KILL command */
|
||||||
#if MYSQL_VERSION_ID >= 50000
|
#if MYSQL_VERSION_ID >= 50000
|
||||||
KILL_QUERY= 254,
|
KILL_QUERY= 254,
|
||||||
@ -181,6 +188,10 @@ enum enum_shutdown_level {
|
|||||||
KILL_CONNECTION= 255
|
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 max_allowed_packet;
|
||||||
extern unsigned long net_buffer_length;
|
extern unsigned long net_buffer_length;
|
||||||
|
|
||||||
|
@ -223,25 +223,32 @@ enum enum_field_types { MYSQL_TYPE_DECIMAL, MYSQL_TYPE_TINY,
|
|||||||
#define FIELD_TYPE_INTERVAL MYSQL_TYPE_ENUM
|
#define FIELD_TYPE_INTERVAL MYSQL_TYPE_ENUM
|
||||||
#define FIELD_TYPE_GEOMETRY MYSQL_TYPE_GEOMETRY
|
#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 {
|
enum enum_shutdown_level {
|
||||||
/*
|
/*
|
||||||
We want levels to be in growing order of hardness. So we leave room
|
We want levels to be in growing order of hardness (because we use number
|
||||||
for future intermediate levels. For now, escalating one level is += 10;
|
comparisons). Note that DEFAULT does not respect the growing property, but
|
||||||
later if we insert new levels in between we will need a function
|
it's ok.
|
||||||
next_shutdown_level(level). Note that DEFAULT does not respect the
|
|
||||||
growing property.
|
|
||||||
*/
|
*/
|
||||||
SHUTDOWN_DEFAULT= 0, /* mapped to WAIT_ALL_BUFFERS for now */
|
SHUTDOWN_DEFAULT= 0,
|
||||||
/*
|
/* wait for existing connections to finish */
|
||||||
Here is the list in growing order (the next does the previous plus
|
SHUTDOWN_WAIT_CONNECTIONS= KILLABLE_CONNECT,
|
||||||
something). WAIT_ALL_BUFFERS is what we have now. Others are "this MySQL
|
/* wait for existing trans to finish */
|
||||||
server does not support this shutdown level yet".
|
SHUTDOWN_WAIT_TRANSACTIONS= KILLABLE_TRANS,
|
||||||
*/
|
/* wait for existing updates to finish (=> no partial MyISAM update) */
|
||||||
SHUTDOWN_WAIT_CONNECTIONS= 10, /* wait for existing connections to finish */
|
SHUTDOWN_WAIT_UPDATES= KILLABLE_UPDATE,
|
||||||
SHUTDOWN_WAIT_TRANSACTIONS= 20, /* wait for existing trans to finish */
|
/* flush InnoDB buffers and other storage engines' buffers*/
|
||||||
SHUTDOWN_WAIT_STATEMENTS= 30, /* wait for existing updating stmts to finish */
|
SHUTDOWN_WAIT_ALL_BUFFERS= (KILLABLE_UPDATE << 1),
|
||||||
SHUTDOWN_WAIT_ALL_BUFFERS= 40, /* flush InnoDB buffers */
|
/* don't flush InnoDB buffers, flush other storage engines' buffers*/
|
||||||
SHUTDOWN_WAIT_CRITICAL_BUFFERS= 50, /* flush MyISAM buffs (no corruption) */
|
SHUTDOWN_WAIT_CRITICAL_BUFFERS= (KILLABLE_UPDATE << 1) + 1,
|
||||||
/* Now the 2 levels of the KILL command */
|
/* Now the 2 levels of the KILL command */
|
||||||
#if MYSQL_VERSION_ID >= 50000
|
#if MYSQL_VERSION_ID >= 50000
|
||||||
KILL_QUERY= 254,
|
KILL_QUERY= 254,
|
||||||
@ -249,6 +256,10 @@ enum enum_shutdown_level {
|
|||||||
KILL_CONNECTION= 255
|
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 */
|
/* options for mysql_set_option */
|
||||||
enum enum_mysql_set_option
|
enum enum_mysql_set_option
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user