Commit c31d49d5 authored by guilhem@mysql.com's avatar guilhem@mysql.com

Merge gbichot@213.136.52.20:/home/bk/mysql-4.1

into mysql.com:/home/mysql_src/mysql-4.1-874
parents 7c69afaf f5228a60
......@@ -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;
......
......@@ -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
{
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment