mysqldump.test 43.6 KB
Newer Older
1 2 3
# Embedded server doesn't support external clients
--source include/not_embedded.inc

ram@gw.mysql.r18.ru's avatar
ram@gw.mysql.r18.ru committed
4
--disable_warnings
ramil@mysql.com's avatar
ramil@mysql.com committed
5
DROP TABLE IF EXISTS t1, `"t"1`, t1aa, t2, t2aa, t3;
6
drop database if exists mysqldump_test_db;
7 8
drop database if exists db1;
drop database if exists db2;
9
drop view if exists v1, v2, v3;
ram@gw.mysql.r18.ru's avatar
ram@gw.mysql.r18.ru committed
10 11 12 13
--enable_warnings

# XML output

14
CREATE TABLE t1(a int, key (a)) key_block_size=1024;
ram@gw.mysql.r18.ru's avatar
ram@gw.mysql.r18.ru committed
15
INSERT INTO t1 VALUES (1), (2);
monty@mishka.local's avatar
monty@mishka.local committed
16
--exec $MYSQL_DUMP --skip-create --skip-comments -X test t1
17
DROP TABLE t1;
ram@gw.mysql.r18.ru's avatar
ram@gw.mysql.r18.ru committed
18 19 20 21 22

#
# Bug #2005
#

23
CREATE TABLE t1 (a decimal(64, 20));
24 25
INSERT INTO t1 VALUES ("1234567890123456789012345678901234567890"),
("0987654321098765432109876543210987654321");
monty@mishka.local's avatar
monty@mishka.local committed
26
--exec $MYSQL_DUMP --compact test t1
27
DROP TABLE t1;
ram@gw.mysql.r18.ru's avatar
ram@gw.mysql.r18.ru committed
28 29 30 31 32

#
# Bug #2055
#

33
CREATE TABLE t1 (a double);
34
INSERT INTO t1 VALUES ('-9e999999');
monty@mysql.com's avatar
monty@mysql.com committed
35 36 37
# The following replaces is here because some systems replaces the above
# double with '-inf' and others with MAX_DOUBLE
--replace_result (-1.79769313486232e+308) (RES) (NULL) (RES)
monty@mishka.local's avatar
monty@mishka.local committed
38
--exec $MYSQL_DUMP --compact test t1
39
DROP TABLE t1;
40 41

#
monty@mishka.local's avatar
monty@mishka.local committed
42
# Bug #3361 mysqldump quotes DECIMAL values inconsistently
43 44 45 46 47 48 49 50 51 52
#

CREATE TABLE t1 (a DECIMAL(10,5), b FLOAT);

# check at first how mysql work with quoted decimal

INSERT INTO t1 VALUES (1.2345, 2.3456);
INSERT INTO t1 VALUES ('1.2345', 2.3456);
INSERT INTO t1 VALUES ("1.2345", 2.3456);

monty@mishka.local's avatar
monty@mishka.local committed
53 54 55 56 57 58
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='ANSI_QUOTES';
INSERT INTO t1 VALUES (1.2345, 2.3456);
INSERT INTO t1 VALUES ('1.2345', 2.3456);
--error 1054
INSERT INTO t1 VALUES ("1.2345", 2.3456);
SET SQL_MODE=@OLD_SQL_MODE;
59 60

# check how mysqldump make quoting
monty@mishka.local's avatar
monty@mishka.local committed
61 62 63 64
--exec $MYSQL_DUMP --compact test t1
--exec $MYSQL_DUMP --compact --skip-create test t1
--exec $MYSQL_DUMP --skip-create --skip-comments test t1
--exec $MYSQL_DUMP --skip-opt --extended-insert --skip-comments test t1
ram@gw.mysql.r18.ru's avatar
ram@gw.mysql.r18.ru committed
65
DROP TABLE t1;
66

67 68
CREATE TABLE t1(a int, b text, c varchar(3));
INSERT INTO t1 VALUES (1, "test", "tes"), (2, "TEST", "TES");
monty@mishka.local's avatar
monty@mishka.local committed
69
--exec $MYSQL_DUMP --skip-create --compact -X test t1
70 71
DROP TABLE t1;

72 73 74 75
#
# Bug #1707
#

76 77
CREATE TABLE t1 (`a"b"` char(2));
INSERT INTO t1 VALUES ("1\""), ("\"2");
monty@mishka.local's avatar
monty@mishka.local committed
78
--exec $MYSQL_DUMP --compact --skip-create -X test t1
79
DROP TABLE t1;
80 81 82

#
# Bug #1994
83
# Bug #4261
84 85
#

86
CREATE TABLE t1 (a  VARCHAR(255)) DEFAULT CHARSET koi8r;
87 88
INSERT INTO t1  VALUES (_koi8r x'C1C2C3C4C5'), (NULL);
--exec $MYSQL_DUMP --skip-comments --skip-extended-insert test t1
89
DROP TABLE t1;
90 91 92 93 94 95 96 97 98 99

#
# Bug #2634
#

CREATE TABLE t1 (a int) ENGINE=MYISAM;
INSERT INTO t1 VALUES (1), (2);
--exec $MYSQL_DUMP --skip-comments --compatible=mysql40 test t1
--exec $MYSQL_DUMP --skip-comments --compatible=mysql323 test t1
DROP TABLE t1;
vva@eagle.mysql.r18.ru's avatar
Merge  
vva@eagle.mysql.r18.ru committed
100 101

#
monty@mishka.local's avatar
monty@mishka.local committed
102
# Bug #2592 'mysqldump doesn't quote "tricky" names correctly'
103 104 105
#

create table ```a` (i int);
monty@mishka.local's avatar
monty@mishka.local committed
106
--exec $MYSQL_DUMP --compact test
107
drop table ```a`;
108

109 110 111 112 113 114 115 116 117 118 119 120
#
# Bug #2591 "mysqldump quotes names inconsistently"
#

create table t1(a int);
--exec $MYSQL_DUMP --comments=0 test
--exec $MYSQL_DUMP --comments=0 --compatible=ansi test
set global sql_mode='ANSI_QUOTES';
--exec $MYSQL_DUMP --comments=0 test
--exec $MYSQL_DUMP --comments=0 --compatible=ansi test
set global sql_mode='';
drop table t1;
vva@eagle.mysql.r18.ru's avatar
Merge  
vva@eagle.mysql.r18.ru committed
121

122 123 124 125 126 127
#
# Bug #2705 'mysqldump --tab extra output'
#

create table t1(a int);
insert into t1 values (1),(2),(3);
128 129 130 131 132 133 134 135
--exec $MYSQL_DUMP --skip-comments --tab=$MYSQLTEST_VARDIR/tmp/ test
--exec cat $MYSQLTEST_VARDIR/tmp/t1.sql
--exec cat $MYSQLTEST_VARDIR/tmp/t1.txt
--exec rm $MYSQLTEST_VARDIR/tmp/t1.sql
--exec rm $MYSQLTEST_VARDIR/tmp/t1.txt
--exec $MYSQL_DUMP --tab=$MYSQLTEST_VARDIR/tmp/ test
--exec rm $MYSQLTEST_VARDIR/tmp/t1.sql
--exec rm $MYSQLTEST_VARDIR/tmp/t1.txt
136
drop table t1;
137 138 139 140 141 142

#
# Bug #6101: create database problem
#

--exec $MYSQL_DUMP --skip-comments --databases test
143 144

create database mysqldump_test_db character set latin2 collate latin2_bin;
kent@mysql.com's avatar
kent@mysql.com committed
145
--exec $MYSQL_DUMP --skip-comments --databases mysqldump_test_db
146
drop database mysqldump_test_db;
147 148 149 150 151 152 153 154 155

#
# Bug #7020
# Check that we don't dump in UTF8 in compatible mode by default,
# but use the default compiled values, or the values given in
# --default-character-set=xxx. However, we should dump in UTF8
# if it is explicitely set.

CREATE TABLE t1 (a  CHAR(10));
156
INSERT INTO t1  VALUES (_latin1 '');
157
--exec $MYSQL_DUMP --character-sets-dir=$CHARSETSDIR --skip-comments test t1
158 159 160 161 162 163 164 165
#
# Bug#8063: make test mysqldump [ fail ]
# We cannot tes this command because its output depends
# on --default-character-set incompiled into "mysqldump" program.
# If the future we can move this command into a separate test with
# checking that "mysqldump" is compiled with "latin1"
#
#--exec $MYSQL_DUMP --character-sets-dir=$CHARSETSDIR --skip-comments --compatible=mysql323 test t1
166 167 168
--exec $MYSQL_DUMP --character-sets-dir=$CHARSETSDIR --skip-comments --compatible=mysql323 --default-character-set=cp850 test t1
--exec $MYSQL_DUMP --character-sets-dir=$CHARSETSDIR --skip-comments --default-character-set=cp850 --compatible=mysql323 test t1
--exec $MYSQL_DUMP --character-sets-dir=$CHARSETSDIR --skip-comments --default-character-set=utf8 --compatible=mysql323 test t1
169
DROP TABLE t1;
170 171 172 173 174 175 176 177 178 179 180 181

