Drizzled Public API Documentation
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
row0merge.h
Go to the documentation of this file.
1
/*****************************************************************************
2
3
Copyright (C) 2005, 2010, 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
/**************************************************/
26
#pragma once
27
#ifndef row0merge_h
28
#define row0merge_h
29
30
#include "univ.i"
31
#include "
data0data.h
"
32
#include "
dict0types.h
"
33
#include "
trx0types.h
"
34
#include "
que0types.h
"
35
#include "
mtr0mtr.h
"
36
#include "
rem0types.h
"
37
#include "
rem0rec.h
"
38
#include "
read0types.h
"
39
#include "
btr0types.h
"
40
#include "
row0mysql.h
"
41
#include "
lock0types.h
"
42
44
struct
merge_index_field_struct
{
45
ulint
prefix_len
;
47
const
char
*
field_name
;
48
};
49
51
typedef
struct
merge_index_field_struct
merge_index_field_t
;
52
54
struct
merge_index_def_struct
{
55
const
char
*
name
;
56
ulint
ind_type
;
58
ulint
n_fields
;
60
merge_index_field_t
*
fields
;
61
};
62
64
typedef
struct
merge_index_def_struct
merge_index_def_t
;
65
66
/*********************************************************************/
69
UNIV_INTERN
70
ulint
71
row_merge_lock_table
(
72
/*=================*/
73
trx_t
* trx,
74
dict_table_t
* table,
75
enum
lock_mode mode);
76
/*********************************************************************/
80
UNIV_INTERN
81
void
82
row_merge_drop_index
(
83
/*=================*/
84
dict_index_t
* index,
85
dict_table_t
* table,
86
trx_t
* trx);
87
/*********************************************************************/
92
UNIV_INTERN
93
void
94
row_merge_drop_indexes
(
95
/*===================*/
96
trx_t
* trx,
97
dict_table_t
* table,
98
dict_index_t
** index,
99
ulint num_created);
100
/*********************************************************************/
102
UNIV_INTERN
103
void
104
row_merge_drop_temp_indexes
(
void
);
105
/*=============================*/
106
/*********************************************************************/
111
UNIV_INTERN
112
ulint
113
row_merge_rename_tables
(
114
/*====================*/
115
dict_table_t
* old_table,
117
dict_table_t
* new_table,
119
const
char
* tmp_name,
120
trx_t
* trx);
122
/*********************************************************************/
126
UNIV_INTERN
127
dict_table_t
*
128
row_merge_create_temporary_table
(
129
/*=============================*/
130
const
char
* table_name,
131
const
merge_index_def_t
*index_def,
133
const
dict_table_t
* table,
134
trx_t
* trx);
136
/*********************************************************************/
141
UNIV_INTERN
142
ulint
143
row_merge_rename_indexes
(
144
/*=====================*/
145
trx_t
* trx,
146
dict_table_t
* table);
147
/*********************************************************************/
150
UNIV_INTERN
151
dict_index_t
*
152
row_merge_create_index
(
153
/*===================*/
154
trx_t
* trx,
155
dict_table_t
* table,
156
const
merge_index_def_t
*index_def);
158
/*********************************************************************/
161
UNIV_INTERN
162
ibool
163
row_merge_is_index_usable
(
164
/*======================*/
165
const
trx_t
* trx,
166
const
dict_index_t
* index);
167
/*********************************************************************/
171
UNIV_INTERN
172
ulint
173
row_merge_drop_table
(
174
/*=================*/
175
trx_t
* trx,
176
dict_table_t
* table);
178
/*********************************************************************/
183
UNIV_INTERN
184
ulint
185
row_merge_build_indexes
(
186
/*====================*/
187
trx_t
* trx,
188
dict_table_t
* old_table,
190
dict_table_t
* new_table,
193
dict_index_t
** indexes,
194
ulint n_indexes,
195
TABLE* table);
198
#endif
/* row0merge.h */
plugin
innobase
include
row0merge.h
Generated on Thu Aug 29 2013 10:00:32 for drizzle by
1.8.4