mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 20:42:30 +01:00
5321b3a57a
on lctn2 systems There was a local variable in get_all_tables() to store the "original" value of the database name as it can get lowercased depending on the lower_case_table_name value. get_all_tables() iterates over database names and for each database iterates over the tables in it. The "original" db name was assigned in the table names loop. Thus the first table is ok, but the second and subsequent tables get the lowercased name from processing the first table. Fixed by moving the assignment of the original database name from the inner (table name) to the outer (database name) loop. Test suite added.
207 lines
4.7 KiB
Text
207 lines
4.7 KiB
Text
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);
|
|
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);
|
|
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
|