diff options
author | unknown <jimw@mysql.com> | 2005-02-15 13:36:46 -0800 |
---|---|---|
committer | unknown <jimw@mysql.com> | 2005-02-15 13:36:46 -0800 |
commit | 2d2d4df7d28bc1826858b69d93a60cad76fe80d3 (patch) | |
tree | 522b4390d68f40906ba20d0532eda62e2f52cf68 /mysql-test/t | |
parent | 1b46843c10d1e5d2d6589acbb61cc1a3d8d9a4e1 (diff) | |
download | mariadb-git-2d2d4df7d28bc1826858b69d93a60cad76fe80d3.tar.gz |
Always lowercase database names from 'host' and 'db' grant tables when they
are loaded and lower_case_table_names is set, but issue a warning when it is
done. (Bug #7989)
sql/sql_acl.cc:
Lowercase database names in 'host' and 'db' grant tables when loading,
but issue a warning to the log about them.
Diffstat (limited to 'mysql-test/t')
-rw-r--r-- | mysql-test/t/lowercase_table_grant-master.opt | 1 | ||||
-rw-r--r-- | mysql-test/t/lowercase_table_grant.test | 25 |
2 files changed, 26 insertions, 0 deletions
diff --git a/mysql-test/t/lowercase_table_grant-master.opt b/mysql-test/t/lowercase_table_grant-master.opt new file mode 100644 index 00000000000..c718e2feb1b --- /dev/null +++ b/mysql-test/t/lowercase_table_grant-master.opt @@ -0,0 +1 @@ +--lower_case_table_names diff --git a/mysql-test/t/lowercase_table_grant.test b/mysql-test/t/lowercase_table_grant.test new file mode 100644 index 00000000000..5ac35c81c21 --- /dev/null +++ b/mysql-test/t/lowercase_table_grant.test @@ -0,0 +1,25 @@ +# Test of grants when lower_case_table_names is on +use mysql; + +# mixed-case database name for testing +create database MYSQLtest; + +# check that database name gets forced to lowercase +grant all on MySQLtest.* to mysqltest_1@localhost; +show grants for mysqltest_1@localhost; + +# now force it to mixed case, but see that it is lowercased in the acl cache +select * from db where user = 'mysqltest_1'; +update db set db = 'MYSQLtest' where db = 'mysqltest' and user = 'mysqltest_1' and host = 'localhost'; +flush privileges; +show grants for mysqltest_1@localhost; +select * from db where user = 'mysqltest_1'; + +# clear out the user we created +# +# can't use REVOKE because of the mixed-case database name +delete from db where db = 'MYSQLtest' and user = 'mysqltest_1' and host = 'localhost'; +flush privileges; +drop user mysqltest_1@localhost; + +drop database MYSQLtest; |