#
# WL #2319: Exclude Tables from dump
#

CREATE TABLE t1 (a int);
CREATE TABLE t2 (a int);
INSERT INTO t1 VALUES (1),(2),(3);
INSERT INTO t2 VALUES (4),(5),(6);
--exec $MYSQL_DUMP --skip-comments --ignore-table=test.t1 test
DROP TABLE t1;
DROP TABLE t2;
182 183 184 185 186 187 188

#
#  Bug  #8830
#

CREATE TABLE t1 (`b` blob);
INSERT INTO `t1` VALUES (0x602010000280100005E71A);
189
--exec $MYSQL_DUMP --skip-extended-insert --hex-blob test --skip-comments t1
190 191
DROP TABLE t1;

192 193 194 195
#
# Test for --insert-ignore
#

196 197 198 199 200
CREATE TABLE t1 (a int);
INSERT INTO t1 VALUES (1),(2),(3);
INSERT INTO t1 VALUES (4),(5),(6);
--exec $MYSQL_DUMP --skip-comments --insert-ignore test t1
--exec $MYSQL_DUMP --skip-comments --insert-ignore --delayed-insert test t1
201
DROP TABLE t1;
jimw@mysql.com's avatar
jimw@mysql.com committed
202

203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538
#
# Bug #10286: mysqldump -c crashes on table that has many fields with long
# names
# 
create table t1 (
 F_c4ca4238a0b923820dcc509a6f75849b int,
 F_c81e728d9d4c2f636f067f89cc14862c int,
 F_eccbc87e4b5ce2fe28308fd9f2a7baf3 int,
 F_a87ff679a2f3e71d9181a67b7542122c int,
 F_e4da3b7fbbce2345d7772b0674a318d5 int,
 F_1679091c5a880faf6fb5e6087eb1b2dc int,
 F_8f14e45fceea167a5a36dedd4bea2543 int,
 F_c9f0f895fb98ab9159f51fd0297e236d int,
 F_45c48cce2e2d7fbdea1afc51c7c6ad26 int,
 F_d3d9446802a44259755d38e6d163e820 int,
 F_6512bd43d9caa6e02c990b0a82652dca int,
 F_c20ad4d76fe97759aa27a0c99bff6710 int,
 F_c51ce410c124a10e0db5e4b97fc2af39 int,
 F_aab3238922bcc25a6f606eb525ffdc56 int,
 F_9bf31c7ff062936a96d3c8bd1f8f2ff3 int,
 F_c74d97b01eae257e44aa9d5bade97baf int,
 F_70efdf2ec9b086079795c442636b55fb int,
 F_6f4922f45568161a8cdf4ad2299f6d23 int,
 F_1f0e3dad99908345f7439f8ffabdffc4 int,
 F_98f13708210194c475687be6106a3b84 int,
 F_3c59dc048e8850243be8079a5c74d079 int,
 F_b6d767d2f8ed5d21a44b0e5886680cb9 int,
 F_37693cfc748049e45d87b8c7d8b9aacd int,
 F_1ff1de774005f8da13f42943881c655f int,
 F_8e296a067a37563370ded05f5a3bf3ec int,
 F_4e732ced3463d06de0ca9a15b6153677 int,
 F_02e74f10e0327ad868d138f2b4fdd6f0 int,
 F_33e75ff09dd601bbe69f351039152189 int,
 F_6ea9ab1baa0efb9e19094440c317e21b int,
 F_34173cb38f07f89ddbebc2ac9128303f int,
 F_c16a5320fa475530d9583c34fd356ef5 int,
 F_6364d3f0f495b6ab9dcf8d3b5c6e0b01 int,
 F_182be0c5cdcd5072bb1864cdee4d3d6e int,
 F_e369853df766fa44e1ed0ff613f563bd int,
 F_1c383cd30b7c298ab50293adfecb7b18 int,
 F_19ca14e7ea6328a42e0eb13d585e4c22 int,
 F_a5bfc9e07964f8dddeb95fc584cd965d int,
 F_a5771bce93e200c36f7cd9dfd0e5deaa int,
 F_d67d8ab4f4c10bf22aa353e27879133c int,
 F_d645920e395fedad7bbbed0eca3fe2e0 int,
 F_3416a75f4cea9109507cacd8e2f2aefc int,
 F_a1d0c6e83f027327d8461063f4ac58a6 int,
 F_17e62166fc8586dfa4d1bc0e1742c08b int,
 F_f7177163c833dff4b38fc8d2872f1ec6 int,
 F_6c8349cc7260ae62e3b1396831a8398f int,
 F_d9d4f495e875a2e075a1a4a6e1b9770f int,
 F_67c6a1e7ce56d3d6fa748ab6d9af3fd7 int,
 F_642e92efb79421734881b53e1e1b18b6 int,
 F_f457c545a9ded88f18ecee47145a72c0 int,
 F_c0c7c76d30bd3dcaefc96f40275bdc0a int,
 F_2838023a778dfaecdc212708f721b788 int,
 F_9a1158154dfa42caddbd0694a4e9bdc8 int,
 F_d82c8d1619ad8176d665453cfb2e55f0 int,
 F_a684eceee76fc522773286a895bc8436 int,
 F_b53b3a3d6ab90ce0268229151c9bde11 int,
 F_9f61408e3afb633e50cdf1b20de6f466 int,
 F_72b32a1f754ba1c09b3695e0cb6cde7f int,
 F_66f041e16a60928b05a7e228a89c3799 int,
 F_093f65e080a295f8076b1c5722a46aa2 int,
 F_072b030ba126b2f4b2374f342be9ed44 int,
 F_7f39f8317fbdb1988ef4c628eba02591 int,
 F_44f683a84163b3523afe57c2e008bc8c int,
 F_03afdbd66e7929b125f8597834fa83a4 int,
 F_ea5d2f1c4608232e07d3aa3d998e5135 int,
 F_fc490ca45c00b1249bbe3554a4fdf6fb int,
 F_3295c76acbf4caaed33c36b1b5fc2cb1 int,
 F_735b90b4568125ed6c3f678819b6e058 int,
 F_a3f390d88e4c41f2747bfa2f1b5f87db int,
 F_14bfa6bb14875e45bba028a21ed38046 int,
 F_7cbbc409ec990f19c78c75bd1e06f215 int,
 F_e2c420d928d4bf8ce0ff2ec19b371514 int,
 F_32bb90e8976aab5298d5da10fe66f21d int,
 F_d2ddea18f00665ce8623e36bd4e3c7c5 int,
 F_ad61ab143223efbc24c7d2583be69251 int,
 F_d09bf41544a3365a46c9077ebb5e35c3 int,
 F_fbd7939d674997cdb4692d34de8633c4 int,
 F_28dd2c7955ce926456240b2ff0100bde int,
 F_35f4a8d465e6e1edc05f3d8ab658c551 int,
 F_d1fe173d08e959397adf34b1d77e88d7 int,
 F_f033ab37c30201f73f142449d037028d int,
 F_43ec517d68b6edd3015b3edc9a11367b int,
 F_9778d5d219c5080b9a6a17bef029331c int,
 F_fe9fc289c3ff0af142b6d3bead98a923 int,
 F_68d30a9594728bc39aa24be94b319d21 int,
 F_3ef815416f775098fe977004015c6193 int,
 F_93db85ed909c13838ff95ccfa94cebd9 int,
 F_c7e1249ffc03eb9ded908c236bd1996d int,
 F_2a38a4a9316c49e5a833517c45d31070 int,
 F_7647966b7343c29048673252e490f736 int,
 F_8613985ec49eb8f757ae6439e879bb2a int,
 F_54229abfcfa5649e7003b83dd4755294 int,
 F_92cc227532d17e56e07902b254dfad10 int,
 F_98dce83da57b0395e163467c9dae521b int,
 F_f4b9ec30ad9f68f89b29639786cb62ef int,
 F_812b4ba287f5ee0bc9d43bbf5bbe87fb int,
 F_26657d5ff9020d2abefe558796b99584 int,
 F_e2ef524fbf3d9fe611d5a8e90fefdc9c int,
 F_ed3d2c21991e3bef5e069713af9fa6ca int,
 F_ac627ab1ccbdb62ec96e702f07f6425b int,
 F_f899139df5e1059396431415e770c6dd int,
 F_38b3eff8baf56627478ec76a704e9b52 int,
 F_ec8956637a99787bd197eacd77acce5e int,
 F_6974ce5ac660610b44d9b9fed0ff9548 int,
 F_c9e1074f5b3f9fc8ea15d152add07294 int,
 F_65b9eea6e1cc6bb9f0cd2a47751a186f int,
 F_f0935e4cd5920aa6c7c996a5ee53a70f int,
 F_a97da629b098b75c294dffdc3e463904 int,
 F_a3c65c2974270fd093ee8a9bf8ae7d0b int,
 F_2723d092b63885e0d7c260cc007e8b9d int,
 F_5f93f983524def3dca464469d2cf9f3e int,
 F_698d51a19d8a121ce581499d7b701668 int,
 F_7f6ffaa6bb0b408017b62254211691b5 int,
 F_73278a4a86960eeb576a8fd4c9ec6997 int,
 F_5fd0b37cd7dbbb00f97ba6ce92bf5add int,
 F_2b44928ae11fb9384c4cf38708677c48 int,
 F_c45147dee729311ef5b5c3003946c48f int,
 F_eb160de1de89d9058fcb0b968dbbbd68 int,
 F_5ef059938ba799aaa845e1c2e8a762bd int,
 F_07e1cd7dca89a1678042477183b7ac3f int,
 F_da4fb5c6e93e74d3df8527599fa62642 int,
 F_4c56ff4ce4aaf9573aa5dff913df997a int,
 F_a0a080f42e6f13b3a2df133f073095dd int,
 F_202cb962ac59075b964b07152d234b70 int,
 F_c8ffe9a587b126f152ed3d89a146b445 int,
 F_3def184ad8f4755ff269862ea77393dd int,
 F_069059b7ef840f0c74a814ec9237b6ec int,
 F_ec5decca5ed3d6b8079e2e7e7bacc9f2 int,
 F_76dc611d6ebaafc66cc0879c71b5db5c int,
 F_d1f491a404d6854880943e5c3cd9ca25 int,
 F_9b8619251a19057cff70779273e95aa6 int,
 F_1afa34a7f984eeabdbb0a7d494132ee5 int,
 F_65ded5353c5ee48d0b7d48c591b8f430 int,
 F_9fc3d7152ba9336a670e36d0ed79bc43 int,
 F_02522a2b2726fb0a03bb19f2d8d9524d int,
 F_7f1de29e6da19d22b51c68001e7e0e54 int,
 F_42a0e188f5033bc65bf8d78622277c4e int,
 F_3988c7f88ebcb58c6ce932b957b6f332 int,
 F_013d407166ec4fa56eb1e1f8cbe183b9 int,
 F_e00da03b685a0dd18fb6a08af0923de0 int,
 F_1385974ed5904a438616ff7bdb3f7439 int,
 F_0f28b5d49b3020afeecd95b4009adf4c int,
 F_a8baa56554f96369ab93e4f3bb068c22 int,
 F_903ce9225fca3e988c2af215d4e544d3 int,
 F_0a09c8844ba8f0936c20bd791130d6b6 int,
 F_2b24d495052a8ce66358eb576b8912c8 int,
 F_a5e00132373a7031000fd987a3c9f87b int,
 F_8d5e957f297893487bd98fa830fa6413 int,
 F_47d1e990583c9c67424d369f3414728e int,
 F_f2217062e9a397a1dca429e7d70bc6ca int,
 F_7ef605fc8dba5425d6965fbd4c8fbe1f int,
 F_a8f15eda80c50adb0e71943adc8015cf int,
 F_37a749d808e46495a8da1e5352d03cae int,
 F_b3e3e393c77e35a4a3f3cbd1e429b5dc int,
 F_1d7f7abc18fcb43975065399b0d1e48e int,
 F_2a79ea27c279e471f4d180b08d62b00a int,
 F_1c9ac0159c94d8d0cbedc973445af2da int,
 F_6c4b761a28b734fe93831e3fb400ce87 int,
 F_06409663226af2f3114485aa4e0a23b4 int,
 F_140f6969d5213fd0ece03148e62e461e int,
 F_b73ce398c39f506af761d2277d853a92 int,
 F_bd4c9ab730f5513206b999ec0d90d1fb int,
 F_82aa4b0af34c2313a562076992e50aa3 int,
 F_0777d5c17d4066b82ab86dff8a46af6f int,
 F_fa7cdfad1a5aaf8370ebeda47a1ff1c3 int,
 F_9766527f2b5d3e95d4a733fcfb77bd7e int,
 F_7e7757b1e12abcb736ab9a754ffb617a int,
 F_5878a7ab84fb43402106c575658472fa int,
 F_006f52e9102a8d3be2fe5614f42ba989 int,
 F_3636638817772e42b59d74cff571fbb3 int,
 F_149e9677a5989fd342ae44213df68868 int,
 F_a4a042cf4fd6bfb47701cbc8a1653ada int,
 F_1ff8a7b5dc7a7d1f0ed65aaa29c04b1e int,
 F_f7e6c85504ce6e82442c770f7c8606f0 int,
 F_bf8229696f7a3bb4700cfddef19fa23f int,
 F_82161242827b703e6acf9c726942a1e4 int,
 F_38af86134b65d0f10fe33d30dd76442e int,
 F_96da2f590cd7246bbde0051047b0d6f7 int,
 F_8f85517967795eeef66c225f7883bdcb int,
 F_8f53295a73878494e9bc8dd6c3c7104f int,
 F_045117b0e0a11a242b9765e79cbf113f int,
 F_fc221309746013ac554571fbd180e1c8 int,
 F_4c5bde74a8f110656874902f07378009 int,
 F_cedebb6e872f539bef8c3f919874e9d7 int,
 F_6cdd60ea0045eb7a6ec44c54d29ed402 int,
 F_eecca5b6365d9607ee5a9d336962c534 int,
 F_9872ed9fc22fc182d371c3e9ed316094 int,
 F_31fefc0e570cb3860f2a6d4b38c6490d int,
 F_9dcb88e0137649590b755372b040afad int,
 F_a2557a7b2e94197ff767970b67041697 int,
 F_cfecdb276f634854f3ef915e2e980c31 int,
 F_0aa1883c6411f7873cb83dacb17b0afc int,
 F_58a2fc6ed39fd083f55d4182bf88826d int,
 F_bd686fd640be98efaae0091fa301e613 int,
 F_a597e50502f5ff68e3e25b9114205d4a int,
 F_0336dcbab05b9d5ad24f4333c7658a0e int,
 F_084b6fbb10729ed4da8c3d3f5a3ae7c9 int,
 F_85d8ce590ad8981ca2c8286f79f59954 int,
 F_0e65972dce68dad4d52d063967f0a705 int,
 F_84d9ee44e457ddef7f2c4f25dc8fa865 int,
 F_3644a684f98ea8fe223c713b77189a77 int,
 F_757b505cfd34c64c85ca5b5690ee5293 int,
 F_854d6fae5ee42911677c739ee1734486 int,
 F_e2c0be24560d78c5e599c2a9c9d0bbd2 int,
 F_274ad4786c3abca69fa097b85867d9a4 int,
 F_eae27d77ca20db309e056e3d2dcd7d69 int,
 F_7eabe3a1649ffa2b3ff8c02ebfd5659f int,
 F_69adc1e107f7f7d035d7baf04342e1ca int,
 F_091d584fced301b442654dd8c23b3fc9 int,
 F_b1d10e7bafa4421218a51b1e1f1b0ba2 int,
 F_6f3ef77ac0e3619e98159e9b6febf557 int,
 F_eb163727917cbba1eea208541a643e74 int,
 F_1534b76d325a8f591b52d302e7181331 int,
 F_979d472a84804b9f647bc185a877a8b5 int,
 F_ca46c1b9512a7a8315fa3c5a946e8265 int,
 F_3b8a614226a953a8cd9526fca6fe9ba5 int,
 F_45fbc6d3e05ebd93369ce542e8f2322d int,
 F_63dc7ed1010d3c3b8269faf0ba7491d4 int,
 F_e96ed478dab8595a7dbda4cbcbee168f int,
 F_c0e190d8267e36708f955d7ab048990d int,
 F_ec8ce6abb3e952a85b8551ba726a1227 int,
 F_060ad92489947d410d897474079c1477 int,
 F_bcbe3365e6ac95ea2c0343a2395834dd int,
 F_115f89503138416a242f40fb7d7f338e int,
 F_13fe9d84310e77f13a6d184dbf1232f3 int,
 F_d1c38a09acc34845c6be3a127a5aacaf int,
 F_9cfdf10e8fc047a44b08ed031e1f0ed1 int,
 F_705f2172834666788607efbfca35afb3 int,
 F_74db120f0a8e5646ef5a30154e9f6deb int,
 F_57aeee35c98205091e18d1140e9f38cf int,
 F_6da9003b743b65f4c0ccd295cc484e57 int,
 F_9b04d152845ec0a378394003c96da594 int,
 F_be83ab3ecd0db773eb2dc1b0a17836a1 int,
 F_e165421110ba03099a1c0393373c5b43 int,
 F_289dff07669d7a23de0ef88d2f7129e7 int,
 F_577ef1154f3240ad5b9b413aa7346a1e int,
 F_01161aaa0b6d1345dd8fe4e481144d84 int,
 F_539fd53b59e3bb12d203f45a912eeaf2 int,
 F_ac1dd209cbcc5e5d1c6e28598e8cbbe8 int,
 F_555d6702c950ecb729a966504af0a635 int,
 F_335f5352088d7d9bf74191e006d8e24c int,
 F_f340f1b1f65b6df5b5e3f94d95b11daf int,
 F_e4a6222cdb5b34375400904f03d8e6a5 int,
 F_cb70ab375662576bd1ac5aaf16b3fca4 int,
 F_9188905e74c28e489b44e954ec0b9bca int,
 F_0266e33d3f546cb5436a10798e657d97 int,
 F_38db3aed920cf82ab059bfccbd02be6a int,
 F_3cec07e9ba5f5bb252d13f5f431e4bbb int,
 F_621bf66ddb7c962aa0d22ac97d69b793 int,
 F_077e29b11be80ab57e1a2ecabb7da330 int,
 F_6c9882bbac1c7093bd25041881277658 int,
 F_19f3cd308f1455b3fa09a282e0d496f4 int,
 F_03c6b06952c750899bb03d998e631860 int,
 F_c24cd76e1ce41366a4bbe8a49b02a028 int,
 F_c52f1bd66cc19d05628bd8bf27af3ad6 int,
 F_fe131d7f5a6b38b23cc967316c13dae2 int,
 F_f718499c1c8cef6730f9fd03c8125cab int,
 F_d96409bf894217686ba124d7356686c9 int,
 F_502e4a16930e414107ee22b6198c578f int,
 F_cfa0860e83a4c3a763a7e62d825349f7 int,
 F_a4f23670e1833f3fdb077ca70bbd5d66 int,
 F_b1a59b315fc9a3002ce38bbe070ec3f5 int,
 F_36660e59856b4de58a219bcf4e27eba3 int,
 F_8c19f571e251e61cb8dd3612f26d5ecf int,
 F_d6baf65e0b240ce177cf70da146c8dc8 int,
 F_e56954b4f6347e897f954495eab16a88 int,
 F_f7664060cc52bc6f3d620bcedc94a4b6 int,
 F_eda80a3d5b344bc40f3bc04f65b7a357 int,
 F_8f121ce07d74717e0b1f21d122e04521 int,
 F_06138bc5af6023646ede0e1f7c1eac75 int,
 F_39059724f73a9969845dfe4146c5660e int,
 F_7f100b7b36092fb9b06dfb4fac360931 int,
 F_7a614fd06c325499f1680b9896beedeb int,
 F_4734ba6f3de83d861c3176a6273cac6d int,
 F_d947bf06a885db0d477d707121934ff8 int,
 F_63923f49e5241343aa7acb6a06a751e7 int,
 F_db8e1af0cb3aca1ae2d0018624204529 int,
 F_20f07591c6fcb220ffe637cda29bb3f6 int,
 F_07cdfd23373b17c6b337251c22b7ea57 int,
 F_d395771085aab05244a4fb8fd91bf4ee int,
 F_92c8c96e4c37100777c7190b76d28233 int,
 F_e3796ae838835da0b6f6ea37bcf8bcb7 int,
 F_6a9aeddfc689c1d0e3b9ccc3ab651bc5 int,
 F_0f49c89d1e7298bb9930789c8ed59d48 int,
 F_46ba9f2a6976570b0353203ec4474217 int,
 F_0e01938fc48a2cfb5f2217fbfb00722d int,
 F_16a5cdae362b8d27a1d8f8c7b78b4330 int,
 F_918317b57931b6b7a7d29490fe5ec9f9 int,
 F_48aedb8880cab8c45637abc7493ecddd int,
 F_839ab46820b524afda05122893c2fe8e int,
 F_f90f2aca5c640289d0a29417bcb63a37 int,
 F_9c838d2e45b2ad1094d42f4ef36764f6 int,
 F_1700002963a49da13542e0726b7bb758 int,
 F_53c3bce66e43be4f209556518c2fcb54 int,
 F_6883966fd8f918a4aa29be29d2c386fb int,
 F_49182f81e6a13cf5eaa496d51fea6406 int,
 F_d296c101daa88a51f6ca8cfc1ac79b50 int,
 F_9fd81843ad7f202f26c1a174c7357585 int,
 F_26e359e83860db1d11b6acca57d8ea88 int,
 F_ef0d3930a7b6c95bd2b32ed45989c61f int,
 F_94f6d7e04a4d452035300f18b984988c int,
 F_34ed066df378efacc9b924ec161e7639 int,
 F_577bcc914f9e55d5e4e4f82f9f00e7d4 int,
 F_11b9842e0a271ff252c1903e7132cd68 int,
 F_37bc2f75bf1bcfe8450a1a41c200364c int,
 F_496e05e1aea0a9c4655800e8a7b9ea28 int,
 F_b2eb7349035754953b57a32e2841bda5 int,
 F_8e98d81f8217304975ccb23337bb5761 int,
 F_a8c88a0055f636e4a163a5e3d16adab7 int,
 F_eddea82ad2755b24c4e168c5fc2ebd40 int,
 F_06eb61b839a0cefee4967c67ccb099dc int,
 F_9dfcd5e558dfa04aaf37f137a1d9d3e5 int,
 F_950a4152c2b4aa3ad78bdd6b366cc179 int,
 F_158f3069a435b314a80bdcb024f8e422 int,
 F_758874998f5bd0c393da094e1967a72b int,
 F_ad13a2a07ca4b7642959dc0c4c740ab6 int,
 F_3fe94a002317b5f9259f82690aeea4cd int,
 F_5b8add2a5d98b1a652ea7fd72d942dac int,
 F_432aca3a1e345e339f35a30c8f65edce int,
 F_8d3bba7425e7c98c50f52ca1b52d3735 int,
 F_320722549d1751cf3f247855f937b982 int,
 F_caf1a3dfb505ffed0d024130f58c5cfa int,
 F_5737c6ec2e0716f3d8a7a5c4e0de0d9a int,
 F_bc6dc48b743dc5d013b1abaebd2faed2 int,
 F_f2fc990265c712c49d51a18a32b39f0c int,
 F_89f0fd5c927d466d6ec9a21b9ac34ffa int,
 F_a666587afda6e89aec274a3657558a27 int,
 F_b83aac23b9528732c23cc7352950e880 int,
 F_cd00692c3bfe59267d5ecfac5310286c int,
 F_6faa8040da20ef399b63a72d0e4ab575 int,
 F_fe73f687e5bc5280214e0486b273a5f9 int);
