1
2#
3# Specific tests for case sensitive file systems
4# i.e. lower_case_filesystem=OFF
5#
6-- source include/have_case_sensitive_file_system.inc
7-- source include/not_embedded.inc
8-- source include/have_lowercase0.inc
9
10set @orig_sql_mode_session= @@SESSION.sql_mode;
11set @orig_sql_mode_global= @@GLOBAL.sql_mode;
12set GLOBAL sql_mode= (select replace(@@GLOBAL.sql_mode,'NO_AUTO_CREATE_USER',''));
13set SESSION sql_mode= (select replace(@@SESSION.sql_mode,'NO_AUTO_CREATE_USER',''));
14
15connect (master,localhost,root,,);
16connection master;
17create database d1;
18grant all on d1.* to 'sample'@'localhost' identified by 'password';
19flush privileges;
20
21connect (sample,localhost,sample,password,d1);
22connection sample;
23select database();
24--error ER_DBACCESS_DENIED_ERROR
25create database d2;
26--error ER_DBACCESS_DENIED_ERROR
27create database D1;
28disconnect sample;
29--source include/wait_until_disconnected.inc
30
31connection master;
32drop user 'sample'@'localhost';
33drop database if exists d1;
34disconnect master;
35--source include/wait_until_disconnected.inc
36connection default;
37
38# End of 4.1 tests
39
40#
41# Bug#41049 does syntax "grant" case insensitive?
42#
43CREATE DATABASE d1;
44USE d1;
45CREATE TABLE T1(f1 INT);
46CREATE TABLE t1(f1 INT);
47GRANT SELECT ON T1 to user_1@localhost;
48
49connect (con1,localhost,user_1,,d1);
50--error ER_TABLEACCESS_DENIED_ERROR
51select * from t1;
52select * from T1;
53connection default;
54GRANT SELECT ON t1 to user_1@localhost;
55connection con1;
56--sorted_result
57select * from information_schema.table_privileges;
58connection default;
59disconnect con1;
60
61REVOKE ALL PRIVILEGES, GRANT OPTION FROM user_1@localhost;
62DROP USER user_1@localhost;
63DROP DATABASE d1;
64USE test;
65
66CREATE DATABASE db1;
67USE db1;
68CREATE PROCEDURE p1() BEGIN END;
69CREATE FUNCTION f1(i INT) RETURNS INT RETURN i+1;
70
71GRANT USAGE ON db1.* to user_1@localhost;
72GRANT EXECUTE ON PROCEDURE db1.P1 to user_1@localhost;
73GRANT EXECUTE ON FUNCTION db1.f1 to user_1@localhost;
74GRANT UPDATE ON db1.* to USER_1@localhost;
75
76connect (con1,localhost,user_1,,db1);
77call p1();
78call P1();
79select f1(1);
80connect (con2,localhost,USER_1,,db1);
81--error ER_PROCACCESS_DENIED_ERROR
82call p1();
83--error ER_PROCACCESS_DENIED_ERROR
84call P1();
85--error ER_PROCACCESS_DENIED_ERROR
86select f1(1);
87
88connection default;
89disconnect con1;
90disconnect con2;
91
92REVOKE ALL PRIVILEGES, GRANT OPTION FROM user_1@localhost;
93REVOKE ALL PRIVILEGES, GRANT OPTION FROM USER_1@localhost;
94DROP FUNCTION f1;
95DROP PROCEDURE p1;
96DROP USER user_1@localhost;
97DROP USER USER_1@localhost;
98DROP DATABASE db1;
99use test;
100
101set GLOBAL sql_mode= @orig_sql_mode_global;
102set SESSION sql_mode= @orig_sql_mode_session;
103
104# End of 5.0 tests
105
106
107--echo #
108--echo # Extra test coverage for Bug#56595 RENAME TABLE causes assert on OS X
109--echo #
110
111CREATE TABLE t1(a INT);
112CREATE TRIGGER t1_bi BEFORE INSERT ON t1 FOR EACH ROW SET new.a= 1;
113RENAME TABLE t1 TO T1;
114ALTER TABLE T1 RENAME t1;
115DROP TABLE t1;
116