@@ -287,7 +287,7 @@ drop table t1;
287
287
#
288
288
set names koi8r;
289
289
create table t1 (a char(10) character set koi8r);
290
- insert into t1 values ('����');
290
+ insert into t1 values ('����');
291
291
select a,hex(a) from t1;
292
292
alter table t1 change a a char(10) character set cp1251;
293
293
select a,hex(a) from t1;
@@ -367,7 +367,7 @@ DROP TABLE T12207;
367
367
# modified. In other words, the values were reinterpreted
368
368
# as UTF8 instead of being converted.
369
369
create table t1 (a text) character set koi8r;
370
- insert into t1 values (_koi8r'����');
370
+ insert into t1 values (_koi8r'����');
371
371
select hex(a) from t1;
372
372
alter table t1 convert to character set cp1251;
373
373
select hex(a) from t1;
@@ -1346,52 +1346,55 @@ DROP TABLE t1, t2, t3;
1346
1346
SET SQL_MODE=default;
1347
1347
SET GLOBAL max_allowed_packet=default;
1348
1348
1349
+ #
1350
+ # Test of ALTER TABLE IF [NOT] EXISTS
1351
+ #
1349
1352
1350
- SET GLOBAL max_allowed_packet=17825792;
1351
-
1352
- --connect(con1, localhost, root,,)
1353
- CREATE TABLE t1 (t1_fld1 TEXT);
1354
- CREATE TABLE t2 (t2_fld1 MEDIUMTEXT);
1355
- CREATE TABLE t3 (t3_fld1 LONGTEXT);
1356
-
1357
- INSERT INTO t1 VALUES (REPEAT('a',300));
1358
- INSERT INTO t2 VALUES (REPEAT('b',65680));
1359
- INSERT INTO t3 VALUES (REPEAT('c',16777300));
1353
+ CREATE TABLE t1 (
1354
+ id INT(11) NOT NULL,
1355
+ x_param INT(11) DEFAULT NULL,
1356
+ PRIMARY KEY (id)
1357
+ ) ENGINE=MYISAM;
1360
1358
1361
- SELECT LENGTH(t1_fld1) FROM t1;
1362
- SELECT LENGTH(t2_fld1) FROM t2;
1363
- SELECT LENGTH(t3_fld1) FROM t3;
1359
+ ALTER TABLE t1 ADD COLUMN IF NOT EXISTS id INT,
1360
+ ADD COLUMN IF NOT EXISTS lol INT AFTER id;
1361
+ ALTER TABLE t1 ADD COLUMN IF NOT EXISTS lol INT AFTER id;
1362
+ ALTER TABLE t1 DROP COLUMN IF EXISTS lol;
1363
+ ALTER TABLE t1 DROP COLUMN IF EXISTS lol;
1364
1364
1365
- --echo # With strict mode
1366
- SET SQL_MODE='STRICT_ALL_TABLES';
1365
+ ALTER TABLE t1 ADD KEY IF NOT EXISTS x_param(x_param);
1366
+ ALTER TABLE t1 ADD KEY IF NOT EXISTS x_param(x_param);
1367
+ ALTER TABLE t1 MODIFY IF EXISTS lol INT;
1367
1368
1368
- --error ER_DATA_TOO_LONG
1369
- ALTER TABLE t1 CHANGE `t1_fld1` `my_t1_fld1` TINYTEXT;
1370
- --error ER_DATA_TOO_LONG
1371
- ALTER TABLE t2 CHANGE `t2_fld1` `my_t2_fld1` TEXT;
1372
- --error ER_DATA_TOO_LONG
1373
- ALTER TABLE t3 CHANGE `t3_fld1` `my_t3_fld1` MEDIUMTEXT;
1374
-
1375
- --echo # With non-strict mode
1376
- SET SQL_MODE='';
1369
+ DROP INDEX IF EXISTS x_param ON t1;
1370
+ DROP INDEX IF EXISTS x_param ON t1;
1371
+ CREATE INDEX IF NOT EXISTS x_param1 ON t1(x_param);
1372
+ CREATE INDEX IF NOT EXISTS x_param1 ON t1(x_param);
1373
+ SHOW CREATE TABLE t1;
1374
+ DROP TABLE t1;
1377
1375
1378
- ALTER TABLE t1 CHANGE `t1_fld1` `my_t1_fld1` TINYTEXT;
1379
- ALTER TABLE t2 CHANGE `t2_fld1` `my_t2_fld1` TEXT;
1380
- ALTER TABLE t3 CHANGE `t3_fld1` `my_t3_fld1` MEDIUMTEXT;
1376
+ CREATE TABLE t1 (
1377
+ id INT(11) NOT NULL,
1378
+ x_param INT(11) DEFAULT NULL,
1379
+ PRIMARY KEY (id)
1380
+ ) ENGINE=INNODB;
1381
1381
1382
- SELECT LENGTH(my_t1_fld1) FROM t1;
1383
- SELECT LENGTH(my_t2_fld1) FROM t2;
1384
- SELECT LENGTH(my_t3_fld1) FROM t3;
1382
+ CREATE TABLE t2 (
1383
+ id INT(11) NOT NULL) ENGINE=INNODB;
1385
1384
1386
- # Cleanup
1387
- --disconnect con1
1388
- --source include/wait_until_disconnected.inc
1385
+ ALTER TABLE t1 ADD COLUMN IF NOT EXISTS id INT,
1386
+ ADD COLUMN IF NOT EXISTS lol INT AFTER id;
1387
+ ALTER TABLE t1 ADD COLUMN IF NOT EXISTS lol INT AFTER id;
1388
+ ALTER TABLE t1 DROP COLUMN IF EXISTS lol;
1389
+ ALTER TABLE t1 DROP COLUMN IF EXISTS lol;
1389
1390
1390
- --connection default
1391
- DROP TABLE t1, t2, t3;
1391
+ ALTER TABLE t1 ADD KEY IF NOT EXISTS x_param(x_param);
1392
+ ALTER TABLE t1 ADD KEY IF NOT EXISTS x_param(x_param);
1393
+ ALTER TABLE t1 MODIFY IF EXISTS lol INT;
1392
1394
1393
- SET SQL_MODE=default;
1394
- SET GLOBAL max_allowed_packet=default;
1395
+ DROP INDEX IF EXISTS x_param ON t1;
1396
+ DROP INDEX IF EXISTS x_param ON t1;
1397
+ CREATE INDEX IF NOT EXISTS x_param1 ON t1(x_param);
1395
1398
CREATE INDEX IF NOT EXISTS x_param1 ON t1(x_param);
1396
1399
SHOW CREATE TABLE t1;
1397
1400
0 commit comments