insert into t1 (F_8d3bba7425e7c98c50f52ca1b52d3735) values (1);
539
--exec $MYSQL_DUMP --skip-comments -c test
540
drop table t1;
541 542 543 544 545 546 547 548 549

#
# Test for --add-drop-database
#

CREATE TABLE t1 (a int);
INSERT INTO t1 VALUES (1),(2),(3);
--exec $MYSQL_DUMP --add-drop-database --skip-comments --databases test
DROP TABLE t1;
550

551 552 553 554 555 556 557 558 559 560 561 562
#
# Bug #9558 mysqldump --no-data db t1 t2 format still dumps data
#

CREATE DATABASE mysqldump_test_db;
USE mysqldump_test_db;
CREATE TABLE t1 ( a INT );
CREATE TABLE t2 ( a INT );
INSERT INTO t1 VALUES (1), (2);
INSERT INTO t2 VALUES (1), (2);
--exec $MYSQL_DUMP --skip-comments --no-data mysqldump_test_db
--exec $MYSQL_DUMP --skip-comments --no-data mysqldump_test_db t1 t2
563 564
--exec $MYSQL_DUMP --skip-comments --skip-create --xml --no-data mysqldump_test_db
--exec $MYSQL_DUMP --skip-comments --skip-create --xml --no-data mysqldump_test_db t1 t2
565 566
DROP TABLE t1, t2;
DROP DATABASE mysqldump_test_db;
msvensson@neptunus.(none)[msvensson]'s avatar
patch  
msvensson@neptunus.(none)[msvensson] committed
567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583

