1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

API change: mysql_shutdown() now needs a 2nd parameter, the shutdown level.

Server will however still accept shutdown without specified level; so that old
mysqladmin can still shut server down.
I would like your comments on the names of shutdown level which I chose. You
are welcome to propose better names. Please however check WL#709 before.
Reason for the names I propose is to be accurate, thus leaving possibility
for other levels which we may imagine in the future; that's why I have rejected
names like "fast", "smart", "graceful" so far. My position is that WAIT_ALL_BUFFERS
or WAIT_CRITICAL_BUFFERS say what the shutdown does, whereas for "smart", "fast" you
need to remember what it does.
This should be pushed in 4.1.3 but only after your comments.
This commit is contained in:
guilhem@mysql.com
2004-06-15 11:35:23 +02:00
parent 5dd2881f54
commit f1fda6387e
6 changed files with 49 additions and 6 deletions

View File

@@ -223,6 +223,26 @@ enum enum_field_types { MYSQL_TYPE_DECIMAL, MYSQL_TYPE_TINY,
#define FIELD_TYPE_INTERVAL MYSQL_TYPE_ENUM
#define FIELD_TYPE_GEOMETRY MYSQL_TYPE_GEOMETRY
enum enum_shutdown_level {
/*
We want levels to be in growing order of gracefulness. 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.
*/
SHUTDOWN_DEFAULT= 255, /* 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_CRITICAL_BUFFERS= 10, /* flush MyISAM buffs (no corruption) */
SHUTDOWN_WAIT_ALL_BUFFERS= 20, /* flush InnoDB buffers */
SHUTDOWN_WAIT_TRANSACTIONS= 30, /* wait for existing trans to finish */
SHUTDOWN_WAIT_CONNECTIONS= 40 /* wait for existing connections to finish */
};
/* options for mysql_set_option */
enum enum_mysql_set_option
{