mirror of
https://github.com/MariaDB/server.git
synced 2025-01-31 02:51:44 +01:00
313f18be5a
mysql-test/r/lowercase_table2.result: Updated result (The change happend because we don't try to open the table anymore as part of create table) mysql-test/suite/rpl/r/create_or_replace_mix.result: Fixed result file mysql-test/suite/rpl/r/create_or_replace_row.result: Fixed result file mysql-test/suite/rpl/r/create_or_replace_statement.result: Fixed result file mysql-test/suite/rpl/t/create_or_replace.inc: Drop open temporary table mysys/my_delete.c: Added missing newline plugin/metadata_lock_info/mysql-test/metadata_lock_info/r/user_lock.result: Fixed result (Lock names was before off by one. Was corrected by my previous patch) sql/sql_select.cc: Fixed compiler warnings by adding missing casts storage/connect/ha_connect.cc: Fixed compiler warnings storage/innobase/os/os0file.cc: Fixed compiler warnings storage/xtradb/btr/btr0btr.cc: Fixed compiler warnings storage/xtradb/handler/ha_innodb.cc: removed not used function strings/ctype-uca.c: Fixed compiler warnings support-files/compiler_warnings.supp: Added suppression for warnings that are wrong or are not serious andthat we don't plan to fix.
281 lines
8.3 KiB
Text
281 lines
8.3 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) 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:
|
|
Note 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 42S01: Table 't_bug44738_uppercase' already exists
|
|
# And should succeed after FLUSH TABLES.
|
|
flush tables;
|
|
create table t_bug44738_UPPERCASE (i int);
|
|
drop table t_bug44738_UPPERCASE;
|