#
#  Testing with tables and databases that don't exists
#  or contains illegal characters
# (Bug #9358 mysqldump crashes if tablename starts with \)
#
create database mysqldump_test_db;
use mysqldump_test_db;
create table t1(a varchar(30) primary key, b int not null);
create table t2(a varchar(30) primary key, b int not null);
create table t3(a varchar(30) primary key, b int not null);

--disable_query_log
select '------ Testing with illegal table names ------' as test_sequence ;
--enable_query_log
--error 6
--exec $MYSQL_DUMP --compact --skip-comments mysqldump_test_db "\d-2-1.sql" 2>&1
monty@mysql.com's avatar
monty@mysql.com committed
584

msvensson@neptunus.(none)[msvensson]'s avatar
patch  
msvensson@neptunus.(none)[msvensson] committed
585 586 587 588 589 590 591
--error 6
--exec $MYSQL_DUMP --compact --skip-comments mysqldump_test_db  "\t1" 2>&1

--error 6
--exec $MYSQL_DUMP --compact --skip-comments mysqldump_test_db  "\\t1" 2>&1
 
--error 6
592
--exec $MYSQL_DUMP --compact --skip-comments mysqldump_test_db  "\\\\t1" 2>&1
msvensson@neptunus.(none)[msvensson]'s avatar
patch  
msvensson@neptunus.(none)[msvensson] committed
593 594 595 596 597 598 599 600 601 602 603

