1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 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
|
DROP TABLE IF EXISTS t1,t2,t3,t2aA,t1Aa;
DROP DATABASE IF EXISTS `TEST_$1`;
DROP DATABASE IF EXISTS `test_$1`;
DROP DATABASE IF EXISTS mysqltest_LC2;
CREATE TABLE T1 (a int) ENGINE=MyISAM;
INSERT INTO T1 VALUES (1);
SHOW TABLES LIKE "T1";
Tables_in_test (T1)
T1
SHOW TABLES LIKE "t1";
Tables_in_test (t1)
T1
SHOW CREATE TABLE T1;
Table Create Table
T1 CREATE TABLE `T1` (
`a` int DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
RENAME TABLE T1 TO T2;
SHOW TABLES LIKE "T2";
Tables_in_test (T2)
T2
SELECT * FROM t2;
a
1
RENAME TABLE T2 TO t3;
SHOW TABLES LIKE "T3";
Tables_in_test (T3)
t3
RENAME TABLE T3 TO T1;
SHOW TABLES LIKE "T1";
Tables_in_test (T1)
T1
ALTER TABLE T1 add b int;
SHOW TABLES LIKE "T1";
Tables_in_test (T1)
T1
ALTER TABLE T1 RENAME T2;
SHOW TABLES LIKE "T2";
Tables_in_test (T2)
T2
LOCK TABLE T2 WRITE;
ALTER TABLE T2 drop b;
SHOW TABLES LIKE "T2";
Tables_in_test (T2)
T2
UNLOCK TABLES;
RENAME TABLE T2 TO T1;
SHOW TABLES LIKE "T1";
Tables_in_test (T1)
T1
SELECT * from T1;
a
1
DROP TABLE T1;
CREATE DATABASE `TEST_$1`;
SHOW DATABASES LIKE "TEST%";
Database (TEST%)
test
TEST_$1
DROP DATABASE `test_$1`;
CREATE TABLE T1 (a int) engine=innodb;
INSERT INTO T1 VALUES (1);
SHOW TABLES LIKE "T1";
Tables_in_test (T1)
T1
SHOW TABLES LIKE "t1";
Tables_in_test (t1)
T1
SHOW CREATE TABLE T1;
Table Create Table
T1 CREATE TABLE `T1` (
`a` int DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
RENAME TABLE T1 TO T2;
SHOW TABLES LIKE "T2";
Tables_in_test (T2)
T2
SELECT * FROM t2;
a
1
RENAME TABLE T2 TO t3;
SHOW TABLES LIKE "T3";
Tables_in_test (T3)
t3
RENAME TABLE T3 TO T1;
SHOW TABLES LIKE "T1";
Tables_in_test (T1)
T1
ALTER TABLE T1 add b int;
SHOW TABLES LIKE "T1";
Tables_in_test (T1)
T1
ALTER TABLE T1 RENAME T2;
SHOW TABLES LIKE "T2";
Tables_in_test (T2)
T2
LOCK TABLE T2 WRITE;
ALTER TABLE T2 drop b;
SHOW TABLES LIKE "T2";
Tables_in_test (T2)
T2
UNLOCK TABLES;
RENAME TABLE T2 TO T1;
SHOW TABLES LIKE "T1";
Tables_in_test (T1)
T1
SELECT * from T1;
a
1
DROP TABLE T1;
create table T1 (EVENT_ID int auto_increment primary key, LOCATION char(20));
insert into T1 values (NULL,"Mic-4"),(NULL,"Mic-5"),(NULL,"Mic-6");
SELECT LOCATION FROM T1 WHERE EVENT_ID=2 UNION ALL SELECT LOCATION FROM T1 WHERE EVENT_ID=3;
LOCATION
Mic-5
Mic-6
SELECT LOCATION FROM T1 WHERE EVENT_ID=2 UNION ALL SELECT LOCATION FROM T1 WHERE EVENT_ID=3;
LOCATION
Mic-5
Mic-6
SELECT LOCATION FROM T1 WHERE EVENT_ID=2 UNION ALL SELECT LOCATION FROM T1 WHERE EVENT_ID=3;
LOCATION
Mic-5
Mic-6
drop table T1;
create table T1 (A int);
alter table T1 add index (A);
show tables like 'T1%';
Tables_in_test (T1%)
T1
alter table t1 add index (A);
Warnings:
Warning 1831 Duplicate index 'A_2' defined on the table 'test.t1'. This is deprecated and will be disallowed in a future release.
show tables like 't1%';
Tables_in_test (t1%)
t1
drop table t1;
create temporary table T1(a int(11), b varchar(8));
Warnings:
Warning 1681 Integer display width is deprecated and will be removed in a future release.
insert into T1 values (1, 'abc');
select * from T1;
a b
1 abc
alter table T1 add index (a);
select * from T1;
a b
1 abc
drop table T1;
create database mysqltest_LC2;
use mysqltest_LC2;
create table myUC (i int);
insert into myUC values (1),(2),(3);
select * from myUC;
i
1
2
3
use test;
drop database mysqltest_LC2;
create database mysqltest_LC2;
use mysqltest_LC2;
create table myUC (i int);
select * from myUC;
i
use test;
drop database mysqltest_LC2;
create table t2aA (col1 int);
create table t1Aa (col1 int);
select t1Aa.col1 from t1aA,t2Aa where t1Aa.col1 = t2aA.col1;
col1
drop table t2aA, t1Aa;
create database mysqltest_LC2;
use mysqltest_LC2;
create table myUC (i int);
select TABLE_SCHEMA,TABLE_NAME FROM information_schema.TABLES
where TABLE_SCHEMA ='mysqltest_LC2';
TABLE_SCHEMA TABLE_NAME
mysqltest_LC2 myUC
use test;
drop database mysqltest_LC2;
#
# Bug #11758687: 50924: object names not resolved correctly
# on lctn2 systems
#
CREATE DATABASE BUP_XPFM_COMPAT_DB2;
CREATE TABLE BUP_XPFM_COMPAT_DB2.TABLE2 (c13 INT) DEFAULT CHARSET latin1;
CREATE TABLE BUP_XPFM_COMPAT_DB2.table1 (c13 INT) DEFAULT CHARSET latin1;
CREATE TABLE bup_xpfm_compat_db2.table3 (c13 INT) DEFAULT CHARSET latin1;
CREATE TRIGGER BUP_XPFM_COMPAT_DB2.trigger1 AFTER INSERT
ON BUP_XPFM_COMPAT_DB2.table1 FOR EACH ROW
update BUP_XPFM_COMPAT_DB2.table1 set c13=12;
|
CREATE TRIGGER BUP_XPFM_COMPAT_DB2.TRIGGER2 AFTER INSERT
ON BUP_XPFM_COMPAT_DB2.TABLE2 FOR EACH ROW
update BUP_XPFM_COMPAT_DB2.table1 set c13=12;
|
CREATE TRIGGER BUP_XPFM_COMPAT_DB2.TrigGer3 AFTER INSERT
ON BUP_XPFM_COMPAT_DB2.TaBle3 FOR EACH ROW
update BUP_XPFM_COMPAT_DB2.table1 set c13=12;
|
SELECT trigger_schema, trigger_name, event_object_table FROM
INFORMATION_SCHEMA.TRIGGERS
WHERE trigger_schema COLLATE utf8_bin = 'BUP_XPFM_COMPAT_DB2'
ORDER BY trigger_schema, trigger_name;
TRIGGER_SCHEMA TRIGGER_NAME EVENT_OBJECT_TABLE
BUP_XPFM_COMPAT_DB2 trigger1 table1
BUP_XPFM_COMPAT_DB2 TRIGGER2 TABLE2
BUP_XPFM_COMPAT_DB2 TrigGer3 table3
DROP DATABASE BUP_XPFM_COMPAT_DB2;
# End of 5.1 tests
#
# Test for bug #44738 "fill_schema_table_from_frm() opens tables without
# lowercasing table name". Due to not properly normalizing table names
# in lower_case_table_names modes in this function queries to I_S which
# were executed through it left entries with incorrect key in table
# definition cache. As result further queries to I_S that used this
# function produced stale results in cases when table definition was
# changed by a DDL statement. Also combination of this issue and a
# similar problem in CREATE TABLE (it also has peeked into table
# definition cache using non-normalized key) led to spurious
# ER_TABLE_EXISTS_ERROR errors when one tried to create table with the
# same name as a previously existing but dropped table.
#
drop database if exists mysqltest_UPPERCASE;
drop table if exists t_bug44738_UPPERCASE;
create database mysqltest_UPPERCASE;
use mysqltest_UPPERCASE;
create table t_bug44738_UPPERCASE (i int) comment='Old comment';
create table t_bug44738_lowercase (i int) comment='Old comment';
select table_schema, table_name, table_comment from information_schema.tables
where table_schema like 'mysqltest_%' and table_name like 't_bug44738_%'
order by table_name;
TABLE_SCHEMA TABLE_NAME TABLE_COMMENT
mysqltest_UPPERCASE t_bug44738_lowercase Old comment
mysqltest_UPPERCASE t_bug44738_UPPERCASE Old comment
alter table t_bug44738_UPPERCASE comment='New comment';
alter table t_bug44738_lowercase comment='New comment';
# There should be no stale entries in TDC for our tables after the
# above ALTER TABLE statements so new version of comments should be
# returned by the below query to I_S.
select table_schema, table_name, table_comment from information_schema.tables
where table_schema like 'mysqltest_%' and table_name like 't_bug44738_%'
order by table_name;
TABLE_SCHEMA TABLE_NAME TABLE_COMMENT
mysqltest_UPPERCASE t_bug44738_lowercase New comment
mysqltest_UPPERCASE t_bug44738_UPPERCASE New comment
drop database mysqltest_UPPERCASE;
use test;
# Let us check that the original test case which led to discovery
# of this problem also works.
create table t_bug44738_UPPERCASE (i int);
select table_schema, table_name, table_comment from information_schema.tables
where table_schema = 'test' and table_name like 't_bug44738_%';
TABLE_SCHEMA TABLE_NAME TABLE_COMMENT
test t_bug44738_UPPERCASE
drop table t_bug44738_UPPERCASE;
# After the above DROP TABLE there are no entries in TDC which correspond
# to our table and therefore the below statement should succeed.
create table t_bug44738_UPPERCASE (i int);
drop table t_bug44738_UPPERCASE;
# BUG#13702397 - 64211: 'CREATE TABLE ... LIKE ...'
# FAILS TO KEEP CASE
#
CREATE TABLE TestTable1 (a int);
SHOW TABLES;
Tables_in_test
TestTable1
CREATE TABLE TestTable2 LIKE TestTable1;
SHOW TABLES;
Tables_in_test
TestTable1
TestTable2
DROP TABLE TestTable1, TestTable2;
#
# Bug #19894615: CRASH WHEN CREATING A TABLE IN A SCHEMA THAT
# WAS DROPPED AND CREATED AGAIN
#
CREATE SCHEMA S1;
DROP SCHEMA S1;
CREATE SCHEMA S1;
CREATE TABLE S1.t1(i INT);
DROP TABLE S1.t1;
DROP SCHEMA S1;
#
# Bug #18895960: ASSERT IN OBJECT_CACHE.H LOADING_COMPLETED()
# IN MYSQL-TRUNK-WL6378
#
CREATE TABLE T1 (i INT);
RENAME TABLE T1 to T2;
RENAME TABLE T2 to T1;
SELECT * FROM T1;
i
DROP TABLE T1;
CREATE TABLE T1 (i INT) ENGINE= MyISAM;
CREATE TABLE T2 LIKE T1;
ALTER TABLE T2 ENGINE= InnoDB;
DROP TABLE T2;
RENAME TABLE T1 to T2;
SELECT * FROM T2;
i
DROP TABLE T2;
#
# Bug#24666169: I_S.TABLE_CONSTRAINTS.CONSTRAINT_NAME IS NOT UPDATED
# AFTER RENAME TABLE
#
CREATE TABLE t1(a INT PRIMARY KEY);
CREATE TABLE T2(a INT, FOREIGN KEY(a) REFERENCES t1(a));
SELECT constraint_name FROM information_schema.referential_constraints
WHERE table_name = 'T2' ORDER BY constraint_name;
CONSTRAINT_NAME
t2_ibfk_1
SELECT constraint_name FROM information_schema.table_constraints
WHERE table_name = 'T2' ORDER BY constraint_name;
CONSTRAINT_NAME
t2_ibfk_1
RENAME TABLE T2 TO T3;
SELECT constraint_name FROM information_schema.referential_constraints
WHERE table_name = 'T3' ORDER BY constraint_name;
CONSTRAINT_NAME
t3_ibfk_1
SELECT constraint_name FROM information_schema.table_constraints
WHERE table_name = 'T3' ORDER BY constraint_name;
CONSTRAINT_NAME
t3_ibfk_1
RENAME TABLE t3 TO T4;
SELECT constraint_name FROM information_schema.referential_constraints
WHERE table_name = 'T4' ORDER BY constraint_name;
CONSTRAINT_NAME
t4_ibfk_1
SELECT constraint_name FROM information_schema.table_constraints
WHERE table_name = 'T4' ORDER BY constraint_name;
CONSTRAINT_NAME
t4_ibfk_1
DROP TABLE T4;
CREATE TABLE T2(a INT, CONSTRAINT T2_ibfk_1 FOREIGN KEY(a) REFERENCES t1(a));
SELECT constraint_name FROM information_schema.referential_constraints
WHERE table_name = 'T2' ORDER BY constraint_name;
CONSTRAINT_NAME
T2_ibfk_1
SELECT constraint_name FROM information_schema.table_constraints
WHERE table_name = 'T2' ORDER BY constraint_name;
CONSTRAINT_NAME
T2_ibfk_1
RENAME TABLE T2 TO T3;
SELECT constraint_name FROM information_schema.referential_constraints
WHERE table_name = 'T3' ORDER BY constraint_name;
CONSTRAINT_NAME
T2_ibfk_1
SELECT constraint_name FROM information_schema.table_constraints
WHERE table_name = 'T3' ORDER BY constraint_name;
CONSTRAINT_NAME
T2_ibfk_1
ALTER TABLE T3 DROP FOREIGN KEY t2_ibfk_1;
DROP TABLE T3, t1;
#
# BUG#28351038 - MYSQL WORKBENCH ERROR GETTING DDL FOR OBJECT ON TABLES
# WITH AN UPPERCASE LETTER.
#
CREATE TABLE `T1` (
`id` INT NOT NULL AUTO_INCREMENT,
`creation_utc` DATETIME NOT NULL,
PRIMARY KEY (`id`));
CREATE TRIGGER `test`.`test_table_t1_before_insert` BEFORE INSERT ON `T1`
FOR EACH ROW
BEGIN
SET NEW.creation_utc = UTC_TIMESTAMP();
END
$$
# The SHOW CREATE TRIGGER command fails without the fix.
SHOW CREATE TRIGGER `test`.`test_table_t1_before_insert`;
Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
test_table_t1_before_insert ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` TRIGGER `test_table_t1_before_insert` BEFORE INSERT ON `t1` FOR EACH ROW BEGIN
SET NEW.creation_utc = UTC_TIMESTAMP();
END utf8mb4 utf8mb4_0900_ai_ci utf8mb4_0900_ai_ci #
DROP TABLE `T1`;
|