mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-24 07:13:33 +03:00 
			
		
		
		
	in a multi-table update query. (Bug #9979) mysql-test/r/timezone_grant.result: Add new results mysql-test/t/timezone_grant.test: Add new test sql/sql_parse.cc: Make sure to check lex->time_zone_tables_used to determine if we are using additional tables.
		
			
				
	
	
		
			60 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 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;
 | |
| show grants for current_user();
 | |
| Grants for mysqltest_1@localhost
 | |
| GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost'
 | |
| GRANT ALL PRIVILEGES ON `test`.* TO 'mysqltest_1'@'localhost'
 | |
| set time_zone= '+00:00';
 | |
| set time_zone= 'Europe/Moscow';
 | |
| select convert_tz('2004-10-21 19:00:00', 'Europe/Moscow', 'UTC');
 | |
| convert_tz('2004-10-21 19:00:00', 'Europe/Moscow', 'UTC')
 | |
| 2004-10-21 15:00:00
 | |
| select convert_tz(b, 'Europe/Moscow', 'UTC') from t1;
 | |
| convert_tz(b, 'Europe/Moscow', 'UTC')
 | |
| 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);
 | |
| select * from mysql.time_zone_name;
 | |
| ERROR 42000: Access denied for user 'mysqltest_1'@'localhost' to database 'mysql'
 | |
| select Name, convert_tz('2004-10-21 19:00:00', Name, 'UTC') from mysql.time_zone_name;
 | |
| ERROR 42000: Access denied for user 'mysqltest_1'@'localhost' to database 'mysql'
 | |
| 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;
 | |
| show grants for current_user();
 | |
| Grants for mysqltest_1@localhost
 | |
| GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost'
 | |
| GRANT ALL PRIVILEGES ON `test`.`t2` TO 'mysqltest_1'@'localhost'
 | |
| GRANT ALL PRIVILEGES ON `test`.`t1` TO 'mysqltest_1'@'localhost'
 | |
| set time_zone= '+00:00';
 | |
| set time_zone= 'Europe/Moscow';
 | |
| select convert_tz('2004-11-31 12:00:00', 'Europe/Moscow', 'UTC');
 | |
| convert_tz('2004-11-31 12:00:00', 'Europe/Moscow', 'UTC')
 | |
| 2004-12-01 09:00:00
 | |
| select convert_tz(b, 'Europe/Moscow', 'UTC') from t1;
 | |
| convert_tz(b, 'Europe/Moscow', 'UTC')
 | |
| 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);
 | |
| select * from mysql.time_zone_name;
 | |
| ERROR 42000: SELECT command denied to user 'mysqltest_1'@'localhost' for table 'time_zone_name'
 | |
| select Name, convert_tz('2004-11-30 12:00:00', Name, 'UTC') from mysql.time_zone_name;
 | |
| ERROR 42000: SELECT command denied to user 'mysqltest_1'@'localhost' for table 'time_zone_name'
 | |
| drop table t1, t2;
 | |
| create table t1 (a int, b datetime);
 | |
| create table t2 (a int, b varchar(40));
 | |
| update t1 set b = '2005-01-01 10:00';
 | |
| update t1 set b = convert_tz(b, 'UTC', 'UTC');
 | |
| update t1 join t2 on (t1.a = t2.a) set t1.b = '2005-01-01 10:00' where t2.b = 'foo';
 | |
| update t1 join t2 on (t1.a = t2.a) set t1.b = convert_tz('2005-01-01 10:00','UTC','UTC') where t2.b = 'foo';
 | |
| 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;
 |