--error 6
--exec $MYSQL_DUMP --compact --skip-comments mysqldump_test_db  "t\1" 2>&1

--error 6
--exec $MYSQL_DUMP --compact --skip-comments  mysqldump_test_db  "t\\1" 2>&1

--error 6
--exec $MYSQL_DUMP --compact --skip-comments mysqldump_test_db  "t/1" 2>&1

--error 6
604
--exec $MYSQL_DUMP --compact --skip-comments mysqldump_test_db "T_1" 2>&1
msvensson@neptunus.(none)[msvensson]'s avatar
patch  
msvensson@neptunus.(none)[msvensson] committed
605 606

--error 6
607
--exec $MYSQL_DUMP --compact --skip-comments mysqldump_test_db "T%1" 2>&1
msvensson@neptunus.(none)[msvensson]'s avatar
patch  
msvensson@neptunus.(none)[msvensson] committed
608 609

--error 6
610
--exec $MYSQL_DUMP --compact --skip-comments mysqldump_test_db "T'1" 2>&1
msvensson@neptunus.(none)[msvensson]'s avatar
patch  
msvensson@neptunus.(none)[msvensson] committed
611 612

--error 6
613
--exec $MYSQL_DUMP --compact --skip-comments mysqldump_test_db "T_1" 2>&1
msvensson@neptunus.(none)[msvensson]'s avatar
patch  
msvensson@neptunus.(none)[msvensson] committed
614 615

--error 6
616
--exec $MYSQL_DUMP --compact --skip-comments mysqldump_test_db "T_" 2>&1
msvensson@neptunus.(none)[msvensson]'s avatar
patch  
msvensson@neptunus.(none)[msvensson] committed
617 618 619 620 621 622 623 624 625 626 627 628

--disable_query_log
select '------ Testing with illegal database names ------' as test_sequence ;
--enable_query_log
--error 2
--exec $MYSQL_DUMP --compact --skip-comments mysqldump_test_d 2>&1

--error 2
--exec $MYSQL_DUMP --compact --skip-comments "mysqld\ump_test_db" 2>&1

drop table t1, t2, t3;
drop database mysqldump_test_db;
msvensson@neptunus.(none)'s avatar
msvensson@neptunus.(none) committed
629
use test;
630 631 632 633 634 635 636 637 638 639 640 641 642 643


#
# Bug #9657 mysqldump xml ( -x ) does not format NULL fields correctly
#

create table t1 (a int(10));
create table t2 (pk int primary key auto_increment,
a int(10), b varchar(30), c datetime, d blob, e text);
insert into t1 values (NULL), (10), (20);
insert into t2 (a, b) values (NULL, NULL),(10, NULL),(NULL, "twenty"),(30, "thirty");
--exec $MYSQL_DUMP  --skip-comments --xml --no-create-info test
drop table t1, t2;

patg@krsna.patg.net's avatar
patg@krsna.patg.net committed
644 645 646 647 648 649
#
# BUG #12123
#
create table t1 (a text character set utf8, b text character set latin1);
insert t1 values (0x4F736E616272C3BC636B, 0x4BF66C6E);
select * from t1;
650 651 652
--exec $MYSQL_DUMP --tab=$MYSQLTEST_VARDIR/tmp/ test
--exec $MYSQL test < $MYSQLTEST_VARDIR/tmp/t1.sql
--exec $MYSQL_IMPORT test $MYSQLTEST_VARDIR/tmp/t1.txt
patg@krsna.patg.net's avatar
patg@krsna.patg.net committed
653 654 655
select * from t1;

drop table t1;
656

657 658 659 660 661 662
#
# BUG#15328 Segmentation fault occured if my.cnf is invalid for escape sequence
#

--exec $MYSQL_MY_PRINT_DEFAULTS --config-file=$MYSQL_TEST_DIR/std_data/bug15328.cnf mysqldump

663
#
664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691
# BUG #19025 mysqldump doesn't correctly dump "auto_increment = [int]"
#
create table `t1` (
    t1_name varchar(255) default null,
    t1_id int(10) unsigned not null auto_increment,
    key (t1_name),
    primary key (t1_id)
) auto_increment = 1000 default charset=latin1;

insert into t1 (t1_name) values('bla');
insert into t1 (t1_name) values('bla');
insert into t1 (t1_name) values('bla');

select * from t1;

show create table `t1`;

--exec $MYSQL_DUMP --skip-comments test t1 > $MYSQLTEST_VARDIR/tmp/bug19025.sql
DROP TABLE `t1`;

--exec $MYSQL test < $MYSQLTEST_VARDIR/tmp/bug19025.sql

select * from t1;

show create table `t1`;

drop table `t1`;

692 693 694 695 696 697 698 699 700 701 702
#
# Bug #18536: wrong table order
#

create table t1(a int);
create table t2(a int);
create table t3(a int);
--error 6
--exec $MYSQL_DUMP --skip-comments --force --no-data test t3 t1 non_existing t2
drop table t1, t2, t3;

703
#
704 705 706 707 708
# Bug #21288: mysqldump segmentation fault when using --where
#
create table t1 (a int);
--error 2
--exec $MYSQL_DUMP --skip-comments --force test t1 --where='xx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' 2>&1
709 710
drop table t1;

711
--echo End of 4.1 tests
712

713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771
#
# Bug #10213 mysqldump crashes when dumping VIEWs(on MacOS X)
#

create database db1;
use db1;

CREATE TABLE t2 (
  a varchar(30) default NULL,
  KEY a (a(5))
);

INSERT INTO t2 VALUES ('alfred');
INSERT INTO t2 VALUES ('angie');
INSERT INTO t2 VALUES ('bingo');
INSERT INTO t2 VALUES ('waffle');
INSERT INTO t2 VALUES ('lemon');
create view v2 as select * from t2 where a like 'a%' with check option;
--exec $MYSQL_DUMP  --skip-comments db1
drop table t2;
drop view v2;
drop database db1;
use test;

#
# Bug 10713 mysqldump includes database in create view and referenced tables
#

# create table and views in db2
create database db2;
use db2;
create table t1 (a int);
create table t2 (a int, b varchar(10), primary key(a));
insert into t2 values (1, "on"), (2, "off"), (10, "pol"), (12, "meg");
insert into t1 values (289), (298), (234), (456), (789);
create view v1 as select * from t2;
create view v2 as select * from t1;

# dump tables and view from db2
--exec $MYSQL_DUMP db2 > $MYSQLTEST_VARDIR/tmp/bug10713.sql

# drop the db, tables and views
drop table t1, t2;
drop view v1, v2;
drop database db2;
use test;

# create db1 and reload dump
create database db1;
use db1;
--exec $MYSQL db1 < $MYSQLTEST_VARDIR/tmp/bug10713.sql

# check that all tables and views could be created
show tables;
select * from t2 order by a;

drop table t1, t2;
drop database db1;
use test;
772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814

#
# dump of view
#
create table t1(a int);
create view v1 as select * from t1;
--exec $MYSQL_DUMP --skip-comments test
drop view v1;
drop table t1;

