From 6731dd6380e19cc589cab89bd941fc36210c28ac Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 19 Jan 2006 13:25:12 +0400 Subject: [PATCH] Embedded-server related tests fixes BitKeeper/deleted/.del-ctype_cp932_notembedded.test~7c748e8e7ae6e7fe: Delete: mysql-test/t/ctype_cp932_notembedded.test mysql-test/r/innodb.result: result fixed mysql-test/r/query_cache.result: result fixed mysql-test/r/query_cache_notembedded.result: result fixed mysql-test/r/sp-error.result: result fixed mysql-test/r/sp.result: result fixed mysql-test/r/view.result: result fixed mysql-test/r/view_grant.result: result fixed mysql-test/t/sp-destruct.test: test disabled mysql-test/t/view.test: lines moved to view_grant.test mysql-test/t/view_grant.test: lines moved from view.test --- mysql-test/r/ctype_cp932_notembedded.result | 17 ++ mysql-test/r/innodb.result | 19 -- mysql-test/r/innodb_notembedded.result | 19 ++ mysql-test/r/query_cache.result | 45 ---- mysql-test/r/query_cache_notembedded.result | 220 ++++++++++++++++++++ mysql-test/r/sp-error.result | 13 -- mysql-test/r/sp.result | 82 -------- mysql-test/r/sp_notembedded.result | 35 ++++ mysql-test/r/subselect_notembedded.result | 1 + mysql-test/r/view.result | 9 - mysql-test/r/view_grant.result | 9 + mysql-test/t/ctype_cp932_notembedded.test | 32 --- mysql-test/t/sp-destruct.test | 5 + mysql-test/t/view.test | 11 - mysql-test/t/view_grant.test | 9 + 15 files changed, 315 insertions(+), 211 deletions(-) create mode 100644 mysql-test/r/ctype_cp932_notembedded.result create mode 100644 mysql-test/r/innodb_notembedded.result create mode 100644 mysql-test/r/sp_notembedded.result create mode 100644 mysql-test/r/subselect_notembedded.result delete mode 100644 mysql-test/t/ctype_cp932_notembedded.test diff --git a/mysql-test/r/ctype_cp932_notembedded.result b/mysql-test/r/ctype_cp932_notembedded.result new file mode 100644 index 00000000000..913e8125619 --- /dev/null +++ b/mysql-test/r/ctype_cp932_notembedded.result @@ -0,0 +1,17 @@ +drop table if exists t1; +set names cp932; +set character_set_database = cp932; +RESET MASTER; +CREATE TABLE t1(f1 blob); +PREPARE stmt1 FROM 'INSERT INTO t1 VALUES(?)'; +SET @var1= x'8300'; +EXECUTE stmt1 USING @var1; +SHOW BINLOG EVENTS FROM 102; +Log_name Pos Event_type Server_id End_log_pos Info +master-bin.000001 # Query 1 # use `test`; CREATE TABLE t1(f1 blob) +master-bin.000001 # Table_map 1 # test.t1 +master-bin.000001 # Write_rows 1 # +SELECT HEX(f1) FROM t1; +HEX(f1) +8300 +DROP table t1; diff --git a/mysql-test/r/innodb.result b/mysql-test/r/innodb.result index ed4c14388ab..577e6a7192a 100644 --- a/mysql-test/r/innodb.result +++ b/mysql-test/r/innodb.result @@ -2635,25 +2635,6 @@ checksum table t1; Table Checksum test.t1 2050879373 drop table t1; -create table t1 (col1 integer primary key, col2 integer) engine=innodb; -insert t1 values (1,100); -create function f1 () returns integer begin -declare var1 int; -select col2 into var1 from t1 where col1=1 for update; -return var1; -end| -start transaction; -select f1(); -f1() -100 - update t1 set col2=0 where col1=1; -select * from t1; -col1 col2 -1 100 -rollback; -rollback; -drop table t1; -drop function f1; create table t1 ( a int, b char(10), c char(10), filler char(10), primary key(a, b(2)), unique key (a, c(2)) ) character set utf8 engine = innodb; diff --git a/mysql-test/r/innodb_notembedded.result b/mysql-test/r/innodb_notembedded.result new file mode 100644 index 00000000000..fc71468b97b --- /dev/null +++ b/mysql-test/r/innodb_notembedded.result @@ -0,0 +1,19 @@ +create table t1 (col1 integer primary key, col2 integer) engine=innodb; +insert t1 values (1,100); +create function f1 () returns integer begin +declare var1 int; +select col2 into var1 from t1 where col1=1 for update; +return var1; +end| +start transaction; +select f1(); +f1() +100 + update t1 set col2=0 where col1=1; +select * from t1; +col1 col2 +1 100 +rollback; +rollback; +drop table t1; +drop function f1; diff --git a/mysql-test/r/query_cache.result b/mysql-test/r/query_cache.result index e790c8589d0..8d76f8fc701 100644 --- a/mysql-test/r/query_cache.result +++ b/mysql-test/r/query_cache.result @@ -1105,56 +1105,20 @@ call f1(); s1 s1 s1 -show status like "Qcache_queries_in_cache"; -Variable_name Value -Qcache_queries_in_cache 3 -show status like "Qcache_inserts"; -Variable_name Value -Qcache_inserts 3 -show status like "Qcache_hits"; -Variable_name Value -Qcache_hits 0 call f1(); s1 s1 s1 -show status like "Qcache_queries_in_cache"; -Variable_name Value -Qcache_queries_in_cache 3 -show status like "Qcache_inserts"; -Variable_name Value -Qcache_inserts 3 -show status like "Qcache_hits"; -Variable_name Value -Qcache_hits 3 call f1(); s1 s1 s1 select sql_cache * from t1; s1 -show status like "Qcache_queries_in_cache"; -Variable_name Value -Qcache_queries_in_cache 4 -show status like "Qcache_inserts"; -Variable_name Value -Qcache_inserts 4 -show status like "Qcache_hits"; -Variable_name Value -Qcache_hits 6 insert into t1 values (1); select sql_cache * from t1; s1 1 -show status like "Qcache_queries_in_cache"; -Variable_name Value -Qcache_queries_in_cache 1 -show status like "Qcache_inserts"; -Variable_name Value -Qcache_inserts 5 -show status like "Qcache_hits"; -Variable_name Value -Qcache_hits 6 call f1(); s1 1 @@ -1172,15 +1136,6 @@ s1 select sql_cache * from t1; s1 1 -show status like "Qcache_queries_in_cache"; -Variable_name Value -Qcache_queries_in_cache 4 -show status like "Qcache_inserts"; -Variable_name Value -Qcache_inserts 8 -show status like "Qcache_hits"; -Variable_name Value -Qcache_hits 10 flush query cache; reset query cache; flush status; diff --git a/mysql-test/r/query_cache_notembedded.result b/mysql-test/r/query_cache_notembedded.result index e773a63525b..77fa198eb80 100644 --- a/mysql-test/r/query_cache_notembedded.result +++ b/mysql-test/r/query_cache_notembedded.result @@ -94,4 +94,224 @@ a SELECT * FROM t1; a drop table t1; +flush query cache; +reset query cache; +flush status; +create table t1 (s1 int)// +create procedure f1 () begin +select sql_cache * from t1; +select sql_cache * from t1; +select sql_cache * from t1; +end;// +create procedure f2 () begin +select sql_cache * from t1 where s1=1; +select sql_cache * from t1; +end;// +create procedure f3 () begin +select sql_cache * from t1; +select sql_cache * from t1 where s1=1; +end;// +create procedure f4 () begin +select sql_cache * from t1; +select sql_cache * from t1 where s1=1; +select sql_cache * from t1; +select sql_cache * from t1 where s1=1; +select sql_cache * from t1 where s1=1; +end;// +call f1(); +s1 +s1 +s1 +show status like "Qcache_queries_in_cache"; +Variable_name Value +Qcache_queries_in_cache 3 +show status like "Qcache_inserts"; +Variable_name Value +Qcache_inserts 3 +show status like "Qcache_hits"; +Variable_name Value +Qcache_hits 0 +call f1(); +s1 +s1 +s1 +show status like "Qcache_queries_in_cache"; +Variable_name Value +Qcache_queries_in_cache 3 +show status like "Qcache_inserts"; +Variable_name Value +Qcache_inserts 3 +show status like "Qcache_hits"; +Variable_name Value +Qcache_hits 3 +call f1(); +s1 +s1 +s1 +select sql_cache * from t1; +s1 +show status like "Qcache_queries_in_cache"; +Variable_name Value +Qcache_queries_in_cache 4 +show status like "Qcache_inserts"; +Variable_name Value +Qcache_inserts 4 +show status like "Qcache_hits"; +Variable_name Value +Qcache_hits 6 +insert into t1 values (1); +select sql_cache * from t1; +s1 +1 +show status like "Qcache_queries_in_cache"; +Variable_name Value +Qcache_queries_in_cache 1 +show status like "Qcache_inserts"; +Variable_name Value +Qcache_inserts 5 +show status like "Qcache_hits"; +Variable_name Value +Qcache_hits 6 +call f1(); +s1 +1 +s1 +1 +s1 +1 +call f1(); +s1 +1 +s1 +1 +s1 +1 +select sql_cache * from t1; +s1 +1 +show status like "Qcache_queries_in_cache"; +Variable_name Value +Qcache_queries_in_cache 4 +show status like "Qcache_inserts"; +Variable_name Value +Qcache_inserts 8 +show status like "Qcache_hits"; +Variable_name Value +Qcache_hits 10 +flush query cache; +reset query cache; +flush status; +select sql_cache * from t1; +s1 +1 +select sql_cache * from t1 where s1=1; +s1 +1 +call f1(); +s1 +1 +s1 +1 +s1 +1 +call f2(); +s1 +1 +s1 +1 +call f3(); +s1 +1 +s1 +1 +call f4(); +s1 +1 +s1 +1 +s1 +1 +s1 +1 +s1 +1 +call f4(); +s1 +1 +s1 +1 +s1 +1 +s1 +1 +s1 +1 +call f3(); +s1 +1 +s1 +1 +call f2(); +s1 +1 +s1 +1 +select sql_cache * from t1 where s1=1; +s1 +1 +insert into t1 values (2); +call f1(); +s1 +1 +2 +s1 +1 +2 +s1 +1 +2 +select sql_cache * from t1 where s1=1; +s1 +1 +select sql_cache * from t1; +s1 +1 +2 +call f1(); +s1 +1 +2 +s1 +1 +2 +s1 +1 +2 +call f3(); +s1 +1 +2 +s1 +1 +call f3(); +s1 +1 +2 +s1 +1 +call f1(); +s1 +1 +2 +s1 +1 +2 +s1 +1 +2 +drop procedure f1; +drop procedure f2; +drop procedure f3; +drop procedure f4; +drop table t1; set GLOBAL query_cache_size=0; diff --git a/mysql-test/r/sp-error.result b/mysql-test/r/sp-error.result index d7bed7e88a7..1241e05fa74 100644 --- a/mysql-test/r/sp-error.result +++ b/mysql-test/r/sp-error.result @@ -464,19 +464,6 @@ create table t5 (x int)| call bug3294()| ERROR 42S02: Unknown table 't5' drop procedure bug3294| -drop procedure if exists bug6807| -create procedure bug6807() -begin -declare id int; -set id = connection_id(); -kill query id; -select 'Not reached'; -end| -call bug6807()| -ERROR 70100: Query execution was interrupted -call bug6807()| -ERROR 70100: Query execution was interrupted -drop procedure bug6807| drop procedure if exists bug8776_1| drop procedure if exists bug8776_2| drop procedure if exists bug8776_3| diff --git a/mysql-test/r/sp.result b/mysql-test/r/sp.result index d102eb189d3..cb1d5f1ca0f 100644 --- a/mysql-test/r/sp.result +++ b/mysql-test/r/sp.result @@ -2075,7 +2075,6 @@ show create database test; show databases like 'foo'; show errors; show columns from t1; -show grants for 'root'@'localhost'; show keys from t1; show open tables like 'foo'; show privileges; @@ -2102,8 +2101,6 @@ Level Code Message Field Type Null Key Default Extra id char(16) NO data int(11) NO -Grants for root@localhost -GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Database Table In_use Name_locked Privilege Context Comment @@ -2156,8 +2153,6 @@ Level Code Message Field Type Null Key Default Extra id char(16) NO data int(11) NO -Grants for root@localhost -GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Database Table In_use Name_locked Privilege Context Comment @@ -2193,18 +2188,6 @@ Tables_in_test (foo) Variable_name Value Level Code Message drop procedure bug4902| -drop procedure if exists bug4902_2| -create procedure bug4902_2() -begin -show processlist; -end| -call bug4902_2()| -Id User Host db Command Time State Info -# root localhost test Query # NULL show processlist -call bug4902_2()| -Id User Host db Command Time State Info -# root localhost test Query # NULL show processlist -drop procedure bug4902_2| drop procedure if exists bug4904| create procedure bug4904() begin @@ -2347,52 +2330,6 @@ select @x| NULL delete from t1| drop procedure bug4941| -drop procedure if exists bug3583| -drop procedure if exists bug3583| -create procedure bug3583() -begin -declare c int; -select * from t1; -select count(*) into c from t1; -select c; -end| -insert into t1 values ("x", 3), ("y", 5)| -set @x = @@query_cache_size| -set global query_cache_size = 10*1024*1024| -flush status| -flush query cache| -show status like 'Qcache_hits'| -Variable_name Value -Qcache_hits 0 -call bug3583()| -id data -x 3 -y 5 -c -2 -show status like 'Qcache_hits'| -Variable_name Value -Qcache_hits 0 -call bug3583()| -id data -x 3 -y 5 -c -2 -call bug3583()| -id data -x 3 -y 5 -c -2 -show status like 'Qcache_hits'| -Variable_name Value -Qcache_hits 2 -set global query_cache_size = @x| -flush status| -flush query cache| -delete from t1| -drop procedure bug3583| drop procedure if exists bug4905| create table t3 (s1 int,primary key (s1))| drop procedure if exists bug4905| @@ -2608,17 +2545,6 @@ select id, bug5240() from t1| id bug5240() answer 42 drop function bug5240| -drop function if exists bug5278| -create function bug5278 () returns char -begin -SET PASSWORD FOR 'bob'@'%.loc.gov' = PASSWORD('newpass'); -return 'okay'; -end| -select bug5278()| -ERROR 42000: Can't find any matching row in the user table -select bug5278()| -ERROR 42000: Can't find any matching row in the user table -drop function bug5278| drop procedure if exists p1| create table t3(id int)| insert into t3 values(1)| @@ -3983,14 +3909,6 @@ select bug10100f(5)| ERROR HY000: Recursive stored functions and triggers are not allowed. call bug10100t(5)| ERROR HY000: Recursive limit 0 (as set by the max_sp_recursion_depth variable) was exceeded for routine bug10100p -set @@max_sp_recursion_depth=255| -set @var=1| -call bug10100p(255, @var)| -call bug10100pt(1,255)| -call bug10100pv(1,255)| -call bug10100pd(1,255)| -call bug10100pc(1,255)| -set @@max_sp_recursion_depth=0| deallocate prepare stmt2| drop function bug10100f| drop procedure bug10100p| diff --git a/mysql-test/r/sp_notembedded.result b/mysql-test/r/sp_notembedded.result new file mode 100644 index 00000000000..10ea15399f7 --- /dev/null +++ b/mysql-test/r/sp_notembedded.result @@ -0,0 +1,35 @@ +drop procedure if exists bug4902| +create procedure bug4902() +begin +show grants for 'root'@'localhost'; +end| +call bug4902()| +Grants for root@localhost +GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION +call bug4902()| +Grants for root@localhost +GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION +drop procedure bug4902| +drop procedure if exists bug4902_2| +create procedure bug4902_2() +begin +show processlist; +end| +call bug4902_2()| +Id User Host db Command Time State Info +# root localhost test Query # NULL show processlist +call bug4902_2()| +Id User Host db Command Time State Info +# root localhost test Query # NULL show processlist +drop procedure bug4902_2| +drop function if exists bug5278| +create function bug5278 () returns char +begin +SET PASSWORD FOR 'bob'@'%.loc.gov' = PASSWORD('newpass'); +return 'okay'; +end| +select bug5278()| +ERROR 42000: Can't find any matching row in the user table +select bug5278()| +ERROR 42000: Can't find any matching row in the user table +drop function bug5278| diff --git a/mysql-test/r/subselect_notembedded.result b/mysql-test/r/subselect_notembedded.result new file mode 100644 index 00000000000..dd4b0701c32 --- /dev/null +++ b/mysql-test/r/subselect_notembedded.result @@ -0,0 +1 @@ +purge master logs before (select adddate(current_timestamp(), interval -4 day)); diff --git a/mysql-test/r/view.result b/mysql-test/r/view.result index 4f6cfe4a310..af428e79315 100644 --- a/mysql-test/r/view.result +++ b/mysql-test/r/view.result @@ -2213,15 +2213,6 @@ r_object_id users_names 120001a080000542 guser02 drop view v1, v2; drop table t1, t2; -create definer=some_user@`` sql security invoker view v1 as select 1; -ERROR HY000: Definer is not fully qualified -create definer=some_user@localhost sql security invoker view v1 as select 1; -Warnings: -Note 1449 There is no 'some_user'@'localhost' registered -show create view v1; -View Create View -v1 CREATE ALGORITHM=UNDEFINED DEFINER=`some_user`@`localhost` SQL SECURITY INVOKER VIEW `v1` AS select 1 AS `1` -drop view v1; create table t1 (s1 int); create view abc as select * from t1 as abc; drop table t1; diff --git a/mysql-test/r/view_grant.result b/mysql-test/r/view_grant.result index cb1ac88ea8e..daf34362b5d 100644 --- a/mysql-test/r/view_grant.result +++ b/mysql-test/r/view_grant.result @@ -520,3 +520,12 @@ use test; use test; drop user mysqltest_1@localhost; drop database mysqltest; +create definer=some_user@`` sql security invoker view v1 as select 1; +ERROR HY000: Definer is not fully qualified +create definer=some_user@localhost sql security invoker view v1 as select 1; +Warnings: +Note 1449 There is no 'some_user'@'localhost' registered +show create view v1; +View Create View +v1 CREATE ALGORITHM=UNDEFINED DEFINER=`some_user`@`localhost` SQL SECURITY INVOKER VIEW `v1` AS select 1 AS `1` +drop view v1; diff --git a/mysql-test/t/ctype_cp932_notembedded.test b/mysql-test/t/ctype_cp932_notembedded.test deleted file mode 100644 index 52e7acc3f01..00000000000 --- a/mysql-test/t/ctype_cp932_notembedded.test +++ /dev/null @@ -1,32 +0,0 @@ --- source include/not_embedded.inc --- source include/have_cp932.inc - ---character_set cp932 ---disable_warnings -drop table if exists t1; ---enable_warnings - -set names cp932; -set character_set_database = cp932; - -# Test prepared statement with 0x8300 sequence in parameter while -# running with cp932 client character set. -RESET MASTER; -CREATE TABLE t1(f1 blob); -PREPARE stmt1 FROM 'INSERT INTO t1 VALUES(?)'; -SET @var1= x'8300'; -# TODO: Note that this doesn't actually test the code which was added for -# bug#11338 because this syntax for prepared statements causes the PS to -# be replicated differently than if we executed the PS from C or Java. -# Using this syntax, variable names are inserted into the binlog instead -# of values. The real goal of this test is to check the code that was -# added to Item_param::query_val_str() in order to do hex encoding of -# PS parameters when the client character set is cp932; -# Bug#11338 has an example java program which can be used to verify this -# code (and I have used it to test the fix) until there is some way to -# exercise this code from mysql-test-run. -EXECUTE stmt1 USING @var1; -SHOW BINLOG EVENTS FROM 98; -SELECT HEX(f1) FROM t1; -DROP table t1; -# end test for bug#11338 diff --git a/mysql-test/t/sp-destruct.test b/mysql-test/t/sp-destruct.test index 4f812453f45..bb61f3383bc 100644 --- a/mysql-test/t/sp-destruct.test +++ b/mysql-test/t/sp-destruct.test @@ -7,6 +7,11 @@ # In the case of trouble you might want to skip this. # +# embedded server returns different paths in error messages +# in lines like 'call bug14233();' +# mysqltest should be fixed to allow REPLACE_RESULT in error message +-- source include/not_embedded.inc + # We're using --system things that probably doesn't work on Windows. --source include/not_windows.inc diff --git a/mysql-test/t/view.test b/mysql-test/t/view.test index cc141d476b1..6d42d466133 100644 --- a/mysql-test/t/view.test +++ b/mysql-test/t/view.test @@ -2079,17 +2079,6 @@ order by users_names; drop view v1, v2; drop table t1, t2; -# -# DEFINER information check -# --- error ER_MALFORMED_DEFINER -create definer=some_user@`` sql security invoker view v1 as select 1; ---disable_warnings -create definer=some_user@localhost sql security invoker view v1 as select 1; ---enable_warnings -show create view v1; -drop view v1; - # # Bug #6808 - Views: CREATE VIEW v ... FROM t AS v fails # diff --git a/mysql-test/t/view_grant.test b/mysql-test/t/view_grant.test index 559b5247406..26a4a7e1ec5 100644 --- a/mysql-test/t/view_grant.test +++ b/mysql-test/t/view_grant.test @@ -706,3 +706,12 @@ drop database mysqltest; disconnect user1; disconnect root; connection default; + +# +# DEFINER information check +# +-- error ER_MALFORMED_DEFINER +create definer=some_user@`` sql security invoker view v1 as select 1; +create definer=some_user@localhost sql security invoker view v1 as select 1; +show create view v1; +drop view v1;