summaryrefslogtreecommitdiff
path: root/storage/xtradb/include/srv0start.h
diff options
context:
space:
mode:
Diffstat (limited to 'storage/xtradb/include/srv0start.h')
-rw-r--r--storage/xtradb/include/srv0start.h78
1 files changed, 47 insertions, 31 deletions
diff --git a/storage/xtradb/include/srv0start.h b/storage/xtradb/include/srv0start.h
index 15fa3b8f95f..8abf15da9c1 100644
--- a/storage/xtradb/include/srv0start.h
+++ b/storage/xtradb/include/srv0start.h
@@ -16,7 +16,8 @@ Place, Suite 330, Boston, MA 02111-1307 USA
*****************************************************************************/
-/******************************************************
+/**************************************************//**
+@file include/srv0start.h
Starts the Innobase database server
Created 10/10/1995 Heikki Tuuri
@@ -28,64 +29,66 @@ Created 10/10/1995 Heikki Tuuri
#include "univ.i"
#include "ut0byte.h"
-/*************************************************************************
+/*********************************************************************//**
Normalizes a directory path for Windows: converts slashes to backslashes. */
UNIV_INTERN
void
srv_normalize_path_for_win(
/*=======================*/
- char* str); /* in/out: null-terminated character string */
-/*************************************************************************
+ char* str); /*!< in/out: null-terminated character string */
+/*********************************************************************//**
Reads the data files and their sizes from a character string given in
-the .cnf file. */
+the .cnf file.
+@return TRUE if ok, FALSE on parse error */
UNIV_INTERN
ibool
srv_parse_data_file_paths_and_sizes(
/*================================*/
- /* out: TRUE if ok, FALSE on parse error */
- char* str); /* in/out: the data file path string */
-/*************************************************************************
+ char* str); /*!< in/out: the data file path string */
+/*********************************************************************//**
Reads log group home directories from a character string given in
-the .cnf file. */
+the .cnf file.
+@return TRUE if ok, FALSE on parse error */
UNIV_INTERN
ibool
srv_parse_log_group_home_dirs(
/*==========================*/
- /* out: TRUE if ok, FALSE on parse error */
- char* str); /* in/out: character string */
-/*************************************************************************
+ char* str); /*!< in/out: character string */
+/*********************************************************************//**
Frees the memory allocated by srv_parse_data_file_paths_and_sizes()
and srv_parse_log_group_home_dirs(). */
UNIV_INTERN
void
srv_free_paths_and_sizes(void);
/*==========================*/
-/*************************************************************************
+/*********************************************************************//**
Adds a slash or a backslash to the end of a string if it is missing
-and the string is not empty. */
+and the string is not empty.
+@return string which has the separator if the string is not empty */
UNIV_INTERN
char*
srv_add_path_separator_if_needed(
/*=============================*/
- /* out: string which has the separator if the
- string is not empty */
- char* str); /* in: null-terminated character string */
-/********************************************************************
+ char* str); /*!< in: null-terminated character string */
+#ifndef UNIV_HOTBACKUP
+/****************************************************************//**
Starts Innobase and creates a new database if database files
-are not found and the user wants. */
+are not found and the user wants.
+@return DB_SUCCESS or error code */
UNIV_INTERN
int
innobase_start_or_create_for_mysql(void);
/*====================================*/
- /* out: DB_SUCCESS or error code */
-/********************************************************************
-Shuts down the Innobase database. */
+/****************************************************************//**
+Shuts down the Innobase database.
+@return DB_SUCCESS or error code */
UNIV_INTERN
int
innobase_shutdown_for_mysql(void);
/*=============================*/
- /* out: DB_SUCCESS or error code */
+/** Log sequence number at shutdown */
extern ib_uint64_t srv_shutdown_lsn;
+/** Log sequence number immediately after startup */
extern ib_uint64_t srv_start_lsn;
#ifdef __NETWARE__
@@ -93,26 +96,39 @@ void set_panic_flag_for_netware(void);
#endif
#ifdef HAVE_DARWIN_THREADS
+/** TRUE if the F_FULLFSYNC option is available */
extern ibool srv_have_fullfsync;
#endif
+/** TRUE if the server is being started */
extern ibool srv_is_being_started;
+/** TRUE if the server was successfully started */
extern ibool srv_was_started;
+/** TRUE if the server is being started, before rolling back any
+incomplete transactions */
extern ibool srv_startup_is_before_trx_rollback_phase;
-extern ibool srv_is_being_shut_down;
+/** TRUE if a raw partition is in use */
extern ibool srv_start_raw_disk_in_use;
-/* At a shutdown the value first climbs from 0 to SRV_SHUTDOWN_CLEANUP
-and then to SRV_SHUTDOWN_LAST_PHASE, and so on */
-extern ulint srv_shutdown_state;
+/** Shutdown state */
+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_LAST_PHASE,/*!< Last phase after ensuring that
+ the buffer pool can be freed: flush
+ all file spaces and close all files */
+ SRV_SHUTDOWN_EXIT_THREADS/*!< Exit all threads */
+};
-#define SRV_SHUTDOWN_CLEANUP 1
-#define SRV_SHUTDOWN_LAST_PHASE 2
-#define SRV_SHUTDOWN_EXIT_THREADS 3
+/** At a shutdown this value climbs from SRV_SHUTDOWN_NONE to
+SRV_SHUTDOWN_CLEANUP and then to SRV_SHUTDOWN_LAST_PHASE, and so on */
+extern enum srv_shutdown_state srv_shutdown_state;
+#endif /* !UNIV_HOTBACKUP */
-/* Log 'spaces' have id's >= this */
+/** Log 'spaces' have id's >= this */
#define SRV_LOG_SPACE_FIRST_ID 0xFFFFFFF0UL
#endif