diff options
author | unknown <jimw@mysql.com> | 2005-04-01 19:17:15 -0800 |
---|---|---|
committer | unknown <jimw@mysql.com> | 2005-04-01 19:17:15 -0800 |
commit | 10e2581f4da842ed1ec4d02e4d9cbf67925adf22 (patch) | |
tree | 0f605570b31eecc8dd6b58343d5a07d32375e540 /mysql-test/t/timezone_grant.test | |
parent | ba8dc8e9f216e06533973bc2810751f0be42221d (diff) | |
parent | ee7f73d4533af5b66e2ba431ba33c496c089a5bc (diff) | |
download | mariadb-git-10e2581f4da842ed1ec4d02e4d9cbf67925adf22.tar.gz |
Merge embedded server testing changes from 4.1.
mysql-test/r/innodb.result:
Auto merged
BitKeeper/deleted/.del-select.result.es~240635f6a3f1a079:
Auto merged
BitKeeper/deleted/.del-type_float.result.es~a5533e4118eadc04:
Auto merged
BitKeeper/deleted/.del-type_ranges.result.es~bb77517f4c9dc978:
Auto merged
mysql-test/r/type_float.result:
Auto merged
mysql-test/r/variables.result:
Auto merged
mysql-test/t/alter_table.test:
Auto merged
mysql-test/t/connect.test:
Auto merged
mysql-test/t/grant2.test:
Auto merged
mysql-test/t/grant_cache.test:
Auto merged
mysql-test/t/innodb.test:
Auto merged
mysql-test/t/mix_innodb_myisam_binlog.test:
Auto merged
mysql-test/t/mysqlbinlog.test:
Auto merged
mysql-test/t/mysqlbinlog2.test:
Auto merged
mysql-test/t/mysqldump.test:
Auto merged
mysql-test/t/ps_1general.test:
Auto merged
mysql-test/t/select.test:
Auto merged
mysql-test/t/show_check.test:
Auto merged
mysql-test/t/system_mysql_db_fix.test:
Auto merged
mysql-test/t/type_blob.test:
Auto merged
mysql-test/t/type_float.test:
Auto merged
mysql-test/t/variables.test:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
mysql-test/mysql-test-run.sh:
Merge
mysql-test/r/alter_table.result:
Update results
mysql-test/r/ctype_ucs.result:
Update results
mysql-test/r/grant.result:
Update results
mysql-test/r/insert_select.result:
Update results
mysql-test/r/ps_1general.result:
Update results
mysql-test/r/select.result:
Update results
mysql-test/r/timezone2.result:
Update results
mysql-test/r/type_blob.result:
Update results
mysql-test/r/type_ranges.result:
Update results
mysql-test/r/user_var.result:
Update results
mysql-test/t/ctype_ucs.test:
Merge
mysql-test/t/grant.test:
Merge
mysql-test/t/insert_select.test:
Merge
mysql-test/t/timezone2.test:
Merge
mysql-test/t/type_ranges.test:
Merge
mysql-test/t/user_var.test:
Merge
Diffstat (limited to 'mysql-test/t/timezone_grant.test')
-rw-r--r-- | mysql-test/t/timezone_grant.test | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/mysql-test/t/timezone_grant.test b/mysql-test/t/timezone_grant.test new file mode 100644 index 00000000000..501315668f5 --- /dev/null +++ b/mysql-test/t/timezone_grant.test @@ -0,0 +1,71 @@ +# Embedded server testing does not support grants +-- source include/not_embedded.inc + +# +# Test for bug #6116 "SET time_zone := ... requires access to mysql.time_zone +# tables". We should allow implicit access to time zone description tables +# even for unprivileged users. +# + +# Let us prepare playground +delete from mysql.user where user like 'mysqltest\_%'; +delete from mysql.db where user like 'mysqltest\_%'; +delete from mysql.tables_priv where user like 'mysqltest\_%'; +delete from mysql.columns_priv where user like 'mysqltest\_%'; +flush privileges; +create table t1 (a int, b datetime); +create table t2 (c int, d datetime); + +grant all privileges on test.* to mysqltest_1@localhost; +connect (tzuser, localhost, mysqltest_1,,); +connection tzuser; +show grants for current_user(); +set time_zone= '+00:00'; +set time_zone= 'Europe/Moscow'; +select convert_tz('2004-10-21 19:00:00', 'Europe/Moscow', 'UTC'); +select convert_tz(b, 'Europe/Moscow', 'UTC') from t1; +# Let us also check whenever multi-update works ok +update t1, t2 set t1.b = convert_tz('2004-10-21 19:00:00', 'Europe/Moscow', 'UTC') + where t1.a = t2.c and t2.d = (select max(d) from t2); +# But still these two statements should not work: +--error 1044 +select * from mysql.time_zone_name; +--error 1044 +select Name, convert_tz('2004-10-21 19:00:00', Name, 'UTC') from mysql.time_zone_name; + +# +# Test for bug #6765 "Implicit access to time zone description tables +# requires privileges for them if some table or column level grants +# present" +# +connection default; +# Let use some table-level grants instead of db-level +# to make life more interesting +delete from mysql.db where user like 'mysqltest\_%'; +flush privileges; +grant all privileges on test.t1 to mysqltest_1@localhost; +grant all privileges on test.t2 to mysqltest_1@localhost; +# The test itself is almost the same as previous one +connect (tzuser2, localhost, mysqltest_1,,); +connection tzuser2; +show grants for current_user(); +set time_zone= '+00:00'; +set time_zone= 'Europe/Moscow'; +select convert_tz('2004-11-31 12:00:00', 'Europe/Moscow', 'UTC'); +select convert_tz(b, 'Europe/Moscow', 'UTC') from t1; +update t1, t2 set t1.b = convert_tz('2004-11-30 12:00:00', 'Europe/Moscow', 'UTC') + where t1.a = t2.c and t2.d = (select max(d) from t2); +# Again these two statements should not work (but with different errors): +--error 1142 +select * from mysql.time_zone_name; +--error 1142 +select Name, convert_tz('2004-11-30 12:00:00', Name, 'UTC') from mysql.time_zone_name; + +# Clean-up +connection default; +delete from mysql.user where user like 'mysqltest\_%'; +delete from mysql.db where user like 'mysqltest\_%'; +delete from mysql.tables_priv where user like 'mysqltest\_%'; +flush privileges; +drop table t1, t2; + |