mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-30 04:26:45 +03:00 
			
		
		
		
	mysql_fix_privilege_tables.s's ability to convert the system tables as of 3.20 to current system table format Add similar test for 4.1.23 tables - but use "mysql < mysql_fix_privilege_tables.sql" so it can be run on any platform. mysql-test/t/system_mysql_db_fix30020-master.opt: Rename: mysql-test/t/system_mysql_db_fix-master.opt -> mysql-test/t/system_mysql_db_fix30020-master.opt mysql-test/mysql-test-run.pl: Find mysql_fix_privilege_tables.sql and assign it's path and name to $MYSQL_FIX_PRIVILEGE_TABLES mysql-test/t/system_mysql_db_fix30020.test: Send output to var/log/system_mysql_db_fix30020.err Add some more comments mysql-test/t/system_mysql_db_fix40123-master.opt: New BitKeeper file ``mysql-test/t/system_mysql_db_fix40123-master.opt'' mysql-test/t/system_mysql_db_fix40123.test: New BitKeeper file ``mysql-test/t/system_mysql_db_fix40123.test''
		
			
				
	
	
		
			102 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			102 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # Embedded server doesn't support external clients
 | |
| --source include/not_embedded.inc
 | |
| 
 | |
| # Windows doesn't support execution of shell scripts (to fix!!)
 | |
| --source include/not_windows.inc
 | |
| 
 | |
| #
 | |
| # This is the test for mysql_fix_privilege_tables
 | |
| # It checks that a system tables from mysql 3.20
 | |
| # 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
 | |
| 
 | |
| -- disable_result_log
 | |
| -- disable_query_log
 | |
| 
 | |
| use test;
 | |
| 
 | |
| # create system tables as in mysql-3.20
 | |
| 
 | |
| --disable_warnings
 | |
| CREATE TABLE db (
 | |
|   Host char(60) binary DEFAULT '' NOT NULL,
 | |
|   Db char(32) binary DEFAULT '' NOT NULL,
 | |
|   User char(16) binary DEFAULT '' NOT NULL,
 | |
|   Select_priv enum('N','Y') DEFAULT 'N' NOT NULL,
 | |
|   Insert_priv enum('N','Y') DEFAULT 'N' NOT NULL,
 | |
|   Update_priv enum('N','Y') DEFAULT 'N' NOT NULL,
 | |
|   Delete_priv enum('N','Y') DEFAULT 'N' NOT NULL,
 | |
|   Create_priv enum('N','Y') DEFAULT 'N' NOT NULL,
 | |
|   Drop_priv enum('N','Y') DEFAULT 'N' NOT NULL,
 | |
|   PRIMARY KEY Host (Host,Db,User),
 | |
|   KEY User (User)
 | |
| )
 | |
| type=ISAM;
 | |
| --enable_warnings
 | |
| 
 | |
| INSERT INTO db VALUES ('%','test',   '','Y','Y','Y','Y','Y','Y');
 | |
| INSERT INTO db VALUES ('%','test\_%','','Y','Y','Y','Y','Y','Y');
 | |
| 
 | |
| --disable_warnings
 | |
| CREATE TABLE host (
 | |
|   Host char(60) binary DEFAULT '' NOT NULL,
 | |
|   Db char(32) binary DEFAULT '' NOT NULL,
 | |
|   Select_priv enum('N','Y') DEFAULT 'N' NOT NULL,
 | |
|   Insert_priv enum('N','Y') DEFAULT 'N' NOT NULL,
 | |
|   Update_priv enum('N','Y') DEFAULT 'N' NOT NULL,
 | |
|   Delete_priv enum('N','Y') DEFAULT 'N' NOT NULL,
 | |
|   Create_priv enum('N','Y') DEFAULT 'N' NOT NULL,
 | |
|   Drop_priv enum('N','Y') DEFAULT 'N' NOT NULL,
 | |
|   PRIMARY KEY Host (Host,Db)
 | |
| )
 | |
| type=ISAM;
 | |
| --enable_warnings
 | |
| 
 | |
| --disable_warnings
 | |
| CREATE TABLE user (
 | |
|   Host char(60) binary DEFAULT '' NOT NULL,
 | |
|   User char(16) binary DEFAULT '' NOT NULL,
 | |
|   Password char(16),
 | |
|   Select_priv enum('N','Y') DEFAULT 'N' NOT NULL,
 | |
|   Insert_priv enum('N','Y') DEFAULT 'N' NOT NULL,
 | |
|   Update_priv enum('N','Y') DEFAULT 'N' NOT NULL,
 | |
|   Delete_priv enum('N','Y') DEFAULT 'N' NOT NULL,
 | |
|   Create_priv enum('N','Y') DEFAULT 'N' NOT NULL,
 | |
|   Drop_priv enum('N','Y') DEFAULT 'N' NOT NULL,
 | |
|   Reload_priv enum('N','Y') DEFAULT 'N' NOT NULL,
 | |
|   Shutdown_priv enum('N','Y') DEFAULT 'N' NOT NULL,
 | |
|   Process_priv enum('N','Y') DEFAULT 'N' NOT NULL,
 | |
|   PRIMARY KEY Host (Host,User)
 | |
| )
 | |
| type=ISAM;
 | |
| --enable_warnings
 | |
| 
 | |
| INSERT INTO user VALUES ('localhost','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y');
 | |
| INSERT INTO user VALUES ('localhost','',    '','N','N','N','N','N','N','N','N','N');
 | |
| 
 | |
| # Call the "shell script" $MYSQL_FIX_SYSTEM_TABLES using system
 | |
| -- system $MYSQL_FIX_SYSTEM_TABLES --database=test > $MYSQLTEST_VARDIR/log/system_mysql_db_fix30020.log 2>&1
 | |
| -- enable_query_log
 | |
| -- enable_result_log
 | |
| 
 | |
| -- source include/system_db_struct.inc
 | |
| 
 | |
| -- disable_query_log
 | |
| 
 | |
| DROP TABLE db, host, user, func, tables_priv, columns_priv, procs_priv, help_category, help_keyword, help_relation, help_topic, proc, time_zone, time_zone_leap_second, time_zone_name, time_zone_transition, time_zone_transition_type;
 | |
| 
 | |
| -- enable_query_log
 | |
| 
 | |
| # check that we dropped all system tables
 | |
| show tables;
 | |
| 
 | |
| # End of 4.1 tests
 |