~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to plugin/innobase/include/srv0start.h

  • Committer: Brian Aker
  • Date: 2010-09-22 22:25:29 UTC
  • mto: (1791.1.1 drizzle)
  • mto: This revision was merged to the branch mainline in revision 1792.
  • Revision ID: brian@tangent.org-20100922222529-geo4wggmu5ntqa5k
Current boost work (more conversion).

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*****************************************************************************
2
 
 
3
 
Copyright (C) 1995, 2009, Innobase Oy. All Rights Reserved.
4
 
 
5
 
This program is free software; you can redistribute it and/or modify it under
6
 
the terms of the GNU General Public License as published by the Free Software
7
 
Foundation; version 2 of the License.
8
 
 
9
 
This program is distributed in the hope that it will be useful, but WITHOUT
10
 
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11
 
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
12
 
 
13
 
You should have received a copy of the GNU General Public License along with
14
 
this program; if not, write to the Free Software Foundation, Inc., 51 Franklin
15
 
St, Fifth Floor, Boston, MA 02110-1301 USA
16
 
 
17
 
*****************************************************************************/
18
 
 
19
 
/**************************************************//**
20
 
@file include/srv0start.h
21
 
Starts the Innobase database server
22
 
 
23
 
Created 10/10/1995 Heikki Tuuri
24
 
*******************************************************/
25
 
 
26
 
#ifndef srv0start_h
27
 
#define srv0start_h
28
 
 
29
 
#include "univ.i"
30
 
#include "ut0byte.h"
31
 
 
32
 
/*********************************************************************//**
33
 
Normalizes a directory path for Windows: converts slashes to backslashes. */
34
 
UNIV_INTERN
35
 
void
36
 
srv_normalize_path_for_win(
37
 
/*=======================*/
38
 
        char*   str);   /*!< in/out: null-terminated character string */
39
 
/*********************************************************************//**
40
 
Reads the data files and their sizes from a character string given in
41
 
the .cnf file.
42
 
@return TRUE if ok, FALSE on parse error */
43
 
UNIV_INTERN
44
 
ibool
45
 
srv_parse_data_file_paths_and_sizes(
46
 
/*================================*/
47
 
        char*   str);   /*!< in/out: the data file path string */
48
 
/*********************************************************************//**
49
 
Reads log group home directories from a character string given in
50
 
the .cnf file.
51
 
@return TRUE if ok, FALSE on parse error */
52
 
UNIV_INTERN
53
 
ibool
54
 
srv_parse_log_group_home_dirs(
55
 
/*==========================*/
56
 
        char*   str);   /*!< in/out: character string */
57
 
/*********************************************************************//**
58
 
Frees the memory allocated by srv_parse_data_file_paths_and_sizes()
59
 
and srv_parse_log_group_home_dirs(). */
60
 
UNIV_INTERN
61
 
void
62
 
srv_free_paths_and_sizes(void);
63
 
/*==========================*/
64
 
/*********************************************************************//**
65
 
Adds a slash or a backslash to the end of a string if it is missing
66
 
and the string is not empty.
67
 
@return string which has the separator if the string is not empty */
68
 
UNIV_INTERN
69
 
char*
70
 
srv_add_path_separator_if_needed(
71
 
/*=============================*/
72
 
        char*   str);   /*!< in: null-terminated character string */
73
 
#ifndef UNIV_HOTBACKUP
74
 
/****************************************************************//**
75
 
Starts Innobase and creates a new database if database files
76
 
are not found and the user wants.
77
 
@return DB_SUCCESS or error code */
78
 
UNIV_INTERN
79
 
int
80
 
innobase_start_or_create_for_mysql(void);
81
 
/*====================================*/
82
 
/****************************************************************//**
83
 
Shuts down the Innobase database.
84
 
@return DB_SUCCESS or error code */
85
 
UNIV_INTERN
86
 
int
87
 
innobase_shutdown_for_mysql(void);
88
 
/*=============================*/
89
 
/** Log sequence number at shutdown */
90
 
extern  ib_uint64_t     srv_shutdown_lsn;
91
 
/** Log sequence number immediately after startup */
92
 
extern  ib_uint64_t     srv_start_lsn;
93
 
 
94
 
#ifdef HAVE_DARWIN_THREADS
95
 
/** TRUE if the F_FULLFSYNC option is available */
96
 
extern  ibool   srv_have_fullfsync;
97
 
#endif
98
 
 
99
 
/** TRUE if the server is being started */
100
 
extern  ibool   srv_is_being_started;
101
 
/** TRUE if the server was successfully started */
102
 
extern  ibool   srv_was_started;
103
 
/** TRUE if the server is being started, before rolling back any
104
 
incomplete transactions */
105
 
extern  ibool   srv_startup_is_before_trx_rollback_phase;
106
 
 
107
 
/** TRUE if a raw partition is in use */
108
 
extern  ibool   srv_start_raw_disk_in_use;
109
 
 
110
 
 
111
 
/** Shutdown state */
112
 
enum srv_shutdown_state {
113
 
        SRV_SHUTDOWN_NONE = 0,  /*!< Database running normally */
114
 
        SRV_SHUTDOWN_CLEANUP,   /*!< Cleaning up in
115
 
                                logs_empty_and_mark_files_at_shutdown() */
116
 
        SRV_SHUTDOWN_LAST_PHASE,/*!< Last phase after ensuring that
117
 
                                the buffer pool can be freed: flush
118
 
                                all file spaces and close all files */
119
 
        SRV_SHUTDOWN_EXIT_THREADS/*!< Exit all threads */
120
 
};
121
 
 
122
 
/** At a shutdown this value climbs from SRV_SHUTDOWN_NONE to
123
 
SRV_SHUTDOWN_CLEANUP and then to SRV_SHUTDOWN_LAST_PHASE, and so on */
124
 
extern  enum srv_shutdown_state srv_shutdown_state;
125
 
#endif /* !UNIV_HOTBACKUP */
126
 
 
127
 
/** Log 'spaces' have id's >= this */
128
 
#define SRV_LOG_SPACE_FIRST_ID          0xFFFFFFF0UL
129
 
 
130
 
#endif