Loading mysql-test/r/information_schema.result +37 −24 Original line number Diff line number Diff line Loading @@ -912,58 +912,62 @@ grant select (f1) on mysqltest.t1 to user1@localhost; grant select on mysqltest.t2 to user2@localhost; grant select on mysqltest.* to user3@localhost; grant select on *.* to user4@localhost; select * from information_schema.column_privileges; select * from information_schema.column_privileges order by grantee; GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE 'user1'@'localhost' NULL mysqltest t1 f1 SELECT NO select * from information_schema.table_privileges; select * from information_schema.table_privileges order by grantee; GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE select * from information_schema.schema_privileges; select * from information_schema.schema_privileges order by grantee; GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE select * from information_schema.user_privileges; select * from information_schema.user_privileges order by grantee; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE 'user1'@'localhost' NULL USAGE NO show grants; Grants for user1@localhost GRANT USAGE ON *.* TO 'user1'@'localhost' GRANT SELECT (f1) ON `mysqltest`.`t1` TO 'user1'@'localhost' select * from information_schema.column_privileges; select * from information_schema.column_privileges order by grantee; GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE select * from information_schema.table_privileges; select * from information_schema.table_privileges order by grantee; GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE 'user2'@'localhost' NULL mysqltest t2 SELECT NO select * from information_schema.schema_privileges; select * from information_schema.schema_privileges order by grantee; GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE select * from information_schema.user_privileges; select * from information_schema.user_privileges order by grantee; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE 'user2'@'localhost' NULL USAGE NO show grants; Grants for user2@localhost GRANT USAGE ON *.* TO 'user2'@'localhost' GRANT SELECT ON `mysqltest`.`t2` TO 'user2'@'localhost' select * from information_schema.column_privileges; select * from information_schema.column_privileges order by grantee; GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE select * from information_schema.table_privileges; select * from information_schema.table_privileges order by grantee; GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE select * from information_schema.schema_privileges; select * from information_schema.schema_privileges order by grantee; GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE 'user3'@'localhost' NULL mysqltest SELECT NO select * from information_schema.user_privileges; select * from information_schema.user_privileges order by grantee; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE 'user3'@'localhost' NULL USAGE NO show grants; Grants for user3@localhost GRANT USAGE ON *.* TO 'user3'@'localhost' GRANT SELECT ON `mysqltest`.* TO 'user3'@'localhost' select * from information_schema.column_privileges where grantee like '%user%'; select * from information_schema.column_privileges where grantee like '%user%' order by grantee; GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE 'user1'@'localhost' NULL mysqltest t1 f1 SELECT NO select * from information_schema.table_privileges where grantee like '%user%'; select * from information_schema.table_privileges where grantee like '%user%' order by grantee; GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE 'user2'@'localhost' NULL mysqltest t2 SELECT NO select * from information_schema.schema_privileges where grantee like '%user%'; select * from information_schema.schema_privileges where grantee like '%user%' order by grantee; GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE 'user3'@'localhost' NULL mysqltest SELECT NO select * from information_schema.user_privileges where grantee like '%user%'; select * from information_schema.user_privileges where grantee like '%user%' order by grantee; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE 'user1'@'localhost' NULL USAGE NO 'user2'@'localhost' NULL USAGE NO Loading Loading @@ -1154,14 +1158,6 @@ routine_name delete from proc where name=''; use test; select * from information_schema.engines WHERE ENGINE="MyISAM"; ENGINE SUPPORT COMMENT TRANSACTIONS XA SAVEPOINTS MyISAM ENABLED Default engine as of MySQL 3.23 with great performance NO NO NO grant select on *.* to user3148@localhost; select user,db from information_schema.processlist; user db user3148 test drop user user3148@localhost; grant select on test.* to mysqltest_1@localhost; create table t1 (id int); create view v1 as select * from t1; Loading @@ -1175,3 +1171,20 @@ NULL test v2 select 1 AS `1` NONE NO mysqltest_1@localhost DEFINER drop view v1, v2; drop table t1; drop user mysqltest_1@localhost; set @a:= '.'; create table t1(f1 char(5)); create table t2(f1 char(5)); select concat(@a, table_name), @a, table_name from information_schema.tables where table_schema = 'test'; concat(@a, table_name) @a table_name .t1 . t1 .t2 . t2 drop table t1,t2; select * from information_schema.engines WHERE ENGINE="MyISAM"; ENGINE SUPPORT COMMENT TRANSACTIONS XA SAVEPOINTS MyISAM ENABLED Default engine as of MySQL 3.23 with great performance NO NO NO grant select on *.* to user3148@localhost; select user,db from information_schema.processlist; user db user3148 test drop user user3148@localhost; mysql-test/r/lowercase_table2.result +9 −0 Original line number Diff line number Diff line Loading @@ -165,3 +165,12 @@ 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; mysql-test/t/information_schema.test +48 −35 Original line number Diff line number Diff line Loading @@ -580,28 +580,32 @@ connect (con2,localhost,user2,,mysqltest); connect (con3,localhost,user3,,mysqltest); connect (con4,localhost,user4,,); connection con1; select * from information_schema.column_privileges; select * from information_schema.table_privileges; select * from information_schema.schema_privileges; select * from information_schema.user_privileges; select * from information_schema.column_privileges order by grantee; select * from information_schema.table_privileges order by grantee; select * from information_schema.schema_privileges order by grantee; select * from information_schema.user_privileges order by grantee; show grants; connection con2; select * from information_schema.column_privileges; select * from information_schema.table_privileges; select * from information_schema.schema_privileges; select * from information_schema.user_privileges; select * from information_schema.column_privileges order by grantee; select * from information_schema.table_privileges order by grantee; select * from information_schema.schema_privileges order by grantee; select * from information_schema.user_privileges order by grantee; show grants; connection con3; select * from information_schema.column_privileges; select * from information_schema.table_privileges; select * from information_schema.schema_privileges; select * from information_schema.user_privileges; select * from information_schema.column_privileges order by grantee; select * from information_schema.table_privileges order by grantee; select * from information_schema.schema_privileges order by grantee; select * from information_schema.user_privileges order by grantee; show grants; connection con4; select * from information_schema.column_privileges where grantee like '%user%'; select * from information_schema.table_privileges where grantee like '%user%'; select * from information_schema.schema_privileges where grantee like '%user%'; select * from information_schema.user_privileges where grantee like '%user%'; select * from information_schema.column_privileges where grantee like '%user%' order by grantee; select * from information_schema.table_privileges where grantee like '%user%' order by grantee; select * from information_schema.schema_privileges where grantee like '%user%' order by grantee; select * from information_schema.user_privileges where grantee like '%user%' order by grantee; show grants; connection default; drop user user1@localhost, user2@localhost, user3@localhost, user4@localhost; Loading Loading @@ -824,25 +828,6 @@ select routine_name from information_schema.routines; delete from proc where name=''; use test; # # End of 5.0 tests. # # Show engines # select * from information_schema.engines WHERE ENGINE="MyISAM"; # # INFORMATION_SCHEMA.PROCESSLIST # grant select on *.* to user3148@localhost; connect (con3148,localhost,user3148,,test); connection con3148; select user,db from information_schema.processlist; connection default; drop user user3148@localhost; # # Bug#16681 information_schema shows forbidden VIEW details # Loading @@ -862,3 +847,31 @@ drop view v1, v2; drop table t1; drop user mysqltest_1@localhost; # # Bug#19599 duplication of information_schema column value in a CONCAT expr with user var # set @a:= '.'; create table t1(f1 char(5)); create table t2(f1 char(5)); select concat(@a, table_name), @a, table_name from information_schema.tables where table_schema = 'test'; drop table t1,t2; # End of 5.0 tests. # # Show engines # select * from information_schema.engines WHERE ENGINE="MyISAM"; # # INFORMATION_SCHEMA.PROCESSLIST # grant select on *.* to user3148@localhost; connect (con3148,localhost,user3148,,test); connection con3148; select user,db from information_schema.processlist; connection default; drop user user3148@localhost; mysql-test/t/lowercase_table2.test +11 −0 Original line number Diff line number Diff line Loading @@ -139,3 +139,14 @@ select t1Aa.col1 from t1aA,t2Aa where t1Aa.col1 = t2aA.col1; drop table t2aA, t1Aa; # End of 4.1 tests # # Bug#17661 information_schema.SCHEMATA returns uppercase with lower_case_table_names = 1 # 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'; use test; drop database mysqltest_LC2; sql/item_strfunc.h +1 −0 Original line number Diff line number Diff line Loading @@ -691,6 +691,7 @@ class Item_func_conv_charset :public Item_str_func str->charset(), conv_charset, &errors)) null_value= 1; use_cached_value= 1; str_value.mark_as_const(); safe= (errors == 0); } else Loading Loading
mysql-test/r/information_schema.result +37 −24 Original line number Diff line number Diff line Loading @@ -912,58 +912,62 @@ grant select (f1) on mysqltest.t1 to user1@localhost; grant select on mysqltest.t2 to user2@localhost; grant select on mysqltest.* to user3@localhost; grant select on *.* to user4@localhost; select * from information_schema.column_privileges; select * from information_schema.column_privileges order by grantee; GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE 'user1'@'localhost' NULL mysqltest t1 f1 SELECT NO select * from information_schema.table_privileges; select * from information_schema.table_privileges order by grantee; GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE select * from information_schema.schema_privileges; select * from information_schema.schema_privileges order by grantee; GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE select * from information_schema.user_privileges; select * from information_schema.user_privileges order by grantee; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE 'user1'@'localhost' NULL USAGE NO show grants; Grants for user1@localhost GRANT USAGE ON *.* TO 'user1'@'localhost' GRANT SELECT (f1) ON `mysqltest`.`t1` TO 'user1'@'localhost' select * from information_schema.column_privileges; select * from information_schema.column_privileges order by grantee; GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE select * from information_schema.table_privileges; select * from information_schema.table_privileges order by grantee; GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE 'user2'@'localhost' NULL mysqltest t2 SELECT NO select * from information_schema.schema_privileges; select * from information_schema.schema_privileges order by grantee; GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE select * from information_schema.user_privileges; select * from information_schema.user_privileges order by grantee; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE 'user2'@'localhost' NULL USAGE NO show grants; Grants for user2@localhost GRANT USAGE ON *.* TO 'user2'@'localhost' GRANT SELECT ON `mysqltest`.`t2` TO 'user2'@'localhost' select * from information_schema.column_privileges; select * from information_schema.column_privileges order by grantee; GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE select * from information_schema.table_privileges; select * from information_schema.table_privileges order by grantee; GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE select * from information_schema.schema_privileges; select * from information_schema.schema_privileges order by grantee; GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE 'user3'@'localhost' NULL mysqltest SELECT NO select * from information_schema.user_privileges; select * from information_schema.user_privileges order by grantee; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE 'user3'@'localhost' NULL USAGE NO show grants; Grants for user3@localhost GRANT USAGE ON *.* TO 'user3'@'localhost' GRANT SELECT ON `mysqltest`.* TO 'user3'@'localhost' select * from information_schema.column_privileges where grantee like '%user%'; select * from information_schema.column_privileges where grantee like '%user%' order by grantee; GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME PRIVILEGE_TYPE IS_GRANTABLE 'user1'@'localhost' NULL mysqltest t1 f1 SELECT NO select * from information_schema.table_privileges where grantee like '%user%'; select * from information_schema.table_privileges where grantee like '%user%' order by grantee; GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE 'user2'@'localhost' NULL mysqltest t2 SELECT NO select * from information_schema.schema_privileges where grantee like '%user%'; select * from information_schema.schema_privileges where grantee like '%user%' order by grantee; GRANTEE TABLE_CATALOG TABLE_SCHEMA PRIVILEGE_TYPE IS_GRANTABLE 'user3'@'localhost' NULL mysqltest SELECT NO select * from information_schema.user_privileges where grantee like '%user%'; select * from information_schema.user_privileges where grantee like '%user%' order by grantee; GRANTEE TABLE_CATALOG PRIVILEGE_TYPE IS_GRANTABLE 'user1'@'localhost' NULL USAGE NO 'user2'@'localhost' NULL USAGE NO Loading Loading @@ -1154,14 +1158,6 @@ routine_name delete from proc where name=''; use test; select * from information_schema.engines WHERE ENGINE="MyISAM"; ENGINE SUPPORT COMMENT TRANSACTIONS XA SAVEPOINTS MyISAM ENABLED Default engine as of MySQL 3.23 with great performance NO NO NO grant select on *.* to user3148@localhost; select user,db from information_schema.processlist; user db user3148 test drop user user3148@localhost; grant select on test.* to mysqltest_1@localhost; create table t1 (id int); create view v1 as select * from t1; Loading @@ -1175,3 +1171,20 @@ NULL test v2 select 1 AS `1` NONE NO mysqltest_1@localhost DEFINER drop view v1, v2; drop table t1; drop user mysqltest_1@localhost; set @a:= '.'; create table t1(f1 char(5)); create table t2(f1 char(5)); select concat(@a, table_name), @a, table_name from information_schema.tables where table_schema = 'test'; concat(@a, table_name) @a table_name .t1 . t1 .t2 . t2 drop table t1,t2; select * from information_schema.engines WHERE ENGINE="MyISAM"; ENGINE SUPPORT COMMENT TRANSACTIONS XA SAVEPOINTS MyISAM ENABLED Default engine as of MySQL 3.23 with great performance NO NO NO grant select on *.* to user3148@localhost; select user,db from information_schema.processlist; user db user3148 test drop user user3148@localhost;
mysql-test/r/lowercase_table2.result +9 −0 Original line number Diff line number Diff line Loading @@ -165,3 +165,12 @@ 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;
mysql-test/t/information_schema.test +48 −35 Original line number Diff line number Diff line Loading @@ -580,28 +580,32 @@ connect (con2,localhost,user2,,mysqltest); connect (con3,localhost,user3,,mysqltest); connect (con4,localhost,user4,,); connection con1; select * from information_schema.column_privileges; select * from information_schema.table_privileges; select * from information_schema.schema_privileges; select * from information_schema.user_privileges; select * from information_schema.column_privileges order by grantee; select * from information_schema.table_privileges order by grantee; select * from information_schema.schema_privileges order by grantee; select * from information_schema.user_privileges order by grantee; show grants; connection con2; select * from information_schema.column_privileges; select * from information_schema.table_privileges; select * from information_schema.schema_privileges; select * from information_schema.user_privileges; select * from information_schema.column_privileges order by grantee; select * from information_schema.table_privileges order by grantee; select * from information_schema.schema_privileges order by grantee; select * from information_schema.user_privileges order by grantee; show grants; connection con3; select * from information_schema.column_privileges; select * from information_schema.table_privileges; select * from information_schema.schema_privileges; select * from information_schema.user_privileges; select * from information_schema.column_privileges order by grantee; select * from information_schema.table_privileges order by grantee; select * from information_schema.schema_privileges order by grantee; select * from information_schema.user_privileges order by grantee; show grants; connection con4; select * from information_schema.column_privileges where grantee like '%user%'; select * from information_schema.table_privileges where grantee like '%user%'; select * from information_schema.schema_privileges where grantee like '%user%'; select * from information_schema.user_privileges where grantee like '%user%'; select * from information_schema.column_privileges where grantee like '%user%' order by grantee; select * from information_schema.table_privileges where grantee like '%user%' order by grantee; select * from information_schema.schema_privileges where grantee like '%user%' order by grantee; select * from information_schema.user_privileges where grantee like '%user%' order by grantee; show grants; connection default; drop user user1@localhost, user2@localhost, user3@localhost, user4@localhost; Loading Loading @@ -824,25 +828,6 @@ select routine_name from information_schema.routines; delete from proc where name=''; use test; # # End of 5.0 tests. # # Show engines # select * from information_schema.engines WHERE ENGINE="MyISAM"; # # INFORMATION_SCHEMA.PROCESSLIST # grant select on *.* to user3148@localhost; connect (con3148,localhost,user3148,,test); connection con3148; select user,db from information_schema.processlist; connection default; drop user user3148@localhost; # # Bug#16681 information_schema shows forbidden VIEW details # Loading @@ -862,3 +847,31 @@ drop view v1, v2; drop table t1; drop user mysqltest_1@localhost; # # Bug#19599 duplication of information_schema column value in a CONCAT expr with user var # set @a:= '.'; create table t1(f1 char(5)); create table t2(f1 char(5)); select concat(@a, table_name), @a, table_name from information_schema.tables where table_schema = 'test'; drop table t1,t2; # End of 5.0 tests. # # Show engines # select * from information_schema.engines WHERE ENGINE="MyISAM"; # # INFORMATION_SCHEMA.PROCESSLIST # grant select on *.* to user3148@localhost; connect (con3148,localhost,user3148,,test); connection con3148; select user,db from information_schema.processlist; connection default; drop user user3148@localhost;
mysql-test/t/lowercase_table2.test +11 −0 Original line number Diff line number Diff line Loading @@ -139,3 +139,14 @@ select t1Aa.col1 from t1aA,t2Aa where t1Aa.col1 = t2aA.col1; drop table t2aA, t1Aa; # End of 4.1 tests # # Bug#17661 information_schema.SCHEMATA returns uppercase with lower_case_table_names = 1 # 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'; use test; drop database mysqltest_LC2;
sql/item_strfunc.h +1 −0 Original line number Diff line number Diff line Loading @@ -691,6 +691,7 @@ class Item_func_conv_charset :public Item_str_func str->charset(), conv_charset, &errors)) null_value= 1; use_cached_value= 1; str_value.mark_as_const(); safe= (errors == 0); } else Loading