1
0
mirror of https://github.com/MariaDB/server.git synced 2025-06-03 07:02:23 +03:00

7 Commits

Author SHA1 Message Date
Sergey Glukhov
58b7761ed8 Bug#41049 does syntax "grant" case insensitive?
Problem 1:
column_priv_hash uses utf8_general_ci collation
for the key comparison. The key consists of user name,
db name and table name. Thus user with privileges on table t1
is able to perform the same operation on T1
(the similar situation with user name & db name, see acl_cache).
So collation which is used for column_priv_hash and acl_cache
should be case sensitive.
The fix:
replace system_charset_info with my_charset_utf8_bin for
column_priv_hash and acl_cache
Problem 2:
The same situation with proc_priv_hash, func_priv_hash,
the only difference is that Routine name is case insensitive.
So the fix is to use my_charset_utf8_bin for
proc_priv_hash & func_priv_hash and convert routine name into lower
case before writing the element into the hash and
before looking up the key.
Additional fix: mysql.procs_priv Routine_name field collation
is changed to utf8_general_ci.
It's necessary for REVOKE command
(to find a field by routine hash element values).
Note: 
It's safe for lower-case-table-names mode too because
db name & table name are converted into lower case
(see GRANT_NAME::GRANT_NAME).
2009-10-27 12:09:19 +04:00
Georgi Kodinov
a0768d32c2 Bug#34159: mysql_install_db fails with sql_mode=TRADITIONAL
Reset session sql_mode before creating system tables as it
is done in the mysql_fix_privilege_tables.sql script.
2008-07-31 12:28:04 +03:00
msvensson@pilot.blaudden
74dfba96e7 Bug#27783 mysql_install_db should be able to install again, preserving existing files.
- Allow mysql_install_db to be run a second time in the same
   datadir to create and fill any missing system tables
2007-04-12 17:48:28 +02:00
msvensson@pilot.blaudden
e391b86fb0 Bug#20166 mysql-test-run.pl does not test system privilege tables creation
- Split out initial data in mysql_system_tables.sql to  it's own file
 - Use file from mysql_install_db and mysql-test-run
2007-02-28 14:26:58 +01:00
msvensson@pilot.blaudden
c66f902862 Bug#23669 mysql.proc not created in default install
- Remove DEFAULT values for blob's in mysql_system_tables.sql
2007-02-27 15:28:19 +01:00
msvensson@pilot.blaudden
394e9e86d6 Bug#20166 mysql-test-run.pl does not test system privilege tables creation
- Escape undercore character in mysql.db to only allow
  access test_% and not test%
2007-02-27 14:10:27 +01:00
msvensson@pilot.blaudden
c550a45522 Bug#20166 mysql-test-run.pl does not test system privilege tables creation
- Use mysql_system_tables.sql to create MySQL system tables in
   all places where we create them(mysql_install_db, mysql-test-run-pl
   and mysql_fix_privilege_tables.sql)
2007-02-26 11:49:24 +01:00