Commit 3f1cf9fa authored by msvensson@neptunus.(none)'s avatar msvensson@neptunus.(none)

Merge...

Merge neptunus.(none):/home/msvensson/mysql/mysqltestrun_check_testcases/my51-mysqltestrun_check_testcases
into  neptunus.(none):/home/msvensson/mysql/mysql-5.1-new
parents 53040a07 809deba6
...@@ -46,5 +46,8 @@ sleep 1; ...@@ -46,5 +46,8 @@ sleep 1;
--error 1192 --error 1192
stop slave; stop slave;
connection master;
drop table t3, t4, t5;
# End of 4.1 tests # End of 4.1 tests
...@@ -124,6 +124,7 @@ select n from t1; ...@@ -124,6 +124,7 @@ select n from t1;
select select_priv,user from mysql.user where user = _binary'blafasel2'; select select_priv,user from mysql.user where user = _binary'blafasel2';
connection master1; connection master1;
drop table t1; drop table t1;
delete from mysql.user where user="blafasel2";
save_master_pos; save_master_pos;
connection slave; connection slave;
sync_with_master; sync_with_master;
......
#
# This test is executed twice for each test case if mysql-test-run is passed
# the flag --check-testcase.
# Before every testcase it's run with mysqltest in record mode and will
# thus produce an output file
# that can be compared to output from after the tescase.
# In that way it's possible to check that a testcase does not have
# any unwanted side affects.
#
#
# Dump all global variables
#
show global variables;
#
# Dump all databases
#
show databases;
#
# Dump the "test" database, all it's tables and their data
#
--exec $MYSQL_DUMP --skip-comments test
#
# Dump the "mysql" database and it's tables
# Select data separately to add "order by"
#
--exec $MYSQL_DUMP --skip-comments --no-data mysql
use mysql;
select * from columns_priv;
select * from db order by host, db, user;
select * from func;
select * from help_category;
select * from help_keyword;
select * from help_relation;
select * from help_relation;
select * from host;
select * from proc;
select * from procs_priv;
select * from tables_priv;
select * from time_zone;
select * from time_zone_leap_second;
select * from time_zone_name;
select * from time_zone_transition;
select * from time_zone_transition_type;
select * from user;
...@@ -246,6 +246,7 @@ our $opt_manager_port; # Does nothing now, we never use manager ...@@ -246,6 +246,7 @@ our $opt_manager_port; # Does nothing now, we never use manager
our $opt_old_master; our $opt_old_master;
our $opt_record; our $opt_record;
our $opt_check_testcases;
our $opt_result_ext; our $opt_result_ext;
...@@ -571,6 +572,7 @@ sub command_line_setup () { ...@@ -571,6 +572,7 @@ sub command_line_setup () {
# Test case authoring # Test case authoring
'record' => \$opt_record, 'record' => \$opt_record,
'check-testcases' => \$opt_check_testcases,
# ??? # ???
'mysqld=s' => \@opt_extra_mysqld_opt, 'mysqld=s' => \@opt_extra_mysqld_opt,
...@@ -2730,6 +2732,54 @@ sub im_stop($) { ...@@ -2730,6 +2732,54 @@ sub im_stop($) {
$instance_manager->{'pid'} = undef; $instance_manager->{'pid'} = undef;
} }
#
# Run include/check-testcase.test
# Before a testcase, run in record mode, save result file to var
# After testcase, run and compare with the recorded file, they should be equal!
#
sub run_check_testcase ($) {
my $mode= shift;
my $args;
mtr_init_args(\$args);
mtr_add_arg($args, "--no-defaults");
mtr_add_arg($args, "--silent");
mtr_add_arg($args, "-v");
mtr_add_arg($args, "--skip-safemalloc");
mtr_add_arg($args, "--tmpdir=%s", $opt_tmpdir);
mtr_add_arg($args, "--socket=%s", $master->[0]->{'path_mysock'});
mtr_add_arg($args, "--port=%d", $master->[0]->{'path_myport'});
mtr_add_arg($args, "--database=test");
mtr_add_arg($args, "--user=%s", $opt_user);
mtr_add_arg($args, "--password=");
mtr_add_arg($args, "-R");
mtr_add_arg($args, "$opt_vardir/tmp/check-testcase.result");
if ( $mode eq "before" )
{
mtr_add_arg($args, "--record");
}
my $res = mtr_run_test($exe_mysqltest,$args,
"include/check-testcase.test", "", "", "");
if ( $res == 1 and $mode = "after")
{
mtr_run("diff",["-u",
"$opt_vardir/tmp/check-testcase.result",
"$opt_vardir/tmp/check-testcase.reject"],
"", "", "", "");
}
elsif ( $res )
{
mtr_error("Could not execute 'check-testcase' $mode testcase");
}
}
sub run_mysqltest ($) { sub run_mysqltest ($) {
my $tinfo= shift; my $tinfo= shift;
...@@ -2983,7 +3033,18 @@ sub run_mysqltest ($) { ...@@ -2983,7 +3033,18 @@ sub run_mysqltest ($) {
mtr_add_arg($args, "--record"); mtr_add_arg($args, "--record");
} }
return mtr_run_test($exe,$args,$tinfo->{'path'},"",$path_timefile,""); if ( $opt_check_testcases )
{
run_check_testcase("before");
}
my $res = mtr_run_test($exe,$args,$tinfo->{'path'},"",$path_timefile,"");
if ( $opt_check_testcases )
{
run_check_testcase("after");
}
return $res;
} }
...@@ -3067,6 +3128,7 @@ Options that specify ports ...@@ -3067,6 +3128,7 @@ Options that specify ports
Options for test case authoring Options for test case authoring
record TESTNAME (Re)genereate the result file for TESTNAME record TESTNAME (Re)genereate the result file for TESTNAME
check-testcases Check testcases for sideeffects
Options that pass on options Options that pass on options
......
...@@ -46,3 +46,4 @@ Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_ ...@@ -46,3 +46,4 @@ Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_
execute stmt1; execute stmt1;
Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_value_or_avg_length Std Optimal_fieldtype Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_value_or_avg_length Std Optimal_fieldtype
deallocate prepare stmt1; deallocate prepare stmt1;
drop table t1;
...@@ -17,3 +17,4 @@ CREATE TEMPORARY TABLE t2 ( PRIMARY KEY (a) ) ENGINE=MYISAM SELECT a FROM t1; ...@@ -17,3 +17,4 @@ CREATE TEMPORARY TABLE t2 ( PRIMARY KEY (a) ) ENGINE=MYISAM SELECT a FROM t1;
ERROR 23000: Duplicate entry '1' for key 1 ERROR 23000: Duplicate entry '1' for key 1
select * from t2; select * from t2;
ERROR 42S02: Table 'test.t2' doesn't exist ERROR 42S02: Table 'test.t2' doesn't exist
drop table t1;
...@@ -247,3 +247,4 @@ lpad(c1,3,' ...@@ -247,3 +247,4 @@ lpad(c1,3,'
select rpad(c1,3,''), rpad('',3,c1) from t1; select rpad(c1,3,''), rpad('',3,c1) from t1;
rpad(c1,3,'') rpad('',3,c1) rpad(c1,3,'') rpad('',3,c1)
drop table t1;
...@@ -238,6 +238,7 @@ ERROR HY000: Operation DROP USER failed for 'mysqltest_2b'@'%' ...@@ -238,6 +238,7 @@ ERROR HY000: Operation DROP USER failed for 'mysqltest_2b'@'%'
create user 'mysqltest_2' identified by 'Mysqltest-2'; create user 'mysqltest_2' identified by 'Mysqltest-2';
drop user 'mysqltest_2' identified by 'Mysqltest-2'; drop user 'mysqltest_2' identified by 'Mysqltest-2';
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'identified by 'Mysqltest-2'' at line 1 ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'identified by 'Mysqltest-2'' at line 1
drop user 'mysqltest_2';
create user '%@b'@'b'; create user '%@b'@'b';
show grants for '%@b'@'b'; show grants for '%@b'@'b';
Grants for %@b@b Grants for %@b@b
...@@ -279,6 +280,7 @@ Warning 1364 Field 'x509_subject' doesn't have a default value ...@@ -279,6 +280,7 @@ Warning 1364 Field 'x509_subject' doesn't have a default value
create user mysqltest_A@'%'; create user mysqltest_A@'%';
rename user mysqltest_B@'%' to mysqltest_C@'%'; rename user mysqltest_B@'%' to mysqltest_C@'%';
drop user mysqltest_C@'%'; drop user mysqltest_C@'%';
drop user mysqltest_A@'%';
drop user mysqltest_3@localhost; drop user mysqltest_3@localhost;
set @@sql_mode=''; set @@sql_mode='';
create database mysqltest_1; create database mysqltest_1;
......
...@@ -992,6 +992,7 @@ SELECT * FROM v1 WHERE EMPNUM < 10; ...@@ -992,6 +992,7 @@ SELECT * FROM v1 WHERE EMPNUM < 10;
EMPNUM NAME GRP EMPNUM NAME GRP
0 KERI 10 0 KERI 10
9 BARRY NULL 9 BARRY NULL
DROP VIEW v1;
DROP TABLE t1,t2; DROP TABLE t1,t2;
CREATE TABLE t1 (c11 int); CREATE TABLE t1 (c11 int);
CREATE TABLE t2 (c21 int); CREATE TABLE t2 (c21 int);
......
...@@ -785,4 +785,4 @@ prepare stmt1 from @string ; ...@@ -785,4 +785,4 @@ prepare stmt1 from @string ;
execute stmt1 ; execute stmt1 ;
prepare stmt1 from ' select * from t5 ' ; prepare stmt1 from ' select * from t5 ' ;
execute stmt1 ; execute stmt1 ;
drop table t5, t9; drop table t1, t5, t9;
...@@ -1076,6 +1076,7 @@ a f1() ...@@ -1076,6 +1076,7 @@ a f1()
1 2 1 2
2 2 2 2
drop procedure p1// drop procedure p1//
drop function f1//
drop table t1// drop table t1//
flush query cache; flush query cache;
reset query cache; reset query cache;
......
...@@ -41,3 +41,4 @@ insert into t1 values(1); ...@@ -41,3 +41,4 @@ insert into t1 values(1);
ERROR HY000: The MySQL server is running with the --read-only option so it cannot execute this statement ERROR HY000: The MySQL server is running with the --read-only option so it cannot execute this statement
drop table t1,t2; drop table t1,t2;
drop user test@localhost; drop user test@localhost;
set global read_only=0;
...@@ -15,3 +15,4 @@ select * from t1; ...@@ -15,3 +15,4 @@ select * from t1;
n n
24 24
drop table t1; drop table t1;
delete from mysql.user where user="replicate";
...@@ -18,3 +18,4 @@ Table Op Msg_type Msg_text ...@@ -18,3 +18,4 @@ Table Op Msg_type Msg_text
test.non_existing optimize error Table 'test.non_existing' doesn't exist test.non_existing optimize error Table 'test.non_existing' doesn't exist
Warnings: Warnings:
Error 1146 Table 'test.non_existing' doesn't exist Error 1146 Table 'test.non_existing' doesn't exist
drop table t1;
...@@ -26,3 +26,4 @@ select select_priv from mysql.user where user='user_foo' /* slave:must get Y */; ...@@ -26,3 +26,4 @@ select select_priv from mysql.user where user='user_foo' /* slave:must get Y */;
select_priv select_priv
Y Y
revoke select on *.* FROM 'user_foo'; revoke select on *.* FROM 'user_foo';
delete from mysql.user where user="user_foo";
...@@ -73,3 +73,4 @@ CREATE TABLE t1 ( a INT UNIQUE ); ...@@ -73,3 +73,4 @@ CREATE TABLE t1 ( a INT UNIQUE );
SET FOREIGN_KEY_CHECKS=0; SET FOREIGN_KEY_CHECKS=0;
INSERT INTO t1 VALUES (1),(1); INSERT INTO t1 VALUES (1),(1);
ERROR 23000: Duplicate entry '1' for key 1 ERROR 23000: Duplicate entry '1' for key 1
drop table t1;
...@@ -79,3 +79,4 @@ terminated by ',' optionally enclosed by '%' escaped by '@' lines terminated by ...@@ -79,3 +79,4 @@ terminated by ',' optionally enclosed by '%' escaped by '@' lines terminated by
ERROR 23000: Duplicate entry '2003-03-22' for key 1 ERROR 23000: Duplicate entry '2003-03-22' for key 1
drop table t2; drop table t2;
drop table t2; drop table t2;
drop table t1;
...@@ -12,3 +12,4 @@ count(*) ...@@ -12,3 +12,4 @@ count(*)
2 2
show binlog events from 102; show binlog events from 102;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
drop table t1;
...@@ -19,3 +19,5 @@ load data local infile './var/master-data/test/rpl_misc_functions.outfile' into ...@@ -19,3 +19,5 @@ load data local infile './var/master-data/test/rpl_misc_functions.outfile' into
select * from t1, t2 where (t1.id=t2.id) and not(t1.i=t2.i and t1.r1=t2.r1 and t1.r2=t2.r2 and t1.p=t2.p); select * from t1, t2 where (t1.id=t2.id) and not(t1.i=t2.i and t1.r1=t2.r1 and t1.r2=t2.r2 and t1.p=t2.p);
id i r1 r2 p id i r1 r2 p id i r1 r2 p id i r1 r2 p
stop slave; stop slave;
drop table t1;
drop table t1;
...@@ -194,3 +194,4 @@ idpro price nbprice ...@@ -194,3 +194,4 @@ idpro price nbprice
1 1.0000 3 1 1.0000 3
2 1.0000 2 2 1.0000 2
3 2.0000 1 3 2.0000 1
drop table t1, t2;
...@@ -40,3 +40,4 @@ set one_shot time_zone='met'; ...@@ -40,3 +40,4 @@ set one_shot time_zone='met';
select * from t1; select * from t1;
ts ts
2005-08-12 00:00:00 2005-08-12 00:00:00
drop table t1;
...@@ -13,3 +13,4 @@ n ...@@ -13,3 +13,4 @@ n
1 1
2 2
3 3
drop table t1;
...@@ -52,3 +52,4 @@ Master_SSL_Cert ...@@ -52,3 +52,4 @@ Master_SSL_Cert
Master_SSL_Cipher Master_SSL_Cipher
Master_SSL_Key Master_SSL_Key
Seconds_Behind_Master NULL Seconds_Behind_Master NULL
drop table t1;
...@@ -79,3 +79,4 @@ select select_priv,user from mysql.user where user = _binary'blafasel2'; ...@@ -79,3 +79,4 @@ select select_priv,user from mysql.user where user = _binary'blafasel2';
select_priv user select_priv user
Y blafasel2 Y blafasel2
drop table t1; drop table t1;
delete from mysql.user where user="blafasel2";
...@@ -30,3 +30,4 @@ flush tables with read lock; ...@@ -30,3 +30,4 @@ flush tables with read lock;
start slave; start slave;
stop slave; stop slave;
ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
drop table t3, t4, t5;
...@@ -208,7 +208,8 @@ select f3() // ...@@ -208,7 +208,8 @@ select f3() //
f3() f3()
1 1
call sp1() // call sp1() //
drop table t1,t2,t3; drop view v1;
drop table t1,t2,t3,t4;
drop function f1; drop function f1;
drop function f2; drop function f2;
drop function f3; drop function f3;
......
...@@ -134,7 +134,11 @@ drop database db2; ...@@ -134,7 +134,11 @@ drop database db2;
select type,db,name from mysql.proc; select type,db,name from mysql.proc;
type db name type db name
delete from mysql.user where user='user1' or user='user2'; delete from mysql.user where user='user1' or user='user2';
delete from mysql.user where user='' and host='%';
delete from mysql.procs_priv where user='user1' or user='user2'; delete from mysql.procs_priv where user='user1' or user='user2';
delete from mysql.procs_priv where user='' and host='%';
delete from mysql.db where user='user2';
flush privileges;
grant usage on *.* to usera@localhost; grant usage on *.* to usera@localhost;
grant usage on *.* to userb@localhost; grant usage on *.* to userb@localhost;
grant usage on *.* to userc@localhost; grant usage on *.* to userc@localhost;
...@@ -195,6 +199,9 @@ use test; ...@@ -195,6 +199,9 @@ use test;
drop database sptest; drop database sptest;
delete from mysql.user where user='usera' or user='userb' or user='userc'; delete from mysql.user where user='usera' or user='userb' or user='userc';
delete from mysql.procs_priv where user='usera' or user='userb' or user='userc'; delete from mysql.procs_priv where user='usera' or user='userb' or user='userc';
delete from mysql.tables_priv where user='usera';
flush privileges;
drop table t1;
drop function if exists bug_9503; drop function if exists bug_9503;
create database mysqltest// create database mysqltest//
use mysqltest// use mysqltest//
......
...@@ -243,4 +243,5 @@ x ...@@ -243,4 +243,5 @@ x
NULL NULL
x x
NULL NULL
drop procedure p1;
drop tables t1,t2,t3; drop tables t1,t2,t3;
...@@ -35,3 +35,13 @@ SELECT * FROM INFORMATION_SCHEMA.TRIGGERS ORDER BY trigger_name; ...@@ -35,3 +35,13 @@ SELECT * FROM INFORMATION_SCHEMA.TRIGGERS ORDER BY trigger_name;
TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_ORDER ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW CREATED SQL_MODE DEFINER
NULL mysqltest_db1 wl2818_trg1 INSERT NULL mysqltest_db1 t1 0 NULL INSERT INTO t2 VALUES(CURRENT_USER()) ROW BEFORE NULL NULL OLD NEW NULL NULL mysqltest_db1 wl2818_trg1 INSERT NULL mysqltest_db1 t1 0 NULL INSERT INTO t2 VALUES(CURRENT_USER()) ROW BEFORE NULL NULL OLD NEW NULL
NULL mysqltest_db1 wl2818_trg2 INSERT NULL mysqltest_db1 t1 0 NULL INSERT INTO t2 VALUES(CURRENT_USER()) ROW AFTER NULL NULL OLD NEW NULL mysqltest_dfn@localhost NULL mysqltest_db1 wl2818_trg2 INSERT NULL mysqltest_db1 t1 0 NULL INSERT INTO t2 VALUES(CURRENT_USER()) ROW AFTER NULL NULL OLD NEW NULL mysqltest_dfn@localhost
DROP TRIGGER wl2818_trg1;
Warnings:
Warning 1454 No definer attribute for trigger 'mysqltest_db1'.'wl2818_trg1'. The trigger will be activated under the authorization of the invoker, which may have insufficient privileges. Please recreate the trigger.
DROP TRIGGER wl2818_trg2;
use mysqltest_db1;
DROP TABLE t1;
DROP TABLE t2;
DROP USER mysqltest_dfn@localhost;
DROP USER mysqltest_inv@localhost;
DROP DATABASE mysqltest_db1;
...@@ -563,3 +563,4 @@ b1+0 sum(b1) sum(b2) ...@@ -563,3 +563,4 @@ b1+0 sum(b1) sum(b2)
0 0 0 0 0 0
1 4 4 1 4 4
2 2 2 2 2 2
drop table t1, t2;
...@@ -71,6 +71,7 @@ c_id c_name c_country ...@@ -71,6 +71,7 @@ c_id c_name c_country
1 Bozo USA 1 Bozo USA
4 Mr. Floppy GB 4 Mr. Floppy GB
drop table t1; drop table t1;
set GLOBAL max_join_size=10;
set max_join_size=100; set max_join_size=100;
show variables like 'max_join_size'; show variables like 'max_join_size';
Variable_name Value Variable_name Value
......
...@@ -9,6 +9,7 @@ revoke create view on test.* from test@localhost; ...@@ -9,6 +9,7 @@ revoke create view on test.* from test@localhost;
show grants for test@localhost; show grants for test@localhost;
Grants for test@localhost Grants for test@localhost
GRANT USAGE ON *.* TO 'test'@'localhost' GRANT USAGE ON *.* TO 'test'@'localhost'
drop user test@localhost;
create database mysqltest; create database mysqltest;
create table mysqltest.t1 (a int, b int); create table mysqltest.t1 (a int, b int);
create table mysqltest.t2 (a int, b int); create table mysqltest.t2 (a int, b int);
......
...@@ -61,5 +61,6 @@ prepare stmt1 from "SELECT * FROM t1 PROCEDURE ANALYSE()"; ...@@ -61,5 +61,6 @@ prepare stmt1 from "SELECT * FROM t1 PROCEDURE ANALYSE()";
execute stmt1; execute stmt1;
execute stmt1; execute stmt1;
deallocate prepare stmt1; deallocate prepare stmt1;
drop table t1;
# End of 4.1 tests # End of 4.1 tests
...@@ -30,5 +30,6 @@ select * from t2; ...@@ -30,5 +30,6 @@ select * from t2;
CREATE TEMPORARY TABLE t2 ( PRIMARY KEY (a) ) ENGINE=MYISAM SELECT a FROM t1; CREATE TEMPORARY TABLE t2 ( PRIMARY KEY (a) ) ENGINE=MYISAM SELECT a FROM t1;
--error 1146 --error 1146
select * from t2; select * from t2;
drop table t1;
# End of 4.1 tests # End of 4.1 tests
...@@ -186,5 +186,5 @@ select rpad(c1,3,' ...@@ -186,5 +186,5 @@ select rpad(c1,3,'
# TODO # TODO
#select case c1 when '' then '' when '' then '' else 'c' end from t1; #select case c1 when '' then '' when '' then '' else 'c' end from t1;
#select export_set(5,c1,''), export_set(5,'',c1) from t1; #select export_set(5,c1,''), export_set(5,'',c1) from t1;
drop table t1;
# End of 4.1 tests # End of 4.1 tests
...@@ -5,6 +5,9 @@ ...@@ -5,6 +5,9 @@
drop table if exists t1; drop table if exists t1;
--enable_warnings --enable_warnings
# Save ft_boolean_syntax variable
let $saved_ft_boolean_syntax=`select @@global.ft_boolean_syntax`;
show variables like "ft\_%"; show variables like "ft\_%";
create table t1 (b text not null); create table t1 (b text not null);
...@@ -25,4 +28,9 @@ set global ft_boolean_syntax='@ -><()~*:""@|'; ...@@ -25,4 +28,9 @@ set global ft_boolean_syntax='@ -><()~*:""@|';
set global ft_boolean_syntax='+ -><()~*:""@!|'; set global ft_boolean_syntax='+ -><()~*:""@!|';
drop table t1; drop table t1;
# Restore ft_boolean_syntax variable
--disable_query_log
eval set global ft_boolean_syntax='$saved_ft_boolean_syntax';
--enable_query_log
# End of 4.1 tests # End of 4.1 tests
...@@ -286,6 +286,7 @@ drop user 'mysqltest_1b', 'mysqltest_2b', 'mysqltest_3b'; ...@@ -286,6 +286,7 @@ drop user 'mysqltest_1b', 'mysqltest_2b', 'mysqltest_3b';
create user 'mysqltest_2' identified by 'Mysqltest-2'; create user 'mysqltest_2' identified by 'Mysqltest-2';
--error 1064 --error 1064
drop user 'mysqltest_2' identified by 'Mysqltest-2'; drop user 'mysqltest_2' identified by 'Mysqltest-2';
drop user 'mysqltest_2';
# #
# Strange user names # Strange user names
create user '%@b'@'b'; create user '%@b'@'b';
...@@ -325,6 +326,7 @@ insert into mysql.user set host='%', user='mysqltest_B'; ...@@ -325,6 +326,7 @@ insert into mysql.user set host='%', user='mysqltest_B';
create user mysqltest_A@'%'; create user mysqltest_A@'%';
rename user mysqltest_B@'%' to mysqltest_C@'%'; rename user mysqltest_B@'%' to mysqltest_C@'%';
drop user mysqltest_C@'%'; drop user mysqltest_C@'%';
drop user mysqltest_A@'%';
disconnect user4; disconnect user4;
connection default; connection default;
drop user mysqltest_3@localhost; drop user mysqltest_3@localhost;
......
...@@ -63,6 +63,7 @@ drop table t1; ...@@ -63,6 +63,7 @@ drop table t1;
# #
# one statement roll back inside transation # one statement roll back inside transation
# #
let $save_query_cache_size=`select @@global.query_cache_size`;
set GLOBAL query_cache_size=1355776; set GLOBAL query_cache_size=1355776;
CREATE TABLE t1 ( id int(10) NOT NULL auto_increment, a varchar(25) default NULL, PRIMARY KEY (id), UNIQUE KEY a (a)) ENGINE=innodb; CREATE TABLE t1 ( id int(10) NOT NULL auto_increment, a varchar(25) default NULL, PRIMARY KEY (id), UNIQUE KEY a (a)) ENGINE=innodb;
CREATE TABLE t2 ( id int(10) NOT NULL auto_increment, b varchar(25) default NULL, PRIMARY KEY (id), UNIQUE KEY b (b)) ENGINE=innodb; CREATE TABLE t2 ( id int(10) NOT NULL auto_increment, b varchar(25) default NULL, PRIMARY KEY (id), UNIQUE KEY b (b)) ENGINE=innodb;
...@@ -79,5 +80,8 @@ insert into t3 VALUES ( NULL, 1, 1, 2 ); ...@@ -79,5 +80,8 @@ insert into t3 VALUES ( NULL, 1, 1, 2 );
commit; commit;
select t1.* from t1, t2, t3 where t3.state & 1 = 0 and t3.t1_id = t1.id and t3.t2_id = t2.id and t1.id = 1 order by t1.a asc; select t1.* from t1, t2, t3 where t3.state & 1 = 0 and t3.t1_id = t1.id and t3.t2_id = t2.id and t1.id = 1 order by t1.a asc;
drop table t3,t2,t1; drop table t3,t2,t1;
--disable_query_log
eval set GLOBAL query_cache_size=$save_query_cache_size;
--enable_query_log
# End of 4.1 tests # End of 4.1 tests
...@@ -700,6 +700,7 @@ SELECT COALESCE(t2.EMPNUM,t1.EMPNUM) AS EMPNUM, NAME, GRP ...@@ -700,6 +700,7 @@ SELECT COALESCE(t2.EMPNUM,t1.EMPNUM) AS EMPNUM, NAME, GRP
SELECT * FROM v1; SELECT * FROM v1;
SELECT * FROM v1 WHERE EMPNUM < 10; SELECT * FROM v1 WHERE EMPNUM < 10;
DROP VIEW v1;
DROP TABLE t1,t2; DROP TABLE t1,t2;
# #
......
...@@ -834,7 +834,7 @@ execute stmt1 ; ...@@ -834,7 +834,7 @@ execute stmt1 ;
--disable_metadata --disable_metadata
--horizontal_results --horizontal_results
drop table t5, t9; drop table t1, t5, t9;
##### RULES OF THUMB TO PRESERVE THE SYSTEMATICS OF THE PS TEST CASES ##### ##### RULES OF THUMB TO PRESERVE THE SYSTEMATICS OF THE PS TEST CASES #####
# #
......
...@@ -787,6 +787,7 @@ begin ...@@ -787,6 +787,7 @@ begin
end// end//
call p1()// call p1()//
drop procedure p1// drop procedure p1//
drop function f1//
drop table t1// drop table t1//
delimiter ;// delimiter ;//
......
...@@ -104,3 +104,5 @@ insert into t1 values(1); ...@@ -104,3 +104,5 @@ insert into t1 values(1);
connection default; connection default;
drop table t1,t2; drop table t1,t2;
drop user test@localhost; drop user test@localhost;
set global read_only=0;
...@@ -16,6 +16,7 @@ sync_slave_with_master; ...@@ -16,6 +16,7 @@ sync_slave_with_master;
select * from t1; select * from t1;
connection master; connection master;
drop table t1; drop table t1;
delete from mysql.user where user="replicate";
sync_slave_with_master; sync_slave_with_master;
# End of 4.1 tests # End of 4.1 tests
...@@ -41,3 +41,7 @@ connection slave; ...@@ -41,3 +41,7 @@ connection slave;
--disable_abort_on_error --disable_abort_on_error
revoke select on *.* FROM 'user_foo'; revoke select on *.* FROM 'user_foo';
--enable_abort_on_error --enable_abort_on_error
connection master;
delete from mysql.user where user="user_foo";
sync_slave_with_master;
...@@ -28,5 +28,9 @@ load data local infile './var/master-data/test/rpl_misc_functions.outfile' into ...@@ -28,5 +28,9 @@ load data local infile './var/master-data/test/rpl_misc_functions.outfile' into
# compare them with the replica; the SELECT below should return no row # compare them with the replica; the SELECT below should return no row
select * from t1, t2 where (t1.id=t2.id) and not(t1.i=t2.i and t1.r1=t2.r1 and t1.r2=t2.r2 and t1.p=t2.p); select * from t1, t2 where (t1.id=t2.id) and not(t1.i=t2.i and t1.r1=t2.r1 and t1.r2=t2.r2 and t1.p=t2.p);
stop slave; stop slave;
drop table t1;
connection master;
drop table t1;
# End of 4.1 tests # End of 4.1 tests
...@@ -53,4 +53,8 @@ connection slave; ...@@ -53,4 +53,8 @@ connection slave;
set one_shot time_zone='met'; set one_shot time_zone='met';
select * from t1; select * from t1;
connection master;
drop table t1;
sync_slave_with_master;
# End of 4.1 tests # End of 4.1 tests
...@@ -13,4 +13,7 @@ connection slave; ...@@ -13,4 +13,7 @@ connection slave;
sync_with_master; sync_with_master;
select * from t1; select * from t1;
connection master;
drop table t1;
sync_with_master;
# End of 4.1 tests # End of 4.1 tests
...@@ -29,4 +29,8 @@ start slave; ...@@ -29,4 +29,8 @@ start slave;
--vertical_results --vertical_results
show slave status; show slave status;
connection master;
drop table t1;
sync_with_master;
# end of 4.1 tests # end of 4.1 tests
...@@ -234,7 +234,8 @@ select f3() // ...@@ -234,7 +234,8 @@ select f3() //
call sp1() // call sp1() //
delimiter ;// delimiter ;//
drop table t1,t2,t3; drop view v1;
drop table t1,t2,t3,t4;
drop function f1; drop function f1;
drop function f2; drop function f2;
drop function f3; drop function f3;
......
...@@ -196,7 +196,6 @@ use db2; ...@@ -196,7 +196,6 @@ use db2;
call q(); call q();
select * from t2; select * from t2;
# #
# BUG#6030: Stored procedure has no appropriate DROP privilege # BUG#6030: Stored procedure has no appropriate DROP privilege
# (or ALTER for that matter) # (or ALTER for that matter)
...@@ -233,9 +232,13 @@ drop database db2; ...@@ -233,9 +232,13 @@ drop database db2;
select type,db,name from mysql.proc; select type,db,name from mysql.proc;
# Get rid of the users # Get rid of the users
delete from mysql.user where user='user1' or user='user2'; delete from mysql.user where user='user1' or user='user2';
delete from mysql.user where user='' and host='%';
# And any routine privileges # And any routine privileges
delete from mysql.procs_priv where user='user1' or user='user2'; delete from mysql.procs_priv where user='user1' or user='user2';
# Delete the grants to user ''@'%' that was created above
delete from mysql.procs_priv where user='' and host='%';
delete from mysql.db where user='user2';
flush privileges;
# #
# Test the new security acls # Test the new security acls
# #
...@@ -304,6 +307,9 @@ use test; ...@@ -304,6 +307,9 @@ use test;
drop database sptest; drop database sptest;
delete from mysql.user where user='usera' or user='userb' or user='userc'; delete from mysql.user where user='usera' or user='userb' or user='userc';
delete from mysql.procs_priv where user='usera' or user='userb' or user='userc'; delete from mysql.procs_priv where user='usera' or user='userb' or user='userc';
delete from mysql.tables_priv where user='usera';
flush privileges;
drop table t1;
# #
# BUG#9503: reseting correct parameters of thread after error in SP function # BUG#9503: reseting correct parameters of thread after error in SP function
......
...@@ -236,4 +236,5 @@ delimiter ;// ...@@ -236,4 +236,5 @@ delimiter ;//
call p1(); call p1();
call p1(); call p1();
call p1(); call p1();
drop procedure p1;
drop tables t1,t2,t3; drop tables t1,t2,t3;
...@@ -80,3 +80,16 @@ SELECT trigger_name, definer FROM INFORMATION_SCHEMA.TRIGGERS ORDER BY trigger_n ...@@ -80,3 +80,16 @@ SELECT trigger_name, definer FROM INFORMATION_SCHEMA.TRIGGERS ORDER BY trigger_n
--echo --echo
SELECT * FROM INFORMATION_SCHEMA.TRIGGERS ORDER BY trigger_name; SELECT * FROM INFORMATION_SCHEMA.TRIGGERS ORDER BY trigger_name;
# Clean up
DROP TRIGGER wl2818_trg1;
DROP TRIGGER wl2818_trg2;
disconnect wl2818_definer_con;
connection default;
use mysqltest_db1;
DROP TABLE t1;
DROP TABLE t2;
DROP USER mysqltest_dfn@localhost;
DROP USER mysqltest_inv@localhost;
DROP DATABASE mysqltest_db1;
...@@ -226,3 +226,4 @@ select a1, a2, b1+0, b2+0 from t1 join t2 on b1 = b2; ...@@ -226,3 +226,4 @@ select a1, a2, b1+0, b2+0 from t1 join t2 on b1 = b2;
select sum(a1), b1+0, b2+0 from t1 join t2 on b1 = b2 group by b1 order by 1; select sum(a1), b1+0, b2+0 from t1 join t2 on b1 = b2 group by b1 order by 1;
select 1 from t1 join t2 on b1 = b2 group by b1 order by 1; select 1 from t1 join t2 on b1 = b2 group by b1 order by 1;
select b1+0,sum(b1), sum(b2) from t1 join t2 on b1 = b2 group by b1 order by 1; select b1+0,sum(b1), sum(b2) from t1 join t2 on b1 = b2 group by b1 order by 1;
drop table t1, t2;
--max_join_size=10 --max_join_size=100
...@@ -48,7 +48,7 @@ drop table t1; ...@@ -48,7 +48,7 @@ drop table t1;
# #
# Test system variables # Test system variables
# #
set GLOBAL max_join_size=10;
set max_join_size=100; set max_join_size=100;
show variables like 'max_join_size'; show variables like 'max_join_size';
--replace_result 18446744073709551615 HA_POS_ERROR 4294967295 HA_POS_ERROR --replace_result 18446744073709551615 HA_POS_ERROR 4294967295 HA_POS_ERROR
......
...@@ -12,6 +12,8 @@ grant create view on test.* to test@localhost; ...@@ -12,6 +12,8 @@ grant create view on test.* to test@localhost;
show grants for test@localhost; show grants for test@localhost;
revoke create view on test.* from test@localhost; revoke create view on test.* from test@localhost;
show grants for test@localhost; show grants for test@localhost;
# The grant above creates a new user test@localhost, delete it
drop user test@localhost;
# grant create view test # grant create view test
# #
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment