diff options
author | unknown <jimw@mysql.com> | 2005-03-29 17:17:46 -0800 |
---|---|---|
committer | unknown <jimw@mysql.com> | 2005-03-29 17:17:46 -0800 |
commit | 57221d3d086bf8553d618ff7700bb3a7db0edb8f (patch) | |
tree | 5b4f57966d1a1dbc9789a2b148b4ad4a01328ceb | |
parent | baf121de4f11c478c920c4bc21fef9d1be675a6e (diff) | |
download | mariadb-git-57221d3d086bf8553d618ff7700bb3a7db0edb8f.tar.gz |
Eliminate most of the remaining hardcoded list of tests to skip
by adding check for embedded server within tests and splitting some
tests into multiple test files.
mysql-test/mysql-test-run.sh:
Remove most of hardcoded list of tests to skip
mysql-test/r/ps_1general.result:
Update results
mysql-test/r/timezone2.result:
Update results
mysql-test/r/user_var.result:
Update results
mysql-test/r/variables.result:
Update results
mysql-test/t/mix_innodb_myisam_binlog.test:
Disable test with embedded server
mysql-test/t/mysql_protocols.test:
Disable test with embedded server
mysql-test/t/mysqlbinlog.test:
Disable test with embedded server
mysql-test/t/mysqlbinlog2.test:
Disable test with embedded server
mysql-test/t/mysqldump.test:
Disable test with embedded server
mysql-test/t/packet.test:
Disable test with embedded server
mysql-test/t/ps_1general.test:
Move parts of test to new ps_grant
mysql-test/t/rename.test:
Disable test with embedded server
mysql-test/t/show_check.test:
Disable test with embedded server
mysql-test/t/system_mysql_db_fix.test:
Disable test with embedded server
mysql-test/t/timezone2.test:
Move part of test to timezone_grant
mysql-test/t/user_var.test:
Move part of test to new user_var-binlog
mysql-test/t/variables.test:
Move part of test to rpl_variables
26 files changed, 411 insertions, 378 deletions
diff --git a/mysql-test/mysql-test-run.sh b/mysql-test/mysql-test-run.sh index 12d1c8723d9..b28bfd78d1b 100644 --- a/mysql-test/mysql-test-run.sh +++ b/mysql-test/mysql-test-run.sh @@ -1506,21 +1506,8 @@ run_testcase () # script soon anyway so it is not worth it spending the time if [ "x$USE_EMBEDDED_SERVER" = "x1" -a -z "$DO_TEST" ] ; then for t in \ - "init_connect" \ - "init_file" \ - "mix_innodb_myisam_binlog" \ - "mysqlbinlog2" \ - "mysqlbinlog" \ - "mysqldump" \ - "mysql_protocols" \ - "packet" \ - "ps_1general" \ - "rename" \ - "show_check" \ - "system_mysql_db_fix" \ - "timezone2" \ - "user_var" \ - "variables" + "init_connect" \ + "init_file" do if [ "$tname" = "$t" ] ; then skip_test $tname diff --git a/mysql-test/r/ps_1general.result b/mysql-test/r/ps_1general.result index 2356989eaf6..c17890d3e32 100644 --- a/mysql-test/r/ps_1general.result +++ b/mysql-test/r/ps_1general.result @@ -288,10 +288,6 @@ Variable_name Value sql_mode prepare stmt4 from ' show engine bdb logs '; execute stmt4; -prepare stmt4 from ' show full processlist '; -execute stmt4; -Id User Host db Command Time State Info -number root localhost test Query time NULL show full processlist prepare stmt4 from ' show grants for user '; prepare stmt4 from ' show create table t2 '; ERROR HY000: This command is not supported in the prepared statement protocol yet @@ -806,81 +802,3 @@ execute stmt1 ; prepare stmt1 from ' select * from t5 ' ; execute stmt1 ; drop table t5 ; -test_sequence ------- grant/revoke/drop affects a parallel session test ------ -show grants for second_user@localhost ; -ERROR 42000: There is no such grant defined for user 'second_user' on host 'localhost' -create database mysqltest; -use mysqltest; -use test; -grant usage on mysqltest.* to second_user@localhost -identified by 'looser' ; -grant select on mysqltest.t9 to second_user@localhost -identified by 'looser' ; -show grants for second_user@localhost ; -Grants for second_user@localhost -GRANT USAGE ON *.* TO 'second_user'@'localhost' IDENTIFIED BY PASSWORD '*13843FE600B19A81E32AF50D4A6FED25875FF1F3' -GRANT SELECT ON `mysqltest`.`t9` TO 'second_user'@'localhost' -select current_user(); -current_user() -second_user@localhost -show grants for current_user(); -Grants for second_user@localhost -GRANT USAGE ON *.* TO 'second_user'@'localhost' IDENTIFIED BY PASSWORD '*13843FE600B19A81E32AF50D4A6FED25875FF1F3' -GRANT SELECT ON `mysqltest`.`t9` TO 'second_user'@'localhost' -prepare s_t9 from 'select c1 as my_col - from t9 where c1= 1' ; -execute s_t9 ; -my_col -1 -select a as my_col from t1; -ERROR 42000: SELECT command denied to user 'second_user'@'localhost' for table 't1' -grant select on mysqltest.t1 to second_user@localhost -identified by 'looser' ; -show grants for second_user@localhost ; -Grants for second_user@localhost -GRANT USAGE ON *.* TO 'second_user'@'localhost' IDENTIFIED BY PASSWORD '*13843FE600B19A81E32AF50D4A6FED25875FF1F3' -GRANT SELECT ON `mysqltest`.`t9` TO 'second_user'@'localhost' -GRANT SELECT ON `mysqltest`.`t1` TO 'second_user'@'localhost' -drop table mysqltest.t9 ; -show grants for second_user@localhost ; -Grants for second_user@localhost -GRANT USAGE ON *.* TO 'second_user'@'localhost' IDENTIFIED BY PASSWORD '*13843FE600B19A81E32AF50D4A6FED25875FF1F3' -GRANT SELECT ON `mysqltest`.`t9` TO 'second_user'@'localhost' -GRANT SELECT ON `mysqltest`.`t1` TO 'second_user'@'localhost' -show grants for second_user@localhost ; -Grants for second_user@localhost -GRANT USAGE ON *.* TO 'second_user'@'localhost' IDENTIFIED BY PASSWORD '*13843FE600B19A81E32AF50D4A6FED25875FF1F3' -GRANT SELECT ON `mysqltest`.`t9` TO 'second_user'@'localhost' -GRANT SELECT ON `mysqltest`.`t1` TO 'second_user'@'localhost' -prepare s_t1 from 'select a as my_col from t1' ; -execute s_t1 ; -my_col -1 -2 -3 -4 -execute s_t9 ; -ERROR 42S02: Table 'mysqltest.t9' doesn't exist -revoke all privileges on mysqltest.t1 from second_user@localhost -identified by 'looser' ; -show grants for second_user@localhost ; -Grants for second_user@localhost -GRANT USAGE ON *.* TO 'second_user'@'localhost' IDENTIFIED BY PASSWORD '*13843FE600B19A81E32AF50D4A6FED25875FF1F3' -GRANT SELECT ON `mysqltest`.`t9` TO 'second_user'@'localhost' -show grants for second_user@localhost ; -Grants for second_user@localhost -GRANT USAGE ON *.* TO 'second_user'@'localhost' IDENTIFIED BY PASSWORD '*13843FE600B19A81E32AF50D4A6FED25875FF1F3' -GRANT SELECT ON `mysqltest`.`t9` TO 'second_user'@'localhost' -execute s_t1 ; -ERROR 42000: SELECT command denied to user 'second_user'@'localhost' for table 't1' -revoke all privileges, grant option from second_user@localhost ; -show grants for second_user@localhost ; -Grants for second_user@localhost -GRANT USAGE ON *.* TO 'second_user'@'localhost' IDENTIFIED BY PASSWORD '*13843FE600B19A81E32AF50D4A6FED25875FF1F3' -drop user second_user@localhost ; -commit ; -show grants for second_user@localhost ; -ERROR 42000: There is no such grant defined for user 'second_user' on host 'localhost' -drop table t1,t9 ; -drop database mysqltest; diff --git a/mysql-test/r/ps_grant.result b/mysql-test/r/ps_grant.result new file mode 100644 index 00000000000..81de74f245c --- /dev/null +++ b/mysql-test/r/ps_grant.result @@ -0,0 +1,82 @@ +prepare stmt4 from ' show full processlist '; +execute stmt4; +Id User Host db Command Time State Info +number root localhost test Query time NULL show full processlist +test_sequence +------ grant/revoke/drop affects a parallel session test ------ +show grants for second_user@localhost ; +ERROR 42000: There is no such grant defined for user 'second_user' on host 'localhost' +create database mysqltest; +use mysqltest; +use test; +grant usage on mysqltest.* to second_user@localhost +identified by 'looser' ; +grant select on mysqltest.t9 to second_user@localhost +identified by 'looser' ; +show grants for second_user@localhost ; +Grants for second_user@localhost +GRANT USAGE ON *.* TO 'second_user'@'localhost' IDENTIFIED BY PASSWORD '*13843FE600B19A81E32AF50D4A6FED25875FF1F3' +GRANT SELECT ON `mysqltest`.`t9` TO 'second_user'@'localhost' +select current_user(); +current_user() +second_user@localhost +show grants for current_user(); +Grants for second_user@localhost +GRANT USAGE ON *.* TO 'second_user'@'localhost' IDENTIFIED BY PASSWORD '*13843FE600B19A81E32AF50D4A6FED25875FF1F3' +GRANT SELECT ON `mysqltest`.`t9` TO 'second_user'@'localhost' +prepare s_t9 from 'select c1 as my_col + from t9 where c1= 1' ; +execute s_t9 ; +my_col +1 +select a as my_col from t1; +ERROR 42000: SELECT command denied to user 'second_user'@'localhost' for table 't1' +grant select on mysqltest.t1 to second_user@localhost +identified by 'looser' ; +show grants for second_user@localhost ; +Grants for second_user@localhost +GRANT USAGE ON *.* TO 'second_user'@'localhost' IDENTIFIED BY PASSWORD '*13843FE600B19A81E32AF50D4A6FED25875FF1F3' +GRANT SELECT ON `mysqltest`.`t9` TO 'second_user'@'localhost' +GRANT SELECT ON `mysqltest`.`t1` TO 'second_user'@'localhost' +drop table mysqltest.t9 ; +show grants for second_user@localhost ; +Grants for second_user@localhost +GRANT USAGE ON *.* TO 'second_user'@'localhost' IDENTIFIED BY PASSWORD '*13843FE600B19A81E32AF50D4A6FED25875FF1F3' +GRANT SELECT ON `mysqltest`.`t9` TO 'second_user'@'localhost' +GRANT SELECT ON `mysqltest`.`t1` TO 'second_user'@'localhost' +show grants for second_user@localhost ; +Grants for second_user@localhost +GRANT USAGE ON *.* TO 'second_user'@'localhost' IDENTIFIED BY PASSWORD '*13843FE600B19A81E32AF50D4A6FED25875FF1F3' +GRANT SELECT ON `mysqltest`.`t9` TO 'second_user'@'localhost' +GRANT SELECT ON `mysqltest`.`t1` TO 'second_user'@'localhost' +prepare s_t1 from 'select a as my_col from t1' ; +execute s_t1 ; +my_col +1 +2 +3 +4 +execute s_t9 ; +ERROR 42S02: Table 'mysqltest.t9' doesn't exist +revoke all privileges on mysqltest.t1 from second_user@localhost +identified by 'looser' ; +show grants for second_user@localhost ; +Grants for second_user@localhost +GRANT USAGE ON *.* TO 'second_user'@'localhost' IDENTIFIED BY PASSWORD '*13843FE600B19A81E32AF50D4A6FED25875FF1F3' +GRANT SELECT ON `mysqltest`.`t9` TO 'second_user'@'localhost' +show grants for second_user@localhost ; +Grants for second_user@localhost +GRANT USAGE ON *.* TO 'second_user'@'localhost' IDENTIFIED BY PASSWORD '*13843FE600B19A81E32AF50D4A6FED25875FF1F3' +GRANT SELECT ON `mysqltest`.`t9` TO 'second_user'@'localhost' +execute s_t1 ; +ERROR 42000: SELECT command denied to user 'second_user'@'localhost' for table 't1' +revoke all privileges, grant option from second_user@localhost ; +show grants for second_user@localhost ; +Grants for second_user@localhost +GRANT USAGE ON *.* TO 'second_user'@'localhost' IDENTIFIED BY PASSWORD '*13843FE600B19A81E32AF50D4A6FED25875FF1F3' +drop user second_user@localhost ; +commit ; +show grants for second_user@localhost ; +ERROR 42000: There is no such grant defined for user 'second_user' on host 'localhost' +drop table t1,t9 ; +drop database mysqltest; diff --git a/mysql-test/r/rpl_variables.result b/mysql-test/r/rpl_variables.result new file mode 100644 index 00000000000..227d8ecfad9 --- /dev/null +++ b/mysql-test/r/rpl_variables.result @@ -0,0 +1,8 @@ +stop slave; +drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; +reset master; +reset slave; +drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; +start slave; +set global slave_net_timeout=100; +set global sql_slave_skip_counter=100; diff --git a/mysql-test/r/timezone2.result b/mysql-test/r/timezone2.result index 206ff79e7ba..199b48ef1aa 100644 --- a/mysql-test/r/timezone2.result +++ b/mysql-test/r/timezone2.result @@ -251,58 +251,6 @@ select convert_tz(ts, @@time_zone, 'Japan') from t1; convert_tz(ts, @@time_zone, 'Japan') 2001-09-09 10:46:40 drop table t1; -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' -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; select convert_tz('2005-01-14 17:00:00', 'UTC', custTimeZone) from (select 'UTC' as custTimeZone) as tmp; convert_tz('2005-01-14 17:00:00', 'UTC', custTimeZone) 2005-01-14 17:00:00 diff --git a/mysql-test/r/timezone_grant.result b/mysql-test/r/timezone_grant.result new file mode 100644 index 00000000000..685f8007ac7 --- /dev/null +++ b/mysql-test/r/timezone_grant.result @@ -0,0 +1,52 @@ +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' +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; diff --git a/mysql-test/r/user_var-binlog.result b/mysql-test/r/user_var-binlog.result new file mode 100644 index 00000000000..06a2a846a0e --- /dev/null +++ b/mysql-test/r/user_var-binlog.result @@ -0,0 +1,25 @@ +create table t1 (a varchar(50)); +reset master; +SET TIMESTAMP=10000; +SET @`a b`='hello'; +INSERT INTO t1 VALUES(@`a b`); +set @var1= "';aaa"; +SET @var2=char(ascii('a')); +insert into t1 values (@var1),(@var2); +show binlog events from 79; +Log_name Pos Event_type Server_id Orig_log_pos Info +master-bin.000001 79 User var 1 79 @`a b`=_latin1 0x68656C6C6F COLLATE latin1_swedish_ci +master-bin.000001 120 Query 1 120 use `test`; INSERT INTO t1 VALUES(@`a b`) +master-bin.000001 184 User var 1 184 @`var1`=_latin1 0x273B616161 COLLATE latin1_swedish_ci +master-bin.000001 226 User var 1 226 @`var2`=_latin1 0x61 COLLATE latin1_swedish_ci +master-bin.000001 264 Query 1 264 use `test`; insert into t1 values (@var1),(@var2) +/*!40019 SET @@session.max_insert_delayed_threads=0*/; +SET @`a b`:=_latin1 0x68656C6C6F COLLATE `latin1_swedish_ci`; +use test; +SET TIMESTAMP=10000; +INSERT INTO t1 VALUES(@`a b`); +SET @`var1`:=_latin1 0x273B616161 COLLATE `latin1_swedish_ci`; +SET @`var2`:=_latin1 0x61 COLLATE `latin1_swedish_ci`; +SET TIMESTAMP=10000; +insert into t1 values (@var1),(@var2); +drop table t1; diff --git a/mysql-test/r/user_var.result b/mysql-test/r/user_var.result index 81846391795..18f7047f357 100644 --- a/mysql-test/r/user_var.result +++ b/mysql-test/r/user_var.result @@ -162,31 +162,6 @@ charset(@a) collation(@a) coercibility(@a) latin2 latin2_bin 0 select (@a:=_latin2'test' collate latin2_bin) = _latin2'TEST' collate latin2_general_ci; ERROR HY000: Illegal mix of collations (latin2_bin,EXPLICIT) and (latin2_general_ci,EXPLICIT) for operation '=' -create table t1 (a varchar(50)); -reset master; -SET TIMESTAMP=10000; -SET @`a b`='hello'; -INSERT INTO t1 VALUES(@`a b`); -set @var1= "';aaa"; -SET @var2=char(ascii('a')); -insert into t1 values (@var1),(@var2); -show binlog events from 79; -Log_name Pos Event_type Server_id Orig_log_pos Info -master-bin.000001 79 User var 1 79 @`a b`=_latin1 0x68656C6C6F COLLATE latin1_swedish_ci -master-bin.000001 120 Query 1 120 use `test`; INSERT INTO t1 VALUES(@`a b`) -master-bin.000001 184 User var 1 184 @`var1`=_latin1 0x273B616161 COLLATE latin1_swedish_ci -master-bin.000001 226 User var 1 226 @`var2`=_latin1 0x61 COLLATE latin1_swedish_ci -master-bin.000001 264 Query 1 264 use `test`; insert into t1 values (@var1),(@var2) -/*!40019 SET @@session.max_insert_delayed_threads=0*/; -SET @`a b`:=_latin1 0x68656C6C6F COLLATE `latin1_swedish_ci`; -use test; -SET TIMESTAMP=10000; -INSERT INTO t1 VALUES(@`a b`); -SET @`var1`:=_latin1 0x273B616161 COLLATE `latin1_swedish_ci`; -SET @`var2`:=_latin1 0x61 COLLATE `latin1_swedish_ci`; -SET TIMESTAMP=10000; -insert into t1 values (@var1),(@var2); -drop table t1; set @var= NULL ; select FIELD( @var,'1it','Hit') as my_column; my_column diff --git a/mysql-test/r/variables.result b/mysql-test/r/variables.result index 6b700f7f6a2..5e3bda75a80 100644 --- a/mysql-test/r/variables.result +++ b/mysql-test/r/variables.result @@ -324,7 +324,6 @@ set read_buffer_size=100; set read_rnd_buffer_size=100; set global rpl_recovery_rank=100; set global server_id=100; -set global slave_net_timeout=100; set global slow_launch_time=100; set sort_buffer_size=100; set sql_auto_is_null=1; @@ -349,7 +348,6 @@ select @@sql_max_join_size,@@max_join_size; set sql_quote_show_create=1; set sql_safe_updates=1; set sql_select_limit=1; -set global sql_slave_skip_counter=100; set sql_warnings=1; set global table_cache=100; set storage_engine=myisam; diff --git a/mysql-test/t/mix_innodb_myisam_binlog.test b/mysql-test/t/mix_innodb_myisam_binlog.test index 89a7f8f3036..544fa5559fa 100644 --- a/mysql-test/t/mix_innodb_myisam_binlog.test +++ b/mysql-test/t/mix_innodb_myisam_binlog.test @@ -5,6 +5,9 @@ # did some tests manually on a slave; tables are replicated fine and # Exec_Master_Log_Pos advances as expected. +# Embedded server doesn't support binlogging +-- source include/not_embedded.inc + -- source include/have_innodb.inc --disable_warnings diff --git a/mysql-test/t/mysql_protocols.test b/mysql-test/t/mysql_protocols.test index e5158586124..6e2d4f20429 100644 --- a/mysql-test/t/mysql_protocols.test +++ b/mysql-test/t/mysql_protocols.test @@ -1,3 +1,5 @@ +# Embedded server doesn't support external clients +--source include/not_embedded.inc # test for Bug #4998 "--protocol doesn't reject bad values" diff --git a/mysql-test/t/mysqlbinlog.test b/mysql-test/t/mysqlbinlog.test index ea66a44d44e..435fa8289da 100644 --- a/mysql-test/t/mysqlbinlog.test +++ b/mysql-test/t/mysqlbinlog.test @@ -1,5 +1,8 @@ # We are using .opt file since we need small binlog size +# Embedded server doesn't support binlogging +-- source include/not_embedded.inc + # we need this for getting fixed timestamps inside of this test set timestamp=1000000000; diff --git a/mysql-test/t/mysqlbinlog2.test b/mysql-test/t/mysqlbinlog2.test index c6cff7558d4..0eddc4ec2e4 100644 --- a/mysql-test/t/mysqlbinlog2.test +++ b/mysql-test/t/mysqlbinlog2.test @@ -1,6 +1,9 @@ # Test for the new options --start-datetime, stop-datetime, # and a few others. +# Embedded server doesn't support binlogging +-- source include/not_embedded.inc + --disable_warnings drop table if exists t1; --enable_warnings diff --git a/mysql-test/t/mysqldump.test b/mysql-test/t/mysqldump.test index 255ae50a8ca..e48434006af 100644 --- a/mysql-test/t/mysqldump.test +++ b/mysql-test/t/mysqldump.test @@ -1,3 +1,6 @@ +# Embedded server doesn't support external clients +--source include/not_embedded.inc + --disable_warnings DROP TABLE IF EXISTS t1, `"t"1`; --enable_warnings diff --git a/mysql-test/t/packet.test b/mysql-test/t/packet.test index cbeaa04ca52..c7f10d75d74 100644 --- a/mysql-test/t/packet.test +++ b/mysql-test/t/packet.test @@ -1,3 +1,5 @@ +# Embedded server doesn't support external clients +--source include/not_embedded.inc # # Check protocol handling diff --git a/mysql-test/t/ps_1general.test b/mysql-test/t/ps_1general.test index 5450512b959..2d55d9d18b1 100644 --- a/mysql-test/t/ps_1general.test +++ b/mysql-test/t/ps_1general.test @@ -316,9 +316,6 @@ prepare stmt4 from ' show engine bdb logs '; --disable_result_log execute stmt4; --enable_result_log -prepare stmt4 from ' show full processlist '; ---replace_column 1 number 6 time 3 localhost -execute stmt4; prepare stmt4 from ' show grants for user '; --error 1295 prepare stmt4 from ' show create table t2 '; @@ -599,6 +596,7 @@ drop table t2; prepare stmt1 from ' rename table t5 to t6, t7 to t8 ' ; create table t5 (a int) ; # rename must fail, t7 does not exist +--replace_result \\ / $MYSQL_TEST_DIR . /var/master-data/ / --error 1017 execute stmt1 ; create table t7 (a int) ; @@ -841,117 +839,6 @@ execute stmt1 ; drop table t5 ; - -################ GRANT/REVOKE/DROP affecting a parallel session ################ ---disable_query_log -select '------ grant/revoke/drop affects a parallel session test ------' - as test_sequence ; ---enable_query_log - -#---------------------------------------------------------------------# -# Here we test that: -# 1. A new GRANT will be visible within another sessions. # -# # -# Let's assume there is a parallel session with an already prepared # -# statement for a table. # -# A DROP TABLE will affect the EXECUTE properties. # -# A REVOKE will affect the EXECUTE properties. # -#---------------------------------------------------------------------# - -# Who am I ? -# this is different across different systems: -# select current_user(), user() ; - -#### create a new user account #### -## There should be no grants for that non existing user ---error 1141 -show grants for second_user@localhost ; -## create a new user account by using GRANT statements on t9 -create database mysqltest; -# create the tables (t1 and t9) used in many tests -use mysqltest; ---disable_query_log ---source include/ps_create.inc ---source include/ps_renew.inc ---enable_query_log -eval use $DB; -grant usage on mysqltest.* to second_user@localhost -identified by 'looser' ; -grant select on mysqltest.t9 to second_user@localhost -identified by 'looser' ; -show grants for second_user@localhost ; - - -#### establish a second session to the new user account -connect (con3,localhost,second_user,looser,mysqltest); -## switch to the second session -connection con3; -# Who am I ? -select current_user(); -## check the access rights -show grants for current_user(); -prepare s_t9 from 'select c1 as my_col - from t9 where c1= 1' ; -execute s_t9 ; -# check that we cannot do a SELECT on the table t1; ---error 1142 -select a as my_col from t1; - - -#### give access rights to t1 and drop table t9 -## switch back to the first session -connection default; -grant select on mysqltest.t1 to second_user@localhost -identified by 'looser' ; -show grants for second_user@localhost ; -drop table mysqltest.t9 ; -show grants for second_user@localhost ; - - -#### check the access as new user -## switch to the second session -connection con3; -######## Question 1: The table t1 should be now accessible. ######## -show grants for second_user@localhost ; -prepare s_t1 from 'select a as my_col from t1' ; -execute s_t1 ; -######## Question 2: The table t9 does not exist. ######## ---error 1146 -execute s_t9 ; - - -#### revoke the access rights to t1 -## switch back to the first session -connection default; -revoke all privileges on mysqltest.t1 from second_user@localhost -identified by 'looser' ; -show grants for second_user@localhost ; - -#### check the access as new user -## switch to the second session -connection con3; -show grants for second_user@localhost ; -######## Question 2: The table t1 should be now not accessible. ######## ---error 1142 -execute s_t1 ; - -## cleanup -## switch back to the first session -connection default; -## disconnect the second session -disconnect con3 ; -## remove all rights of second_user@localhost -revoke all privileges, grant option from second_user@localhost ; -show grants for second_user@localhost ; -drop user second_user@localhost ; -commit ; ---error 1141 -show grants for second_user@localhost ; - -drop table t1,t9 ; -drop database mysqltest; - - ##### RULES OF THUMB TO PRESERVE THE SYSTEMATICS OF THE PS TEST CASES ##### # # 0. You don't have the time to diff --git a/mysql-test/t/ps_grant.test b/mysql-test/t/ps_grant.test new file mode 100644 index 00000000000..283c06c9a8c --- /dev/null +++ b/mysql-test/t/ps_grant.test @@ -0,0 +1,120 @@ +# Can't test grants with embedded server +-- source include/not_embedded.inc + +# Tested here simply so it is not tested with embedded server +prepare stmt4 from ' show full processlist '; +--replace_column 1 number 6 time 3 localhost +execute stmt4; + +let $type= 'MYISAM' ; + +################ GRANT/REVOKE/DROP affecting a parallel session ################ +--disable_query_log +select '------ grant/revoke/drop affects a parallel session test ------' + as test_sequence ; +--enable_query_log + +#---------------------------------------------------------------------# +# Here we test that: +# 1. A new GRANT will be visible within another sessions. # +# # +# Let's assume there is a parallel session with an already prepared # +# statement for a table. # +# A DROP TABLE will affect the EXECUTE properties. # +# A REVOKE will affect the EXECUTE properties. # +#---------------------------------------------------------------------# + +# Who am I ? +# this is different across different systems: +# select current_user(), user() ; + +#### create a new user account #### +## There should be no grants for that non existing user +--error 1141 +show grants for second_user@localhost ; +## create a new user account by using GRANT statements on t9 +create database mysqltest; +# create the tables (t1 and t9) used in many tests +use mysqltest; +--disable_query_log +--source include/ps_create.inc +--source include/ps_renew.inc +--enable_query_log +eval use $DB; +grant usage on mysqltest.* to second_user@localhost +identified by 'looser' ; +grant select on mysqltest.t9 to second_user@localhost +identified by 'looser' ; +show grants for second_user@localhost ; + + +#### establish a second session to the new user account +connect (con3,localhost,second_user,looser,mysqltest); +## switch to the second session +connection con3; +# Who am I ? +select current_user(); +## check the access rights +show grants for current_user(); +prepare s_t9 from 'select c1 as my_col + from t9 where c1= 1' ; +execute s_t9 ; +# check that we cannot do a SELECT on the table t1; +--error 1142 +select a as my_col from t1; + + +#### give access rights to t1 and drop table t9 +## switch back to the first session +connection default; +grant select on mysqltest.t1 to second_user@localhost +identified by 'looser' ; +show grants for second_user@localhost ; +drop table mysqltest.t9 ; +show grants for second_user@localhost ; + + +#### check the access as new user +## switch to the second session +connection con3; +######## Question 1: The table t1 should be now accessible. ######## +show grants for second_user@localhost ; +prepare s_t1 from 'select a as my_col from t1' ; +execute s_t1 ; +######## Question 2: The table t9 does not exist. ######## +--error 1146 +execute s_t9 ; + + +#### revoke the access rights to t1 +## switch back to the first session +connection default; +revoke all privileges on mysqltest.t1 from second_user@localhost +identified by 'looser' ; +show grants for second_user@localhost ; + +#### check the access as new user +## switch to the second session +connection con3; +show grants for second_user@localhost ; +######## Question 2: The table t1 should be now not accessible. ######## +--error 1142 +execute s_t1 ; + +## cleanup +## switch back to the first session +connection default; +## disconnect the second session +disconnect con3 ; +## remove all rights of second_user@localhost +revoke all privileges, grant option from second_user@localhost ; +show grants for second_user@localhost ; +drop user second_user@localhost ; +commit ; +--error 1141 +show grants for second_user@localhost ; + +drop table t1,t9 ; +drop database mysqltest; + + diff --git a/mysql-test/t/rename.test b/mysql-test/t/rename.test index 497ff721c99..6fa208f37ec 100644 --- a/mysql-test/t/rename.test +++ b/mysql-test/t/rename.test @@ -2,6 +2,10 @@ # Test of rename table # +# Test requires concurrent connections, which can't be tested on embedded +# server +-- source include/not_embedded.inc + --disable_warnings drop table if exists t0,t1,t2,t3,t4; # Clear up from other tests (to ensure that SHOW TABLES below is right) diff --git a/mysql-test/t/rpl_variables.test b/mysql-test/t/rpl_variables.test new file mode 100644 index 00000000000..b332c006118 --- /dev/null +++ b/mysql-test/t/rpl_variables.test @@ -0,0 +1,4 @@ +source include/master-slave.inc; + +set global slave_net_timeout=100; +set global sql_slave_skip_counter=100; diff --git a/mysql-test/t/show_check.test b/mysql-test/t/show_check.test index cd8d4dba6ab..0cf1476b24c 100644 --- a/mysql-test/t/show_check.test +++ b/mysql-test/t/show_check.test @@ -1,3 +1,7 @@ +# Requires use of multiple simultaneous connections, not supported with +# embedded server testing +-- source include/not_embedded.inc + # # Test of some show commands # diff --git a/mysql-test/t/system_mysql_db_fix.test b/mysql-test/t/system_mysql_db_fix.test index 1539d210a3a..d0aae7b411c 100644 --- a/mysql-test/t/system_mysql_db_fix.test +++ b/mysql-test/t/system_mysql_db_fix.test @@ -1,3 +1,6 @@ +# Embedded server doesn't support external clients +--source include/not_embedded.inc + # # This is the test for mysql_fix_privilege_tables # diff --git a/mysql-test/t/timezone2.test b/mysql-test/t/timezone2.test index 32ed359a2db..f952c0f65b2 100644 --- a/mysql-test/t/timezone2.test +++ b/mysql-test/t/timezone2.test @@ -200,74 +200,6 @@ select convert_tz(ts, @@time_zone, 'Japan') from t1; drop table t1; # -# 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; - -# # Test for bug #7705 "CONVERT_TZ() crashes with subquery/WHERE on index # column". Queries in which one of time zone arguments of CONVERT_TZ() is # determined as constant only at val() stage (not at fix_fields() stage), 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; + diff --git a/mysql-test/t/user_var-binlog.test b/mysql-test/t/user_var-binlog.test new file mode 100644 index 00000000000..8b11ea735ad --- /dev/null +++ b/mysql-test/t/user_var-binlog.test @@ -0,0 +1,19 @@ +# Embedded server does not support binlogging +--source include/not_embedded.inc + +# Check that user variables are binlogged correctly (BUG#3875) +create table t1 (a varchar(50)); +reset master; +SET TIMESTAMP=10000; +SET @`a b`='hello'; +INSERT INTO t1 VALUES(@`a b`); +set @var1= "';aaa"; +SET @var2=char(ascii('a')); +insert into t1 values (@var1),(@var2); +show binlog events from 79; +# more important than SHOW BINLOG EVENTS, mysqlbinlog (where we +# absolutely need variables names to be quoted and strings to be +# escaped). +--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR +--exec $MYSQL_BINLOG --short-form $MYSQL_TEST_DIR/var/log/master-bin.000001 +drop table t1; diff --git a/mysql-test/t/user_var.test b/mysql-test/t/user_var.test index 81788ce8d73..e21ab8f9b6e 100644 --- a/mysql-test/t/user_var.test +++ b/mysql-test/t/user_var.test @@ -100,24 +100,6 @@ select charset(@a),collation(@a),coercibility(@a); --error 1267 select (@a:=_latin2'test' collate latin2_bin) = _latin2'TEST' collate latin2_general_ci; -# Check that user variables are binlogged correctly (BUG#3875) -create table t1 (a varchar(50)); -reset master; -SET TIMESTAMP=10000; -SET @`a b`='hello'; -INSERT INTO t1 VALUES(@`a b`); -set @var1= "';aaa"; -SET @var2=char(ascii('a')); -insert into t1 values (@var1),(@var2); -show binlog events from 79; -# more important than SHOW BINLOG EVENTS, mysqlbinlog (where we -# absolutely need variables names to be quoted and strings to be -# escaped). ---replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR ---exec $MYSQL_BINLOG --short-form $MYSQL_TEST_DIR/var/log/master-bin.000001 -drop table t1; - - # # Bug #6321 strange error: # string function FIELD(<uservariable content NULL>, ...) diff --git a/mysql-test/t/variables.test b/mysql-test/t/variables.test index 3a76ae5136e..2ecef5c9221 100644 --- a/mysql-test/t/variables.test +++ b/mysql-test/t/variables.test @@ -218,7 +218,6 @@ set read_buffer_size=100; set read_rnd_buffer_size=100; set global rpl_recovery_rank=100; set global server_id=100; -set global slave_net_timeout=100; set global slow_launch_time=100; set sort_buffer_size=100; set sql_auto_is_null=1; @@ -237,7 +236,6 @@ select @@sql_max_join_size,@@max_join_size; set sql_quote_show_create=1; set sql_safe_updates=1; set sql_select_limit=1; -set global sql_slave_skip_counter=100; set sql_warnings=1; set global table_cache=100; set storage_engine=myisam; |