Add forked Maatkit tools in bin/ and their tests in t/.

This commit is contained in:
Daniel Nichter
2011-06-24 16:02:05 -06:00
parent 6c501128e6
commit b4b6376be1
679 changed files with 177876 additions and 3 deletions

View File

@@ -0,0 +1,500 @@
1 loaded 2011-03-17
2 loaded 2011-03-17
3 loaded 2011-03-17
4 loaded 2011-03-17
5 loaded 2011-03-17
6 loaded 2011-03-17
7 loaded 2011-03-17
8 loaded 2011-03-17
9 loaded 2011-03-17
10 loaded 2011-03-17
11 loaded 2011-03-17
12 loaded 2011-03-17
13 loaded 2011-03-17
14 loaded 2011-03-17
15 loaded 2011-03-17
16 loaded 2011-03-17
17 loaded 2011-03-17
18 loaded 2011-03-17
19 loaded 2011-03-17
20 loaded 2011-03-17
21 loaded 2011-03-17
22 loaded 2011-03-17
23 loaded 2011-03-17
24 loaded 2011-03-17
25 loaded 2011-03-17
26 loaded 2011-03-17
27 loaded 2011-03-17
28 loaded 2011-03-17
29 loaded 2011-03-17
30 loaded 2011-03-17
31 loaded 2011-03-17
32 loaded 2011-03-17
33 loaded 2011-03-17
34 loaded 2011-03-17
35 loaded 2011-03-17
36 loaded 2011-03-17
37 loaded 2011-03-17
38 loaded 2011-03-17
39 loaded 2011-03-17
40 loaded 2011-03-17
41 loaded 2011-03-17
42 loaded 2011-03-17
43 loaded 2011-03-17
44 loaded 2011-03-17
45 loaded 2011-03-17
46 loaded 2011-03-17
47 loaded 2011-03-17
48 loaded 2011-03-17
49 loaded 2011-03-17
50 loaded 2011-03-17
51 loaded 2011-03-17
52 loaded 2011-03-17
53 loaded 2011-03-17
54 loaded 2011-03-17
55 loaded 2011-03-17
56 loaded 2011-03-17
57 loaded 2011-03-17
58 loaded 2011-03-17
59 loaded 2011-03-17
60 loaded 2011-03-17
61 loaded 2011-03-17
62 loaded 2011-03-17
63 loaded 2011-03-17
64 loaded 2011-03-17
65 loaded 2011-03-17
66 loaded 2011-03-17
67 loaded 2011-03-17
68 loaded 2011-03-17
69 loaded 2011-03-17
70 loaded 2011-03-17
71 loaded 2011-03-17
72 loaded 2011-03-17
73 loaded 2011-03-17
74 loaded 2011-03-17
75 loaded 2011-03-17
76 loaded 2011-03-17
77 loaded 2011-03-17
78 loaded 2011-03-17
79 loaded 2011-03-17
80 loaded 2011-03-17
81 loaded 2011-03-17
82 loaded 2011-03-17
83 loaded 2011-03-17
84 loaded 2011-03-17
85 loaded 2011-03-17
86 loaded 2011-03-17
87 loaded 2011-03-17
88 loaded 2011-03-17
89 loaded 2011-03-17
90 loaded 2011-03-17
91 loaded 2011-03-17
92 loaded 2011-03-17
93 loaded 2011-03-17
94 loaded 2011-03-17
95 loaded 2011-03-17
96 loaded 2011-03-17
97 loaded 2011-03-17
98 loaded 2011-03-17
99 loaded 2011-03-17
100 loaded 2011-03-17
101 loaded 2011-03-17
102 loaded 2011-03-17
103 loaded 2011-03-17
104 loaded 2011-03-17
105 loaded 2011-03-17
106 loaded 2011-03-17
107 loaded 2011-03-17
108 loaded 2011-03-17
109 loaded 2011-03-17
110 loaded 2011-03-17
111 loaded 2011-03-17
112 loaded 2011-03-17
113 loaded 2011-03-17
114 loaded 2011-03-17
115 loaded 2011-03-17
116 loaded 2011-03-17
117 loaded 2011-03-17
118 loaded 2011-03-17
119 loaded 2011-03-17
120 loaded 2011-03-17
121 loaded 2011-03-17
122 loaded 2011-03-17
123 loaded 2011-03-17
124 loaded 2011-03-17
125 loaded 2011-03-17
126 loaded 2011-03-17
127 loaded 2011-03-17
128 loaded 2011-03-17
129 loaded 2011-03-17
130 loaded 2011-03-17
131 loaded 2011-03-17
132 loaded 2011-03-17
133 loaded 2011-03-17
134 loaded 2011-03-17
135 loaded 2011-03-17
136 loaded 2011-03-17
137 loaded 2011-03-17
138 loaded 2011-03-17
139 loaded 2011-03-17
140 loaded 2011-03-17
141 loaded 2011-03-17
142 loaded 2011-03-17
143 loaded 2011-03-17
144 loaded 2011-03-17
145 loaded 2011-03-17
146 loaded 2011-03-17
147 loaded 2011-03-17
148 loaded 2011-03-17
149 loaded 2011-03-17
150 loaded 2011-03-17
151 loaded 2011-03-17
152 loaded 2011-03-17
153 loaded 2011-03-17
154 loaded 2011-03-17
155 loaded 2011-03-17
156 loaded 2011-03-17
157 loaded 2011-03-17
158 loaded 2011-03-17
159 loaded 2011-03-17
160 loaded 2011-03-17
161 loaded 2011-03-17
162 loaded 2011-03-17
163 loaded 2011-03-17
164 loaded 2011-03-17
165 loaded 2011-03-17
166 loaded 2011-03-17
167 loaded 2011-03-17
168 loaded 2011-03-17
169 loaded 2011-03-17
170 loaded 2011-03-17
171 loaded 2011-03-17
172 loaded 2011-03-17
173 loaded 2011-03-17
174 loaded 2011-03-17
175 loaded 2011-03-17
176 loaded 2011-03-17
177 loaded 2011-03-17
178 loaded 2011-03-17
179 loaded 2011-03-17
180 loaded 2011-03-17
181 loaded 2011-03-17
182 loaded 2011-03-17
183 loaded 2011-03-17
184 loaded 2011-03-17
185 loaded 2011-03-17
186 loaded 2011-03-17
187 loaded 2011-03-17
188 loaded 2011-03-17
189 loaded 2011-03-17
190 loaded 2011-03-17
191 loaded 2011-03-17
192 loaded 2011-03-17
193 loaded 2011-03-17
194 loaded 2011-03-17
195 loaded 2011-03-17
196 loaded 2011-03-17
197 loaded 2011-03-17
198 loaded 2011-03-17
199 loaded 2011-03-17
200 loaded 2011-03-17
201 loaded 2011-03-17
202 loaded 2011-03-17
203 loaded 2011-03-17
204 loaded 2011-03-17
205 loaded 2011-03-17
206 loaded 2011-03-17
207 loaded 2011-03-17
208 loaded 2011-03-17
209 loaded 2011-03-17
210 loaded 2011-03-17
211 loaded 2011-03-17
212 loaded 2011-03-17
213 loaded 2011-03-17
214 loaded 2011-03-17
215 loaded 2011-03-17
216 loaded 2011-03-17
217 loaded 2011-03-17
218 loaded 2011-03-17
219 loaded 2011-03-17
220 loaded 2011-03-17
221 loaded 2011-03-17
222 loaded 2011-03-17
223 loaded 2011-03-17
224 loaded 2011-03-17
225 loaded 2011-03-17
226 loaded 2011-03-17
227 loaded 2011-03-17
228 loaded 2011-03-17
229 loaded 2011-03-17
230 loaded 2011-03-17
231 loaded 2011-03-17
232 loaded 2011-03-17
233 loaded 2011-03-17
234 loaded 2011-03-17
235 loaded 2011-03-17
236 loaded 2011-03-17
237 loaded 2011-03-17
238 loaded 2011-03-17
239 loaded 2011-03-17
240 loaded 2011-03-17
241 loaded 2011-03-17
242 loaded 2011-03-17
243 loaded 2011-03-17
244 loaded 2011-03-17
245 loaded 2011-03-17
246 loaded 2011-03-17
247 loaded 2011-03-17
248 loaded 2011-03-17
249 loaded 2011-03-17
250 loaded 2011-03-17
251 loaded 2011-03-17
252 loaded 2011-03-17
253 loaded 2011-03-17
254 loaded 2011-03-17
255 loaded 2011-03-17
256 loaded 2011-03-17
257 loaded 2011-03-17
258 loaded 2011-03-17
259 loaded 2011-03-17
260 loaded 2011-03-17
261 loaded 2011-03-17
262 loaded 2011-03-17
263 loaded 2011-03-17
264 loaded 2011-03-17
265 loaded 2011-03-17
266 loaded 2011-03-17
267 loaded 2011-03-17
268 loaded 2011-03-17
269 loaded 2011-03-17
270 loaded 2011-03-17
271 loaded 2011-03-17
272 loaded 2011-03-17
273 loaded 2011-03-17
274 loaded 2011-03-17
275 loaded 2011-03-17
276 loaded 2011-03-17
277 loaded 2011-03-17
278 loaded 2011-03-17
279 loaded 2011-03-17
280 loaded 2011-03-17
281 loaded 2011-03-17
282 loaded 2011-03-17
283 loaded 2011-03-17
284 loaded 2011-03-17
285 loaded 2011-03-17
286 loaded 2011-03-17
287 loaded 2011-03-17
288 loaded 2011-03-17
289 loaded 2011-03-17
290 loaded 2011-03-17
291 loaded 2011-03-17
292 loaded 2011-03-17
293 loaded 2011-03-17
294 loaded 2011-03-17
295 loaded 2011-03-17
296 loaded 2011-03-17
297 loaded 2011-03-17
298 loaded 2011-03-17
299 loaded 2011-03-17
300 loaded 2011-03-17
301 loaded 2011-03-17
302 loaded 2011-03-17
303 loaded 2011-03-17
304 loaded 2011-03-17
305 loaded 2011-03-17
306 loaded 2011-03-17
307 loaded 2011-03-17
308 loaded 2011-03-17
309 loaded 2011-03-17
310 loaded 2011-03-17
311 loaded 2011-03-17
312 loaded 2011-03-17
313 loaded 2011-03-17
314 loaded 2011-03-17
315 loaded 2011-03-17
316 loaded 2011-03-17
317 loaded 2011-03-17
318 loaded 2011-03-17
319 loaded 2011-03-17
320 loaded 2011-03-17
321 loaded 2011-03-17
322 loaded 2011-03-17
323 loaded 2011-03-17
324 loaded 2011-03-17
325 loaded 2011-03-17
326 loaded 2011-03-17
327 loaded 2011-03-17
328 loaded 2011-03-17
329 loaded 2011-03-17
330 loaded 2011-03-17
331 loaded 2011-03-17
332 loaded 2011-03-17
333 loaded 2011-03-17
334 loaded 2011-03-17
335 loaded 2011-03-17
336 loaded 2011-03-17
337 loaded 2011-03-17
338 loaded 2011-03-17
339 loaded 2011-03-17
340 loaded 2011-03-17
341 loaded 2011-03-17
342 loaded 2011-03-17
343 loaded 2011-03-17
344 loaded 2011-03-17
345 loaded 2011-03-17
346 loaded 2011-03-17
347 loaded 2011-03-17
348 loaded 2011-03-17
349 loaded 2011-03-17
350 loaded 2011-03-17
351 loaded 2011-03-17
352 loaded 2011-03-17
353 loaded 2011-03-17
354 loaded 2011-03-17
355 loaded 2011-03-17
356 loaded 2011-03-17
357 loaded 2011-03-17
358 loaded 2011-03-17
359 loaded 2011-03-17
360 loaded 2011-03-17
361 loaded 2011-03-17
362 loaded 2011-03-17
363 loaded 2011-03-17
364 loaded 2011-03-17
365 loaded 2011-03-17
366 loaded 2011-03-17
367 loaded 2011-03-17
368 loaded 2011-03-17
369 loaded 2011-03-17
370 loaded 2011-03-17
371 loaded 2011-03-17
372 loaded 2011-03-17
373 loaded 2011-03-17
374 loaded 2011-03-17
375 loaded 2011-03-17
376 loaded 2011-03-17
377 loaded 2011-03-17
378 loaded 2011-03-17
379 loaded 2011-03-17
380 loaded 2011-03-17
381 loaded 2011-03-17
382 loaded 2011-03-17
383 loaded 2011-03-17
384 loaded 2011-03-17
385 loaded 2011-03-17
386 loaded 2011-03-17
387 loaded 2011-03-17
388 loaded 2011-03-17
389 loaded 2011-03-17
390 loaded 2011-03-17
391 loaded 2011-03-17
392 loaded 2011-03-17
393 loaded 2011-03-17
394 loaded 2011-03-17
395 loaded 2011-03-17
396 loaded 2011-03-17
397 loaded 2011-03-17
398 loaded 2011-03-17
399 loaded 2011-03-17
400 loaded 2011-03-17
401 loaded 2011-03-17
402 loaded 2011-03-17
403 loaded 2011-03-17
404 loaded 2011-03-17
405 loaded 2011-03-17
406 loaded 2011-03-17
407 loaded 2011-03-17
408 loaded 2011-03-17
409 loaded 2011-03-17
410 loaded 2011-03-17
411 loaded 2011-03-17
412 loaded 2011-03-17
413 loaded 2011-03-17
414 loaded 2011-03-17
415 loaded 2011-03-17
416 loaded 2011-03-17
417 loaded 2011-03-17
418 loaded 2011-03-17
419 loaded 2011-03-17
420 loaded 2011-03-17
421 loaded 2011-03-17
422 loaded 2011-03-17
423 loaded 2011-03-17
424 loaded 2011-03-17
425 loaded 2011-03-17
426 loaded 2011-03-17
427 loaded 2011-03-17
428 loaded 2011-03-17
429 loaded 2011-03-17
430 loaded 2011-03-17
431 loaded 2011-03-17
432 loaded 2011-03-17
433 loaded 2011-03-17
434 loaded 2011-03-17
435 loaded 2011-03-17
436 loaded 2011-03-17
437 loaded 2011-03-17
438 loaded 2011-03-17
439 loaded 2011-03-17
440 loaded 2011-03-17
441 loaded 2011-03-17
442 loaded 2011-03-17
443 loaded 2011-03-17
444 loaded 2011-03-17
445 loaded 2011-03-17
446 loaded 2011-03-17
447 loaded 2011-03-17
448 loaded 2011-03-17
449 loaded 2011-03-17
450 loaded 2011-03-17
451 loaded 2011-03-17
452 loaded 2011-03-17
453 loaded 2011-03-17
454 loaded 2011-03-17
455 loaded 2011-03-17
456 loaded 2011-03-17
457 loaded 2011-03-17
458 loaded 2011-03-17
459 loaded 2011-03-17
460 loaded 2011-03-17
461 loaded 2011-03-17
462 loaded 2011-03-17
463 loaded 2011-03-17
464 loaded 2011-03-17
465 loaded 2011-03-17
466 loaded 2011-03-17
467 loaded 2011-03-17
468 loaded 2011-03-17
469 loaded 2011-03-17
470 loaded 2011-03-17
471 loaded 2011-03-17
472 loaded 2011-03-17
473 loaded 2011-03-17
474 loaded 2011-03-17
475 loaded 2011-03-17
476 loaded 2011-03-17
477 loaded 2011-03-17
478 loaded 2011-03-17
479 loaded 2011-03-17
480 loaded 2011-03-17
481 loaded 2011-03-17
482 loaded 2011-03-17
483 loaded 2011-03-17
484 loaded 2011-03-17
485 loaded 2011-03-17
486 loaded 2011-03-17
487 loaded 2011-03-17
488 loaded 2011-03-17
489 loaded 2011-03-17
490 loaded 2011-03-17
491 loaded 2011-03-17
492 loaded 2011-03-17
493 loaded 2011-03-17
494 loaded 2011-03-17
495 loaded 2011-03-17
496 loaded 2011-03-17
497 loaded 2011-03-17
498 loaded 2011-03-17
499 loaded 2011-03-17
500 loaded 2011-03-17

