Current Path : /home/usr.opt/mysql57/mysql-test/r/ |
FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64 |
Current File : /home/usr.opt/mysql57/mysql-test/r/lowercase_table2.result |
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(11) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 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_$1 test 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(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 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)); 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; # Finally, let us check that another issue which was exposed by # the original test case is solved. I.e. that the table is not # created if there is an entry for it in TDC even though it was # removed from disk. create table t_bug44738_UPPERCASE (i int) engine = myisam; # Load table definition in TDC. 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 # Simulate manual removal of the table. # Check that still there is an entry for table in TDC. show open tables like 't_bug44738_%'; Database Table In_use Name_locked test t_bug44738_uppercase 0 0 # So attempt to create table with the same name should fail. create table t_bug44738_UPPERCASE (i int); ERROR HY000: Can't find file: 't_bug44738_uppercase' (errno: 2 - No such file or directory) # And should succeed after FLUSH TABLES. flush tables; 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;