Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
MariaDB
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
b40c9425
Commit
b40c9425
authored
Feb 02, 2006
by
tomas@poseidon.ndb.mysql.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge poseidon.ndb.mysql.com:/home/tomas/mysql-5.1-release
into poseidon.ndb.mysql.com:/home/tomas/mysql51
parents
c62ce023
92ffe8cf
Changes
5
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
681 additions
and
33 deletions
+681
-33
client/mysqldump.c
client/mysqldump.c
+134
-1
mysql-test/r/ndb_dd_dump.result
mysql-test/r/ndb_dd_dump.result
+230
-0
mysql-test/t/ndb_dd_dump.test
mysql-test/t/ndb_dd_dump.test
+259
-0
sql/ha_ndbcluster.cc
sql/ha_ndbcluster.cc
+46
-26
sql/ha_ndbcluster_binlog.cc
sql/ha_ndbcluster_binlog.cc
+12
-6
No files found.
client/mysqldump.c
View file @
b40c9425
...
@@ -94,7 +94,8 @@ static my_bool verbose=0,tFlag=0,dFlag=0,quick= 1, extended_insert= 1,
...
@@ -94,7 +94,8 @@ static my_bool verbose=0,tFlag=0,dFlag=0,quick= 1, extended_insert= 1,
opt_hex_blob
=
0
,
opt_order_by_primary
=
0
,
opt_ignore
=
0
,
opt_hex_blob
=
0
,
opt_order_by_primary
=
0
,
opt_ignore
=
0
,
opt_complete_insert
=
0
,
opt_drop_database
=
0
,
opt_complete_insert
=
0
,
opt_drop_database
=
0
,
opt_replace_into
=
0
,
opt_replace_into
=
0
,
opt_dump_triggers
=
0
,
opt_routines
=
0
,
opt_tz_utc
=
1
;
opt_dump_triggers
=
0
,
opt_routines
=
0
,
opt_tz_utc
=
1
,
opt_alltspcs
=
0
;
static
ulong
opt_max_allowed_packet
,
opt_net_buffer_length
;
static
ulong
opt_max_allowed_packet
,
opt_net_buffer_length
;
static
MYSQL
mysql_connection
,
*
sock
=
0
;
static
MYSQL
mysql_connection
,
*
sock
=
0
;
static
my_bool
insert_pat_inited
=
0
;
static
my_bool
insert_pat_inited
=
0
;
...
@@ -162,6 +163,10 @@ static struct my_option my_long_options[] =
...
@@ -162,6 +163,10 @@ static struct my_option my_long_options[] =
"Dump all the databases. This will be same as --databases with all databases selected."
,
"Dump all the databases. This will be same as --databases with all databases selected."
,
(
gptr
*
)
&
opt_alldbs
,
(
gptr
*
)
&
opt_alldbs
,
0
,
GET_BOOL
,
NO_ARG
,
0
,
0
,
0
,
0
,
(
gptr
*
)
&
opt_alldbs
,
(
gptr
*
)
&
opt_alldbs
,
0
,
GET_BOOL
,
NO_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
0
,
0
},
{
"all-tablespaces"
,
'Y'
,
"Dump all the tablespaces."
,
(
gptr
*
)
&
opt_alltspcs
,
(
gptr
*
)
&
opt_alltspcs
,
0
,
GET_BOOL
,
NO_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
{
"add-drop-database"
,
OPT_DROP_DATABASE
,
"Add a 'DROP DATABASE' before each create."
,
{
"add-drop-database"
,
OPT_DROP_DATABASE
,
"Add a 'DROP DATABASE' before each create."
,
(
gptr
*
)
&
opt_drop_database
,
(
gptr
*
)
&
opt_drop_database
,
0
,
GET_BOOL
,
NO_ARG
,
0
,
0
,
0
,
0
,
0
,
(
gptr
*
)
&
opt_drop_database
,
(
gptr
*
)
&
opt_drop_database
,
0
,
GET_BOOL
,
NO_ARG
,
0
,
0
,
0
,
0
,
0
,
0
},
0
},
...
@@ -2471,6 +2476,131 @@ static char *getTableName(int reset)
...
@@ -2471,6 +2476,131 @@ static char *getTableName(int reset)
}
/* getTableName */
}
/* getTableName */
/*
dump all logfile groups and tablespaces
*/
static
int
dump_all_tablespaces
()
{
MYSQL_ROW
row
;
MYSQL_RES
*
tableres
;
int
result
=
0
;
char
buf
[
FN_REFLEN
];
int
first
;
if
(
mysql_query_with_error_report
(
sock
,
&
tableres
,
"SELECT DISTINCT"
" LOGFILE_GROUP_NAME,"
" FILE_NAME,"
" TOTAL_EXTENTS,"
" INITIAL_SIZE,"
" ENGINE"
" FROM INFORMATION_SCHEMA.FILES"
" WHERE FILE_TYPE =
\"
UNDO LOG
\"
"
" ORDER BY LOGFILE_GROUP_NAME"
))
return
1
;
buf
[
0
]
=
0
;
while
((
row
=
mysql_fetch_row
(
tableres
)))
{
if
(
strcmp
(
buf
,
row
[
0
])
!=
0
)
first
=
1
;
if
(
first
)
{
if
(
!
opt_xml
&&
opt_comments
)
{
fprintf
(
md_result_file
,
"
\n
--
\n
-- Logfile group: %s
\n
--
\n
"
,
row
[
0
]);
check_io
(
md_result_file
);
}
fprintf
(
md_result_file
,
"
\n
CREATE"
);
}
else
{
fprintf
(
md_result_file
,
"
\n
ALTER"
);
}
fprintf
(
md_result_file
,
" LOGFILE GROUP %s
\n
"
" ADD UNDOFILE '%s'
\n
"
,
row
[
0
],
row
[
1
]);
if
(
first
)
{
fprintf
(
md_result_file
,
" UNDO_BUFFER_SIZE %s
\n
"
,
row
[
2
]);
}
fprintf
(
md_result_file
,
" INITIAL_SIZE %s
\n
"
" ENGINE=%s;
\n
"
,
row
[
3
],
row
[
4
]);
check_io
(
md_result_file
);
if
(
first
)
{
first
=
0
;
strxmov
(
buf
,
row
[
0
],
NullS
);
}
}
if
(
mysql_query_with_error_report
(
sock
,
&
tableres
,
"SELECT DISTINCT"
" TABLESPACE_NAME,"
" FILE_NAME,"
" LOGFILE_GROUP_NAME,"
" EXTENT_SIZE,"
" INITIAL_SIZE,"
" ENGINE"
" FROM INFORMATION_SCHEMA.FILES"
" WHERE FILE_TYPE =
\"
DATAFILE
\"
"
" ORDER BY TABLESPACE_NAME, LOGFILE_GROUP_NAME"
))
return
1
;
buf
[
0
]
=
0
;
while
((
row
=
mysql_fetch_row
(
tableres
)))
{
if
(
strcmp
(
buf
,
row
[
0
])
!=
0
)
first
=
1
;
if
(
first
)
{
if
(
!
opt_xml
&&
opt_comments
)
{
fprintf
(
md_result_file
,
"
\n
--
\n
-- Tablespace: %s
\n
--
\n
"
,
row
[
0
]);
check_io
(
md_result_file
);
}
fprintf
(
md_result_file
,
"
\n
CREATE"
);
}
else
{
fprintf
(
md_result_file
,
"
\n
ALTER"
);
}
fprintf
(
md_result_file
,
" TABLESPACE %s
\n
"
" ADD DATAFILE '%s'
\n
"
,
row
[
0
],
row
[
1
]);
if
(
first
)
{
fprintf
(
md_result_file
,
" USE LOGFILE GROUP %s
\n
"
" EXTENT_SIZE %s
\n
"
,
row
[
2
],
row
[
3
]);
}
fprintf
(
md_result_file
,
" INITIAL_SIZE %s
\n
"
" ENGINE=%s;
\n
"
,
row
[
4
],
row
[
5
]);
check_io
(
md_result_file
);
if
(
first
)
{
first
=
0
;
strxmov
(
buf
,
row
[
0
],
NullS
);
}
}
return
0
;
}
static
int
dump_all_databases
()
static
int
dump_all_databases
()
{
{
MYSQL_ROW
row
;
MYSQL_ROW
row
;
...
@@ -3348,6 +3478,9 @@ int main(int argc, char **argv)
...
@@ -3348,6 +3478,9 @@ int main(int argc, char **argv)
if
(
opt_single_transaction
&&
do_unlock_tables
(
sock
))
/* unlock but no commit! */
if
(
opt_single_transaction
&&
do_unlock_tables
(
sock
))
/* unlock but no commit! */
goto
err
;
goto
err
;
if
(
opt_alltspcs
)
dump_all_tablespaces
();
if
(
opt_alldbs
)
if
(
opt_alldbs
)
dump_all_databases
();
dump_all_databases
();
else
if
(
argc
>
1
&&
!
opt_databases
)
else
if
(
argc
>
1
&&
!
opt_databases
)
...
...
mysql-test/r/ndb_dd_dump.result
0 → 100644
View file @
b40c9425
This diff is collapsed.
Click to expand it.
mysql-test/t/ndb_dd_dump.test
0 → 100644
View file @
b40c9425
--
source
include
/
have_ndb
.
inc
--
disable_warnings
DROP
TABLE
IF
EXISTS
t1
,
t2
,
t3
;
--
enable_warnings
CREATE
LOGFILE
GROUP
lg1
ADD
UNDOFILE
'undofile_lg1_01.dat'
INITIAL_SIZE
2
M
UNDO_BUFFER_SIZE
=
1
M
ENGINE
NDB
;
ALTER
LOGFILE
GROUP
lg1
ADD
UNDOFILE
'undofile_lg1_02.dat'
INITIAL_SIZE
=
4
M
ENGINE
NDB
;
CREATE
LOGFILE
GROUP
lg2
ADD
UNDOFILE
'undofile_lg2_01.dat'
UNDO_BUFFER_SIZE
=
1
M
INITIAL_SIZE
2
M
ENGINE
NDB
;
ALTER
LOGFILE
GROUP
lg2
ADD
UNDOFILE
'undofile_lg2_02.dat'
INITIAL_SIZE
=
4
M
ENGINE
NDB
;
CREATE
TABLESPACE
ts1
ADD
DATAFILE
'datafile_ts1_01.dat'
USE
LOGFILE
GROUP lg1
EXTENT_SIZE 1M
INITIAL_SIZE 2M
ENGINE NDB
;
ALTER
TABLESPACE
ts1
ADD
DATAFILE
'datafile_ts1_02.dat'
INITIAL_SIZE
=
1
M
ENGINE
=
NDB
;
CREATE
TABLESPACE
ts2
ADD
DATAFILE
'datafile_ts2_01.dat'
USE
LOGFILE
GROUP lg1
INITIAL_SIZE 2M
ENGINE NDB
;
CREATE
TABLESPACE
ts3
ADD
DATAFILE
'datafile_ts3_01.dat'
USE
LOGFILE
GROUP lg2
INITIAL_SIZE 4M
ENGINE NDB
;
########################################
# Create a table using this tablespace
########################################
CREATE
TABLE
t1
(
pk1
INT
NOT
NULL
PRIMARY
KEY
,
b
INT
NOT
NULL
,
c
INT
NOT
NULL
)
TABLESPACE
ts1
STORAGE
DISK
ENGINE
=
NDB
;
CREATE
TABLE
t2
(
pk1
INT
NOT
NULL
PRIMARY
KEY
,
b
INT
NOT
NULL
,
c
INT
NOT
NULL
)
TABLESPACE
ts2
STORAGE
DISK
ENGINE
=
NDB
;
CREATE
TABLE
t3
(
pk1
INT
NOT
NULL
PRIMARY
KEY
,
b
INT
NOT
NULL
,
c
INT
NOT
NULL
)
TABLESPACE
ts3
STORAGE
DISK
ENGINE
=
NDB
;
INSERT
INTO
t1
VALUES
(
1
,
1
,
1
),(
2
,
2
,
2
),(
3
,
3
,
3
),(
4
,
4
,
4
),(
5
,
5
,
5
),
(
6
,
6
,
6
),(
7
,
7
,
7
),(
8
,
8
,
8
),(
9
,
9
,
9
),(
10
,
10
,
10
),
(
11
,
11
,
11
),(
12
,
12
,
12
),(
13
,
13
,
13
),(
14
,
14
,
14
),(
15
,
15
,
15
),
(
16
,
16
,
16
),(
17
,
17
,
17
),(
18
,
18
,
18
),(
19
,
19
,
19
),(
20
,
20
,
20
),
(
21
,
21
,
21
),(
22
,
22
,
22
),(
23
,
23
,
23
),(
24
,
24
,
24
),(
25
,
25
,
25
),
(
26
,
26
,
26
),(
27
,
27
,
27
),(
28
,
28
,
28
),(
29
,
29
,
29
),(
30
,
30
,
30
),
(
31
,
31
,
31
),(
32
,
32
,
32
),(
33
,
33
,
33
),(
34
,
34
,
34
),(
35
,
35
,
35
),
(
36
,
36
,
36
),(
37
,
37
,
37
),(
38
,
38
,
38
),(
39
,
39
,
39
),(
40
,
40
,
40
),
(
41
,
41
,
41
),(
42
,
42
,
42
),(
43
,
43
,
43
),(
44
,
44
,
44
),(
45
,
45
,
45
),
(
46
,
46
,
46
),(
47
,
47
,
47
),(
48
,
48
,
48
),(
49
,
49
,
49
),(
50
,
50
,
50
),
(
51
,
51
,
51
),(
52
,
52
,
52
),(
53
,
53
,
53
),(
54
,
54
,
54
),(
55
,
55
,
55
),
(
56
,
56
,
56
),(
57
,
57
,
57
),(
58
,
58
,
58
),(
59
,
59
,
59
),(
60
,
60
,
60
),
(
61
,
61
,
61
),(
62
,
62
,
62
),(
63
,
63
,
63
),(
64
,
64
,
64
),(
65
,
65
,
65
),
(
66
,
66
,
66
),(
67
,
67
,
67
),(
68
,
68
,
68
),(
69
,
69
,
69
),(
70
,
70
,
70
),
(
71
,
71
,
71
),(
72
,
72
,
72
),(
73
,
73
,
73
),(
74
,
74
,
74
),(
75
,
75
,
75
),
(
76
,
76
,
76
),(
77
,
77
,
77
),(
78
,
78
,
78
),(
79
,
79
,
79
),(
80
,
80
,
80
),
(
81
,
81
,
81
),(
82
,
82
,
82
),(
83
,
83
,
83
),(
84
,
84
,
84
),(
85
,
85
,
85
),
(
86
,
86
,
86
),(
87
,
87
,
87
),(
88
,
88
,
88
),(
89
,
89
,
89
),(
90
,
90
,
90
),
(
91
,
91
,
91
),(
92
,
92
,
92
),(
93
,
93
,
93
),(
94
,
94
,
94
),(
95
,
95
,
95
),
(
96
,
96
,
96
),(
97
,
97
,
97
),(
98
,
98
,
98
),(
99
,
99
,
99
),(
100
,
100
,
100
),
(
101
,
101
,
101
),(
102
,
102
,
102
),(
103
,
103
,
103
),(
104
,
104
,
104
),(
105
,
105
,
105
),
(
106
,
106
,
106
),(
107
,
107
,
107
),(
108
,
108
,
108
),(
109
,
109
,
109
),(
110
,
110
,
110
),
(
111
,
111
,
111
),(
112
,
112
,
112
),(
113
,
113
,
113
),(
114
,
114
,
114
),(
115
,
115
,
115
),
(
116
,
116
,
116
),(
117
,
117
,
117
),(
118
,
118
,
118
),(
119
,
119
,
119
),(
120
,
120
,
120
),
(
121
,
121
,
121
),(
122
,
122
,
122
),(
123
,
123
,
123
),(
124
,
124
,
124
),(
125
,
125
,
125
),
(
126
,
126
,
126
),(
127
,
127
,
127
),(
128
,
128
,
128
),(
129
,
129
,
129
),(
130
,
130
,
130
),
(
131
,
131
,
131
),(
132
,
132
,
132
),(
133
,
133
,
133
),(
134
,
134
,
134
),(
135
,
135
,
135
),
(
136
,
136
,
136
),(
137
,
137
,
137
),(
138
,
138
,
138
),(
139
,
139
,
139
),(
140
,
140
,
140
),
(
141
,
141
,
141
),(
142
,
142
,
142
),(
143
,
143
,
143
),(
144
,
144
,
144
),(
145
,
145
,
145
),
(
146
,
146
,
146
),(
147
,
147
,
147
),(
148
,
148
,
148
),(
149
,
149
,
149
),(
150
,
150
,
150
),
(
151
,
151
,
151
),(
152
,
152
,
152
),(
153
,
153
,
153
),(
154
,
154
,
154
),(
155
,
155
,
155
),
(
156
,
156
,
156
),(
157
,
157
,
157
),(
158
,
158
,
158
),(
159
,
159
,
159
),(
160
,
160
,
160
),
(
161
,
161
,
161
),(
162
,
162
,
162
),(
163
,
163
,
163
),(
164
,
164
,
164
),(
165
,
165
,
165
),
(
166
,
166
,
166
),(
167
,
167
,
167
),(
168
,
168
,
168
),(
169
,
169
,
169
),(
170
,
170
,
170
),
(
171
,
171
,
171
),(
172
,
172
,
172
),(
173
,
173
,
173
),(
174
,
174
,
174
),(
175
,
175
,
175
),
(
176
,
176
,
176
),(
177
,
177
,
177
),(
178
,
178
,
178
),(
179
,
179
,
179
),(
180
,
180
,
180
),
(
181
,
181
,
181
),(
182
,
182
,
182
),(
183
,
183
,
183
),(
184
,
184
,
184
),(
185
,
185
,
185
),
(
186
,
186
,
186
),(
187
,
187
,
187
),(
188
,
188
,
188
),(
189
,
189
,
189
),(
190
,
190
,
190
),
(
191
,
191
,
191
),(
192
,
192
,
192
),(
193
,
193
,
193
),(
194
,
194
,
194
),(
195
,
195
,
195
),
(
196
,
196
,
196
),(
197
,
197
,
197
),(
198
,
198
,
198
),(
199
,
199
,
199
),(
200
,
200
,
200
),
(
201
,
201
,
201
),(
202
,
202
,
202
),(
203
,
203
,
203
),(
204
,
204
,
204
),(
205
,
205
,
205
),
(
206
,
206
,
206
),(
207
,
207
,
207
),(
208
,
208
,
208
),(
209
,
209
,
209
),(
210
,
210
,
210
),
(
211
,
211
,
211
),(
212
,
212
,
212
),(
213
,
213
,
213
),(
214
,
214
,
214
),(
215
,
215
,
215
),
(
216
,
216
,
216
),(
217
,
217
,
217
),(
218
,
218
,
218
),(
219
,
219
,
219
),(
220
,
220
,
220
),
(
221
,
221
,
221
),(
222
,
222
,
222
),(
223
,
223
,
223
),(
224
,
224
,
224
),(
225
,
225
,
225
),
(
226
,
226
,
226
),(
227
,
227
,
227
),(
228
,
228
,
228
),(
229
,
229
,
229
),(
230
,
230
,
230
),
(
231
,
231
,
231
),(
232
,
232
,
232
),(
233
,
233
,
233
),(
234
,
234
,
234
),(
235
,
235
,
235
),
(
236
,
236
,
236
),(
237
,
237
,
237
),(
238
,
238
,
238
),(
239
,
239
,
239
),(
240
,
240
,
240
),
(
241
,
241
,
241
),(
242
,
242
,
242
),(
243
,
243
,
243
),(
244
,
244
,
244
),(
245
,
245
,
245
),
(
246
,
246
,
246
),(
247
,
247
,
247
),(
248
,
248
,
248
),(
249
,
249
,
249
),(
250
,
250
,
250
),
(
251
,
251
,
251
),(
252
,
252
,
252
),(
253
,
253
,
253
),(
254
,
254
,
254
),(
255
,
255
,
255
),
(
256
,
256
,
256
),(
257
,
257
,
257
),(
258
,
258
,
258
),(
259
,
259
,
259
),(
260
,
260
,
260
),
(
261
,
261
,
261
),(
262
,
262
,
262
),(
263
,
263
,
263
),(
264
,
264
,
264
),(
265
,
265
,
265
),
(
266
,
266
,
266
),(
267
,
267
,
267
),(
268
,
268
,
268
),(
269
,
269
,
269
),(
270
,
270
,
270
),
(
271
,
271
,
271
),(
272
,
272
,
272
),(
273
,
273
,
273
),(
274
,
274
,
274
),(
275
,
275
,
275
),
(
276
,
276
,
276
),(
277
,
277
,
277
),(
278
,
278
,
278
),(
279
,
279
,
279
),(
280
,
280
,
280
),
(
281
,
281
,
281
),(
282
,
282
,
282
),(
283
,
283
,
283
),(
284
,
284
,
284
),(
285
,
285
,
285
),
(
286
,
286
,
286
),(
287
,
287
,
287
),(
288
,
288
,
288
),(
289
,
289
,
289
),(
290
,
290
,
290
),
(
291
,
291
,
291
),(
292
,
292
,
292
),(
293
,
293
,
293
),(
294
,
294
,
294
),(
295
,
295
,
295
),
(
296
,
296
,
296
),(
297
,
297
,
297
),(
298
,
298
,
298
),(
299
,
299
,
299
),(
300
,
300
,
300
),
(
301
,
301
,
301
),(
302
,
302
,
302
),(
303
,
303
,
303
),(
304
,
304
,
304
),(
305
,
305
,
305
),
(
306
,
306
,
306
),(
307
,
307
,
307
),(
308
,
308
,
308
),(
309
,
309
,
309
),(
310
,
310
,
310
),
(
311
,
311
,
311
),(
312
,
312
,
312
),(
313
,
313
,
313
),(
314
,
314
,
314
),(
315
,
315
,
315
),
(
316
,
316
,
316
),(
317
,
317
,
317
),(
318
,
318
,
318
),(
319
,
319
,
319
),(
320
,
320
,
320
),
(
321
,
321
,
321
),(
322
,
322
,
322
),(
323
,
323
,
323
),(
324
,
324
,
324
),(
325
,
325
,
325
),
(
326
,
326
,
326
),(
327
,
327
,
327
),(
328
,
328
,
328
),(
329
,
329
,
329
),(
330
,
330
,
330
),
(
331
,
331
,
331
),(
332
,
332
,
332
),(
333
,
333
,
333
),(
334
,
334
,
334
),(
335
,
335
,
335
),
(
336
,
336
,
336
),(
337
,
337
,
337
),(
338
,
338
,
338
),(
339
,
339
,
339
),(
340
,
340
,
340
),
(
341
,
341
,
341
),(
342
,
342
,
342
),(
343
,
343
,
343
),(
344
,
344
,
344
),(
345
,
345
,
345
),
(
346
,
346
,
346
),(
347
,
347
,
347
),(
348
,
348
,
348
),(
349
,
349
,
349
),(
350
,
350
,
350
),
(
351
,
351
,
351
),(
352
,
352
,
352
),(
353
,
353
,
353
),(
354
,
354
,
354
),(
355
,
355
,
355
),
(
356
,
356
,
356
),(
357
,
357
,
357
),(
358
,
358
,
358
),(
359
,
359
,
359
),(
360
,
360
,
360
),
(
361
,
361
,
361
),(
362
,
362
,
362
),(
363
,
363
,
363
),(
364
,
364
,
364
),(
365
,
365
,
365
),
(
366
,
366
,
366
),(
367
,
367
,
367
),(
368
,
368
,
368
),(
369
,
369
,
369
),(
370
,
370
,
370
),
(
371
,
371
,
371
),(
372
,
372
,
372
),(
373
,
373
,
373
),(
374
,
374
,
374
),(
375
,
375
,
375
),
(
376
,
376
,
376
),(
377
,
377
,
377
),(
378
,
378
,
378
),(
379
,
379
,
379
),(
380
,
380
,
380
),
(
381
,
381
,
381
),(
382
,
382
,
382
),(
383
,
383
,
383
),(
384
,
384
,
384
),(
385
,
385
,
385
),
(
386
,
386
,
386
),(
387
,
387
,
387
),(
388
,
388
,
388
),(
389
,
389
,
389
),(
390
,
390
,
390
),
(
391
,
391
,
391
),(
392
,
392
,
392
),(
393
,
393
,
393
),(
394
,
394
,
394
),(
395
,
395
,
395
),
(
396
,
396
,
396
),(
397
,
397
,
397
),(
398
,
398
,
398
),(
399
,
399
,
399
),(
400
,
400
,
400
),
(
401
,
401
,
401
),(
402
,
402
,
402
),(
403
,
403
,
403
),(
404
,
404
,
404
),(
405
,
405
,
405
),
(
406
,
406
,
406
),(
407
,
407
,
407
),(
408
,
408
,
408
),(
409
,
409
,
409
),(
410
,
410
,
410
),
(
411
,
411
,
411
),(
412
,
412
,
412
),(
413
,
413
,
413
),(
414
,
414
,
414
),(
415
,
415
,
415
),
(
416
,
416
,
416
),(
417
,
417
,
417
),(
418
,
418
,
418
),(
419
,
419
,
419
),(
420
,
420
,
420
),
(
421
,
421
,
421
),(
422
,
422
,
422
),(
423
,
423
,
423
),(
424
,
424
,
424
),(
425
,
425
,
425
),
(
426
,
426
,
426
),(
427
,
427
,
427
),(
428
,
428
,
428
),(
429
,
429
,
429
),(
430
,
430
,
430
),
(
431
,
431
,
431
),(
432
,
432
,
432
),(
433
,
433
,
433
),(
434
,
434
,
434
),(
435
,
435
,
435
),
(
436
,
436
,
436
),(
437
,
437
,
437
),(
438
,
438
,
438
),(
439
,
439
,
439
),(
440
,
440
,
440
),
(
441
,
441
,
441
),(
442
,
442
,
442
),(
443
,
443
,
443
),(
444
,
444
,
444
),(
445
,
445
,
445
),
(
446
,
446
,
446
),(
447
,
447
,
447
),(
448
,
448
,
448
),(
449
,
449
,
449
),(
450
,
450
,
450
),
(
451
,
451
,
451
),(
452
,
452
,
452
),(
453
,
453
,
453
),(
454
,
454
,
454
),(
455
,
455
,
455
),
(
456
,
456
,
456
),(
457
,
457
,
457
),(
458
,
458
,
458
),(
459
,
459
,
459
),(
460
,
460
,
460
),
(
461
,
461
,
461
),(
462
,
462
,
462
),(
463
,
463
,
463
),(
464
,
464
,
464
),(
465
,
465
,
465
),
(
466
,
466
,
466
),(
467
,
467
,
467
),(
468
,
468
,
468
),(
469
,
469
,
469
),(
470
,
470
,
470
),
(
471
,
471
,
471
),(
472
,
472
,
472
),(
473
,
473
,
473
),(
474
,
474
,
474
),(
475
,
475
,
475
),
(
476
,
476
,
476
),(
477
,
477
,
477
),(
478
,
478
,
478
),(
479
,
479
,
479
),(
480
,
480
,
480
),
(
481
,
481
,
481
),(
482
,
482
,
482
),(
483
,
483
,
483
),(
484
,
484
,
484
),(
485
,
485
,
485
),
(
486
,
486
,
486
),(
487
,
487
,
487
),(
488
,
488
,
488
),(
489
,
489
,
489
),(
490
,
490
,
490
),
(
491
,
491
,
491
),(
492
,
492
,
492
),(
493
,
493
,
493
),(
494
,
494
,
494
),(
495
,
495
,
495
),
(
496
,
496
,
496
),(
497
,
497
,
497
),(
498
,
498
,
498
),(
499
,
499
,
499
),(
500
,
500
,
500
);
INSERT
INTO
t2
VALUES
(
1
,
1
,
1
),(
2
,
2
,
2
),(
3
,
3
,
3
),(
4
,
4
,
4
),(
5
,
5
,
5
);
INSERT
INTO
t3
VALUES
(
1
,
1
,
1
);
--
exec
$MYSQL_DUMP
--
skip
-
comments
--
compact
-
Y
test
>
var
/
tmp
/
ndb_dd_dump
.
sql
DROP
TABLE
t1
;
DROP
TABLE
t2
;
DROP
TABLE
t3
;
ALTER
TABLESPACE
ts1
DROP
DATAFILE
'datafile_ts1_01.dat'
ENGINE
=
NDB
;
ALTER
TABLESPACE
ts1
DROP
DATAFILE
'datafile_ts1_02.dat'
ENGINE
=
NDB
;
ALTER
TABLESPACE
ts2
DROP
DATAFILE
'datafile_ts2_01.dat'
ENGINE
=
NDB
;
ALTER
TABLESPACE
ts3
DROP
DATAFILE
'datafile_ts3_01.dat'
ENGINE
=
NDB
;
DROP
TABLESPACE
ts1
ENGINE
=
NDB
;
DROP
TABLESPACE
ts2
ENGINE
=
NDB
;
DROP
TABLESPACE
ts3
ENGINE
=
NDB
;
DROP
LOGFILE
GROUP
lg1
ENGINE
=
NDB
;
DROP
LOGFILE
GROUP
lg2
ENGINE
=
NDB
;
--
exec
$MYSQL
test
<
var
/
tmp
/
ndb_dd_dump
.
sql
SELECT
DISTINCT
LOGFILE_GROUP_NAME
,
FILE_NAME
,
TOTAL_EXTENTS
,
INITIAL_SIZE
,
ENGINE
FROM
INFORMATION_SCHEMA
.
FILES
WHERE
FILE_TYPE
=
"UNDO LOG"
ORDER
BY
FILE_NAME
;
SELECT
DISTINCT
TABLESPACE_NAME
,
LOGFILE_GROUP_NAME
,
FILE_NAME
,
EXTENT_SIZE
,
INITIAL_SIZE
,
ENGINE
FROM
INFORMATION_SCHEMA
.
FILES
WHERE
FILE_TYPE
=
"DATAFILE"
ORDER
BY
FILE_NAME
;
SELECT
COUNT
(
*
)
FROM
t1
;
SELECT
COUNT
(
*
)
FROM
t2
;
SELECT
COUNT
(
*
)
FROM
t3
;
DROP
TABLE
t1
;
DROP
TABLE
t2
;
DROP
TABLE
t3
;
ALTER
TABLESPACE
ts1
DROP
DATAFILE
'datafile_ts1_01.dat'
ENGINE
=
NDB
;
ALTER
TABLESPACE
ts1
DROP
DATAFILE
'datafile_ts1_02.dat'
ENGINE
=
NDB
;
ALTER
TABLESPACE
ts2
DROP
DATAFILE
'datafile_ts2_01.dat'
ENGINE
=
NDB
;
ALTER
TABLESPACE
ts3
DROP
DATAFILE
'datafile_ts3_01.dat'
ENGINE
=
NDB
;
DROP
TABLESPACE
ts1
ENGINE
=
NDB
;
DROP
TABLESPACE
ts2
ENGINE
=
NDB
;
DROP
TABLESPACE
ts3
ENGINE
=
NDB
;
DROP
LOGFILE
GROUP
lg1
ENGINE
=
NDB
;
DROP
LOGFILE
GROUP
lg2
ENGINE
=
NDB
;
#End 5.1 test case
sql/ha_ndbcluster.cc
View file @
b40c9425
...
@@ -9605,14 +9605,17 @@ bool ha_ndbcluster::get_no_parts(const char *name, uint *no_parts)
...
@@ -9605,14 +9605,17 @@ bool ha_ndbcluster::get_no_parts(const char *name, uint *no_parts)
static
int
ndbcluster_fill_files_table
(
THD
*
thd
,
TABLE_LIST
*
tables
,
COND
*
cond
)
static
int
ndbcluster_fill_files_table
(
THD
*
thd
,
TABLE_LIST
*
tables
,
COND
*
cond
)
{
{
TABLE
*
table
=
tables
->
table
;
TABLE
*
table
=
tables
->
table
;
Thd_ndb
*
thd_ndb
=
get_thd_ndb
(
thd
);
Ndb
*
ndb
=
check_ndb_in_thd
(
thd
);
Ndb
*
ndb
=
thd_ndb
->
ndb
;
NdbDictionary
::
Dictionary
*
dict
=
ndb
->
getDictionary
();
NdbDictionary
::
Dictionary
*
dict
=
ndb
->
getDictionary
();
NdbDictionary
::
Dictionary
::
List
dflist
;
NdbDictionary
::
Dictionary
::
List
dflist
;
NdbError
ndberr
;
dict
->
listObjects
(
dflist
,
NdbDictionary
::
Object
::
Datafile
);
dict
->
listObjects
(
dflist
,
NdbDictionary
::
Object
::
Datafile
);
ndberr
=
dict
->
getNdbError
();
if
(
ndberr
.
classification
!=
ndberror_cl_none
)
return
0
;
for
(
unsigned
i
=
0
;
i
<
dflist
.
count
;
i
++
)
for
(
unsigned
i
=
0
;
i
<
dflist
.
count
;
i
++
)
{
{
NdbDictionary
::
Dictionary
::
List
::
Element
&
elt
=
dflist
.
elements
[
i
];
NdbDictionary
::
Dictionary
::
List
::
Element
&
elt
=
dflist
.
elements
[
i
];
Ndb_cluster_connection_node_iter
iter
;
Ndb_cluster_connection_node_iter
iter
;
...
@@ -9620,21 +9623,28 @@ static int ndbcluster_fill_files_table(THD *thd, TABLE_LIST *tables, COND *cond)
...
@@ -9620,21 +9623,28 @@ static int ndbcluster_fill_files_table(THD *thd, TABLE_LIST *tables, COND *cond)
g_ndb_cluster_connection
->
init_get_next_node
(
iter
);
g_ndb_cluster_connection
->
init_get_next_node
(
iter
);
while
(
id
=
g_ndb_cluster_connection
->
get_next_node
(
iter
))
while
(
id
=
g_ndb_cluster_connection
->
get_next_node
(
iter
))
{
{
NdbDictionary
::
Datafile
df
=
dict
->
getDatafile
(
id
,
elt
.
name
);
NdbDictionary
::
Datafile
df
=
dict
->
getDatafile
(
id
,
elt
.
name
);
int
c
=
0
;
ndberr
=
dict
->
getNdbError
();
if
(
ndberr
.
classification
!=
ndberror_cl_none
)
continue
;
NdbDictionary
::
Tablespace
ts
=
dict
->
getTablespace
(
df
.
getTablespace
());
ndberr
=
dict
->
getNdbError
();
if
(
ndberr
.
classification
!=
ndberror_cl_none
)
continue
;
int
c
=
0
;
table
->
field
[
c
++
]
->
set_null
();
// FILE_ID
table
->
field
[
c
++
]
->
set_null
();
// FILE_ID
table
->
field
[
c
++
]
->
store
(
elt
.
name
,
strlen
(
elt
.
name
),
system_charset_info
);
table
->
field
[
c
++
]
->
store
(
elt
.
name
,
strlen
(
elt
.
name
),
system_charset_info
);
table
->
field
[
c
++
]
->
store
(
"DATAFILE"
,
8
,
system_charset_info
);
table
->
field
[
c
++
]
->
store
(
"DATAFILE"
,
8
,
system_charset_info
);
table
->
field
[
c
++
]
->
store
(
df
.
getTablespace
(),
strlen
(
df
.
getTablespace
()),
table
->
field
[
c
++
]
->
store
(
df
.
getTablespace
(),
strlen
(
df
.
getTablespace
()),
system_charset_info
);
system_charset_info
);
table
->
field
[
c
++
]
->
set_null
();
// TABLE_CATALOG
table
->
field
[
c
++
]
->
set_null
();
// TABLE_CATALOG
table
->
field
[
c
++
]
->
set_null
();
// TABLE_SCHEMA
table
->
field
[
c
++
]
->
set_null
();
// TABLE_SCHEMA
table
->
field
[
c
++
]
->
set_null
();
// TABLE_NAME
table
->
field
[
c
++
]
->
set_null
();
// TABLE_NAME
NdbDictionary
::
Tablespace
ts
=
dict
->
getTablespace
(
df
.
getTablespace
());
// LOGFILE_GROUP_NAME
// LOGFILE_GROUP_NAME
table
->
field
[
c
++
]
->
store
(
ts
.
getDefaultLogfileGroup
(),
table
->
field
[
c
++
]
->
store
(
ts
.
getDefaultLogfileGroup
(),
strlen
(
ts
.
getDefaultLogfileGroup
()),
strlen
(
ts
.
getDefaultLogfileGroup
()),
...
@@ -9663,7 +9673,7 @@ static int ndbcluster_fill_files_table(THD *thd, TABLE_LIST *tables, COND *cond)
...
@@ -9663,7 +9673,7 @@ static int ndbcluster_fill_files_table(THD *thd, TABLE_LIST *tables, COND *cond)
table
->
field
[
c
++
]
->
store
(
df
.
getObjectVersion
());
// VERSION
table
->
field
[
c
++
]
->
store
(
df
.
getObjectVersion
());
// VERSION
table
->
field
[
c
++
]
->
store
(
"FIXED"
,
5
,
system_charset_info
);
// ROW_FORMAT
table
->
field
[
c
++
]
->
store
(
"FIXED"
,
5
,
system_charset_info
);
// ROW_FORMAT
table
->
field
[
c
++
]
->
set_null
();
// TABLE_ROWS
table
->
field
[
c
++
]
->
set_null
();
// TABLE_ROWS
table
->
field
[
c
++
]
->
set_null
();
// AVG_ROW_LENGTH
table
->
field
[
c
++
]
->
set_null
();
// AVG_ROW_LENGTH
...
@@ -9676,40 +9686,50 @@ static int ndbcluster_fill_files_table(THD *thd, TABLE_LIST *tables, COND *cond)
...
@@ -9676,40 +9686,50 @@ static int ndbcluster_fill_files_table(THD *thd, TABLE_LIST *tables, COND *cond)
table
->
field
[
c
++
]
->
set_null
();
// CHECK_TIME
table
->
field
[
c
++
]
->
set_null
();
// CHECK_TIME
table
->
field
[
c
++
]
->
set_null
();
// CHECKSUM
table
->
field
[
c
++
]
->
set_null
();
// CHECKSUM
table
->
field
[
c
++
]
->
store
(
"NORMAL"
,
6
,
system_charset_info
);
table
->
field
[
c
++
]
->
store
(
"NORMAL"
,
6
,
system_charset_info
);
char
extra
[
30
];
char
extra
[
30
];
int
len
=
my_snprintf
(
extra
,
sizeof
(
extra
),
"CLUSTER_NODE=%u"
,
id
);
int
len
=
my_snprintf
(
extra
,
sizeof
(
extra
),
"CLUSTER_NODE=%u"
,
id
);
table
->
field
[
c
]
->
store
(
extra
,
len
,
system_charset_info
);
table
->
field
[
c
]
->
store
(
extra
,
len
,
system_charset_info
);
schema_table_store_record
(
thd
,
table
);
schema_table_store_record
(
thd
,
table
);
}
}
}
}
dict
->
listObjects
(
dflist
,
NdbDictionary
::
Object
::
Undofile
);
dict
->
listObjects
(
dflist
,
NdbDictionary
::
Object
::
Undofile
);
ndberr
=
dict
->
getNdbError
();
if
(
ndberr
.
classification
!=
ndberror_cl_none
)
return
0
;
for
(
unsigned
i
=
0
;
i
<
dflist
.
count
;
i
++
)
for
(
unsigned
i
=
0
;
i
<
dflist
.
count
;
i
++
)
{
{
NdbDictionary
::
Dictionary
::
List
::
Element
&
elt
=
dflist
.
elements
[
i
];
NdbDictionary
::
Dictionary
::
List
::
Element
&
elt
=
dflist
.
elements
[
i
];
Ndb_cluster_connection_node_iter
iter
;
Ndb_cluster_connection_node_iter
iter
;
unsigned
id
;
unsigned
id
;
g_ndb_cluster_connection
->
init_get_next_node
(
iter
);
g_ndb_cluster_connection
->
init_get_next_node
(
iter
);
while
(
id
=
g_ndb_cluster_connection
->
get_next_node
(
iter
))
while
(
id
=
g_ndb_cluster_connection
->
get_next_node
(
iter
))
{
{
NdbDictionary
::
Undofile
uf
=
dict
->
getUndofile
(
id
,
elt
.
name
);
NdbDictionary
::
Undofile
uf
=
dict
->
getUndofile
(
id
,
elt
.
name
);
int
c
=
0
;
ndberr
=
dict
->
getNdbError
();
if
(
ndberr
.
classification
!=
ndberror_cl_none
)
continue
;
NdbDictionary
::
LogfileGroup
lfg
=
dict
->
getLogfileGroup
(
uf
.
getLogfileGroup
());
ndberr
=
dict
->
getNdbError
();
if
(
ndberr
.
classification
!=
ndberror_cl_none
)
continue
;
int
c
=
0
;
table
->
field
[
c
++
]
->
set_null
();
// FILE_ID
table
->
field
[
c
++
]
->
set_null
();
// FILE_ID
table
->
field
[
c
++
]
->
store
(
elt
.
name
,
strlen
(
elt
.
name
),
system_charset_info
);
table
->
field
[
c
++
]
->
store
(
elt
.
name
,
strlen
(
elt
.
name
),
table
->
field
[
c
++
]
->
store
(
"UNDO LOG"
,
8
,
system_charset_info
);
system_charset_info
);
table
->
field
[
c
++
]
->
store
(
"UNDO LOG"
,
8
,
system_charset_info
);
table
->
field
[
c
++
]
->
set_null
();
// TABLESPACE NAME
table
->
field
[
c
++
]
->
set_null
();
// TABLESPACE NAME
table
->
field
[
c
++
]
->
set_null
();
// TABLE_CATALOG
table
->
field
[
c
++
]
->
set_null
();
// TABLE_CATALOG
table
->
field
[
c
++
]
->
set_null
();
// TABLE_SCHEMA
table
->
field
[
c
++
]
->
set_null
();
// TABLE_SCHEMA
table
->
field
[
c
++
]
->
set_null
();
// TABLE_NAME
table
->
field
[
c
++
]
->
set_null
();
// TABLE_NAME
NdbDictionary
::
LogfileGroup
lfg
=
dict
->
getLogfileGroup
(
uf
.
getLogfileGroup
());
// LOGFILE_GROUP_NAME
// LOGFILE_GROUP_NAME
table
->
field
[
c
++
]
->
store
(
uf
.
getLogfileGroup
(),
table
->
field
[
c
++
]
->
store
(
uf
.
getLogfileGroup
(),
strlen
(
uf
.
getLogfileGroup
()),
strlen
(
uf
.
getLogfileGroup
()),
...
@@ -9751,11 +9771,11 @@ static int ndbcluster_fill_files_table(THD *thd, TABLE_LIST *tables, COND *cond)
...
@@ -9751,11 +9771,11 @@ static int ndbcluster_fill_files_table(THD *thd, TABLE_LIST *tables, COND *cond)
table
->
field
[
c
++
]
->
set_null
();
// CHECK_TIME
table
->
field
[
c
++
]
->
set_null
();
// CHECK_TIME
table
->
field
[
c
++
]
->
set_null
();
// CHECKSUM
table
->
field
[
c
++
]
->
set_null
();
// CHECKSUM
table
->
field
[
c
++
]
->
store
(
"NORMAL"
,
6
,
system_charset_info
);
table
->
field
[
c
++
]
->
store
(
"NORMAL"
,
6
,
system_charset_info
);
char
extra
[
30
];
char
extra
[
30
];
int
len
=
my_snprintf
(
extra
,
sizeof
(
extra
),
"CLUSTER_NODE=%u"
,
id
);
int
len
=
my_snprintf
(
extra
,
sizeof
(
extra
),
"CLUSTER_NODE=%u"
,
id
);
table
->
field
[
c
]
->
store
(
extra
,
len
,
system_charset_info
);
table
->
field
[
c
]
->
store
(
extra
,
len
,
system_charset_info
);
schema_table_store_record
(
thd
,
table
);
schema_table_store_record
(
thd
,
table
);
}
}
}
}
...
...
sql/ha_ndbcluster_binlog.cc
View file @
b40c9425
...
@@ -1041,15 +1041,18 @@ int ndbcluster_log_schema_op(THD *thd, NDB_SHARE *share,
...
@@ -1041,15 +1041,18 @@ int ndbcluster_log_schema_op(THD *thd, NDB_SHARE *share,
break
;
break
;
}
}
err:
err:
if
(
trans
->
getNdbError
().
status
==
NdbError
::
TemporaryError
)
const
NdbError
*
this_error
=
trans
?
&
trans
->
getNdbError
()
:
&
ndb
->
getNdbError
();
if
(
this_error
->
status
==
NdbError
::
TemporaryError
)
{
{
if
(
retries
--
)
if
(
retries
--
)
{
{
ndb
->
closeTransaction
(
trans
);
if
(
trans
)
ndb
->
closeTransaction
(
trans
);
continue
;
// retry
continue
;
// retry
}
}
}
}
ndb_error
=
&
trans
->
getNdbError
()
;
ndb_error
=
this_error
;
break
;
break
;
}
}
end:
end:
...
@@ -1235,15 +1238,18 @@ ndbcluster_update_slock(THD *thd,
...
@@ -1235,15 +1238,18 @@ ndbcluster_update_slock(THD *thd,
break
;
break
;
}
}
err:
err:
if
(
trans
->
getNdbError
().
status
==
NdbError
::
TemporaryError
)
const
NdbError
*
this_error
=
trans
?
&
trans
->
getNdbError
()
:
&
ndb
->
getNdbError
();
if
(
this_error
->
status
==
NdbError
::
TemporaryError
)
{
{
if
(
retries
--
)
if
(
retries
--
)
{
{
ndb
->
closeTransaction
(
trans
);
if
(
trans
)
ndb
->
closeTransaction
(
trans
);
continue
;
// retry
continue
;
// retry
}
}
}
}
ndb_error
=
&
trans
->
getNdbError
()
;
ndb_error
=
this_error
;
break
;
break
;
}
}
end:
end:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment