srv0start.h 3.19 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14
/******************************************************
Starts the Innobase database server

(c) 1995-2000 Innobase Oy

Created 10/10/1995 Heikki Tuuri
*******************************************************/


#ifndef srv0start_h
#define srv0start_h

#include "univ.i"

unknown's avatar
unknown committed
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
/*************************************************************************
Normalizes a directory path for Windows: converts slashes to backslashes. */

void
srv_normalize_path_for_win(
/*=======================*/
	char*	str);	/* in/out: null-terminated character string */
/*************************************************************************
Adds a slash or a backslash to the end of a string if it is missing
and the string is not empty. */

char*
srv_add_path_separator_if_needed(
/*=============================*/
			/* out, own: string which has the separator if the
			string is not empty */
	char*	str);	/* in: null-terminated character string */
/*************************************************************************
Reads the data files and their sizes from a character string given in
the .cnf file. */

ibool
srv_parse_data_file_paths_and_sizes(
/*================================*/
					/* out: TRUE if ok, FALSE if parsing
					error */
	char*	str,			/* in: the data file path string */
	char***	data_file_names,	/* out, own: array of data file
					names */
	ulint**	data_file_sizes,	/* out, own: array of data file sizes
					in megabytes */
	ulint**	data_file_is_raw_partition,/* out, own: array of flags
					showing which data files are raw
					partitions */
	ulint*	n_data_files,		/* out: number of data files */
	ibool*	is_auto_extending,	/* out: TRUE if the last data file is
					auto-extending */
	ulint*	max_auto_extend_size);	/* out: max auto extend size for the
					last file if specified, 0 if not */
/*************************************************************************
Reads log group home directories from a character string given in
the .cnf file. */

ibool
srv_parse_log_group_home_dirs(
/*==========================*/
					/* out: TRUE if ok, FALSE if parsing
					error */
	char*	str,			/* in: character string */
	char***	log_group_home_dirs);	/* out, own: log group home dirs */
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
/********************************************************************
Starts Innobase and creates a new database if database files
are not found and the user wants. Server parameters are
read from a file of name "srv_init" in the ib_home directory. */

int
innobase_start_or_create_for_mysql(void);
/*====================================*/
				/* out: DB_SUCCESS or error code */
/********************************************************************
Shuts down the Innobase database. */

int
innobase_shutdown_for_mysql(void);
/*=============================*/
				/* out: DB_SUCCESS or error code */
81

82 83
extern  ulint   srv_sizeof_trx_t_in_ha_innodb_cc;

84
extern  ibool   srv_is_being_started;
unknown's avatar
Merge  
unknown committed
85 86 87 88
extern	ibool	srv_startup_is_before_trx_rollback_phase;
extern	ibool	srv_is_being_shut_down;

/* At a shutdown the value first climbs from 0 to SRV_SHUTDOWN_CLEANUP
unknown's avatar
unknown committed
89
and then to SRV_SHUTDOWN_LAST_PHASE, and so on */
unknown's avatar
Merge  
unknown committed
90

unknown's avatar
unknown committed
91
extern  ulint   srv_shutdown_state;
unknown's avatar
Merge  
unknown committed
92

unknown's avatar
unknown committed
93 94 95
#define SRV_SHUTDOWN_CLEANUP	   1
#define SRV_SHUTDOWN_LAST_PHASE	   2
#define SRV_SHUTDOWN_EXIT_THREADS  3
96

97
#endif