#
# Bug #10213 mysqldump crashes when dumping VIEWs(on MacOS X)
#

create database mysqldump_test_db;
use mysqldump_test_db;

CREATE TABLE t2 (
  a varchar(30) default NULL,
  KEY a (a(5))
);

INSERT INTO t2 VALUES ('alfred');
INSERT INTO t2 VALUES ('angie');
INSERT INTO t2 VALUES ('bingo');
INSERT INTO t2 VALUES ('waffle');
INSERT INTO t2 VALUES ('lemon');
create view v2 as select * from t2 where a like 'a%' with check option;
--exec $MYSQL_DUMP  --skip-comments mysqldump_test_db
drop table t2;
drop view v2;
drop database mysqldump_test_db;
use test;

#
# Bug #9756
#

CREATE TABLE t1 (a char(10));
INSERT INTO t1 VALUES ('\'');
--exec $MYSQL_DUMP --skip-comments test t1
DROP TABLE t1;

815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831
#
# Bug #10927 mysqldump: Can't reload dump with view that consist of other view
#

create table t1(a int, b int, c varchar(30));

insert into t1 values(1, 2, "one"), (2, 4, "two"), (3, 6, "three");

create view v3 as
select * from t1;

create  view v1 as
select * from v3 where b in (1, 2, 3, 4, 5, 6, 7);

create  view v2 as
select v3.a from v3, v1 where v1.a=v3.a and v3.b=3 limit 1;

832
--exec $MYSQL_DUMP --skip-comments test
833 834 835

drop view v1, v2, v3;
drop table t1;
836

837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853
#
# Test for dumping triggers
#

CREATE TABLE t1 (a int, b bigint default NULL);
CREATE TABLE t2 (a int);
delimiter |;
create trigger trg1 before insert on t1 for each row
begin
  if new.a > 10 then
    set new.a := 10;
    set new.a := 11;
  end if;
end|
create trigger trg2 before update on t1 for each row begin
  if old.a % 2 = 0 then set new.b := 12; end if;
end|
854
set sql_mode="traditional"|
855 856 857 858 859 860 861 862 863 864 865 866
create trigger trg3 after update on t1 for each row
begin
  if new.a = -1 then
    set @fired:= "Yes";
  end if;
end|
create trigger trg4 before insert on t2 for each row
begin
  if new.a > 10 then
    set @fired:= "No";
  end if;
end|
867
set sql_mode=default|
868 869 870 871 872 873 874 875 876 877
delimiter ;|
--replace_column 6 '0000-00-00 00:00:00'
show triggers like "t1";
INSERT INTO t1 (a) VALUES (1),(2),(3),(22);
update t1 set a = 4 where a=3;
# Triggers should be dumped by default
--exec $MYSQL_DUMP --skip-comments --databases test
# Skip dumping triggers
--exec $MYSQL_DUMP --skip-comments --databases --skip-triggers test
# Dump and reload...
878
--exec $MYSQL_DUMP --skip-comments --databases test > $MYSQLTEST_VARDIR/tmp/mysqldump.sql
879
drop table t1;
880
--exec $MYSQL test < $MYSQLTEST_VARDIR/tmp/mysqldump.sql
881 882
# Check that tables have been reloaded
show tables;
883 884
--replace_column 6 #
show triggers;
885
DROP TABLE t1, t2;
886

887 888 889 890
#
# Bugs #9136, #12917: problems with --defaults-extra-file option
#

891 892
--system echo '[mysqltest1]' > $MYSQLTEST_VARDIR/tmp/tmp.cnf
--system echo 'port=1234' >> $MYSQLTEST_VARDIR/tmp/tmp.cnf
893 894
--exec $MYSQL_MY_PRINT_DEFAULTS -c $MYSQLTEST_VARDIR/tmp/tmp.cnf mysqltest1
--exec $MYSQL_MY_PRINT_DEFAULTS -e $MYSQLTEST_VARDIR/tmp/tmp.cnf mysqltest1 mysqltest1
895
--system rm $MYSQLTEST_VARDIR/tmp/tmp.cnf
ramil@mysql.com's avatar
ramil@mysql.com committed
896 897

#
898
# Test of fix to BUG 12597
ramil@mysql.com's avatar
ramil@mysql.com committed
899 900
#