View File

@@ -0,0 +1,31 @@
DROP DATABASE IF EXISTS `mkosc`;
CREATE DATABASE `mkosc`;
USE `mkosc`;
CREATE TABLE `country` (
`country_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
`country` varchar(50) NOT NULL,
`last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`country_id`)
) ENGINE=InnoDB;
CREATE TABLE `city` (
`city_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
`city` varchar(50) NOT NULL,
`country_id` smallint(5) unsigned NOT NULL,
`last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`city_id`),
KEY `idx_fk_country_id` (`country_id`),
CONSTRAINT `fk_city_country` FOREIGN KEY (`country_id`) REFERENCES `country` (`country_id`) ON UPDATE CASCADE
) ENGINE=InnoDB;
CREATE TABLE `address` (
`address_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
`address` varchar(50) NOT NULL,
`city_id` smallint(5) unsigned NOT NULL,
`postal_code` varchar(10) DEFAULT NULL,
`last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`address_id`),
KEY `idx_fk_city_id` (`city_id`),
CONSTRAINT `fk_address_city` FOREIGN KEY (`city_id`) REFERENCES `city` (`city_id`) ON UPDATE CASCADE
) ENGINE=InnoDB;

View File

@@ -0,0 +1,73 @@
#!/usr/bin/env perl
use strict;
use warnings FATAL => 'all';
use English qw(-no_match_vars);
use DBI;
use Time::HiRes qw(usleep);
my ($host, $port, $db, $tbl, $pkcol, $sleep_time) = @ARGV;
my $dbh = DBI->connect(
"DBI:mysql:$db;host=$host;port=$port;mysql_read_default_group=client",
'msandbox', 'msandbox',
{RaiseError => 1, AutoCommit => 0, ShowErrorStatement => 1, PrintError => 0},
);
my $sleep = ($sleep_time || 0.001) * 1_000_000;
my $cnt = 0;
my @del;
my @upd;
my @ins;
my $start_xa = "START TRANSACTION /*!40108 WITH CONSISTENT SNAPSHOT */";
$dbh->do($start_xa);
for my $i ( 1..5_000 ) {
last if -f '/tmp/query_table.stop';
eval {
# We do roughly 25% DELETE, 25% UPDATE and 50% INSERT.
my $x = int(rand(5));
if ($x == 1) {
my $id = int(rand(500)) || 1;
$dbh->do("delete from $db.$tbl where $pkcol=$id");
# To challenge the tool, we *do* (or can) delete the same id twice.
# But to keep the numbers straight, we only record each deleted
# id once.
push @del, $id unless grep { $_ == $id } @del;
}
elsif ($x == 2) {
my $id = int(rand(500)) || 1;
if ( !grep { $_ == $id } @del ) {
$dbh->do("update $db.$tbl set c='updated' where $pkcol=$id");
push @upd, $id;
}
}
else {
my $id = 500 + $i;
$dbh->do("insert ignore into $db.$tbl ($pkcol, c) values ($id, 'inserted')");
push @ins, $id;
}
# COMMIT every N statements
if ( $cnt++ > 5 ) {
$dbh->do('COMMIT');
$cnt = 0;
usleep($sleep);
$dbh->do($start_xa);
}
};
if ( $EVAL_ERROR ) {
warn $EVAL_ERROR;
last;
}
}
$dbh->do('COMMIT');
$dbh->disconnect();
print "deleted:" . join(',', @del) . "\n";
print "updated:" . join(',', @upd) . "\n";
print "inserted:" . join(',', @ins) . "\n";
exit 0;

View File

@@ -0,0 +1,27 @@
DROP DATABASE IF EXISTS `mkosc`;
CREATE DATABASE `mkosc`;
USE `mkosc`;
CREATE TABLE a (
i int auto_increment primary key,
c char(16),
d date
) ENGINE=MyISAM;
INSERT INTO a VALUES
(null, 'a', now()),
(null, 'b', now()),
(null, 'c', now()),
(null, 'd', now()),
(null, 'e', now()),
(null, 'f', now()),
(null, 'g', now()),
(null, 'h', now()),
(null, 'i', now()),
(null, 'j', now()),
(null, 'k', now()),
(null, 'l', now()),
(null, 'm', now()),
(null, 'n', now()),
(null, 'o', now()),
(null, 'p', now()),
(null, 'q', now()),
(null, 'r', now());