80 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			80 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
|  | # Embedded server doesn't support external clients | ||
|  | --source include/not_embedded.inc | ||
|  | 
 | ||
|  | # Don't run this test if $MYSQL_FIX_PRIVILEGE_TABLES isn't set | ||
|  | # to the location of mysql_fix_privilege_tables.sql | ||
|  | if (`SELECT LENGTH("$MYSQL_FIX_PRIVILEGE_TABLES") <= 0`) | ||
|  | { | ||
|  |   skip Test need MYSQL_FIX_PRIVILEGE_TABLES; | ||
|  | } | ||
|  | 
 | ||
|  | # | ||
|  | # This is the test for mysql_fix_privilege_tables | ||
|  | # It checks that a system tables from mysql 4.1.23 | ||
|  | # can be upgraded to current system table format | ||
|  | # | ||
|  | # Note: If this test fails, don't be confused about the errors reported | ||
|  | # by mysql-test-run This shows warnings generated by | ||
|  | # mysql_fix_system_tables which should be ignored. | ||
|  | # Instead, concentrate on the errors in r/system_mysql_db.reject | ||
|  | 
 | ||
|  | --disable_warnings | ||
|  | drop table if exists t1,t1aa,t2aa; | ||
|  | --enable_warnings | ||
|  | 
 | ||
|  | # | ||
|  | # Bug #20589 Missing some table level privileges after upgrade | ||
|  | # | ||
|  | # Add some grants that should survive the "upgrade" | ||
|  | 
 | ||
|  | --disable_warnings | ||
|  | DROP DATABASE IF EXISTS testdb; | ||
|  | --enable_warnings | ||
|  | CREATE DATABASE testdb; | ||
|  | CREATE TABLE testdb.t1 ( | ||
|  |   c1 INT, | ||
|  |   c3 INT NOT NULL AUTO_INCREMENT PRIMARY KEY); | ||
|  | 
 | ||
|  | CREATE VIEW testdb.v1 AS | ||
|  |         SELECT * FROM testdb.t1; | ||
|  | 
 | ||
|  | GRANT CREATE VIEW, SHOW VIEW ON testdb.v1 TO 'show_view_tbl'@'localhost'; | ||
|  | SHOW GRANTS FOR 'show_view_tbl'@'localhost'; | ||
|  | echo; | ||
|  | 
 | ||
|  | # Some extra GRANTS for more complete test | ||
|  | GRANT SELECT(c1) on testdb.v1 to 'select_only_c1'@localhost; | ||
|  | SHOW GRANTS FOR 'select_only_c1'@'localhost'; | ||
|  | echo; | ||
|  | 
 | ||
|  | -- disable_result_log | ||
|  | -- disable_query_log | ||
|  | 
 | ||
|  | # Run the mysql_fix_privilege_tables.sql using "mysql --force" | ||
|  | # Determine the number of open sessions | ||
|  | --source include/count_sessions.inc | ||
|  | --exec $MYSQL --force mysql < $MYSQL_FIX_PRIVILEGE_TABLES > $MYSQLTEST_VARDIR/tmp/fix_priv_tables.log 2>&1 | ||
|  | --remove_file $MYSQLTEST_VARDIR/tmp/fix_priv_tables.log | ||
|  | # Wait till the number of open sessions is <= the number before the run with $MYSQL | ||
|  | # = The session caused by mysql has finished its disconnect | ||
|  | --source include/wait_until_count_sessions.inc | ||
|  | 
 | ||
|  | -- enable_query_log | ||
|  | -- enable_result_log | ||
|  | 
 | ||
|  | echo "after fix privs"; | ||
|  | 
 | ||
|  | SHOW GRANTS FOR 'show_view_tbl'@'localhost'; | ||
|  | echo; | ||
|  | SHOW GRANTS FOR 'select_only_c1'@'localhost'; | ||
|  | echo; | ||
|  | 
 | ||
|  | DROP USER 'show_view_tbl'@'localhost'; | ||
|  | DROP USER 'select_only_c1'@'localhost'; | ||
|  | 
 | ||
|  | DROP VIEW testdb.v1; | ||
|  | DROP TABLE testdb.t1; | ||
|  | DROP DATABASE testdb; | ||
|  | 
 | ||
|  | # End of 4.1 tests |