901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919
DROP TABLE IF EXISTS `test1`;
CREATE TABLE `test1` (
  `a1` int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

DROP TABLE IF EXISTS `test2`;
CREATE TABLE `test2` (
  `a2` int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

DELIMITER //;
CREATE TRIGGER `testref` BEFORE INSERT ON `test1` FOR EACH ROW BEGIN
INSERT INTO test2 SET a2 = NEW.a1; END  //
DELIMITER ;//

INSERT INTO `test1` VALUES (1);
SELECT * FROM `test2`;

# dump
920
--exec $MYSQL_DUMP --skip-comments --databases test > $MYSQLTEST_VARDIR/tmp/mysqldump.sql
921 922 923 924 925

#DROP TRIGGER testref;
#DROP TABLE test1;
#DROP TABLE test2;
# restore
926
--exec $MYSQL test < $MYSQLTEST_VARDIR/tmp/mysqldump.sql
927 928 929 930 931 932 933
SHOW TRIGGERS;
SELECT * FROM `test1`;
SELECT * FROM `test2`;

DROP TRIGGER testref;
DROP TABLE test1;
DROP TABLE test2;
934

935 936 937 938
#
# BUG#9056 - mysqldump does not dump routines
#

939
--disable_warnings
940
DROP TABLE IF EXISTS t1;
941
DROP FUNCTION IF EXISTS bug9056_func1;
942 943 944
DROP FUNCTION IF EXISTS bug9056_func2;
DROP PROCEDURE IF EXISTS bug9056_proc1;
DROP PROCEDURE IF EXISTS bug9056_proc2;
945
DROP PROCEDURE IF EXISTS `a'b`;
946
--enable_warnings
947 948 949 950 951 952

CREATE TABLE t1 (id int);
INSERT INTO t1 VALUES(1), (2), (3), (4), (5);

DELIMITER //;
CREATE FUNCTION `bug9056_func1`(a INT, b INT) RETURNS int(11) RETURN a+b //
953 954 955
CREATE PROCEDURE `bug9056_proc1`(IN a INT, IN b INT, OUT c INT)
BEGIN SELECT a+b INTO c; end  //

andrey@example.com's avatar
andrey@example.com committed
956
create function bug9056_func2(f1 char binary) returns char
957 958 959 960 961 962 963 964 965 966 967 968
begin
  set f1= concat( 'hello', f1 );
  return f1;
end //

CREATE PROCEDURE bug9056_proc2(OUT a INT) 
BEGIN 
  select sum(id) from t1 into a; 
END //

DELIMITER ;//

969 970 971 972
set sql_mode='ansi';
create procedure `a'b` () select 1; # to fix syntax highlighting :')
set sql_mode='';

973
# Dump the DB and ROUTINES 
974
--exec $MYSQL_DUMP --skip-comments --routines --databases test
975

976
# ok, now blow it all away
977 978 979 980
DROP FUNCTION bug9056_func1;
DROP FUNCTION bug9056_func2;
DROP PROCEDURE bug9056_proc1;
DROP PROCEDURE bug9056_proc2;
monty@mysql.com's avatar
monty@mysql.com committed
981
DROP PROCEDURE `a'b`;
982
drop table t1;
983

patg@krsna.patg.net's avatar
patg@krsna.patg.net committed
984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004
#
# BUG# 13052 - mysqldump timestamp reloads broken
#
--disable_warnings
drop table if exists t1;
--enable_warnings

create table t1 (`d` timestamp, unique (`d`));
set time_zone='+00:00';
insert into t1 values ('2003-10-25 22:00:00'),('2003-10-25 23:00:00');
# results should show two different time values
select * from t1;
set time_zone='Europe/Moscow';
# results should show two same time values, despite unique
select * from t1;
set global time_zone='Europe/Moscow';
--exec $MYSQL_DUMP --skip-comments --databases test
--exec $MYSQL_DUMP --skip-tz-utc --skip-comments --databases test
drop table t1;
set global time_zone=default;
set time_zone=default;
patg@krsna.patg.net's avatar
patg@krsna.patg.net committed
1005 1006 1007 1008 1009 1010

#
# Test of fix to BUG 13146 - ansi quotes break loading of triggers 
#
--disable_warnings
DROP TABLE IF EXISTS `t1 test`;
1011 1012 1013
DROP TABLE IF EXISTS `t2 test`;
--enable_warnings

patg@krsna.patg.net's avatar
patg@krsna.patg.net committed
1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037
CREATE TABLE `t1 test` (
  `a1` int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

CREATE TABLE `t2 test` (
  `a2` int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

DELIMITER //;
CREATE TRIGGER `test trig` BEFORE INSERT ON `t1 test` FOR EACH ROW BEGIN
INSERT INTO `t2 test` SET a2 = NEW.a1; END  //
DELIMITER ;//

INSERT INTO `t1 test` VALUES (1);
INSERT INTO `t1 test` VALUES (2);
INSERT INTO `t1 test` VALUES (3);
SELECT * FROM `t2 test`;
# dump with compatible=ansi. Everything except triggers should be double 
# quoted
--exec $MYSQL_DUMP --skip-comments --compatible=ansi --triggers test

DROP TRIGGER `test trig`;
DROP TABLE `t1 test`;
DROP TABLE `t2 test`;
1038

1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060
#
# BUG# 12838 mysqldump -x with views exits with error 
#

--disable_warnings
drop table if exists t1;
--enable_warnings
create table t1 (a int, b varchar(32), c varchar(32));
insert into t1 values (1, 'first value', 'xxxx');
insert into t1 values (2, 'second value', 'tttt');
insert into t1 values (3, 'third value', 'vvv vvv');

create view v1 as select * from t1;
create view v0 as select * from v1;
create view v2 as select * from v0;

select * from v2;
--exec $MYSQL_DUMP -x --skip-comments --databases test
drop view v2;
drop view v0;
drop view v1;
drop table t1;
1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084

#
# BUG#14554 - mysqldump does not separate words "ROW" and "BEGIN"
# for tables with trigger created in the IGNORE_SPACE sql mode.
#

SET @old_sql_mode = @@SQL_MODE;
SET SQL_MODE = IGNORE_SPACE;

CREATE TABLE t1 (a INT);
DELIMITER |;
CREATE TRIGGER tr1 BEFORE INSERT ON t1
       FOR EACH ROW
       BEGIN
         SET new.a = 0;
       END|
DELIMITER ;|

SET SQL_MODE = @old_sql_mode;

--exec $MYSQL_DUMP --skip-comments --databases test

DROP TRIGGER tr1;
DROP TABLE t1;
1085

1086 1087 1088 1089 1090 1091 1092 1093
#
# Bug #13318: Bad result with empty field and --hex-blob
# 
create table t1 (a binary(1), b blob);
insert into t1 values ('','');
--exec $MYSQL_DUMP --skip-comments --skip-extended-insert --hex-blob test t1
--exec $MYSQL_DUMP --skip-comments --hex-blob test t1
drop table t1;
1094

1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107
#
# Bug 14871 Invalid view dump output
#

create table t1 (a int);
insert into t1 values (289), (298), (234), (456), (789);
create definer = CURRENT_USER view v1 as select * from t1;
create SQL SECURITY INVOKER view v2 as select * from t1;
create view v3 as select * from t1 with local check option;
create algorithm=merge view v4 as select * from t1 with cascaded check option;
create algorithm =temptable view v5 as select * from t1;

# dump tables and views
1108
--exec $MYSQL_DUMP test > $MYSQLTEST_VARDIR/tmp/bug14871.sql
1109 1110 1111 1112 1113 1114

# drop the db, tables and views
drop table t1;
drop view v1, v2, v3, v4, v5;

# Reload dump
1115
--exec $MYSQL test < $MYSQLTEST_VARDIR/tmp/bug14871.sql
1116 1117 1118 1119 1120 1121 1122 1123

# check that all tables and views could be created
show tables;
select * from v3 order by a;

drop table t1;
drop view v1, v2, v3, v4, v5;

1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140
#
# Bug #16878 dump of trigger
#

create table t1 (a int, created datetime);
create table t2 (b int, created datetime);
create trigger tr1 before insert on t1 for each row set
new.created=now();
delimiter |;
create trigger tr2 after insert on t1
for each row
begin
  insert into t2 set b=new.a and created=new.created;
end|
delimiter ;|

# dump table and trigger
1141
--exec $MYSQL_DUMP test > $MYSQLTEST_VARDIR/tmp/bug16878.sql
1142 1143 1144 1145 1146
drop trigger tr1;
drop trigger tr2;
drop table t1, t2;

# reload dump
1147
--exec $MYSQL test < $MYSQLTEST_VARDIR/tmp/bug16878.sql
1148 1149 1150 1151 1152
--replace_column 6 #
show triggers;
drop trigger tr1;
drop trigger tr2;
drop table t1, t2;
1153 1154


1155 1156 1157 1158 1159 1160 1161 1162 1163 1164
#
# Bug#18462 mysqldump does not dump view structures correctly
#
#
create table t (qty int, price int);
insert into t values(3, 50);
insert into t values(5, 51);
create view v1 as select qty, price, qty*price as value from t;
create view v2 as select qty from v1;
--echo mysqldump {
1165 1166
--exec $MYSQL_DUMP --compact -F --tab $MYSQLTEST_VARDIR/tmp test
--exec cat $MYSQLTEST_VARDIR/tmp/v1.sql
1167
--echo } mysqldump {
1168
--exec cat $MYSQLTEST_VARDIR/tmp/v2.sql
1169 1170 1171 1172 1173 1174
--echo } mysqldump
drop view v1;
drop view v2;
drop table t;


1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190
#
# Bug#14857 Reading dump files with single statement stored routines fails.
# fixed by patch for bug#16878
#
#
DELIMITER |;
/*!50003 CREATE FUNCTION `f`() RETURNS bigint(20)
return 42 */|
/*!50003 CREATE PROCEDURE `p`()
select 42 */|
DELIMITER ;|
show create function f;
show create procedure p;
drop function f;
drop procedure p;

1191
#
1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203
# Bug #17371 Unable to dump a schema with invalid views
#
#
create table t1 ( id serial );
create view v1 as select * from t1;
drop table t1;
# mysqldump gets 1356 from server, but gives us 2
--echo mysqldump {
--error 2
--exec $MYSQL_DUMP --force -N --compact --skip-comments test
--echo } mysqldump
drop view v1;
1204

1205 1206 1207 1208
# BUG#17201 Spurious 'DROP DATABASE' in output,
# also confusion between tables and views.
# Example code from Markus Popp

1209 1210
create database mysqldump_test_db;
use mysqldump_test_db;
1211 1212 1213 1214 1215 1216
create table t1 (id int);
create view v1 as select * from t1;
insert into t1 values (1232131);
insert into t1 values (4711);
insert into t1 values (3231);
insert into t1 values (0815);
1217
--exec $MYSQL_DUMP --skip-comments --add-drop-database --databases mysqldump_test_db
grog@mysql.com's avatar
grog@mysql.com committed
1218
drop view v1;
1219 1220
drop table t1;
drop database mysqldump_test_db;
1221

1222
#
1223
# Bug21014 Segmentation fault of mysqldump on view
1224
#
1225 1226 1227 1228 1229 1230 1231 1232
create database mysqldump_tables;
use mysqldump_tables;
create table basetable ( id serial, tag varchar(64) );

create database mysqldump_views;
use mysqldump_views;
create view nasishnasifu as select mysqldump_tables.basetable.id from mysqldump_tables.basetable;

1233
--exec $MYSQL_DUMP --skip-comments --compact --databases mysqldump_tables mysqldump_views;
1234 1235 1236 1237 1238

drop view nasishnasifu;
drop database mysqldump_views;
drop table mysqldump_tables.basetable;
drop database mysqldump_tables;
1239

1240
#
1241
# Bug20221 Dumping of multiple databases containing view(s) yields maleformed dumps
1242
#
1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277
create database mysqldump_dba;
use mysqldump_dba;
create table t1 (f1 int, f2 int);
insert into t1 values (1,1);
create view v1 as select f1, f2 from t1;

create database mysqldump_dbb;
use mysqldump_dbb;
create table t1 (f1 int, f2 int);
insert into t1 values (2,2);
create view v1 as select f1, f2 from t1;

--exec $MYSQL_DUMP --skip-comments --add-drop-database --databases mysqldump_dba mysqldump_dbb > $MYSQLTEST_VARDIR/tmp/bug20221_backup;

drop view v1;
drop table t1;
drop database mysqldump_dbb;
use mysqldump_dba;
drop view v1;
drop table t1;
drop database mysqldump_dba;

--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug20221_backup;

select * from mysqldump_dba.v1;
select * from mysqldump_dbb.v1;

use mysqldump_dba;
drop view v1;
drop table t1;
drop database mysqldump_dba;
use mysqldump_dbb;
drop view v1;
drop table t1;
drop database mysqldump_dbb;
1278
use test;
1279

1280 1281 1282
#
# Bug#21215 mysqldump creating incomplete backups without warning
#
1283

1284
# Create user without sufficient privs to perform the requested operation
1285
create user mysqltest_1@localhost;
1286 1287
create table t1(a int, b varchar(34));

1288 1289 1290
# To get consistent output, reset the master, starts over from first log
reset master;

1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315
# Execute mysqldump, will fail on FLUSH TABLES
--error 2
--exec $MYSQL_DUMP --compact --master-data -u mysqltest_1 test 2>&1

# Execute mysqldump, will fail on FLUSH TABLES
# use --force, should no affect behaviour
--error 2
--exec $MYSQL_DUMP --compact --force --master-data -u mysqltest_1 test 2>&1

# Add RELOAD grants
grant RELOAD on *.* to mysqltest_1@localhost;

# Execute mysqldump, will fail on SHOW MASTER STATUS
--error 2
--exec $MYSQL_DUMP --compact --master-data -u mysqltest_1 test 2>&1

# Execute mysqldump, will fail on SHOW MASTER STATUS.
# use --force, should not alter behaviour
--error 2
--exec $MYSQL_DUMP --compact --force --master-data -u mysqltest_1 test 2>&1

# Add REPLICATION CLIENT grants
grant REPLICATION CLIENT on *.* to mysqltest_1@localhost;

# Execute mysqldump, should now succeed
1316
--disable_result_log
1317
--exec $MYSQL_DUMP --compact --master-data -u mysqltest_1 test 2>&1
1318
--enable_result_log
1319 1320 1321

# Clean up
drop table t1;
1322
drop user mysqltest_1@localhost;
1323

1324 1325 1326 1327
#
# Bug #21527 mysqldump incorrectly tries to LOCK TABLES on the 
# information_schema database.
#
1328 1329 1330 1331
# Bug #21424 mysqldump failing to export/import views
#

# Do as root
1332 1333 1334 1335 1336
connect (root,localhost,root,,test,$MASTER_MYPORT,$MASTER_MYSOCK);
connection root;
create database mysqldump_myDB;
use mysqldump_myDB;
create user myDB_User;
1337
grant create, create view, select, insert on mysqldump_myDB.* to myDB_User@localhost;
1338 1339 1340
create table t1 (c1 int);
insert into t1 values (3);

1341
# Do as a user
1342 1343 1344
connect (user1,localhost,myDB_User,,mysqldump_myDB,$MASTER_MYPORT,$MASTER_MYSOCK);
connection user1;
use mysqldump_myDB;
1345 1346
create table u1 (f1 int);
insert into u1 values (4);
1347 1348
create view v1 (c1) as select * from t1;

1349 1350
# Backup should not fail for Bug #21527. Flush priviliges test begins.
--exec $MYSQL_DUMP --skip-comments --add-drop-table --flush-privileges --ignore-table=mysql.general_log --ignore-table=mysql.slow_log --databases mysqldump_myDB mysql > $MYSQLTEST_VARDIR/tmp/bug21527.sql
1351

1352 1353 1354 1355 1356
# Clean up
connection root;
use mysqldump_myDB;
drop view v1;
drop table t1;
1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380
drop table u1;
revoke all privileges on mysqldump_myDB.* from myDB_User@localhost;
drop user myDB_User;
drop database mysqldump_myDB;
flush privileges;

# Bug #21424 continues from here.
# Restore. Flush Privileges test ends.  
--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug21527.sql;

# Do as a user
connection user1;
use mysqldump_myDB;

# Ultimate test for correct data.
select * from mysqldump_myDB.v1;
select * from mysqldump_myDB.u1;

#Final cleanup.
connection root;
use mysqldump_myDB;
drop view v1;
drop table t1;
drop table u1;
1381 1382 1383
revoke all privileges on mysqldump_myDB.* from myDB_User@localhost;
drop user myDB_User;
drop database mysqldump_myDB;
1384
use test;
1385 1386

--echo End of 5.0 tests
1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400

# Check new --replace option

--disable_warnings
drop table if exists t1;
--enable_warnings

CREATE TABLE t1(a int, b int);
INSERT INTO t1 VALUES (1,1);
INSERT INTO t1 VALUES (2,3);
INSERT INTO t1 VALUES (3,4), (4,5);
--exec $MYSQL_DUMP --replace --skip-comments test t1
DROP TABLE t1;

1401
#
1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417
# Added for use-thread option
#
create table t1 (a text , b text);
create table t2 (a text , b text);
insert t1 values ("Duck, Duck", "goose");
insert t1 values ("Duck, Duck", "pidgeon");
insert t2 values ("We the people", "in order to perform");
insert t2 values ("a more perfect", "union");
select * from t1;
select * from t2;
--exec $MYSQL_DUMP --tab=$MYSQLTEST_VARDIR/tmp/ test
--exec $MYSQL test < $MYSQLTEST_VARDIR/tmp/t1.sql
--exec $MYSQL test < $MYSQLTEST_VARDIR/tmp/t2.sql
# The first load tests the pausing code
--exec $MYSQL_IMPORT --use-threads=1 test $MYSQLTEST_VARDIR/tmp/t1.txt $MYSQLTEST_VARDIR/tmp/t2.txt
# Now we test with multiple threads!
1418
--exec $MYSQL_IMPORT --silent --use-threads=5 test $MYSQLTEST_VARDIR/tmp/t1.txt $MYSQLTEST_VARDIR/tmp/t2.txt
1419 1420
select * from t1;
select * from t2;
1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431
# Now we test with multiple threads, but less threads than files.
create table words(a varchar(255));
create table words2(b varchar(255));
--exec $MYSQL_IMPORT --silent --use-threads=2 test $MYSQLTEST_VARDIR/tmp/t1.txt $MYSQLTEST_VARDIR/tmp/t2.txt $MYSQLTEST_VARDIR/std_data_ln/words.dat $MYSQLTEST_VARDIR/std_data_ln/words2.dat
select * from t1;
select * from t2;
select * from words;
select * from words2;

# Drop table "words" and run with threads, should fail
drop table words;
1432
--replace_regex /.*mysqlimport(\.exe)*/mysql-import/
1433 1434
--error 1
--exec $MYSQL_IMPORT --silent --use-threads=2 test $MYSQLTEST_VARDIR/tmp/t1.txt $MYSQLTEST_VARDIR/tmp/t2.txt $MYSQLTEST_VARDIR/std_data_ln/words.dat $MYSQLTEST_VARDIR/std_data_ln/words2.dat 2>&1
1435 1436 1437

drop table t1;
drop table t2;
1438 1439

drop table words2;
1440 1441 1442 1443 1444 1445 1446 1447

#
# BUG# 16853: mysqldump doesn't show events
#
create database first;
use first;
set time_zone = 'UTC';

1448 1449
## prove one works (with spaces and tabs on the end)
create event ee1 on schedule at '2035-12-31 20:01:23' do set @a=5;    	 	
1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460
show events;
show create event ee1;
--exec $MYSQL_DUMP --events first > $MYSQLTEST_VARDIR/tmp/bug16853-1.sql
drop database first;

create database second;
use second;
--exec $MYSQL second < $MYSQLTEST_VARDIR/tmp/bug16853-1.sql
show events;
show create event ee1;

1461
## prove three works (with spaces and tabs on the end)
1462
# start with one from the previous restore
1463 1464
create event ee2 on schedule at '2018-12-31 21:01:23' do set @a=5;	      
create event ee3 on schedule at '2030-12-31 22:01:23' do set @a=5;    		
1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479
show events;
--exec $MYSQL_DUMP --events second > $MYSQLTEST_VARDIR/tmp/bug16853-2.sql
drop database second;

create database third;
use third;
--exec $MYSQL third < $MYSQLTEST_VARDIR/tmp/bug16853-2.sql
show events;
drop database third;

# revert back to normal settings
set time_zone = 'SYSTEM';
use test;

#####
1480 1481 1482 1483 1484
#
# BUG#17201 Spurious 'DROP DATABASE' in output,
# also confusion between tables and views.
# Example code from Markus Popp

1485 1486
create database mysqldump_test_db;
use mysqldump_test_db;
1487 1488 1489 1490 1491 1492
create table t1 (id int);
create view v1 as select * from t1;
insert into t1 values (1232131);
insert into t1 values (4711);
insert into t1 values (3231);
insert into t1 values (0815);
1493
--exec $MYSQL_DUMP --skip-comments --add-drop-database --databases mysqldump_test_db
grog@mysql.com's avatar
grog@mysql.com committed
1494
drop view v1;
1495 1496
drop table t1;
drop database mysqldump_test_db;
1497 1498

--echo End of 5.1 tests