diff --git a/mysql-test/r/sp.result b/mysql-test/r/sp.result index ca814c17010..91617d5681d 100644 --- a/mysql-test/r/sp.result +++ b/mysql-test/r/sp.result @@ -1442,6 +1442,801 @@ s1 handler t3 close| drop procedure bug4318| drop table t3| +create procedure bug4902() +begin +show binlog events; +show charset like 'foo'; +show collation like 'foo'; +show column types; +show create table t1; +show create database test; +show databases like 'foo'; +show errors; +show columns from t1; +show grants for 'root'@'localhost'; +show keys from t1; +show master status; +show open tables like 'foo'; +show privileges; +show processlist; +show slave hosts; +show slave status; +show status like 'foo'; +show tables like 'foo'; +show variables like 'foo'; +show warnings; +end| +call bug4902()| +Log_name Pos Event_type Server_id End_log_pos Info +master-bin.000001 4 Format_desc 1 95 Server ver: 5.0.2-alpha-valgrind-max-debug-log, Binlog ver: 4 +master-bin.000001 95 Query 1 175 use `test`; drop table if exists t1 +master-bin.000001 175 Query 1 255 use `test`; drop table if exists t2 +master-bin.000001 255 Query 1 373 use `test`; create table t1 ( +id char(16) not null, +data int not null +) +master-bin.000001 373 Query 1 483 use `test`; create table t2 ( +s char(16), +i int, +d double +) +master-bin.000001 483 Query 1 552 use `test`; call foo42() +master-bin.000001 552 Query 1 623 use `test`; delete from t1 +master-bin.000001 623 Query 1 700 use `test`; call bar("bar", 666) +master-bin.000001 700 Query 1 771 use `test`; delete from t1 +master-bin.000001 771 Query 1 853 use `test`; call two("one", "two", 3) +master-bin.000001 853 Query 1 935 use `test`; call two("one", "two", 3) +master-bin.000001 935 Query 1 1006 use `test`; delete from t1 +master-bin.000001 1006 Query 1 1088 use `test`; call locset("locset", 19) +master-bin.000001 1088 Query 1 1159 use `test`; delete from t1 +master-bin.000001 1159 Query 1 1233 use `test`; call setcontext() +master-bin.000001 1233 Query 1 1307 use `test`; call setcontext() +master-bin.000001 1307 Query 1 1381 use `test`; call setcontext() +master-bin.000001 1381 Query 1 1452 use `test`; delete from t1 +master-bin.000001 1452 Query 1 1532 use `test`; drop table if exists t3 +master-bin.000001 1532 Query 1 1647 use `test`; create table t3 ( d date, i int, f double, s varchar(32) ) +master-bin.000001 1647 Query 1 1718 use `test`; call nullset() +master-bin.000001 1718 Query 1 1789 use `test`; call nullset() +master-bin.000001 1789 Query 1 1859 use `test`; drop table t3 +master-bin.000001 1859 Query 1 1941 use `test`; call mixset("mixset", 19) +master-bin.000001 1941 Query 1 2012 use `test`; delete from t1 +master-bin.000001 2012 Query 1 2088 use `test`; call zip("zip", 99) +master-bin.000001 2088 Query 1 2159 use `test`; delete from t1 +master-bin.000001 2159 Query 1 2227 use `test`; call c1(42) +master-bin.000001 2227 Query 1 2298 use `test`; delete from t1 +master-bin.000001 2298 Query 1 2383 use `test`; call iotest("io1", "io2", 1) +master-bin.000001 2383 Query 1 2468 use `test`; call iotest("io1", "io2", 1) +master-bin.000001 2468 Query 1 2539 use `test`; delete from t1 +master-bin.000001 2539 Query 1 2607 use `test`; call cbv1() +master-bin.000001 2607 Query 1 2675 use `test`; call cbv1() +master-bin.000001 2675 Query 1 2746 use `test`; delete from t1 +master-bin.000001 2746 Query 1 2868 use `test`; insert into t2 values ("a", 1, 1.1), ("b", 2, 1.2), ("c", 3, 1.3) +master-bin.000001 2868 Query 1 2955 use `test`; call sub1("sub1a", (select 7)) +master-bin.000001 2955 Query 1 3055 use `test`; call sub1("sub1b", (select max(i) from t2)) +master-bin.000001 3055 Query 1 3160 use `test`; call sub1("sub1c", (select i,d from t2 limit 1)) +master-bin.000001 3160 Query 1 3265 use `test`; call sub1("sub1d", (select 1 from (select 1) a)) +master-bin.000001 3265 Query 1 3336 use `test`; delete from t2 +master-bin.000001 3336 Query 1 3403 use `test`; call a0(3) +master-bin.000001 3403 Query 1 3470 use `test`; call a0(3) +master-bin.000001 3470 Query 1 3537 use `test`; call a0(3) +master-bin.000001 3537 Query 1 3608 use `test`; delete from t1 +master-bin.000001 3608 Query 1 3674 use `test`; call a(3) +master-bin.000001 3674 Query 1 3740 use `test`; call a(3) +master-bin.000001 3740 Query 1 3806 use `test`; call a(3) +master-bin.000001 3806 Query 1 3877 use `test`; delete from t1 +master-bin.000001 3877 Query 1 3943 use `test`; call b(3) +master-bin.000001 3943 Query 1 4009 use `test`; call b(3) +master-bin.000001 4009 Query 1 4075 use `test`; call b(3) +master-bin.000001 4075 Query 1 4146 use `test`; delete from t1 +master-bin.000001 4146 Query 1 4212 use `test`; call c(3) +master-bin.000001 4212 Query 1 4278 use `test`; call c(3) +master-bin.000001 4278 Query 1 4344 use `test`; call c(3) +master-bin.000001 4344 Query 1 4415 use `test`; delete from t1 +master-bin.000001 4415 Query 1 4481 use `test`; call d(3) +master-bin.000001 4481 Query 1 4552 use `test`; delete from t1 +master-bin.000001 4552 Query 1 4618 use `test`; call e(3) +master-bin.000001 4618 Query 1 4684 use `test`; call e(3) +master-bin.000001 4684 Query 1 4750 use `test`; call e(3) +master-bin.000001 4750 Query 1 4821 use `test`; delete from t1 +master-bin.000001 4821 Query 1 4888 use `test`; call f(-2) +master-bin.000001 4888 Query 1 4954 use `test`; call f(0) +master-bin.000001 4954 Query 1 5020 use `test`; call f(4) +master-bin.000001 5020 Query 1 5091 use `test`; delete from t1 +master-bin.000001 5091 Query 1 5159 use `test`; call g(-42) +master-bin.000001 5159 Query 1 5225 use `test`; call g(0) +master-bin.000001 5225 Query 1 5291 use `test`; call g(1) +master-bin.000001 5291 Query 1 5362 use `test`; delete from t1 +master-bin.000001 5362 Query 1 5428 use `test`; call h(0) +master-bin.000001 5428 Query 1 5494 use `test`; call h(1) +master-bin.000001 5494 Query 1 5561 use `test`; call h(17) +master-bin.000001 5561 Query 1 5632 use `test`; delete from t1 +master-bin.000001 5632 Query 1 5698 use `test`; call i(3) +master-bin.000001 5698 Query 1 5769 use `test`; delete from t1 +master-bin.000001 5769 Query 1 5871 use `test`; insert into t1 values ("foo", 3), ("bar", 19) +master-bin.000001 5871 Query 1 5995 use `test`; insert into t2 values ("x", 9, 4.1), ("y", -1, 19.2), ("z", 3, 2.2) +master-bin.000001 5995 Query 1 6066 use `test`; delete from t1 +master-bin.000001 6066 Query 1 6137 use `test`; delete from t2 +master-bin.000001 6137 Query 1 6221 use `test`; call into_test("into", 100) +master-bin.000001 6221 Query 1 6305 use `test`; call into_test("into", 100) +master-bin.000001 6305 Query 1 6376 use `test`; delete from t1 +master-bin.000001 6376 Query 1 6461 use `test`; call into_test2("into", 100) +master-bin.000001 6461 Query 1 6546 use `test`; call into_test2("into", 100) +master-bin.000001 6546 Query 1 6617 use `test`; delete from t1 +master-bin.000001 6617 Query 1 6709 use `test`; insert into t1 values ("into3", 19) +master-bin.000001 6709 Query 1 6783 use `test`; call into_test3() +master-bin.000001 6783 Query 1 6857 use `test`; call into_test3() +master-bin.000001 6857 Query 1 6928 use `test`; delete from t1 +master-bin.000001 6928 Query 1 6999 use `test`; delete from t2 +master-bin.000001 6999 Query 1 7070 use `test`; delete from t1 +master-bin.000001 7070 Query 1 7150 use `test`; drop table if exists t3 +master-bin.000001 7150 Query 1 7243 use `test`; create table t3 ( s char(16), d int) +master-bin.000001 7243 Query 1 7317 use `test`; call into_test4() +master-bin.000001 7317 Query 1 7406 use `test`; insert into t1 values ("i4", 77) +master-bin.000001 7406 Query 1 7480 use `test`; call into_test4() +master-bin.000001 7480 Query 1 7551 use `test`; delete from t1 +master-bin.000001 7551 Query 1 7621 use `test`; drop table t3 +master-bin.000001 7621 Query 1 7707 use `test`; call into_outfile("ofile", 1) +master-bin.000001 7707 Query 1 7793 use `test`; call into_outfile("ofile", 1) +master-bin.000001 7793 Query 1 7864 use `test`; delete from t1 +master-bin.000001 7864 Query 1 7951 use `test`; call into_dumpfile("dfile", 1) +master-bin.000001 7951 Query 1 8038 use `test`; call into_dumpfile("dfile", 1) +master-bin.000001 8038 Query 1 8109 use `test`; delete from t1 +master-bin.000001 8109 Query 1 8189 use `test`; drop table if exists t3 +master-bin.000001 8189 Query 1 8274 use `test`; call create_select("cs", 90) +master-bin.000001 8274 Query 1 8359 use `test`; call create_select("cs", 90) +master-bin.000001 8359 Query 1 8444 use `test`; call create_select("cs", 90) +master-bin.000001 8444 Query 1 8524 use `test`; drop table if exists t3 +master-bin.000001 8524 Query 1 8595 use `test`; delete from t1 +master-bin.000001 8595 Query 1 8711 use `test`; insert into t2 values (append("xxx", "yyy"), mul(4,3), e()) +master-bin.000001 8711 Query 1 8841 use `test`; insert into t2 values (append("a", "b"), mul(2,mul(3,4)), fun(1.7, 4, 6)) +master-bin.000001 8841 Query 1 8912 use `test`; delete from t2 +master-bin.000001 8912 Query 1 8984 use `test`; call hndlr1(42) +master-bin.000001 8984 Query 1 9055 use `test`; delete from t1 +master-bin.000001 9055 Query 1 9127 use `test`; call hndlr2(42) +master-bin.000001 9127 Query 1 9198 use `test`; delete from t1 +master-bin.000001 9198 Query 1 9269 use `test`; call hndlr3(3) +master-bin.000001 9269 Query 1 9340 use `test`; delete from t1 +master-bin.000001 9340 Query 1 9420 use `test`; drop table if exists t3 +master-bin.000001 9420 Query 1 9520 use `test`; create table t3 ( id char(16), data int ) +master-bin.000001 9520 Query 1 9590 use `test`; call hndlr4() +master-bin.000001 9590 Query 1 9660 use `test`; drop table t3 +master-bin.000001 9660 Query 1 9795 use `test`; insert into t2 values ("foo", 42, -1.9), ("bar", 3, 12.1), ("zap", 666, -3.14) +master-bin.000001 9795 Query 1 9863 use `test`; call cur1() +master-bin.000001 9863 Query 1 9931 use `test`; call cur1() +master-bin.000001 9931 Query 1 9999 use `test`; call cur1() +master-bin.000001 9999 Query 1 10079 use `test`; drop table if exists t3 +master-bin.000001 10079 Query 1 10173 use `test`; create table t3 ( s char(16), i int ) +master-bin.000001 10173 Query 1 10241 use `test`; call cur2() +master-bin.000001 10241 Query 1 10309 use `test`; call cur2() +master-bin.000001 10309 Query 1 10377 use `test`; call cur2() +master-bin.000001 10377 Query 1 10448 use `test`; delete from t1 +master-bin.000001 10448 Query 1 10519 use `test`; delete from t2 +master-bin.000001 10519 Query 1 10589 use `test`; drop table t3 +master-bin.000001 10589 Query 1 10661 use `test`; call chistics() +master-bin.000001 10661 Query 1 10732 use `test`; delete from t1 +master-bin.000001 10732 Query 1 10845 use `test`; insert into t1 values ("foo", 1), ("bar", 2), ("zip", 3) +master-bin.000001 10845 Query 1 10916 use `test`; delete from t1 +master-bin.000001 10916 Query 1 10995 use `test`; create database sp_db1 +master-bin.000001 10995 Query 1 11072 use `test`; drop database sp_db1 +master-bin.000001 11072 Query 1 11151 use `test`; create database sp_db2 +master-bin.000001 11151 Query 1 11246 use `sp_db2`; create table t3 ( s char(4), t int ) +master-bin.000001 11246 Query 1 11354 use `sp_db2`; insert into t3 values ("abcd", 42), ("dcba", 666) +master-bin.000001 11354 Query 1 11431 use `test`; drop database sp_db2 +master-bin.000001 11431 Query 1 11510 use `test`; create database sp_db3 +master-bin.000001 11510 Query 1 11587 use `test`; drop database sp_db3 +master-bin.000001 11587 Query 1 11653 use `test`; call rc() +master-bin.000001 11653 Query 1 11719 use `test`; call rc() +master-bin.000001 11719 Query 1 11832 use `test`; update t1 set data=42 where id = "b"; +select row_count() +master-bin.000001 11832 Query 1 11903 use `test`; delete from t1 +master-bin.000001 11903 Query 1 11974 use `test`; delete from t1 +master-bin.000001 11974 Query 1 12053 use `test`; call bug822('foo', 42) +master-bin.000001 12053 Query 1 12133 use `test`; call bug822('bar', 666) +master-bin.000001 12133 Query 1 12204 use `test`; delete from t1 +master-bin.000001 12204 Query 1 12294 use `test`; insert into t1 values ('foo', 12) +master-bin.000001 12294 Query 1 12365 use `test`; call bug1495() +master-bin.000001 12365 Query 1 12451 use `test`; delete from t1 where id='foo' +master-bin.000001 12451 Query 1 12540 use `test`; insert into t1 values ('bar', 7) +master-bin.000001 12540 Query 1 12611 use `test`; call bug1495() +master-bin.000001 12611 Query 1 12697 use `test`; delete from t1 where id='bar' +master-bin.000001 12697 Query 1 12768 use `test`; delete from t1 +master-bin.000001 12768 Query 1 12870 use `test`; insert into t1 values ("foo", 12), ("bar", 7) +master-bin.000001 12870 Query 1 12946 use `test`; call bug1547("foo") +master-bin.000001 12946 Query 1 13022 use `test`; call bug1547("bar") +master-bin.000001 13022 Query 1 13093 use `test`; delete from t1 +master-bin.000001 13093 Query 1 13174 use `test`; drop table if exists t70 +master-bin.000001 13174 Query 1 13263 use `test`; create table t70 (s1 int,s2 int) +master-bin.000001 13263 Query 1 13348 use `test`; insert into t70 values (1,2) +master-bin.000001 13348 Query 1 13419 use `test`; drop table t70 +master-bin.000001 13419 Query 1 13499 use `test`; drop table if exists t3 +master-bin.000001 13499 Query 1 13578 use `test`; create table t3(a int) +master-bin.000001 13578 Query 1 13649 use `test`; call bug1862() +master-bin.000001 13649 Query 1 13720 use `test`; call bug1862() +master-bin.000001 13720 Query 1 13791 use `test`; call bug1862() +master-bin.000001 13791 Query 1 13862 use `test`; call bug1862() +master-bin.000001 13862 Query 1 13932 use `test`; drop table t3 +master-bin.000001 13932 Query 1 14041 use `test`; insert into t1 (data) values (3), (1), (5), (9), (4) +master-bin.000001 14041 Query 1 14112 use `test`; call bug1874() +master-bin.000001 14112 Query 1 14183 use `test`; call bug1874() +master-bin.000001 14183 Query 1 14254 use `test`; call bug1874() +master-bin.000001 14254 Query 1 14325 use `test`; call bug1874() +master-bin.000001 14325 Query 1 14396 use `test`; delete from t1 +master-bin.000001 14396 Query 1 14467 use `test`; delete from t2 +master-bin.000001 14467 Query 1 14538 use `test`; call bug2614() +master-bin.000001 14538 Query 1 14609 use `test`; call bug2614() +master-bin.000001 14609 Query 1 14680 use `test`; call bug2614() +master-bin.000001 14680 Query 1 14751 use `test`; call bug2614() +master-bin.000001 14751 Query 1 14822 use `test`; call bug2614() +master-bin.000001 14822 Query 1 14893 use `test`; call bug2614() +master-bin.000001 14893 Query 1 14964 use `test`; call bug2614() +master-bin.000001 14964 Query 1 15035 use `test`; call bug2614() +master-bin.000001 15035 Query 1 15105 use `test`; drop table t3 +master-bin.000001 15105 Query 1 15185 use `test`; drop table if exists t3 +master-bin.000001 15185 Query 1 15271 use `test`; create table t3 (s1 smallint) +master-bin.000001 15271 Query 1 15364 use `test`; insert into t3 values (123456789012) +master-bin.000001 15364 Query 1 15435 use `test`; call bug2780() +master-bin.000001 15435 Query 1 15505 use `test`; drop table t3 +master-bin.000001 15505 Query 1 15585 use `test`; drop table if exists t3 +master-bin.000001 15585 Query 1 15680 use `test`; create table t3 (content varchar(10) ) +master-bin.000001 15680 Query 1 15768 use `test`; insert into t3 values ("test1") +master-bin.000001 15768 Query 1 15856 use `test`; insert into t3 values ("test2") +master-bin.000001 15856 Query 1 15936 use `test`; drop table if exists t4 +master-bin.000001 15936 Query 1 16033 use `test`; create table t4 (f1 int, rc int, t3 int) +master-bin.000001 16033 Query 1 16106 use `test`; call bug1863(10) +master-bin.000001 16106 Query 1 16179 use `test`; call bug1863(10) +master-bin.000001 16179 Intvar 1 16207 LAST_INSERT_ID=1 +master-bin.000001 16207 Intvar 1 16235 INSERT_ID=1 +master-bin.000001 16235 Query 1 16308 use `test`; call bug1863(10) +master-bin.000001 16308 Intvar 1 16336 LAST_INSERT_ID=1 +master-bin.000001 16336 Intvar 1 16364 INSERT_ID=1 +master-bin.000001 16364 Query 1 16437 use `test`; call bug1863(10) +master-bin.000001 16437 Query 1 16510 use `test`; call bug1863(10) +master-bin.000001 16510 Query 1 16583 use `test`; call bug1863(10) +master-bin.000001 16583 Intvar 1 16611 LAST_INSERT_ID=1 +master-bin.000001 16611 Intvar 1 16639 INSERT_ID=1 +master-bin.000001 16639 Query 1 16712 use `test`; call bug1863(10) +master-bin.000001 16712 Intvar 1 16740 LAST_INSERT_ID=1 +master-bin.000001 16740 Intvar 1 16768 INSERT_ID=1 +master-bin.000001 16768 Query 1 16841 use `test`; call bug1863(10) +master-bin.000001 16841 Query 1 16915 use `test`; drop table t3, t4 +master-bin.000001 16915 Query 1 16999 use `test`; drop table if exists t3, t4 +master-bin.000001 16999 Query 1 17135 use `test`; create table t3 ( +OrderID int not null, +MarketID int, +primary key (OrderID) +) +master-bin.000001 17135 Query 1 17294 use `test`; create table t4 ( +MarketID int not null, +Market varchar(60), +Status char(1), +primary key (MarketID) +) +master-bin.000001 17294 Query 1 17392 use `test`; insert t3 (OrderID,MarketID) values (1,1) +master-bin.000001 17392 Query 1 17490 use `test`; insert t3 (OrderID,MarketID) values (2,2) +master-bin.000001 17490 Query 1 17611 use `test`; insert t4 (MarketID,Market,Status) values (1,"MarketID One","A") +master-bin.000001 17611 Query 1 17732 use `test`; insert t4 (MarketID,Market,Status) values (2,"MarketID Two","A") +master-bin.000001 17732 Query 1 17806 use `test`; drop table t3, t4 +master-bin.000001 17806 Query 1 17890 use `test`; drop table if exists t3, t4 +master-bin.000001 17890 Query 1 18014 use `test`; create table t3 ( +a int primary key, +ach char(1) +) engine = innodb +master-bin.000001 18014 Query 1 18140 use `test`; create table t4 ( +b int primary key , +bch char(1) +) engine = innodb +master-bin.000001 18140 Query 1 18249 use `test`; insert into t3 values (1 , 'aCh1' ) , ('2' , 'aCh2') +master-bin.000001 18249 Query 1 18341 use `test`; insert into t4 values (1 , 'bCh1' ) +master-bin.000001 18341 Query 1 18415 use `test`; drop table t3, t4 +master-bin.000001 18415 Query 1 18495 use `test`; drop table if exists t3 +master-bin.000001 18495 Query 1 18677 use `test`; create table t3 ( +id int unsigned auto_increment not null primary key, +title VARCHAR(200), +body text, +fulltext (title,body) +) +master-bin.000001 18677 Intvar 1 18705 INSERT_ID=1 +master-bin.000001 18705 Query 1 19147 use `test`; insert into t3 (title,body) values +('MySQL Tutorial','DBMS stands for DataBase ...'), +('How To Use MySQL Well','After you went through a ...'), +('Optimizing MySQL','In this tutorial we will show ...'), +('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'), +('MySQL vs. YourSQL','In the following database comparison ...'), +('MySQL Security','When configured properly, MySQL ...') +master-bin.000001 19147 Query 1 19217 use `test`; drop table t3 +master-bin.000001 19217 Query 1 19297 use `test`; drop table if exists t3 +master-bin.000001 19297 Query 1 19516 use `test`; create table t3 ( +id int(10) unsigned not null default 0, +rid int(10) unsigned not null default 0, +msg text not null, +primary key (id), +unique key rid (rid, id) +) +master-bin.000001 19516 Query 1 19642 use `test`; insert into t3 values (1, 1, 'foo'), (2, 1, 'bar'), (3, 1, 'zip zap') +master-bin.000001 19642 Query 1 19715 use `test`; call bug2460_2() +master-bin.000001 19715 Query 1 19788 use `test`; call bug2460_2() +master-bin.000001 19788 Query 1 19861 use `test`; call bug2460_2() +master-bin.000001 19861 Query 1 19934 use `test`; call bug2460_2() +master-bin.000001 19934 Query 1 20007 use `test`; call bug2460_2() +master-bin.000001 20007 Query 1 20080 use `test`; call bug2460_2() +master-bin.000001 20080 Query 1 20150 use `test`; drop table t3 +master-bin.000001 20150 Query 1 20221 use `test`; call bug3843() +master-bin.000001 20221 Query 1 20292 use `test`; call bug3843() +master-bin.000001 20292 Query 1 20372 use `test`; drop table if exists t3 +master-bin.000001 20372 Query 1 20460 use `test`; create table t3 ( s1 char(10) ) +master-bin.000001 20460 Query 1 20551 use `test`; insert into t3 values ('a'), ('b') +master-bin.000001 20551 Query 1 20621 use `test`; drop table t3 +master-bin.000001 20621 Query 1 20701 use `test`; drop table if exists t3 +master-bin.000001 20701 Query 1 20990 use `test`; create table t3 (f1 int, f2 int); +insert into t3 values (1,1); +create procedure bug4579_1 () +begin +declare sf1 int; +select f1 into sf1 from t3 where f1=1 and f2=1; +update t3 set f2 = f2 + 1 where f1=1 and f2=1; +call bug4579_2(); +end +master-bin.000001 20990 Query 1 21245 use `test`; insert into t3 values (1,1); +create procedure bug4579_1 () +begin +declare sf1 int; +select f1 into sf1 from t3 where f1=1 and f2=1; +update t3 set f2 = f2 + 1 where f1=1 and f2=1; +call bug4579_2(); +end +master-bin.000001 21245 Query 1 21318 use `test`; call bug4579_1() +master-bin.000001 21318 Query 1 21391 use `test`; call bug4579_1() +master-bin.000001 21391 Query 1 21464 use `test`; call bug4579_1() +master-bin.000001 21464 Query 1 21534 use `test`; drop table t3 +master-bin.000001 21534 Query 1 21614 use `test`; drop table if exists t3 +master-bin.000001 21614 Query 1 21711 use `test`; create table t3 (f1 int, f2 int, f3 int) +master-bin.000001 21711 Query 1 21797 use `test`; insert into t3 values (1,1,1) +master-bin.000001 21797 Query 1 21867 use `test`; drop table t3 +master-bin.000001 21867 Query 1 21947 use `test`; drop table if exists t3 +master-bin.000001 21947 Query 1 22028 use `test`; create table t3 (s1 int) +master-bin.000001 22028 Query 1 22115 use `test`; insert into t3 values (3), (4) +master-bin.000001 22115 Query 1 22185 use `test`; drop table t3 +Charset Description Default collation Maxlen +Collation Charset Id Default Compiled Sortlen +Type Size Min_Value Max_Value Prec Scale Nullable Auto_Increment Unsigned Zerofill Searchable Case_Sensitive Default Comment +tinyint 1 -128 127 0 0 YES YES NO YES YES NO NULL,0 A very small integer +tinyint unsigned 1 0 255 0 0 YES YES YES YES YES NO NULL,0 A very small integer +Table Create Table +t1 CREATE TABLE `t1` ( + `id` char(16) NOT NULL default '', + `data` int(11) NOT NULL default '0' +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +Database Create Database +test CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET latin1 */ +Database (foo) +Level Code Message +Field Type Null Key Default Extra +id char(16) +data int(11) 0 +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 +File Position Binlog_Do_DB Binlog_Ignore_DB +master-bin.000001 22185 +Database Table In_use Name_locked +Privilege Context Comment +Alter Tables To alter the table +Create Databases,Tables,Indexes To create new databases and tables +Create temporary tables Databases To use CREATE TEMPORARY TABLE +Create view Tables To create new views +Delete Tables To delete existing rows +Drop Databases,Tables To drop databases, tables, and views +File File access on server To read and write files on the server +Grant option Databases,Tables To give to other users those privileges you possess +Index Tables To create or drop indexes +Insert Tables To insert data into tables +Lock tables Databases To use LOCK TABLES (together with SELECT privilege) +Process Server Admin To view the plain text of currently executing queries +References Databases,Tables To have references on tables +Reload Server Admin To reload or refresh tables, logs and privileges +Replication client Server Admin To ask where the slave or master servers are +Replication slave Server Admin To read binary log events from the master +Select Tables To retrieve rows from table +Show databases Server Admin To see all databases with SHOW DATABASES +Show view Tables To see views with SHOW CREATE VIEW +Shutdown Server Admin To shut down the server +Super Server Admin To use KILL thread, SET GLOBAL, CHANGE MASTER, etc. +Update Tables To update existing rows +Usage Server Admin No privileges - allow connect only +Id User Host db Command Time State Info +1 root localhost test Query 0 query end call bug4902() +Server_id Host Port Rpl_recovery_rank Master_id +Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master +Variable_name Value +Tables_in_test (foo) table_type +Variable_name Value +Level Code Message +call bug4902()| +Log_name Pos Event_type Server_id End_log_pos Info +master-bin.000001 4 Format_desc 1 95 Server ver: 5.0.2-alpha-valgrind-max-debug-log, Binlog ver: 4 +master-bin.000001 95 Query 1 175 use `test`; drop table if exists t1 +master-bin.000001 175 Query 1 255 use `test`; drop table if exists t2 +master-bin.000001 255 Query 1 373 use `test`; create table t1 ( +id char(16) not null, +data int not null +) +master-bin.000001 373 Query 1 483 use `test`; create table t2 ( +s char(16), +i int, +d double +) +master-bin.000001 483 Query 1 552 use `test`; call foo42() +master-bin.000001 552 Query 1 623 use `test`; delete from t1 +master-bin.000001 623 Query 1 700 use `test`; call bar("bar", 666) +master-bin.000001 700 Query 1 771 use `test`; delete from t1 +master-bin.000001 771 Query 1 853 use `test`; call two("one", "two", 3) +master-bin.000001 853 Query 1 935 use `test`; call two("one", "two", 3) +master-bin.000001 935 Query 1 1006 use `test`; delete from t1 +master-bin.000001 1006 Query 1 1088 use `test`; call locset("locset", 19) +master-bin.000001 1088 Query 1 1159 use `test`; delete from t1 +master-bin.000001 1159 Query 1 1233 use `test`; call setcontext() +master-bin.000001 1233 Query 1 1307 use `test`; call setcontext() +master-bin.000001 1307 Query 1 1381 use `test`; call setcontext() +master-bin.000001 1381 Query 1 1452 use `test`; delete from t1 +master-bin.000001 1452 Query 1 1532 use `test`; drop table if exists t3 +master-bin.000001 1532 Query 1 1647 use `test`; create table t3 ( d date, i int, f double, s varchar(32) ) +master-bin.000001 1647 Query 1 1718 use `test`; call nullset() +master-bin.000001 1718 Query 1 1789 use `test`; call nullset() +master-bin.000001 1789 Query 1 1859 use `test`; drop table t3 +master-bin.000001 1859 Query 1 1941 use `test`; call mixset("mixset", 19) +master-bin.000001 1941 Query 1 2012 use `test`; delete from t1 +master-bin.000001 2012 Query 1 2088 use `test`; call zip("zip", 99) +master-bin.000001 2088 Query 1 2159 use `test`; delete from t1 +master-bin.000001 2159 Query 1 2227 use `test`; call c1(42) +master-bin.000001 2227 Query 1 2298 use `test`; delete from t1 +master-bin.000001 2298 Query 1 2383 use `test`; call iotest("io1", "io2", 1) +master-bin.000001 2383 Query 1 2468 use `test`; call iotest("io1", "io2", 1) +master-bin.000001 2468 Query 1 2539 use `test`; delete from t1 +master-bin.000001 2539 Query 1 2607 use `test`; call cbv1() +master-bin.000001 2607 Query 1 2675 use `test`; call cbv1() +master-bin.000001 2675 Query 1 2746 use `test`; delete from t1 +master-bin.000001 2746 Query 1 2868 use `test`; insert into t2 values ("a", 1, 1.1), ("b", 2, 1.2), ("c", 3, 1.3) +master-bin.000001 2868 Query 1 2955 use `test`; call sub1("sub1a", (select 7)) +master-bin.000001 2955 Query 1 3055 use `test`; call sub1("sub1b", (select max(i) from t2)) +master-bin.000001 3055 Query 1 3160 use `test`; call sub1("sub1c", (select i,d from t2 limit 1)) +master-bin.000001 3160 Query 1 3265 use `test`; call sub1("sub1d", (select 1 from (select 1) a)) +master-bin.000001 3265 Query 1 3336 use `test`; delete from t2 +master-bin.000001 3336 Query 1 3403 use `test`; call a0(3) +master-bin.000001 3403 Query 1 3470 use `test`; call a0(3) +master-bin.000001 3470 Query 1 3537 use `test`; call a0(3) +master-bin.000001 3537 Query 1 3608 use `test`; delete from t1 +master-bin.000001 3608 Query 1 3674 use `test`; call a(3) +master-bin.000001 3674 Query 1 3740 use `test`; call a(3) +master-bin.000001 3740 Query 1 3806 use `test`; call a(3) +master-bin.000001 3806 Query 1 3877 use `test`; delete from t1 +master-bin.000001 3877 Query 1 3943 use `test`; call b(3) +master-bin.000001 3943 Query 1 4009 use `test`; call b(3) +master-bin.000001 4009 Query 1 4075 use `test`; call b(3) +master-bin.000001 4075 Query 1 4146 use `test`; delete from t1 +master-bin.000001 4146 Query 1 4212 use `test`; call c(3) +master-bin.000001 4212 Query 1 4278 use `test`; call c(3) +master-bin.000001 4278 Query 1 4344 use `test`; call c(3) +master-bin.000001 4344 Query 1 4415 use `test`; delete from t1 +master-bin.000001 4415 Query 1 4481 use `test`; call d(3) +master-bin.000001 4481 Query 1 4552 use `test`; delete from t1 +master-bin.000001 4552 Query 1 4618 use `test`; call e(3) +master-bin.000001 4618 Query 1 4684 use `test`; call e(3) +master-bin.000001 4684 Query 1 4750 use `test`; call e(3) +master-bin.000001 4750 Query 1 4821 use `test`; delete from t1 +master-bin.000001 4821 Query 1 4888 use `test`; call f(-2) +master-bin.000001 4888 Query 1 4954 use `test`; call f(0) +master-bin.000001 4954 Query 1 5020 use `test`; call f(4) +master-bin.000001 5020 Query 1 5091 use `test`; delete from t1 +master-bin.000001 5091 Query 1 5159 use `test`; call g(-42) +master-bin.000001 5159 Query 1 5225 use `test`; call g(0) +master-bin.000001 5225 Query 1 5291 use `test`; call g(1) +master-bin.000001 5291 Query 1 5362 use `test`; delete from t1 +master-bin.000001 5362 Query 1 5428 use `test`; call h(0) +master-bin.000001 5428 Query 1 5494 use `test`; call h(1) +master-bin.000001 5494 Query 1 5561 use `test`; call h(17) +master-bin.000001 5561 Query 1 5632 use `test`; delete from t1 +master-bin.000001 5632 Query 1 5698 use `test`; call i(3) +master-bin.000001 5698 Query 1 5769 use `test`; delete from t1 +master-bin.000001 5769 Query 1 5871 use `test`; insert into t1 values ("foo", 3), ("bar", 19) +master-bin.000001 5871 Query 1 5995 use `test`; insert into t2 values ("x", 9, 4.1), ("y", -1, 19.2), ("z", 3, 2.2) +master-bin.000001 5995 Query 1 6066 use `test`; delete from t1 +master-bin.000001 6066 Query 1 6137 use `test`; delete from t2 +master-bin.000001 6137 Query 1 6221 use `test`; call into_test("into", 100) +master-bin.000001 6221 Query 1 6305 use `test`; call into_test("into", 100) +master-bin.000001 6305 Query 1 6376 use `test`; delete from t1 +master-bin.000001 6376 Query 1 6461 use `test`; call into_test2("into", 100) +master-bin.000001 6461 Query 1 6546 use `test`; call into_test2("into", 100) +master-bin.000001 6546 Query 1 6617 use `test`; delete from t1 +master-bin.000001 6617 Query 1 6709 use `test`; insert into t1 values ("into3", 19) +master-bin.000001 6709 Query 1 6783 use `test`; call into_test3() +master-bin.000001 6783 Query 1 6857 use `test`; call into_test3() +master-bin.000001 6857 Query 1 6928 use `test`; delete from t1 +master-bin.000001 6928 Query 1 6999 use `test`; delete from t2 +master-bin.000001 6999 Query 1 7070 use `test`; delete from t1 +master-bin.000001 7070 Query 1 7150 use `test`; drop table if exists t3 +master-bin.000001 7150 Query 1 7243 use `test`; create table t3 ( s char(16), d int) +master-bin.000001 7243 Query 1 7317 use `test`; call into_test4() +master-bin.000001 7317 Query 1 7406 use `test`; insert into t1 values ("i4", 77) +master-bin.000001 7406 Query 1 7480 use `test`; call into_test4() +master-bin.000001 7480 Query 1 7551 use `test`; delete from t1 +master-bin.000001 7551 Query 1 7621 use `test`; drop table t3 +master-bin.000001 7621 Query 1 7707 use `test`; call into_outfile("ofile", 1) +master-bin.000001 7707 Query 1 7793 use `test`; call into_outfile("ofile", 1) +master-bin.000001 7793 Query 1 7864 use `test`; delete from t1 +master-bin.000001 7864 Query 1 7951 use `test`; call into_dumpfile("dfile", 1) +master-bin.000001 7951 Query 1 8038 use `test`; call into_dumpfile("dfile", 1) +master-bin.000001 8038 Query 1 8109 use `test`; delete from t1 +master-bin.000001 8109 Query 1 8189 use `test`; drop table if exists t3 +master-bin.000001 8189 Query 1 8274 use `test`; call create_select("cs", 90) +master-bin.000001 8274 Query 1 8359 use `test`; call create_select("cs", 90) +master-bin.000001 8359 Query 1 8444 use `test`; call create_select("cs", 90) +master-bin.000001 8444 Query 1 8524 use `test`; drop table if exists t3 +master-bin.000001 8524 Query 1 8595 use `test`; delete from t1 +master-bin.000001 8595 Query 1 8711 use `test`; insert into t2 values (append("xxx", "yyy"), mul(4,3), e()) +master-bin.000001 8711 Query 1 8841 use `test`; insert into t2 values (append("a", "b"), mul(2,mul(3,4)), fun(1.7, 4, 6)) +master-bin.000001 8841 Query 1 8912 use `test`; delete from t2 +master-bin.000001 8912 Query 1 8984 use `test`; call hndlr1(42) +master-bin.000001 8984 Query 1 9055 use `test`; delete from t1 +master-bin.000001 9055 Query 1 9127 use `test`; call hndlr2(42) +master-bin.000001 9127 Query 1 9198 use `test`; delete from t1 +master-bin.000001 9198 Query 1 9269 use `test`; call hndlr3(3) +master-bin.000001 9269 Query 1 9340 use `test`; delete from t1 +master-bin.000001 9340 Query 1 9420 use `test`; drop table if exists t3 +master-bin.000001 9420 Query 1 9520 use `test`; create table t3 ( id char(16), data int ) +master-bin.000001 9520 Query 1 9590 use `test`; call hndlr4() +master-bin.000001 9590 Query 1 9660 use `test`; drop table t3 +master-bin.000001 9660 Query 1 9795 use `test`; insert into t2 values ("foo", 42, -1.9), ("bar", 3, 12.1), ("zap", 666, -3.14) +master-bin.000001 9795 Query 1 9863 use `test`; call cur1() +master-bin.000001 9863 Query 1 9931 use `test`; call cur1() +master-bin.000001 9931 Query 1 9999 use `test`; call cur1() +master-bin.000001 9999 Query 1 10079 use `test`; drop table if exists t3 +master-bin.000001 10079 Query 1 10173 use `test`; create table t3 ( s char(16), i int ) +master-bin.000001 10173 Query 1 10241 use `test`; call cur2() +master-bin.000001 10241 Query 1 10309 use `test`; call cur2() +master-bin.000001 10309 Query 1 10377 use `test`; call cur2() +master-bin.000001 10377 Query 1 10448 use `test`; delete from t1 +master-bin.000001 10448 Query 1 10519 use `test`; delete from t2 +master-bin.000001 10519 Query 1 10589 use `test`; drop table t3 +master-bin.000001 10589 Query 1 10661 use `test`; call chistics() +master-bin.000001 10661 Query 1 10732 use `test`; delete from t1 +master-bin.000001 10732 Query 1 10845 use `test`; insert into t1 values ("foo", 1), ("bar", 2), ("zip", 3) +master-bin.000001 10845 Query 1 10916 use `test`; delete from t1 +master-bin.000001 10916 Query 1 10995 use `test`; create database sp_db1 +master-bin.000001 10995 Query 1 11072 use `test`; drop database sp_db1 +master-bin.000001 11072 Query 1 11151 use `test`; create database sp_db2 +master-bin.000001 11151 Query 1 11246 use `sp_db2`; create table t3 ( s char(4), t int ) +master-bin.000001 11246 Query 1 11354 use `sp_db2`; insert into t3 values ("abcd", 42), ("dcba", 666) +master-bin.000001 11354 Query 1 11431 use `test`; drop database sp_db2 +master-bin.000001 11431 Query 1 11510 use `test`; create database sp_db3 +master-bin.000001 11510 Query 1 11587 use `test`; drop database sp_db3 +master-bin.000001 11587 Query 1 11653 use `test`; call rc() +master-bin.000001 11653 Query 1 11719 use `test`; call rc() +master-bin.000001 11719 Query 1 11832 use `test`; update t1 set data=42 where id = "b"; +select row_count() +master-bin.000001 11832 Query 1 11903 use `test`; delete from t1 +master-bin.000001 11903 Query 1 11974 use `test`; delete from t1 +master-bin.000001 11974 Query 1 12053 use `test`; call bug822('foo', 42) +master-bin.000001 12053 Query 1 12133 use `test`; call bug822('bar', 666) +master-bin.000001 12133 Query 1 12204 use `test`; delete from t1 +master-bin.000001 12204 Query 1 12294 use `test`; insert into t1 values ('foo', 12) +master-bin.000001 12294 Query 1 12365 use `test`; call bug1495() +master-bin.000001 12365 Query 1 12451 use `test`; delete from t1 where id='foo' +master-bin.000001 12451 Query 1 12540 use `test`; insert into t1 values ('bar', 7) +master-bin.000001 12540 Query 1 12611 use `test`; call bug1495() +master-bin.000001 12611 Query 1 12697 use `test`; delete from t1 where id='bar' +master-bin.000001 12697 Query 1 12768 use `test`; delete from t1 +master-bin.000001 12768 Query 1 12870 use `test`; insert into t1 values ("foo", 12), ("bar", 7) +master-bin.000001 12870 Query 1 12946 use `test`; call bug1547("foo") +master-bin.000001 12946 Query 1 13022 use `test`; call bug1547("bar") +master-bin.000001 13022 Query 1 13093 use `test`; delete from t1 +master-bin.000001 13093 Query 1 13174 use `test`; drop table if exists t70 +master-bin.000001 13174 Query 1 13263 use `test`; create table t70 (s1 int,s2 int) +master-bin.000001 13263 Query 1 13348 use `test`; insert into t70 values (1,2) +master-bin.000001 13348 Query 1 13419 use `test`; drop table t70 +master-bin.000001 13419 Query 1 13499 use `test`; drop table if exists t3 +master-bin.000001 13499 Query 1 13578 use `test`; create table t3(a int) +master-bin.000001 13578 Query 1 13649 use `test`; call bug1862() +master-bin.000001 13649 Query 1 13720 use `test`; call bug1862() +master-bin.000001 13720 Query 1 13791 use `test`; call bug1862() +master-bin.000001 13791 Query 1 13862 use `test`; call bug1862() +master-bin.000001 13862 Query 1 13932 use `test`; drop table t3 +master-bin.000001 13932 Query 1 14041 use `test`; insert into t1 (data) values (3), (1), (5), (9), (4) +master-bin.000001 14041 Query 1 14112 use `test`; call bug1874() +master-bin.000001 14112 Query 1 14183 use `test`; call bug1874() +master-bin.000001 14183 Query 1 14254 use `test`; call bug1874() +master-bin.000001 14254 Query 1 14325 use `test`; call bug1874() +master-bin.000001 14325 Query 1 14396 use `test`; delete from t1 +master-bin.000001 14396 Query 1 14467 use `test`; delete from t2 +master-bin.000001 14467 Query 1 14538 use `test`; call bug2614() +master-bin.000001 14538 Query 1 14609 use `test`; call bug2614() +master-bin.000001 14609 Query 1 14680 use `test`; call bug2614() +master-bin.000001 14680 Query 1 14751 use `test`; call bug2614() +master-bin.000001 14751 Query 1 14822 use `test`; call bug2614() +master-bin.000001 14822 Query 1 14893 use `test`; call bug2614() +master-bin.000001 14893 Query 1 14964 use `test`; call bug2614() +master-bin.000001 14964 Query 1 15035 use `test`; call bug2614() +master-bin.000001 15035 Query 1 15105 use `test`; drop table t3 +master-bin.000001 15105 Query 1 15185 use `test`; drop table if exists t3 +master-bin.000001 15185 Query 1 15271 use `test`; create table t3 (s1 smallint) +master-bin.000001 15271 Query 1 15364 use `test`; insert into t3 values (123456789012) +master-bin.000001 15364 Query 1 15435 use `test`; call bug2780() +master-bin.000001 15435 Query 1 15505 use `test`; drop table t3 +master-bin.000001 15505 Query 1 15585 use `test`; drop table if exists t3 +master-bin.000001 15585 Query 1 15680 use `test`; create table t3 (content varchar(10) ) +master-bin.000001 15680 Query 1 15768 use `test`; insert into t3 values ("test1") +master-bin.000001 15768 Query 1 15856 use `test`; insert into t3 values ("test2") +master-bin.000001 15856 Query 1 15936 use `test`; drop table if exists t4 +master-bin.000001 15936 Query 1 16033 use `test`; create table t4 (f1 int, rc int, t3 int) +master-bin.000001 16033 Query 1 16106 use `test`; call bug1863(10) +master-bin.000001 16106 Query 1 16179 use `test`; call bug1863(10) +master-bin.000001 16179 Intvar 1 16207 LAST_INSERT_ID=1 +master-bin.000001 16207 Intvar 1 16235 INSERT_ID=1 +master-bin.000001 16235 Query 1 16308 use `test`; call bug1863(10) +master-bin.000001 16308 Intvar 1 16336 LAST_INSERT_ID=1 +master-bin.000001 16336 Intvar 1 16364 INSERT_ID=1 +master-bin.000001 16364 Query 1 16437 use `test`; call bug1863(10) +master-bin.000001 16437 Query 1 16510 use `test`; call bug1863(10) +master-bin.000001 16510 Query 1 16583 use `test`; call bug1863(10) +master-bin.000001 16583 Intvar 1 16611 LAST_INSERT_ID=1 +master-bin.000001 16611 Intvar 1 16639 INSERT_ID=1 +master-bin.000001 16639 Query 1 16712 use `test`; call bug1863(10) +master-bin.000001 16712 Intvar 1 16740 LAST_INSERT_ID=1 +master-bin.000001 16740 Intvar 1 16768 INSERT_ID=1 +master-bin.000001 16768 Query 1 16841 use `test`; call bug1863(10) +master-bin.000001 16841 Query 1 16915 use `test`; drop table t3, t4 +master-bin.000001 16915 Query 1 16999 use `test`; drop table if exists t3, t4 +master-bin.000001 16999 Query 1 17135 use `test`; create table t3 ( +OrderID int not null, +MarketID int, +primary key (OrderID) +) +master-bin.000001 17135 Query 1 17294 use `test`; create table t4 ( +MarketID int not null, +Market varchar(60), +Status char(1), +primary key (MarketID) +) +master-bin.000001 17294 Query 1 17392 use `test`; insert t3 (OrderID,MarketID) values (1,1) +master-bin.000001 17392 Query 1 17490 use `test`; insert t3 (OrderID,MarketID) values (2,2) +master-bin.000001 17490 Query 1 17611 use `test`; insert t4 (MarketID,Market,Status) values (1,"MarketID One","A") +master-bin.000001 17611 Query 1 17732 use `test`; insert t4 (MarketID,Market,Status) values (2,"MarketID Two","A") +master-bin.000001 17732 Query 1 17806 use `test`; drop table t3, t4 +master-bin.000001 17806 Query 1 17890 use `test`; drop table if exists t3, t4 +master-bin.000001 17890 Query 1 18014 use `test`; create table t3 ( +a int primary key, +ach char(1) +) engine = innodb +master-bin.000001 18014 Query 1 18140 use `test`; create table t4 ( +b int primary key , +bch char(1) +) engine = innodb +master-bin.000001 18140 Query 1 18249 use `test`; insert into t3 values (1 , 'aCh1' ) , ('2' , 'aCh2') +master-bin.000001 18249 Query 1 18341 use `test`; insert into t4 values (1 , 'bCh1' ) +master-bin.000001 18341 Query 1 18415 use `test`; drop table t3, t4 +master-bin.000001 18415 Query 1 18495 use `test`; drop table if exists t3 +master-bin.000001 18495 Query 1 18677 use `test`; create table t3 ( +id int unsigned auto_increment not null primary key, +title VARCHAR(200), +body text, +fulltext (title,body) +) +master-bin.000001 18677 Intvar 1 18705 INSERT_ID=1 +master-bin.000001 18705 Query 1 19147 use `test`; insert into t3 (title,body) values +('MySQL Tutorial','DBMS stands for DataBase ...'), +('How To Use MySQL Well','After you went through a ...'), +('Optimizing MySQL','In this tutorial we will show ...'), +('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'), +('MySQL vs. YourSQL','In the following database comparison ...'), +('MySQL Security','When configured properly, MySQL ...') +master-bin.000001 19147 Query 1 19217 use `test`; drop table t3 +master-bin.000001 19217 Query 1 19297 use `test`; drop table if exists t3 +master-bin.000001 19297 Query 1 19516 use `test`; create table t3 ( +id int(10) unsigned not null default 0, +rid int(10) unsigned not null default 0, +msg text not null, +primary key (id), +unique key rid (rid, id) +) +master-bin.000001 19516 Query 1 19642 use `test`; insert into t3 values (1, 1, 'foo'), (2, 1, 'bar'), (3, 1, 'zip zap') +master-bin.000001 19642 Query 1 19715 use `test`; call bug2460_2() +master-bin.000001 19715 Query 1 19788 use `test`; call bug2460_2() +master-bin.000001 19788 Query 1 19861 use `test`; call bug2460_2() +master-bin.000001 19861 Query 1 19934 use `test`; call bug2460_2() +master-bin.000001 19934 Query 1 20007 use `test`; call bug2460_2() +master-bin.000001 20007 Query 1 20080 use `test`; call bug2460_2() +master-bin.000001 20080 Query 1 20150 use `test`; drop table t3 +master-bin.000001 20150 Query 1 20221 use `test`; call bug3843() +master-bin.000001 20221 Query 1 20292 use `test`; call bug3843() +master-bin.000001 20292 Query 1 20372 use `test`; drop table if exists t3 +master-bin.000001 20372 Query 1 20460 use `test`; create table t3 ( s1 char(10) ) +master-bin.000001 20460 Query 1 20551 use `test`; insert into t3 values ('a'), ('b') +master-bin.000001 20551 Query 1 20621 use `test`; drop table t3 +master-bin.000001 20621 Query 1 20701 use `test`; drop table if exists t3 +master-bin.000001 20701 Query 1 20990 use `test`; create table t3 (f1 int, f2 int); +insert into t3 values (1,1); +create procedure bug4579_1 () +begin +declare sf1 int; +select f1 into sf1 from t3 where f1=1 and f2=1; +update t3 set f2 = f2 + 1 where f1=1 and f2=1; +call bug4579_2(); +end +master-bin.000001 20990 Query 1 21245 use `test`; insert into t3 values (1,1); +create procedure bug4579_1 () +begin +declare sf1 int; +select f1 into sf1 from t3 where f1=1 and f2=1; +update t3 set f2 = f2 + 1 where f1=1 and f2=1; +call bug4579_2(); +end +master-bin.000001 21245 Query 1 21318 use `test`; call bug4579_1() +master-bin.000001 21318 Query 1 21391 use `test`; call bug4579_1() +master-bin.000001 21391 Query 1 21464 use `test`; call bug4579_1() +master-bin.000001 21464 Query 1 21534 use `test`; drop table t3 +master-bin.000001 21534 Query 1 21614 use `test`; drop table if exists t3 +master-bin.000001 21614 Query 1 21711 use `test`; create table t3 (f1 int, f2 int, f3 int) +master-bin.000001 21711 Query 1 21797 use `test`; insert into t3 values (1,1,1) +master-bin.000001 21797 Query 1 21867 use `test`; drop table t3 +master-bin.000001 21867 Query 1 21947 use `test`; drop table if exists t3 +master-bin.000001 21947 Query 1 22028 use `test`; create table t3 (s1 int) +master-bin.000001 22028 Query 1 22115 use `test`; insert into t3 values (3), (4) +master-bin.000001 22115 Query 1 22185 use `test`; drop table t3 +Charset Description Default collation Maxlen +Collation Charset Id Default Compiled Sortlen +Type Size Min_Value Max_Value Prec Scale Nullable Auto_Increment Unsigned Zerofill Searchable Case_Sensitive Default Comment +tinyint 1 -128 127 0 0 YES YES NO YES YES NO NULL,0 A very small integer +tinyint unsigned 1 0 255 0 0 YES YES YES YES YES NO NULL,0 A very small integer +Table Create Table +t1 CREATE TABLE `t1` ( + `id` char(16) NOT NULL default '', + `data` int(11) NOT NULL default '0' +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +Database Create Database +test CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET latin1 */ +Database (foo) +Level Code Message +Field Type Null Key Default Extra +id char(16) +data int(11) 0 +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 +File Position Binlog_Do_DB Binlog_Ignore_DB +master-bin.000001 22185 +Database Table In_use Name_locked +Privilege Context Comment +Alter Tables To alter the table +Create Databases,Tables,Indexes To create new databases and tables +Create temporary tables Databases To use CREATE TEMPORARY TABLE +Create view Tables To create new views +Delete Tables To delete existing rows +Drop Databases,Tables To drop databases, tables, and views +File File access on server To read and write files on the server +Grant option Databases,Tables To give to other users those privileges you possess +Index Tables To create or drop indexes +Insert Tables To insert data into tables +Lock tables Databases To use LOCK TABLES (together with SELECT privilege) +Process Server Admin To view the plain text of currently executing queries +References Databases,Tables To have references on tables +Reload Server Admin To reload or refresh tables, logs and privileges +Replication client Server Admin To ask where the slave or master servers are +Replication slave Server Admin To read binary log events from the master +Select Tables To retrieve rows from table +Show databases Server Admin To see all databases with SHOW DATABASES +Show view Tables To see views with SHOW CREATE VIEW +Shutdown Server Admin To shut down the server +Super Server Admin To use KILL thread, SET GLOBAL, CHANGE MASTER, etc. +Update Tables To update existing rows +Usage Server Admin No privileges - allow connect only +Id User Host db Command Time State Info +1 root localhost test Query 0 query end call bug4902() +Server_id Host Port Rpl_recovery_rank Master_id +Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master +Variable_name Value +Tables_in_test (foo) table_type +Variable_name Value +Level Code Message +drop procedure bug4902| drop table if exists fac| create table fac (n int unsigned not null primary key, f bigint unsigned)| create procedure ifac(n int unsigned) diff --git a/mysql-test/t/sp.test b/mysql-test/t/sp.test index 39f56abb64c..6e562fa79ce 100644 --- a/mysql-test/t/sp.test +++ b/mysql-test/t/sp.test @@ -1675,6 +1675,48 @@ handler t3 close| drop procedure bug4318| drop table t3| +# +# BUG#4902: Stored procedure with SHOW WARNINGS leads to packet error +# +# Added tests for most other show commands we could find too. +# (Skipping those already tested, and the ones depending on optional handlers.) +# +# Note: This will return a large number of results of different formats, +# which makes it impossible to filter with --replace_column. +# It's possible that some of these are not deterministic across +# platforms. If so, just remove the offending command. +# +create procedure bug4902() +begin + show binlog events; + show charset like 'foo'; + show collation like 'foo'; + show column types; + show create table t1; + show create database test; + show databases like 'foo'; + show errors; + show columns from t1; + show grants for 'root'@'localhost'; + show keys from t1; + show master status; + show open tables like 'foo'; + show privileges; + show processlist; + show slave hosts; + show slave status; + show status like 'foo'; + show tables like 'foo'; + show variables like 'foo'; + show warnings; +end| +#show storage engines; + +call bug4902()| +call bug4902()| + +drop procedure bug4902| + # # Some "real" examples diff --git a/sql/sp_head.cc b/sql/sp_head.cc index 667c0f15d92..987f20c23f6 100644 --- a/sql/sp_head.cc +++ b/sql/sp_head.cc @@ -45,6 +45,54 @@ sp_map_result_type(enum enum_field_types type) } } +/* + * Returns TRUE if the 'cmd' is a command that might result in + * multiple result sets being sent back. + * Note: This does not include SQLCOM_SELECT which is treated + * separately in sql_yacc.yy. + */ +bool +sp_multi_results_command(enum enum_sql_command cmd) +{ + switch (cmd) { + case SQLCOM_ANALYZE: + case SQLCOM_HA_READ: + case SQLCOM_SHOW_BINLOGS: + case SQLCOM_SHOW_BINLOG_EVENTS: + case SQLCOM_SHOW_CHARSETS: + case SQLCOM_SHOW_COLLATIONS: + case SQLCOM_SHOW_COLUMN_TYPES: + case SQLCOM_SHOW_CREATE: + case SQLCOM_SHOW_CREATE_DB: + case SQLCOM_SHOW_CREATE_FUNC: + case SQLCOM_SHOW_CREATE_PROC: + case SQLCOM_SHOW_DATABASES: + case SQLCOM_SHOW_ERRORS: + case SQLCOM_SHOW_FIELDS: + case SQLCOM_SHOW_GRANTS: + case SQLCOM_SHOW_INNODB_STATUS: + case SQLCOM_SHOW_KEYS: + case SQLCOM_SHOW_LOGS: + case SQLCOM_SHOW_MASTER_STAT: + case SQLCOM_SHOW_NEW_MASTER: + case SQLCOM_SHOW_OPEN_TABLES: + case SQLCOM_SHOW_PRIVILEGES: + case SQLCOM_SHOW_PROCESSLIST: + case SQLCOM_SHOW_SLAVE_HOSTS: + case SQLCOM_SHOW_SLAVE_STAT: + case SQLCOM_SHOW_STATUS: + case SQLCOM_SHOW_STATUS_FUNC: + case SQLCOM_SHOW_STATUS_PROC: + case SQLCOM_SHOW_STORAGE_ENGINES: + case SQLCOM_SHOW_TABLES: + case SQLCOM_SHOW_VARIABLES: + case SQLCOM_SHOW_WARNS: + return TRUE; + default: + return FALSE; + } +} + /* Evaluate a (presumed) func item. Always returns an item, the parameter ** if nothing else. */ diff --git a/sql/sp_head.h b/sql/sp_head.h index 165f83c58fd..0b33c6b2142 100644 --- a/sql/sp_head.h +++ b/sql/sp_head.h @@ -32,6 +32,9 @@ Item_result sp_map_result_type(enum enum_field_types type); +bool +sp_multi_results_command(enum enum_sql_command cmd); + struct sp_label; class sp_instr; struct sp_cond_type; diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy index e93f2ac089b..cdce36ac2d0 100644 --- a/sql/sql_yacc.yy +++ b/sql/sql_yacc.yy @@ -1706,15 +1706,8 @@ sp_proc_stmt: { LEX *lex= Lex; - /* QQ What else? This doesn't seem to be a practical way, - but at the moment we can't think of anything better... */ if ((lex->sql_command == SQLCOM_SELECT && !lex->result) || - lex->sql_command == SQLCOM_SHOW_CREATE_PROC || - lex->sql_command == SQLCOM_SHOW_CREATE_FUNC || - lex->sql_command == SQLCOM_SHOW_STATUS_PROC || - lex->sql_command == SQLCOM_SHOW_STATUS_FUNC || - lex->sql_command == SQLCOM_ANALYZE || - lex->sql_command == SQLCOM_HA_READ) + sp_multi_results_command(lex->sql_command)) { /* We maybe have one or more SELECT without INTO */ lex->sphead->m_multi_results= TRUE;