diff options
Diffstat (limited to 'storage/innobase/include/srv0start.h')
-rw-r--r-- | storage/innobase/include/srv0start.h | 30 |
1 files changed, 25 insertions, 5 deletions
diff --git a/storage/innobase/include/srv0start.h b/storage/innobase/include/srv0start.h index 796d2cade3b..9d948675011 100644 --- a/storage/innobase/include/srv0start.h +++ b/storage/innobase/include/srv0start.h @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1995, 2009, Innobase Oy. All Rights Reserved. +Copyright (c) 1995, 2009, Oracle and/or its affiliates. All Rights Reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software @@ -11,8 +11,8 @@ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place, Suite 330, Boston, MA 02111-1307 USA +this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA *****************************************************************************/ @@ -27,8 +27,15 @@ Created 10/10/1995 Heikki Tuuri #define srv0start_h #include "univ.i" +#include "log0log.h" #include "ut0byte.h" +#ifdef __WIN__ +#define SRV_PATH_SEPARATOR '\\' +#else +#define SRV_PATH_SEPARATOR '/' +#endif + /*********************************************************************//** Normalizes a directory path for Windows: converts slashes to backslashes. */ UNIV_INTERN @@ -85,11 +92,19 @@ Shuts down the Innobase database. UNIV_INTERN int innobase_shutdown_for_mysql(void); + +/******************************************************************** +Signal all per-table background threads to shutdown, and wait for them to do +so. */ + +void +srv_shutdown_table_bg_threads(void); + /*=============================*/ /** Log sequence number at shutdown */ -extern ib_uint64_t srv_shutdown_lsn; +extern lsn_t srv_shutdown_lsn; /** Log sequence number immediately after startup */ -extern ib_uint64_t srv_start_lsn; +extern lsn_t srv_start_lsn; #ifdef HAVE_DARWIN_THREADS /** TRUE if the F_FULLFSYNC option is available */ @@ -113,6 +128,11 @@ enum srv_shutdown_state { SRV_SHUTDOWN_NONE = 0, /*!< Database running normally */ SRV_SHUTDOWN_CLEANUP, /*!< Cleaning up in logs_empty_and_mark_files_at_shutdown() */ + SRV_SHUTDOWN_FLUSH_PHASE,/*!< At this phase the master and the + purge threads must have completed their + work. Once we enter this phase the + page_cleaner can clean up the buffer + pool and exit */ SRV_SHUTDOWN_LAST_PHASE,/*!< Last phase after ensuring that the buffer pool can be freed: flush all file spaces and close all files */ |