From 326c14f5778b6451afec6a64294748da7d59baec Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 10 Jan 2006 11:35:21 +0100 Subject: Bug #13228 open table cache not flushed when table schema changed - Close open unused handlers when a schema error occurs. sql/ha_ndbcluster.cc: When a schema error occurs call close_cached_tables to close any open unused handlers that has opened this table. mysql-test/r/ndb_alter_table2.result: New BitKeeper file ``mysql-test/r/ndb_alter_table2.result'' mysql-test/t/ndb_alter_table2.test: New BitKeeper file ``mysql-test/t/ndb_alter_table2.test'' --- mysql-test/r/ndb_alter_table2.result | 42 ++++++++++++++++++ mysql-test/t/ndb_alter_table2.test | 83 ++++++++++++++++++++++++++++++++++++ 2 files changed, 125 insertions(+) create mode 100644 mysql-test/r/ndb_alter_table2.result create mode 100644 mysql-test/t/ndb_alter_table2.test (limited to 'mysql-test') diff --git a/mysql-test/r/ndb_alter_table2.result b/mysql-test/r/ndb_alter_table2.result new file mode 100644 index 00000000000..399578dc97b --- /dev/null +++ b/mysql-test/r/ndb_alter_table2.result @@ -0,0 +1,42 @@ +DROP TABLE IF EXISTS t1; +CREATE TABLE t1 ( +a INT NOT NULL PRIMARY KEY, +b INT NOT NULL +) ENGINE=ndbcluster; +BEGIN; +INSERT INTO t1 VALUES (9410,9412); +BEGIN; +INSERT INTO t1 VALUES (9411,9412); +BEGIN; +INSERT INTO t1 VALUES (9412,9412); +BEGIN; +INSERT INTO t1 VALUES (9413,9412); +BEGIN; +INSERT INTO t1 VALUES (9414,9412); +BEGIN; +INSERT INTO t1 VALUES (9415,9412); +ROLLBACK; +ROLLBACK; +ROLLBACK; +ROLLBACK; +ROLLBACK; +ROLLBACK; +drop table t1; +CREATE TABLE t1 ( +a INT NOT NULL PRIMARY KEY, +b INT NOT NULL, +c INT NOT NULL +) ENGINE=ndbcluster; +select * from t1; +ERROR HY000: Got error 241 'Invalid schema object version' from ndbcluster +select * from t1; +a b c +select * from t1; +a b c +select * from t1; +a b c +select * from t1; +a b c +select * from t1; +a b c +drop table t1; diff --git a/mysql-test/t/ndb_alter_table2.test b/mysql-test/t/ndb_alter_table2.test new file mode 100644 index 00000000000..3861fcc6c9d --- /dev/null +++ b/mysql-test/t/ndb_alter_table2.test @@ -0,0 +1,83 @@ +-- source include/have_ndb.inc +-- source include/have_multi_ndb.inc +-- source include/not_embedded.inc + +--disable_warnings +DROP TABLE IF EXISTS t1; +--enable_warnings + +connect (con1,localhost,root,,test); +connect (con2,localhost,root,,test); +connect (con3,localhost,root,,test); +connect (con4,localhost,root,,test); +connect (con5,localhost,root,,test); +connect (con6,localhost,root,,test); + +CREATE TABLE t1 ( + a INT NOT NULL PRIMARY KEY, + b INT NOT NULL +) ENGINE=ndbcluster; + +connection con1; +BEGIN; +INSERT INTO t1 VALUES (9410,9412); +connection con2; +BEGIN; +--send +INSERT INTO t1 VALUES (9411,9412); +connection con3; +BEGIN; +--send +INSERT INTO t1 VALUES (9412,9412); +connection con4; +BEGIN; +--send +INSERT INTO t1 VALUES (9413,9412); +connection con5; +BEGIN; +--send +INSERT INTO t1 VALUES (9414,9412); +connection con6; +BEGIN; +--send +INSERT INTO t1 VALUES (9415,9412); +connection con1; +sleep 1; + +ROLLBACK; +connection con2; +reap; +ROLLBACK; +connection con3; +reap; +ROLLBACK; +connection con4; +reap; +ROLLBACK; +connection con5; +reap; +ROLLBACK; +connection con6; +reap; +ROLLBACK; + +connection server2; + +drop table t1; +CREATE TABLE t1 ( + a INT NOT NULL PRIMARY KEY, + b INT NOT NULL, + c INT NOT NULL +) ENGINE=ndbcluster; + +connection server1; + +--error 1296 +select * from t1; +select * from t1; +select * from t1; +select * from t1; +select * from t1; +select * from t1; + +drop table t1; -- cgit v1.2.1 From 6668cb7905b8bdd88157f3a9c79d9ada2d411064 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 7 Mar 2006 12:42:23 -0800 Subject: Bug #17139: Partitions: unprivileged user can effectively drop table Now the DROP privilege is also required on a table in order to be able to drop a partition from the table using ALTER TABLE. sql/sql_parse.cc: Require DROP privilege in addition to ALTER for dropping a partition mysql-test/r/partition_grant.result: New BitKeeper file ``mysql-test/r/partition_grant.result'' mysql-test/t/partition_grant.test: New BitKeeper file ``mysql-test/t/partition_grant.test'' --- mysql-test/r/partition_grant.result | 23 +++++++++++++++++ mysql-test/t/partition_grant.test | 51 +++++++++++++++++++++++++++++++++++++ 2 files changed, 74 insertions(+) create mode 100644 mysql-test/r/partition_grant.result create mode 100644 mysql-test/t/partition_grant.test (limited to 'mysql-test') diff --git a/mysql-test/r/partition_grant.result b/mysql-test/r/partition_grant.result new file mode 100644 index 00000000000..da0e00c9858 --- /dev/null +++ b/mysql-test/r/partition_grant.result @@ -0,0 +1,23 @@ +drop schema if exists mysqltest_1; +create schema mysqltest_1; +use mysqltest_1; +create table t1 (a int) partition by list (a) (partition p1 values in (1), partition p2 values in (2), partition p3 values in (3)); +insert into t1 values (1),(2); +grant select,alter on mysqltest_1.* to mysqltest_1@localhost; +show grants for current_user; +Grants for mysqltest_1@localhost +GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost' +GRANT SELECT, ALTER ON `mysqltest_1`.* TO 'mysqltest_1'@'localhost' +alter table t1 add b int; +alter table t1 drop partition p2; +ERROR 42000: DROP command denied to user 'mysqltest_1'@'localhost' for table 't1' +grant drop on mysqltest_1.* to mysqltest_1@localhost; +alter table t1 drop partition p2; +revoke alter on mysqltest_1.* from mysqltest_1@localhost; +alter table t1 drop partition p3; +ERROR 42000: ALTER command denied to user 'mysqltest_1'@'localhost' for table 't1' +revoke select,alter,drop on mysqltest_1.* from mysqltest_1@localhost; +drop user mysqltest_1@localhost; +drop table t1; +drop schema mysqltest_1; +End of 5.1 tests diff --git a/mysql-test/t/partition_grant.test b/mysql-test/t/partition_grant.test new file mode 100644 index 00000000000..e2e80a7ca04 --- /dev/null +++ b/mysql-test/t/partition_grant.test @@ -0,0 +1,51 @@ +-- source include/have_partition.inc +# Grant tests not performed with embedded server +-- source include/not_embedded.inc + +--disable_warnings +drop schema if exists mysqltest_1; +--enable_warnings + + +# +# Bug #17139: ALTER TABLE ... DROP PARTITION should require DROP privilege +# + +create schema mysqltest_1; +use mysqltest_1; + +create table t1 (a int) partition by list (a) (partition p1 values in (1), partition p2 values in (2), partition p3 values in (3)); +insert into t1 values (1),(2); + +grant select,alter on mysqltest_1.* to mysqltest_1@localhost; + +connect (conn1,localhost,mysqltest_1,,mysqltest_1); +show grants for current_user; +alter table t1 add b int; +--error ER_TABLEACCESS_DENIED_ERROR +alter table t1 drop partition p2; +disconnect conn1; + +connection default; +grant drop on mysqltest_1.* to mysqltest_1@localhost; + +connect (conn2,localhost,mysqltest_1,,mysqltest_1); +alter table t1 drop partition p2; +disconnect conn2; + +connection default; +revoke alter on mysqltest_1.* from mysqltest_1@localhost; + +connect (conn3,localhost,mysqltest_1,,mysqltest_1); +--error ER_TABLEACCESS_DENIED_ERROR +alter table t1 drop partition p3; +disconnect conn3; + +connection default; + +revoke select,alter,drop on mysqltest_1.* from mysqltest_1@localhost; +drop user mysqltest_1@localhost; +drop table t1; +drop schema mysqltest_1; + +--echo End of 5.1 tests -- cgit v1.2.1 From dcebc0f14211306770fa48e130dda16edf384d20 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 27 Mar 2006 06:44:45 +0200 Subject: make_binary_distribution.sh: Split cp operations, to avoid shell limit on number of args mysql-test-run.pl: Removed obsolete way of cleaning up after test failure .del-drop-on-restart.inc~ef1715ddbebc3102: Delete: mysql-test/include/drop-on-restart.inc BitKeeper/deleted/.del-drop-on-restart.inc~ef1715ddbebc3102: Delete: mysql-test/include/drop-on-restart.inc mysql-test/mysql-test-run.pl: Removed obsolete way of cleaning up after test failure scripts/make_binary_distribution.sh: Split cp operations, to avoid shell limit on number of args --- mysql-test/include/drop-on-restart.inc | 467 --------------------------------- mysql-test/mysql-test-run.pl | 9 - 2 files changed, 476 deletions(-) delete mode 100644 mysql-test/include/drop-on-restart.inc (limited to 'mysql-test') diff --git a/mysql-test/include/drop-on-restart.inc b/mysql-test/include/drop-on-restart.inc deleted file mode 100644 index af1d0d893e0..00000000000 --- a/mysql-test/include/drop-on-restart.inc +++ /dev/null @@ -1,467 +0,0 @@ -# -# Stupid temporary way of cleaning up when restarting the server -# - ---disable_warnings ---disable_query_log - -drop database if exists BANK; -drop database if exists MySQLTest; -drop database if exists MySQLtesT; -drop database if exists TEST_DB; -drop database if exists `#mysql50#testdb-1`; -drop database if exists `TEST_$1`; -drop database if exists `drop-temp+table-test`; -drop database if exists `test_$1`; -drop database if exists `testdb-1`; -drop database if exists `testdb1`; -drop database if exists client_test_db; -drop database if exists d1; -drop database if exists d2; -drop database if exists db1; -drop database if exists db1_secret; -drop database if exists db2; -drop database if exists federated; -drop database if exists mysqldump_test_db; -drop database if exists mysqlslap; -drop database if exists mysqltest1; -drop database if exists mysqltest2; -drop database if exists mysqltest3; -drop database if exists mysqltest; -drop database if exists mysqltest; -drop database if exists mysqltest_1; -drop database if exists mysqltest_LC2; -drop database if exists mysqltest_bob; -drop database if exists mysqltest_db1; -drop database if exists mysqltest_prometheus; -drop database if exists mysqltest_sisyfos; -drop database if exists ndbsynctest; -drop database if exists ndbtest1; -drop database if exists rewrite; -drop database if exists test2; -drop database if exists test_only_ndb_tables; -drop database if exists test_test; -drop database if exists testdb1; -drop database if exists testtets; - -drop function if exists append; -drop function if exists bug10015_1; -drop function if exists bug10015_2; -drop function if exists bug10015_3; -drop function if exists bug10015_4; -drop function if exists bug10015_5; -drop function if exists bug10015_6; -drop function if exists bug10015_7; -drop function if exists bug10055; -drop function if exists bug10100f; -drop function if exists bug11394; -drop function if exists bug11394_1; -drop function if exists bug11394_2; -drop function if exists bug11554; -drop function if exists bug11555_1; -drop function if exists bug11555_2; -drop function if exists bug11834_1; -drop function if exists bug11834_2; -drop function if exists bug12379; -drop function if exists bug12712; -drop function if exists bug12812; -drop function if exists bug12953; -drop function if exists bug12995; -drop function if exists bug13012; -drop function if exists bug131333; -drop function if exists bug13825_0; -drop function if exists bug13825_1; -drop function if exists bug13825_2; -drop function if exists bug13825_3; -drop function if exists bug13825_4; -drop function if exists bug13825_5; -drop function if exists bug13941; -drop function if exists bug14233; -drop function if exists bug14270; -drop function if exists bug14723; -drop function if exists bug2267_4; -drop function if exists bug2564_3; -drop function if exists bug2564_4; -drop function if exists bug2674; -drop function if exists bug2772; -drop function if exists bug3132; -drop function if exists bug4487; -drop function if exists bug5240; -drop function if exists bug5278; -drop function if exists bug5893; -drop function if exists bug6022; -drop function if exists bug7049_1; -drop function if exists bug7049_2; -drop function if exists bug7648; -drop function if exists bug8408_f; -drop function if exists bug8409; -drop function if exists bug8861; -drop function if exists bug9048; -drop function if exists bug9056_func1; -drop function if exists bug9056_func2; -drop function if exists bug9102; -drop function if exists bug9559; -drop function if exists bug9775; -drop function if exists bug_13627_f; -drop function if exists bug_9503; -drop function if exists chistics; -drop function if exists e; -drop function if exists f0; -drop function if exists f10; -drop function if exists f11; -drop function if exists f12_1; -drop function if exists f12_2; -drop function if exists f1; -drop function if exists f2; -drop function if exists f3; -drop function if exists f4; -drop function if exists f5; -drop function if exists f6; -drop function if exists f7; -drop function if exists f8; -drop function if exists f9; -drop function if exists f_bug11247; -drop function if exists fac; -drop function if exists foo; -drop function if exists fun; -drop function if exists inc; -drop function if exists mul; -drop function if exists sp_vars_check_ret1; -drop function if exists sp_vars_check_ret2; -drop function if exists sp_vars_check_ret3; -drop function if exists sp_vars_check_ret4; -drop function if exists sub1; -drop function if exists sub2; -drop function if exists test.f1; - -drop procedure if exists BUG3259_2 ; -drop procedure if exists Bug3259_3 ; -drop procedure if exists ` bug15658`; -drop procedure if exists `a'b`; -drop procedure if exists a0; -drop procedure if exists a; -drop procedure if exists avg; -drop procedure if exists b2; -drop procedure if exists b; -drop procedure if exists bar; -drop procedure if exists bug10015_8; -drop procedure if exists bug10100p; -drop procedure if exists bug10100pc; -drop procedure if exists bug10100pd; -drop procedure if exists bug10100pt; -drop procedure if exists bug10100pv; -drop procedure if exists bug10100t; -drop procedure if exists bug10136; -drop procedure if exists bug10537; -drop procedure if exists bug10961; -drop procedure if exists bug10969; -drop procedure if exists bug11158; -drop procedure if exists bug11333; -drop procedure if exists bug11394; -drop procedure if exists bug11529; -drop procedure if exists bug11587; -drop procedure if exists bug12168; -drop procedure if exists bug12297; -drop procedure if exists bug12379_1; -drop procedure if exists bug12379_2; -drop procedure if exists bug12379_3; -drop procedure if exists bug12589_1; -drop procedure if exists bug12589_2; -drop procedure if exists bug12589_3; -drop procedure if exists bug12712; -drop procedure if exists bug12849_1; -drop procedure if exists bug12849_2; -drop procedure if exists bug12979_1; -drop procedure if exists bug12979_2; -drop procedure if exists bug13012; -drop procedure if exists bug13037_p1; -drop procedure if exists bug13037_p2; -drop procedure if exists bug13037_p3; -drop procedure if exists bug13095; -drop procedure if exists bug13124; -drop procedure if exists bug131333; -drop procedure if exists bug13510_1; -drop procedure if exists bug13510_2; -drop procedure if exists bug13510_3; -drop procedure if exists bug13510_4; -drop procedure if exists bug13549_1; -drop procedure if exists bug13549_2; -drop procedure if exists bug13729; -drop procedure if exists bug13825_0; -drop procedure if exists bug13825_1; -drop procedure if exists bug13825_2; -drop procedure if exists bug13941; -drop procedure if exists bug14210; -drop procedure if exists bug14233; -drop procedure if exists bug14304; -drop procedure if exists bug14376; -drop procedure if exists bug14498_1; -drop procedure if exists bug14498_2; -drop procedure if exists bug14498_3; -drop procedure if exists bug14498_4; -drop procedure if exists bug14498_5; -drop procedure if exists bug14643_1; -drop procedure if exists bug14643_2; -drop procedure if exists bug14723; -drop procedure if exists bug14840_1; -drop procedure if exists bug14840_2; -drop procedure if exists bug1495; -drop procedure if exists bug15011; -drop procedure if exists bug15091; -drop procedure if exists bug15231_1; -drop procedure if exists bug15231_2; -drop procedure if exists bug15231_3; -drop procedure if exists bug15231_4; -drop procedure if exists bug15441; -drop procedure if exists bug1547; -drop procedure if exists bug1656; -drop procedure if exists bug1862; -drop procedure if exists bug1863; -drop procedure if exists bug1874; -drop procedure if exists bug2227; -drop procedure if exists bug2260; -drop procedure if exists bug2267_1; -drop procedure if exists bug2267_2; -drop procedure if exists bug2267_3; -drop procedure if exists bug2267_4; -drop procedure if exists bug2460_1; -drop procedure if exists bug2460_2; -drop procedure if exists bug2564_1; -drop procedure if exists bug2564_2; -drop procedure if exists bug2614; -drop procedure if exists bug2656_1; -drop procedure if exists bug2656_2; -drop procedure if exists bug2773; -drop procedure if exists bug2776_1; -drop procedure if exists bug2776_2; -drop procedure if exists bug2780; -drop procedure if exists bug3157; -drop procedure if exists bug3259_1 ; -drop procedure if exists bug3294; -drop procedure if exists bug3368; -drop procedure if exists bug336; -drop procedure if exists bug3426; -drop procedure if exists bug3448; -drop procedure if exists bug3583; -drop procedure if exists bug3734 ; -drop procedure if exists bug3788; -drop procedure if exists bug3843; -drop procedure if exists bug3863; -drop procedure if exists bug4318; -drop procedure if exists bug4579_1; -drop procedure if exists bug4579_2; -drop procedure if exists bug4726; -drop procedure if exists bug4902; -drop procedure if exists bug4902_2; -drop procedure if exists bug4904; -drop procedure if exists bug4905; -drop procedure if exists bug4941; -drop procedure if exists bug5251; -drop procedure if exists bug5258; -drop procedure if exists bug5258_aux; -drop procedure if exists bug5287; -drop procedure if exists bug5307; -drop procedure if exists bug5963; -drop procedure if exists bug5967; -drop procedure if exists bug6029; -drop procedure if exists bug6063; -drop procedure if exists bug6127; -drop procedure if exists bug6129; -drop procedure if exists bug6642; -drop procedure if exists bug6807; -drop procedure if exists bug6857; -drop procedure if exists bug6866; -drop procedure if exists bug6898; -drop procedure if exists bug6900; -drop procedure if exists bug6900_9074; -drop procedure if exists bug7013; -drop procedure if exists bug7049_1; -drop procedure if exists bug7049_2; -drop procedure if exists bug7049_3; -drop procedure if exists bug7049_4; -drop procedure if exists bug7088_1; -drop procedure if exists bug7088_2; -drop procedure if exists bug7293; -drop procedure if exists bug7299; -drop procedure if exists bug7743; -drop procedure if exists bug8116; -drop procedure if exists bug822; -drop procedure if exists bug8408_p; -drop procedure if exists bug8540; -drop procedure if exists bug8692; -drop procedure if exists bug8757; -drop procedure if exists bug8762; -drop procedure if exists bug8776_1; -drop procedure if exists bug8776_2; -drop procedure if exists bug8776_3; -drop procedure if exists bug8776_4; -drop procedure if exists bug8849; -drop procedure if exists bug8850; -drop procedure if exists bug8937; -drop procedure if exists bug9004_1; -drop procedure if exists bug9004_2; -drop procedure if exists bug9056_proc1; -drop procedure if exists bug9056_proc2; -drop procedure if exists bug9073; -drop procedure if exists bug9074; -drop procedure if exists bug9367; -drop procedure if exists bug9486; -drop procedure if exists bug9538; -drop procedure if exists bug9565; -drop procedure if exists bug9565_sub; -drop procedure if exists bug9566; -drop procedure if exists bug9598_1; -drop procedure if exists bug9598_2; -drop procedure if exists bug9674_1; -drop procedure if exists bug9674_2; -drop procedure if exists bug9841; -drop procedure if exists bug9856; -drop procedure if exists bug9902; -drop procedure if exists c1; -drop procedure if exists c2; -drop procedure if exists c3; -drop procedure if exists c4; -drop procedure if exists c; -drop procedure if exists cbv1; -drop procedure if exists cbv2; -drop procedure if exists chistics; -drop procedure if exists code_sample; -drop procedure if exists create_select; -drop procedure if exists cur1; -drop procedure if exists cur2; -drop procedure if exists d; -drop procedure if exists dummy; -drop procedure if exists e; -drop procedure if exists empty; -drop procedure if exists f1; -drop procedure if exists f; -drop procedure if exists fib; -drop procedure if exists fn3; -drop procedure if exists foo42; -drop procedure if exists g; -drop procedure if exists goto1; -drop procedure if exists goto2; -drop procedure if exists goto3; -drop procedure if exists goto4; -drop procedure if exists goto5; -drop procedure if exists goto6; -drop procedure if exists h; -drop procedure if exists hndlr1; -drop procedure if exists hndlr2; -drop procedure if exists hndlr3; -drop procedure if exists hndlr4; -drop procedure if exists i; -drop procedure if exists ifac; -drop procedure if exists inc2; -drop procedure if exists inc; -drop procedure if exists incr; -drop procedure if exists into_dumpfile; -drop procedure if exists into_outfile; -drop procedure if exists into_tes2; -drop procedure if exists into_test3; -drop procedure if exists into_test4; -drop procedure if exists into_test; -drop procedure if exists iotest; -drop procedure if exists ip; -drop procedure if exists locset; -drop procedure if exists mixset; -drop procedure if exists modes; -drop procedure if exists mysqltest1.p1; -drop procedure if exists mysqltest1.p2; -drop procedure if exists nullset; -drop procedure if exists opp; -drop procedure if exists p1; -drop procedure if exists p2; -drop procedure if exists p3; -drop procedure if exists p4; -drop procedure if exists p5; -drop procedure if exists p6; -drop procedure if exists p; -drop procedure if exists p_bug11247; -drop procedure if exists rc; -drop procedure if exists scope; -drop procedure if exists sel1; -drop procedure if exists sel2; -drop procedure if exists setcontext; -drop procedure if exists sp1; -drop procedure if exists sp2; -drop procedure if exists sp3; -drop procedure if exists sp4; -drop procedure if exists sp_vars_check_assignment; -drop procedure if exists sp_vars_check_dflt; -drop procedure if exists sub1; -drop procedure if exists sub2; -drop procedure if exists sub3; -drop procedure if exists sudoku_solve; -drop procedure if exists test.longprocedure; -drop procedure if exists test.p1; -drop procedure if exists test.p2; -drop procedure if exists test.p3; -drop procedure if exists test.p4; -drop procedure if exists test.p5; -drop procedure if exists test.p6; -drop procedure if exists test.p7; -drop procedure if exists two; -drop procedure if exists zap; -drop procedure if exists zip; - -drop table if exists T1; -drop table if exists `"t"1`,t1aa,t2aa; -drop table if exists ```a`; -drop table if exists `t1 test`; -drop table if exists `t1a``b`,v1,v2,v3,v4,v5,v6; -drop table if exists `t2 test`; -drop table if exists a; -drop table if exists bug13095_t1; -drop table if exists bug13894; -drop table if exists bug14672; -drop table if exists federated.alter_me; -drop table if exists federated.archive_table; -drop table if exists federated.bug_13118_table; -drop table if exists federated.normal_table; -drop table if exists federated.t1; -drop table if exists gis_point,gis_line,gis_polygon,gis_multi_point,gis_multi_line,gis_multi_polygon,gis_geometrycollection,gis_geometry; -drop table if exists mysqltest1.t1; -drop table if exists mysqltest1.t2; -drop table if exists mysqltest1.t3; -drop table if exists mysqltest1.t4; -drop table if exists mysqltest_bar; -drop table if exists mysqltest_foo; -drop table if exists new_t2; -drop table if exists not_exist; -drop table if exists r1; -drop table if exists t0,t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t21,t70; -drop table if exists t00,t03,t04; -drop table if exists t0_template; -drop table if exists t1Aa,t2Aa,v1Aa,v2Aa; -drop table if exists t1_1,t1_2,t9_1,t9_2,t1aa,t2aa; -drop table if exists t1_c,t2_c,t3_c,t4_c,t5_c,t6_c,t7_c,t8_c,t9_c; -drop table if exists t1aa,t2aa; -drop table if exists t2aA,t1Aa; -drop table if exists test,test1,test2; -drop table if exists v1,v2,v3; - -drop temporary table if exists test.t1; - -# This doesn't work -#drop trigger if exists `test trig`; -#drop trigger if exists test.t1_bd; -#drop trigger if exists test.t1_bi; -#drop trigger if exists test.t1_bi_t2; -#drop trigger if exists test.t1_bu; -#drop trigger if exists test.t2_ad; -#drop trigger if exists test.t2_ai; -#drop trigger if exists test.t2_au; -#drop trigger if exists test.t3_bi_t2; - -drop view if exists bug13095_v1; -drop view if exists mysqltest1.v1; -drop view if exists mysqltest1.v2; -drop view if exists mysqltest1.v3; -drop view if exists mysqltest1.v4; -drop view if exists t1,t2,`t1a``b`; -drop view if exists t1Aa,t2Aa,v1Aa,v2Aa; -drop view if exists v0,v1,v2,v3,v4,v5,v6; - ---enable_query_log ---enable_warnings diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl index 3a3dedfd963..f56d1c2f5be 100755 --- a/mysql-test/mysql-test-run.pl +++ b/mysql-test/mysql-test-run.pl @@ -144,7 +144,6 @@ our $glob_use_running_server= 0; our $glob_use_running_ndbcluster= 0; our $glob_use_running_ndbcluster_slave= 0; our $glob_use_embedded_server= 0; -our $glob_mysqld_restart= 0; our @glob_test_mode; our $using_ndbcluster_master= 0; @@ -166,7 +165,6 @@ our $path_my_basedir; our $opt_vardir; # A path but set directly on cmd line our $opt_vardir_trace; # unix formatted opt_vardir for trace files our $opt_tmpdir; # A path but set directly on cmd line -our $opt_restart_cleanup; # Source a file with SQL drop statements our $opt_usage; our $opt_suite; @@ -661,7 +659,6 @@ sub command_line_setup () { 'netware' => \$opt_netware, 'old-master' => \$opt_old_master, 'reorder' => \$opt_reorder, - 'restart-cleanup' => \$opt_restart_cleanup, 'script-debug' => \$opt_script_debug, 'sleep=i' => \$opt_sleep, 'socket=s' => \$opt_socket, @@ -3254,12 +3251,6 @@ sub run_mysqltest ($) { mtr_add_arg($args, "--sleep=%d", $opt_sleep); } - if ( $opt_restart_cleanup and $glob_mysqld_restart ) - { - mtr_add_arg($args, "--include=%s", "include/drop-on-restart.inc"); - $glob_mysqld_restart= 0; - } - if ( $opt_debug ) { mtr_add_arg($args, "--debug=d:t:A,%s/log/mysqltest.trace", $opt_vardir_trace); -- cgit v1.2.1 From 708f3b7b3d68d86b36a5b74b3fb719e7bfa96b1b Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 5 Apr 2006 01:09:07 +0400 Subject: Fixed BUG#13683: INSERT DELAYED into a view creates an infinite loop. The bug was caused by wrong behaviour of mysql_insert() which in case of INSERT DELAYED into a view exited with thd->net.report_error == 0. This blocked error reporting to the client which started waiting infinitely for response to the query. mysql-test/r/insert.result: Fixed results for the added test case. mysql-test/t/insert.test: Added test case. sql/sql_insert.cc: Fixed BUG#13683: INSERT DELAYED into a view creates an infinite loop. Changed mysql_insert(): delayed_get_table() applied to a view exits with ER_WRONG_OBJECT error (and with thd->net.report_error == 1) and in this case we must just exit from mysql_insert(). Prior to this change, instead of exiting open_and_lock_tables() was invoked which cleared thd->net.report_error to zero and caused the bug. --- mysql-test/r/insert.result | 6 ++++++ mysql-test/t/insert.test | 12 ++++++++++++ 2 files changed, 18 insertions(+) (limited to 'mysql-test') diff --git a/mysql-test/r/insert.result b/mysql-test/r/insert.result index f788576f824..00a987c9254 100644 --- a/mysql-test/r/insert.result +++ b/mysql-test/r/insert.result @@ -299,3 +299,9 @@ select count(*) from t2; count(*) 25500 drop table t1,t2,t3; +create table t1 (n int); +create view v1 as select * from t1; +insert delayed into v1 values (1); +ERROR HY000: 'test.v1' is not BASE TABLE +drop table t1; +drop view v1; diff --git a/mysql-test/t/insert.test b/mysql-test/t/insert.test index ddde6cfa5d3..0c64dd80bec 100644 --- a/mysql-test/t/insert.test +++ b/mysql-test/t/insert.test @@ -175,3 +175,15 @@ select count(*) from t2; insert into t2 select t1.* from t1, t2 t, t3 where t1.id1 = t.id2 and t.id2 = t3.id3; select count(*) from t2; drop table t1,t2,t3; + +# +# Test for INSERT DELAYED INTO a +# BUG#13683: INSERT DELAYED into a view creates an infinite loop +# + +create table t1 (n int); +create view v1 as select * from t1; +--error 1347 +insert delayed into v1 values (1); +drop table t1; +drop view v1; -- cgit v1.2.1 From e2e04b3bc394e1f2cefa7022bd3609600e99cc4b Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 4 Apr 2006 17:35:07 -0400 Subject: Bug#18265: mysql client: No longer right-justifies numeric columns Also fixes a new bug for which "NULL" wasn't printed (because the data it represents has length zero). (Discovered my Paul DuBois.) client/mysql.cc: Cleaned up the interactive-session table-printing function. - No longer rely on the length of the data to pad column boundries. - Be smarter about how we detect if the column is NULL. - Document how multibyte characters affect the output printing. - Use more descriptive variable names. More importantly, (re-)add these features that were crippled in an earlier change: - Print "NULL". - Right-justify numbers. mysql-test/r/mysql.result: Updated old result and added new case. mysql-test/t/mysql.test: Added new test case. --- mysql-test/r/mysql.result | 15 ++++++++++++--- mysql-test/t/mysql.test | 6 ++++++ 2 files changed, 18 insertions(+), 3 deletions(-) (limited to 'mysql-test') diff --git a/mysql-test/r/mysql.result b/mysql-test/r/mysql.result index 57067bea36b..ae50c714bba 100644 --- a/mysql-test/r/mysql.result +++ b/mysql-test/r/mysql.result @@ -72,7 +72,16 @@ c_cp932 +----------------------+------------+--------+ | concat('>',col1,'<') | col2 | col3 | +----------------------+------------+--------+ -| >a < | b | 123421 | -| >a < | 0123456789 | 4 | -| >abcd< | | 4 | +| >a < | b | 123421 | +| >a < | 0123456789 | 4 | +| >abcd< | NULL | 4 | +----------------------+------------+--------+ ++------+------+---------------------------+ +| i | j | k | ++------+------+---------------------------+ +| 1 | NULL | NULL | +| NULL | NULL | <-----------------------> | +| NULL | NULL | <----- | +| NULL | NULL | Τη γλώσσα | +| NULL | NULL | ᛖᚴ ᚷᛖᛏ | ++------+------+---------------------------+ diff --git a/mysql-test/t/mysql.test b/mysql-test/t/mysql.test index dbf65845e6a..95cba2743da 100644 --- a/mysql-test/t/mysql.test +++ b/mysql-test/t/mysql.test @@ -61,3 +61,9 @@ drop table t1; # Bug#16859 -- NULLs in columns must not truncate data as if a C-language "string". # --exec $MYSQL -t test -e "create table t1 (col1 binary(4), col2 varchar(10), col3 int); insert into t1 values ('a', 'b', 123421),('a ', '0123456789', 4), ('abcd', '', 4); select concat('>',col1,'<'), col2, col3 from t1; drop table t1;" 2>&1 + +# +# Bug#18265 -- mysql client: No longer right-justifies numeric columns +# +--exec $MYSQL -t --default-character-set utf8 test -e "create table t1 (i int, j int, k char(25) charset utf8); insert into t1 (i) values (1); insert into t1 (k) values ('<----------------------->'); insert into t1 (k) values ('<-----'); insert into t1 (k) values ('Τη γλώσσα'); insert into t1 (k) values ('ᛖᚴ ᚷᛖᛏ'); select * from t1; DROP TABLE t1;" + -- cgit v1.2.1 From e13642dcacc02c30aac981360d390bc6c6a23f25 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 4 Apr 2006 17:54:58 -0700 Subject: Bug #13601: Wrong int type for bit The wrong value was being reported as the field_length for BIT fields, resulting in confusion for at least Connector/J. The field_length is now always the number of bits in the field, as it should be. mysql-test/r/type_bit.result: Add new results mysql-test/r/type_bit_innodb.result: Add new results mysql-test/t/type_bit.test: Add new regression test mysql-test/t/type_bit_innodb.test: Add new regression test sql/field.cc: Fix Field_bit->field_length to actually report the display width, and store the bytes stored in the rec in the new bytes_in_rec member. sql/field.h: Fix Field_bit::field_length to store the correct value, adding Field_bit::bytes_in_rec to remember the number of bytes used for storing the value. Remove Field_bit_as_char::create_length, as it is now redundant. sql/ha_ndbcluster.cc: Handle field_length of Field_bit actually being the display width (# of bits). sql/key.cc: Fix inappropriate use of field->field_length for BIT field. --- mysql-test/r/type_bit.result | 9 +++++++++ mysql-test/r/type_bit_innodb.result | 9 +++++++++ mysql-test/t/type_bit.test | 12 ++++++++++++ mysql-test/t/type_bit_innodb.test | 12 ++++++++++++ 4 files changed, 42 insertions(+) (limited to 'mysql-test') diff --git a/mysql-test/r/type_bit.result b/mysql-test/r/type_bit.result index c6f204e8452..2281ed44e3f 100644 --- a/mysql-test/r/type_bit.result +++ b/mysql-test/r/type_bit.result @@ -564,3 +564,12 @@ b1+0 sum(b1) sum(b2) 1 4 4 2 2 2 drop table t1, t2; +create table t1 (a bit(7)); +insert into t1 values (0x60); +select * from t1; +Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr +def test t1 t1 a a 16 7 1 Y 0 0 63 +a +` +drop table t1; +End of 5.0 tests diff --git a/mysql-test/r/type_bit_innodb.result b/mysql-test/r/type_bit_innodb.result index 8d9c9756a33..1f6857277bd 100644 --- a/mysql-test/r/type_bit_innodb.result +++ b/mysql-test/r/type_bit_innodb.result @@ -402,3 +402,12 @@ t1 CREATE TABLE `t1` ( `b` bit(10) default NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 drop table t1; +create table t1 (a bit(7)) engine=innodb; +insert into t1 values (0x60); +select * from t1; +Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr +def test t1 t1 a a 16 7 1 Y 0 0 63 +a +` +drop table t1; +End of 5.0 tests diff --git a/mysql-test/t/type_bit.test b/mysql-test/t/type_bit.test index 1f05a9574d6..e028dbc51d9 100644 --- a/mysql-test/t/type_bit.test +++ b/mysql-test/t/type_bit.test @@ -227,3 +227,15 @@ 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 b1+0,sum(b1), sum(b2) from t1 join t2 on b1 = b2 group by b1 order by 1; drop table t1, t2; + +# +# Bug #13601: Wrong field length reported for BIT fields +# +create table t1 (a bit(7)); +insert into t1 values (0x60); +--enable_metadata +select * from t1; +--disable_metadata +drop table t1; + +--echo End of 5.0 tests diff --git a/mysql-test/t/type_bit_innodb.test b/mysql-test/t/type_bit_innodb.test index ec433f40a88..dbca69d67f0 100644 --- a/mysql-test/t/type_bit_innodb.test +++ b/mysql-test/t/type_bit_innodb.test @@ -133,3 +133,15 @@ show create table t1; alter table t1 engine=innodb; show create table t1; drop table t1; + +# +# Bug #13601: Wrong field length reported for BIT fields +# +create table t1 (a bit(7)) engine=innodb; +insert into t1 values (0x60); +--enable_metadata +select * from t1; +--disable_metadata +drop table t1; + +--echo End of 5.0 tests -- cgit v1.2.1 From df770c93400a6b108dfeb3abcb6f01cafca599f4 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 6 Apr 2006 10:47:48 +0200 Subject: Fix for bug#16445 schema version error 241 after mysqld restart, always invalidate dictionary cache when receiving changed schema events drop table or alter table, regardless if done remotely or not (also includes cluster failures, but refreshing cache is a safe operation) --- mysql-test/t/ndb_basic.test | 11 ----------- 1 file changed, 11 deletions(-) (limited to 'mysql-test') diff --git a/mysql-test/t/ndb_basic.test b/mysql-test/t/ndb_basic.test index df94545abea..ab62e3dd13a 100644 --- a/mysql-test/t/ndb_basic.test +++ b/mysql-test/t/ndb_basic.test @@ -6,17 +6,6 @@ DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7; drop database if exists mysqltest; --enable_warnings -# workaround for bug#16445 -# remove to reproduce bug and run tests drom ndb start -# and with ndb_autodiscover disabled -CREATE TABLE t1 ( - pk1 INT NOT NULL PRIMARY KEY, - attr1 INT NOT NULL, - attr2 INT, - attr3 VARCHAR(10) -) ENGINE=ndbcluster; -drop table t1; - # # Basic test to show that the NDB # table handler is working -- cgit v1.2.1 From 5f432cba0a764263698c537e079d2e2591e700e5 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 7 Apr 2006 11:04:33 +0500 Subject: Bug#18285: ExtractValue not returning character data within as expected mysql-test/r/xml.result: Adding test case mysql-test/t/xml.test: Adding test case strings/xml.c: Adding missing support of CDATA sections. --- mysql-test/r/xml.result | 3 +++ mysql-test/t/xml.test | 6 ++++++ 2 files changed, 9 insertions(+) (limited to 'mysql-test') diff --git a/mysql-test/r/xml.result b/mysql-test/r/xml.result index 52f80000015..03fff98f1d4 100644 --- a/mysql-test/r/xml.result +++ b/mysql-test/r/xml.result @@ -609,6 +609,9 @@ extractvalue('Jack','/a[contains(../a,"j")]' collate latin1_bin) select extractvalue('Jack' collate latin1_bin,'/a[contains(../a,"j")]'); extractvalue('Jack' collate latin1_bin,'/a[contains(../a,"j")]') +select ExtractValue('','/tag1'); +ExtractValue('','/tag1') +test select extractValue('1','position()'); ERROR HY000: XPATH syntax error: '' select extractValue('1','last()'); diff --git a/mysql-test/t/xml.test b/mysql-test/t/xml.test index af3ec2d827e..0dda1922b8d 100644 --- a/mysql-test/t/xml.test +++ b/mysql-test/t/xml.test @@ -278,6 +278,12 @@ select extractvalue('Jack','/a[contains(../a,"j")]'); select extractvalue('Jack','/a[contains(../a,"j")]' collate latin1_bin); select extractvalue('Jack' collate latin1_bin,'/a[contains(../a,"j")]'); +# +# Bug#18285: ExtractValue not returning character +# data within as expected +# +select ExtractValue('','/tag1'); + # # Bug #18171 XML: ExtractValue: the XPath position() # function crashes the server! -- cgit v1.2.1 From 4808257fdd50c3ef4461aeb09e44907f64b21d9d Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 7 Apr 2006 14:07:56 +0500 Subject: Bug#16319: XML: extractvalue() returns syntax errors for some functions mysql-test/r/xml.result: Adding test case mysql-test/t/xml.test: Adding test case sql/item_xmlfunc.cc: Adding support for missing XPath function string-length(). Fixing function lookup to allow functions with one optional arguments (i.e. with 0 or 1 arguments) --- mysql-test/r/xml.result | 24 ++++++++++++++++++++++++ mysql-test/t/xml.test | 14 ++++++++++++++ 2 files changed, 38 insertions(+) (limited to 'mysql-test') diff --git a/mysql-test/r/xml.result b/mysql-test/r/xml.result index 52f80000015..e8d55124778 100644 --- a/mysql-test/r/xml.result +++ b/mysql-test/r/xml.result @@ -468,6 +468,30 @@ extractValue(@xml, '/a/@b[substring(.,2,1)="1"]') select extractValue(@xml, '/a/@b[substring(.,2,1)="2"]'); extractValue(@xml, '/a/@b[substring(.,2,1)="2"]') 12 22 +SET @xml='b1b2'; +SELECT extractValue(@xml, '/a/b[string-length("x")=1]'); +extractValue(@xml, '/a/b[string-length("x")=1]') +b1 b2 +SELECT extractValue(@xml, '/a/b[string-length("xx")=2]'); +extractValue(@xml, '/a/b[string-length("xx")=2]') +b1 b2 +SELECT extractValue(@xml, '/a/b[string-length("xxx")=2]'); +extractValue(@xml, '/a/b[string-length("xxx")=2]') + +SELECT extractValue(@xml, '/a/b[string-length("x")]'); +extractValue(@xml, '/a/b[string-length("x")]') +b1 +SELECT extractValue(@xml, '/a/b[string-length("xx")]'); +extractValue(@xml, '/a/b[string-length("xx")]') +b2 +SELECT extractValue(@xml, '/a/b[string-length()]'); +extractValue(@xml, '/a/b[string-length()]') +b2 +SELECT extractValue(@xml, 'string-length()'); +ERROR HY000: XPATH syntax error: '' +SELECT extractValue(@xml, 'string-length("x")'); +extractValue(@xml, 'string-length("x")') +1 SET @xml=''; select extractValue(@xml,'/a/@b'); extractValue(@xml,'/a/@b') diff --git a/mysql-test/t/xml.test b/mysql-test/t/xml.test index af3ec2d827e..cadbdcb0bb8 100644 --- a/mysql-test/t/xml.test +++ b/mysql-test/t/xml.test @@ -192,6 +192,20 @@ select extractValue(@xml, '/a/@b[substring(.,1,1)="2"]'); select extractValue(@xml, '/a/@b[substring(.,2,1)="1"]'); select extractValue(@xml, '/a/@b[substring(.,2,1)="2"]'); +# +# Bug#16319: XML: extractvalue() returns syntax errors for some functions +# +SET @xml='b1b2'; +SELECT extractValue(@xml, '/a/b[string-length("x")=1]'); +SELECT extractValue(@xml, '/a/b[string-length("xx")=2]'); +SELECT extractValue(@xml, '/a/b[string-length("xxx")=2]'); +SELECT extractValue(@xml, '/a/b[string-length("x")]'); +SELECT extractValue(@xml, '/a/b[string-length("xx")]'); +SELECT extractValue(@xml, '/a/b[string-length()]'); +--error 1105 +SELECT extractValue(@xml, 'string-length()'); +SELECT extractValue(@xml, 'string-length("x")'); + SET @xml=''; select extractValue(@xml,'/a/@b'); select extractValue(@xml,'/a/@b[contains(.,"1")]'); -- cgit v1.2.1 From 9dab3fe2a8570c2bbde9c32c67bff3d1c6a706e8 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 7 Apr 2006 11:18:45 +0200 Subject: Bug#13228 open table cache not flushed when table schema changed - Error 1296 is no longer returned on first select after DROP/CREATE. mysql-test/r/ndb_alter_table2.result: Error 1296 is no longer returned on first select after DROP/CREATE, handled proactive in ndb_handle_schema_change. mysql-test/t/ndb_alter_table2.test: Error 1296 is no longer returned on first select after DROP/CREATE, handled proactive in ndb_handle_schema_change. sql/ha_ndbcluster.cc: Add sourrounding {'s --- mysql-test/r/ndb_alter_table2.result | 2 +- mysql-test/t/ndb_alter_table2.test | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) (limited to 'mysql-test') diff --git a/mysql-test/r/ndb_alter_table2.result b/mysql-test/r/ndb_alter_table2.result index 399578dc97b..0d2e2289f91 100644 --- a/mysql-test/r/ndb_alter_table2.result +++ b/mysql-test/r/ndb_alter_table2.result @@ -28,7 +28,7 @@ b INT NOT NULL, c INT NOT NULL ) ENGINE=ndbcluster; select * from t1; -ERROR HY000: Got error 241 'Invalid schema object version' from ndbcluster +a b c select * from t1; a b c select * from t1; diff --git a/mysql-test/t/ndb_alter_table2.test b/mysql-test/t/ndb_alter_table2.test index 3861fcc6c9d..4464f37a030 100644 --- a/mysql-test/t/ndb_alter_table2.test +++ b/mysql-test/t/ndb_alter_table2.test @@ -72,7 +72,6 @@ CREATE TABLE t1 ( connection server1; ---error 1296 select * from t1; select * from t1; select * from t1; -- cgit v1.2.1 From cc5e1b77d413a75bdb0508f192a1362639bce051 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 7 Apr 2006 19:27:19 +0200 Subject: mysql-test/mysql-test-run.sh : Provide info about the options used. mysql-test/mysql-test-run.sh: Provide info about the options used for this run to any evaluation tool. --- mysql-test/mysql-test-run.sh | 2 ++ 1 file changed, 2 insertions(+) (limited to 'mysql-test') diff --git a/mysql-test/mysql-test-run.sh b/mysql-test/mysql-test-run.sh index 64eaaab9fa4..f1f146e18a9 100644 --- a/mysql-test/mysql-test-run.sh +++ b/mysql-test/mysql-test-run.sh @@ -250,6 +250,8 @@ START_WAIT_TIMEOUT=10 STOP_WAIT_TIMEOUT=10 MYSQL_TEST_SSL_OPTS="" +$ECHO "Logging: $0 $*" # To ensure we see all arguments in the output, for the test analysis tool + while test $# -gt 0; do case "$1" in --user=*) DBUSER=`$ECHO "$1" | $SED -e "s;--user=;;"` ;; -- cgit v1.2.1 From 400e3b437c6724291c301ff9ac84c905d46c34fd Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 7 Apr 2006 20:44:37 +0300 Subject: Bug#17284 erroneous temp table cleanup on slave. Idea of the fix is for master to send FD event with `created' as 0 to reconnecting slave (upon slave_net_timeout, no master crash) to avoid destroying temp tables. In a case of a connect by slave to the master after its crash temp tables have been already cleaned up so that slave can not keep `orphan' temp tables. mysql-test/r/rpl_temporary.result: results mysql-test/t/rpl_temporary.test: wait-free addon to check temp tables are ok after slave reconnect. sql/sql_repl.cc: Storing zero for assigning to `created' of FD event on the reconnecting slave. mysql-test/include/get_binlog_dump_thread_id.inc: mysqltest's preudo-macro to calculate $id master dump thread id --- mysql-test/include/get_binlog_dump_thread_id.inc | 9 ++++++++ mysql-test/r/rpl_temporary.result | 14 ++++++++++++ mysql-test/t/rpl_temporary.test | 27 +++++++++++++++++++++++- 3 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 mysql-test/include/get_binlog_dump_thread_id.inc (limited to 'mysql-test') diff --git a/mysql-test/include/get_binlog_dump_thread_id.inc b/mysql-test/include/get_binlog_dump_thread_id.inc new file mode 100644 index 00000000000..9efa12c5611 --- /dev/null +++ b/mysql-test/include/get_binlog_dump_thread_id.inc @@ -0,0 +1,9 @@ +--exec $MYSQL test -e 'show processlist' | grep 'Binlog Dump' | cut -f1 > $MYSQLTEST_VARDIR/tmp/bl_dump_thread_id +--disable_warnings +drop table if exists t999; +--enable_warnings +create temporary table t999 (f int); +--replace_result $MYSQL_TEST_DIR "." +eval LOAD DATA INFILE "$MYSQLTEST_VARDIR/tmp/bl_dump_thread_id" into table t999; +let $id = `select f from t999`; +drop table t999; diff --git a/mysql-test/r/rpl_temporary.result b/mysql-test/r/rpl_temporary.result index a76fb87a52b..32cd1f16b99 100644 --- a/mysql-test/r/rpl_temporary.result +++ b/mysql-test/r/rpl_temporary.result @@ -89,3 +89,17 @@ f 7 drop table t1,t2; create temporary table t3 (f int); +create temporary table t4 (f int); +create table t5 (f int); +drop table if exists t999; +create temporary table t999 (f int); +LOAD DATA INFILE "./var/tmp/bl_dump_thread_id" into table t999; +drop table t999; +insert into t4 values (1); +kill `select id from information_schema.processlist where command='Binlog Dump'`; +insert into t5 select * from t4; +select * from t5 /* must be 1 after reconnection */; +f +1 +drop temporary table t4; +drop table t5; diff --git a/mysql-test/t/rpl_temporary.test b/mysql-test/t/rpl_temporary.test index fcb2391a9d8..2400eac76ba 100644 --- a/mysql-test/t/rpl_temporary.test +++ b/mysql-test/t/rpl_temporary.test @@ -129,6 +129,31 @@ drop table t1,t2; create temporary table t3 (f int); sync_with_master; +# +# Bug#17284 erroneous temp table cleanup on slave +# + +connection master; +create temporary table t4 (f int); +create table t5 (f int); +sync_with_master; +# find dumper's $id +source include/get_binlog_dump_thread_id.inc; +insert into t4 values (1); +# a hint how to do that in 5.1 +--replace_result $id "`select id from information_schema.processlist where command='Binlog Dump'`" +eval kill $id; # to stimulate reconnection by slave w/o timeout +insert into t5 select * from t4; +save_master_pos; + +connection slave; +sync_with_master; +select * from t5 /* must be 1 after reconnection */; + +connection master; +drop temporary table t4; +drop table t5; + # The server will now close done -# End of 4.1 tests +# End of 5.0 tests -- cgit v1.2.1 From 4ed90726caadb874fbcf6fdf8919d65ff9bcb84d Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 7 Apr 2006 22:26:25 +0400 Subject: A fix and a test case for Bug#16248 "WHERE (col1,col2) IN ((?,?)) gives wrong results". Implement previously missing Item_row::cleanup. The bug is not repeatable in 5.0, probably due to a coincidence: the problem is present in 5.0 as well. mysql-test/r/ps.result: Update the result file (Bug#16248) mysql-test/t/ps.test: Add a test case for Bug#16248 "WHERE (col1,col2) IN ((?,?)) gives wrong results" sql/item_row.cc: Implement Item_row::cleanup(): we should reset used_tables_cache before reexecution of a prepared statement. In case ROW arguments contain a placeholder, used_tables_cache has PARAM_TABLE bit set in statement prepare. As a result, when executing a statement, the condition push down algorithm (make_cond_for_table) would think that the WHERE clause belongs to the non-existent PARAM_TABLE and wouldn't attach the WHERE clause to any of the real tables, effectively optimizing the clause away. sql/item_row.h: Remove a never used member 'array_holder'. Add declaration for Item_row::cleanup. --- mysql-test/r/ps.result | 20 ++++++++++++++++++++ mysql-test/t/ps.test | 18 ++++++++++++++++++ 2 files changed, 38 insertions(+) (limited to 'mysql-test') diff --git a/mysql-test/r/ps.result b/mysql-test/r/ps.result index e94c2952893..3f0b9e4fa8b 100644 --- a/mysql-test/r/ps.result +++ b/mysql-test/r/ps.result @@ -747,3 +747,23 @@ length(a) 10 drop table t1; deallocate prepare stmt; +create table t1 (col1 integer, col2 integer); +insert into t1 values(100,100),(101,101),(102,102),(103,103); +prepare stmt from 'select col1, col2 from t1 where (col1, col2) in ((?,?))'; +set @a=100, @b=100; +execute stmt using @a,@b; +col1 col2 +100 100 +set @a=101, @b=101; +execute stmt using @a,@b; +col1 col2 +101 101 +set @a=102, @b=102; +execute stmt using @a,@b; +col1 col2 +102 102 +set @a=102, @b=103; +execute stmt using @a,@b; +col1 col2 +deallocate prepare stmt; +drop table t1; diff --git a/mysql-test/t/ps.test b/mysql-test/t/ps.test index af885a5c02f..9b6082eeaf6 100644 --- a/mysql-test/t/ps.test +++ b/mysql-test/t/ps.test @@ -785,4 +785,22 @@ select length(a) from t1; drop table t1; deallocate prepare stmt; +# +# Bug#16248 "WHERE (col1,col2) IN ((?,?)) gives wrong results": +# check that ROW implementation is reexecution-friendly. +# +create table t1 (col1 integer, col2 integer); +insert into t1 values(100,100),(101,101),(102,102),(103,103); +prepare stmt from 'select col1, col2 from t1 where (col1, col2) in ((?,?))'; +set @a=100, @b=100; +execute stmt using @a,@b; +set @a=101, @b=101; +execute stmt using @a,@b; +set @a=102, @b=102; +execute stmt using @a,@b; +set @a=102, @b=103; +execute stmt using @a,@b; +deallocate prepare stmt; +drop table t1; + # End of 4.1 tests -- cgit v1.2.1 From 90237744094031bde4ed654d08aff8abd79672cd Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 7 Apr 2006 23:37:06 +0400 Subject: A fix and a test case for Bug#16365 "Prepared Statements: DoS with too many open statements". The patch adds a new global variable @@max_prepared_stmt_count. This variable limits the total number of prepared statements in the server. The default value of @@max_prepared_stmt_count is 16382. 16382 small statements (a select against 3 tables with GROUP, ORDER and LIMIT) consume 100MB of RAM. Once this limit has been reached, the server will refuse to prepare a new statement and return ER_UNKNOWN_ERROR (unfortunately, we can't add new errors to 4.1 without breaking 5.0). The limit is changeable after startup and can accept any value from 0 to 1 million. In case the new value of the limit is less than the current statement count, no new statements can be added, while the old still can be used. Additionally, the current count of prepared statements is now available through a global read-only variable @@prepared_stmt_count. mysql-test/r/ps.result: Test results fixed (a test case for Bug#16365) mysql-test/t/ps.test: A test case for Bug#16365 "Prepared Statements: DoS with too many open statements". Also fix statement leaks in other tests. sql/mysql_priv.h: Add declarations for new global variables. sql/mysqld.cc: Add definitions of max_prepared_stmt_count, prepared_stmt_count. sql/set_var.cc: Implement support for @@prepared_stmt_count and @@max_prepared_stmt_count. Currently these variables are queried without acquiring LOCK_prepared_stmt_count due to limitations of the set_var/sys_var class design. Updates are, however, protected with a lock. sql/set_var.h: New declarations to add support for @@max_prepared_stmt_count. Implement a new class, where the lock to be used when updating a variable is a parameter. sql/sql_class.cc: Add accounting of the total number of prepared statements in the server to the methods of Statement_map. sql/sql_class.h: Add accounting of the total number of prepared statements in the server to the methods of Statement_map. sql/sql_prepare.cc: Statement_map::insert will now send a message in case of an error. --- mysql-test/r/ps.result | 108 +++++++++++++++++++++++++++++++++++++++++++ mysql-test/t/ps.test | 123 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 231 insertions(+) (limited to 'mysql-test') diff --git a/mysql-test/r/ps.result b/mysql-test/r/ps.result index e94c2952893..f9ecd28fb32 100644 --- a/mysql-test/r/ps.result +++ b/mysql-test/r/ps.result @@ -107,6 +107,9 @@ set @fvar= 123.4567; prepare stmt1 from @fvar; 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 '123.4567' at line 1 drop table t1,t2; +deallocate prepare stmt3; +deallocate prepare stmt4; +deallocate prepare stmt5; PREPARE stmt1 FROM "select _utf8 'A' collate utf8_bin = ?"; set @var='A'; EXECUTE stmt1 USING @var; @@ -252,6 +255,7 @@ set names latin1; execute ``; 1234 1234 +deallocate prepare ``; set names default; create table t1 (a varchar(10)) charset=utf8; insert into t1 (a) values ('yahoo'); @@ -747,3 +751,107 @@ length(a) 10 drop table t1; deallocate prepare stmt; +set @old_max_prepared_stmt_count= @@max_prepared_stmt_count; +show variables like 'max_prepared_stmt_count'; +Variable_name Value +max_prepared_stmt_count 16382 +show variables like 'prepared_stmt_count'; +Variable_name Value +prepared_stmt_count 0 +select @@max_prepared_stmt_count, @@prepared_stmt_count; +@@max_prepared_stmt_count @@prepared_stmt_count +16382 0 +set global max_prepared_stmt_count=-1; +select @@max_prepared_stmt_count; +@@max_prepared_stmt_count +0 +set global max_prepared_stmt_count=10000000000000000; +select @@max_prepared_stmt_count; +@@max_prepared_stmt_count +1048576 +set global max_prepared_stmt_count=default; +select @@max_prepared_stmt_count; +@@max_prepared_stmt_count +16382 +set @@max_prepared_stmt_count=1; +ERROR HY000: Variable 'max_prepared_stmt_count' is a GLOBAL variable and should be set with SET GLOBAL +set max_prepared_stmt_count=1; +ERROR HY000: Variable 'max_prepared_stmt_count' is a GLOBAL variable and should be set with SET GLOBAL +set local max_prepared_stmt_count=1; +ERROR HY000: Variable 'max_prepared_stmt_count' is a GLOBAL variable and should be set with SET GLOBAL +set local prepared_stmt_count=0; +ERROR HY000: Variable 'prepared_stmt_count' is a GLOBAL variable and should be set with SET GLOBAL +set @@prepared_stmt_count=0; +ERROR HY000: Variable 'prepared_stmt_count' is a GLOBAL variable and should be set with SET GLOBAL +set global prepared_stmt_count=1; +ERROR 42000: Incorrect argument type to variable 'prepared_stmt_count' +set global max_prepared_stmt_count=1; +select @@max_prepared_stmt_count; +@@max_prepared_stmt_count +1 +set global max_prepared_stmt_count=0; +select @@max_prepared_stmt_count, @@prepared_stmt_count; +@@max_prepared_stmt_count @@prepared_stmt_count +0 0 +prepare stmt from "select 1"; +ERROR HY000: Unknown error +select @@prepared_stmt_count; +@@prepared_stmt_count +0 +set global max_prepared_stmt_count=1; +prepare stmt from "select 1"; +select @@prepared_stmt_count; +@@prepared_stmt_count +1 +prepare stmt1 from "select 1"; +ERROR HY000: Unknown error +select @@prepared_stmt_count; +@@prepared_stmt_count +1 +deallocate prepare stmt; +select @@prepared_stmt_count; +@@prepared_stmt_count +0 +prepare stmt from "select 1"; +select @@prepared_stmt_count; +@@prepared_stmt_count +1 +prepare stmt from "select 2"; +select @@prepared_stmt_count; +@@prepared_stmt_count +1 +select @@prepared_stmt_count, @@max_prepared_stmt_count; +@@prepared_stmt_count @@max_prepared_stmt_count +1 1 +set global max_prepared_stmt_count=0; +prepare stmt from "select 1"; +ERROR HY000: Unknown error +execute stmt; +ERROR HY000: Unknown prepared statement handler (stmt) given to EXECUTE +select @@prepared_stmt_count; +@@prepared_stmt_count +0 +prepare stmt from "select 1"; +ERROR HY000: Unknown error +select @@prepared_stmt_count; +@@prepared_stmt_count +0 +set global max_prepared_stmt_count=3; +select @@max_prepared_stmt_count, @@prepared_stmt_count; +@@max_prepared_stmt_count @@prepared_stmt_count +3 0 +prepare stmt from "select 1"; +prepare stmt from "select 2"; +prepare stmt1 from "select 3"; +prepare stmt2 from "select 4"; +ERROR HY000: Unknown error +prepare stmt2 from "select 4"; +ERROR HY000: Unknown error +select @@max_prepared_stmt_count, @@prepared_stmt_count; +@@max_prepared_stmt_count @@prepared_stmt_count +3 3 +deallocate prepare stmt; +select @@max_prepared_stmt_count, @@prepared_stmt_count; +@@max_prepared_stmt_count @@prepared_stmt_count +3 0 +set global max_prepared_stmt_count= @old_max_prepared_stmt_count; diff --git a/mysql-test/t/ps.test b/mysql-test/t/ps.test index af885a5c02f..a46f5919633 100644 --- a/mysql-test/t/ps.test +++ b/mysql-test/t/ps.test @@ -111,6 +111,9 @@ set @fvar= 123.4567; prepare stmt1 from @fvar; drop table t1,t2; +deallocate prepare stmt3; +deallocate prepare stmt4; +deallocate prepare stmt5; # # Bug #4105: Server crash on attempt to prepare a statement with character @@ -254,6 +257,7 @@ prepare `ü` from 'select 1234'; execute `ü` ; set names latin1; execute ``; +deallocate prepare ``; set names default; @@ -785,4 +789,123 @@ select length(a) from t1; drop table t1; deallocate prepare stmt; +# +# Bug#16365 Prepared Statements: DoS with too many open statements +# Check that the limit @@max_prpeared_stmt_count works. +# +# Save the old value +set @old_max_prepared_stmt_count= @@max_prepared_stmt_count; +# +# Disable prepared statement protocol: in this test we set +# @@max_prepared_stmt_count to 0 or 1 and would like to test the limit +# manually. +# +--disable_ps_protocol +# +# A. Check that the new variables are present in SHOW VARIABLES list. +# +show variables like 'max_prepared_stmt_count'; +show variables like 'prepared_stmt_count'; +# +# B. Check that the new variables are selectable. +# +select @@max_prepared_stmt_count, @@prepared_stmt_count; +# +# C. Check that max_prepared_stmt_count is settable (global only), +# whereas prepared_stmt_count is readonly. +# +set global max_prepared_stmt_count=-1; +select @@max_prepared_stmt_count; +set global max_prepared_stmt_count=10000000000000000; +select @@max_prepared_stmt_count; +set global max_prepared_stmt_count=default; +select @@max_prepared_stmt_count; +--error 1229 # ER_GLOBAL_VARIABLE +set @@max_prepared_stmt_count=1; +--error 1229 # ER_GLOBAL_VARIABLE +set max_prepared_stmt_count=1; +--error 1229 # ER_GLOBAL_VARIABLE +set local max_prepared_stmt_count=1; +--error 1229 # ER_GLOBAL_VARIABLE +set local prepared_stmt_count=0; +--error 1229 # ER_GLOBAL_VARIABLE +set @@prepared_stmt_count=0; +--error 1232 # ER_WRONG_TYPE_FOR_VAR +set global prepared_stmt_count=1; +# set to a reasonable limit works +set global max_prepared_stmt_count=1; +select @@max_prepared_stmt_count; +# +# D. Check that the variables actually work. +# +set global max_prepared_stmt_count=0; +select @@max_prepared_stmt_count, @@prepared_stmt_count; +--error 1105 # ER_UNKNOWN_ERROR +prepare stmt from "select 1"; +select @@prepared_stmt_count; +set global max_prepared_stmt_count=1; +prepare stmt from "select 1"; +select @@prepared_stmt_count; +--error 1105 # ER_UNKNOWN_ERROR +prepare stmt1 from "select 1"; +select @@prepared_stmt_count; +deallocate prepare stmt; +select @@prepared_stmt_count; +# +# E. Check that we can prepare a statement with the same name +# successfully, without hitting the limit. +# +prepare stmt from "select 1"; +select @@prepared_stmt_count; +prepare stmt from "select 2"; +select @@prepared_stmt_count; +# +# F. We can set the max below the current count. In this case no new +# statements should be allowed to prepare. +# +select @@prepared_stmt_count, @@max_prepared_stmt_count; +set global max_prepared_stmt_count=0; +--error 1105 # ER_UNKNOWN_ERROR +prepare stmt from "select 1"; +# Result: the old statement is deallocated, the new is not created. +--error 1243 # ER_UNKNOWN_STMT_HANDLER +execute stmt; +select @@prepared_stmt_count; +--error 1105 # ER_UNKNOWN_ERROR +prepare stmt from "select 1"; +select @@prepared_stmt_count; +# +# G. Show that the variables are up to date even after a connection with all +# statements in it was terminated. +# +set global max_prepared_stmt_count=3; +select @@max_prepared_stmt_count, @@prepared_stmt_count; +prepare stmt from "select 1"; +connect (con1,localhost,root,,); +connection con1; +prepare stmt from "select 2"; +prepare stmt1 from "select 3"; +--error 1105 # ER_UNKNOWN_ERROR +prepare stmt2 from "select 4"; +connection default; +--error 1105 # ER_UNKNOWN_ERROR +prepare stmt2 from "select 4"; +select @@max_prepared_stmt_count, @@prepared_stmt_count; +disconnect con1; +connection default; +# Wait for the connection to die: deal with a possible race +deallocate prepare stmt; +let $count= `select @@prepared_stmt_count`; +if ($count) +{ +--sleep 2 + let $count= `select @@prepared_stmt_count`; +} +select @@max_prepared_stmt_count, @@prepared_stmt_count; +# +# Restore the old value. +# +set global max_prepared_stmt_count= @old_max_prepared_stmt_count; +--enable_ps_protocol + # End of 4.1 tests -- cgit v1.2.1 From bb92389071e6d638482e6c685f0cb69daa1f61a3 Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 8 Apr 2006 16:29:11 +0300 Subject: #18906: bushbuild reports rpl_temporary fails on solaris, AIX, QNX Removing the problematic line from include test file. mysql-test/include/get_binlog_dump_thread_id.inc: replacing replace_result by disable_query_log mysql-test/r/rpl_temporary.result: results --- mysql-test/include/get_binlog_dump_thread_id.inc | 4 +++- mysql-test/r/rpl_temporary.result | 1 - 2 files changed, 3 insertions(+), 2 deletions(-) (limited to 'mysql-test') diff --git a/mysql-test/include/get_binlog_dump_thread_id.inc b/mysql-test/include/get_binlog_dump_thread_id.inc index 9efa12c5611..680807cc3c6 100644 --- a/mysql-test/include/get_binlog_dump_thread_id.inc +++ b/mysql-test/include/get_binlog_dump_thread_id.inc @@ -3,7 +3,9 @@ drop table if exists t999; --enable_warnings create temporary table t999 (f int); ---replace_result $MYSQL_TEST_DIR "." +### --replace_result $MYSQL_TEST_DIR "." #failed on solaris etc bug#18906 +--disable_query_log eval LOAD DATA INFILE "$MYSQLTEST_VARDIR/tmp/bl_dump_thread_id" into table t999; +--enable_query_log let $id = `select f from t999`; drop table t999; diff --git a/mysql-test/r/rpl_temporary.result b/mysql-test/r/rpl_temporary.result index 32cd1f16b99..881504f49d0 100644 --- a/mysql-test/r/rpl_temporary.result +++ b/mysql-test/r/rpl_temporary.result @@ -93,7 +93,6 @@ create temporary table t4 (f int); create table t5 (f int); drop table if exists t999; create temporary table t999 (f int); -LOAD DATA INFILE "./var/tmp/bl_dump_thread_id" into table t999; drop table t999; insert into t4 values (1); kill `select id from information_schema.processlist where command='Binlog Dump'`; -- cgit v1.2.1 From 248317e9d7688bc5dd4c1c7194ae4ce4526e6c34 Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 8 Apr 2006 11:42:09 -0700 Subject: Fixed bug #16069. The function agg_cmp_type in item_cmpfunc.cc neglected the fact that the first argument in a BETWEEN/IN predicate could be a field of a view. As a result in the case when the retrieved table was hidden by a view over it and the arguments in the BETWEEN/IN predicates are of the date/time type the function did not perform conversion of the constant arguments to the same format as the first field argument. If formats of the arguments differed it caused wrong a evaluation of the predicates. mysql-test/r/view.result: Added a test case for bug #16069. mysql-test/t/view.test: Added a test case for bug #16069. --- mysql-test/r/view.result | 21 +++++++++++++++++++++ mysql-test/t/view.test | 20 ++++++++++++++++++++ 2 files changed, 41 insertions(+) (limited to 'mysql-test') diff --git a/mysql-test/r/view.result b/mysql-test/r/view.result index f0fb35f1a2e..7519b8022f0 100644 --- a/mysql-test/r/view.result +++ b/mysql-test/r/view.result @@ -2579,3 +2579,24 @@ COUNT(*) 2 DROP VIEW v2; DROP TABLE t1, t2; +CREATE TABLE t1 (id int NOT NULL PRIMARY KEY, +td date DEFAULT NULL, KEY idx(td)); +INSERT INTO t1 VALUES +(1, '2005-01-01'), (2, '2005-01-02'), (3, '2005-01-02'), +(4, '2005-01-03'), (5, '2005-01-04'), (6, '2005-01-05'), +(7, '2005-01-05'), (8, '2005-01-05'), (9, '2005-01-06'); +CREATE VIEW v1 AS SELECT * FROM t1; +SELECT * FROM t1 WHERE td BETWEEN '2005.01.02' AND '2005.01.04'; +id td +2 2005-01-02 +3 2005-01-02 +4 2005-01-03 +5 2005-01-04 +SELECT * FROM v1 WHERE td BETWEEN '2005.01.02' AND '2005.01.04'; +id td +2 2005-01-02 +3 2005-01-02 +4 2005-01-03 +5 2005-01-04 +DROP VIEW v1; +DROP TABLE t1; diff --git a/mysql-test/t/view.test b/mysql-test/t/view.test index afeb0dda729..7ef1f82dbd3 100644 --- a/mysql-test/t/view.test +++ b/mysql-test/t/view.test @@ -2434,3 +2434,23 @@ SELECT COUNT(*) FROM t1 LEFT JOIN v2 ON t1.id=v2.id; DROP VIEW v2; DROP TABLE t1, t2; + +# +# Bug #16069: VIEW does return the same results as underlying SELECT +# with WHERE condition containing BETWEEN over dates + +CREATE TABLE t1 (id int NOT NULL PRIMARY KEY, + td date DEFAULT NULL, KEY idx(td)); + +INSERT INTO t1 VALUES + (1, '2005-01-01'), (2, '2005-01-02'), (3, '2005-01-02'), + (4, '2005-01-03'), (5, '2005-01-04'), (6, '2005-01-05'), + (7, '2005-01-05'), (8, '2005-01-05'), (9, '2005-01-06'); + +CREATE VIEW v1 AS SELECT * FROM t1; + +SELECT * FROM t1 WHERE td BETWEEN '2005.01.02' AND '2005.01.04'; +SELECT * FROM v1 WHERE td BETWEEN '2005.01.02' AND '2005.01.04'; + +DROP VIEW v1; +DROP TABLE t1; -- cgit v1.2.1 From 4f97001a75c18dd6d19c7690e64ad3a825d5580d Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 8 Apr 2006 22:27:43 +0200 Subject: $MYSQL_TEST was broken with --valgrind. --- mysql-test/mysql-test-run.pl | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'mysql-test') diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl index 53bf820cce9..20bb6e0117a 100755 --- a/mysql-test/mysql-test-run.pl +++ b/mysql-test/mysql-test-run.pl @@ -2316,11 +2316,6 @@ sub run_mysqltest ($) { mtr_init_args(\$args); - if ( defined $opt_valgrind_mysqltest ) - { - valgrind_arguments($args, \$exe); - } - mtr_add_arg($args, "--no-defaults"); mtr_add_arg($args, "--socket=%s", $master->[0]->{'path_mysock'}); mtr_add_arg($args, "--database=test"); @@ -2398,6 +2393,17 @@ sub run_mysqltest ($) { # Add arguments that should not go into the MYSQL_TEST env var # ---------------------------------------------------------------------- + if ( defined $opt_valgrind_mysqltest ) + { + # Prefix the Valgrind options to the argument list. + # We do this here, since we do not want to Valgrind the nested invocations + # of mysqltest; that would mess up the stderr output causing test failure. + my @args_saved = @$args; + mtr_init_args(\$args); + valgrind_arguments($args, \$exe); + mtr_add_arg($args, "%s", $_) for @args_saved; + } + mtr_add_arg($args, "-R"); mtr_add_arg($args, $tinfo->{'result_file'}); -- cgit v1.2.1 From 808d956988dcd0fdcf5ae674446d6b173539ab37 Mon Sep 17 00:00:00 2001 From: unknown Date: Sun, 9 Apr 2006 13:27:53 +0300 Subject: BUG#18906 Test case rpl_temporary fails when using --vardir option env variable name is fixed. mysql-test/include/get_binlog_dump_thread_id.inc: Fixing to right env $var name. mysql-test/r/rpl_temporary.result: results --- mysql-test/include/get_binlog_dump_thread_id.inc | 4 +--- mysql-test/r/rpl_temporary.result | 1 + 2 files changed, 2 insertions(+), 3 deletions(-) (limited to 'mysql-test') diff --git a/mysql-test/include/get_binlog_dump_thread_id.inc b/mysql-test/include/get_binlog_dump_thread_id.inc index 680807cc3c6..830a88b5db6 100644 --- a/mysql-test/include/get_binlog_dump_thread_id.inc +++ b/mysql-test/include/get_binlog_dump_thread_id.inc @@ -3,9 +3,7 @@ drop table if exists t999; --enable_warnings create temporary table t999 (f int); -### --replace_result $MYSQL_TEST_DIR "." #failed on solaris etc bug#18906 ---disable_query_log +--replace_result $MYSQLTEST_VARDIR "." eval LOAD DATA INFILE "$MYSQLTEST_VARDIR/tmp/bl_dump_thread_id" into table t999; ---enable_query_log let $id = `select f from t999`; drop table t999; diff --git a/mysql-test/r/rpl_temporary.result b/mysql-test/r/rpl_temporary.result index 881504f49d0..12143561854 100644 --- a/mysql-test/r/rpl_temporary.result +++ b/mysql-test/r/rpl_temporary.result @@ -93,6 +93,7 @@ create temporary table t4 (f int); create table t5 (f int); drop table if exists t999; create temporary table t999 (f int); +LOAD DATA INFILE "./tmp/bl_dump_thread_id" into table t999; drop table t999; insert into t4 values (1); kill `select id from information_schema.processlist where command='Binlog Dump'`; -- cgit v1.2.1 From 3bd7490b108cd7d4f9f131fe599f4eebc262be0a Mon Sep 17 00:00:00 2001 From: unknown Date: Sun, 9 Apr 2006 11:57:25 -0700 Subject: Disabled two broken test, created P1 showstoppers from them. mysql-test/t/disabled.def: Updating for broken tests --- mysql-test/t/disabled.def | 2 ++ 1 file changed, 2 insertions(+) (limited to 'mysql-test') diff --git a/mysql-test/t/disabled.def b/mysql-test/t/disabled.def index 8827eab6bb5..6393ca3112f 100644 --- a/mysql-test/t/disabled.def +++ b/mysql-test/t/disabled.def @@ -25,6 +25,8 @@ ps_7ndb : dbug assert in RBR mode when executing test suite #rpl_bit_npk : Bug#13418 #rpl_ddl : Bug#15963 SBR does not show "Definer" correctly rpl_ndb_dd_basic : Bug #18569 +rpl_row_basic_7ndb : Bug #18923 +rpl_ndb_dd_advance : Bug #18924 rpl_ndb_2innodb : assertion in get_parts_for_update() rpl_ndb_2myisam : assertion in get_parts_for_update() rpl_ndb_auto_inc : Bug#17086 -- cgit v1.2.1 From e046ba03780b2981b5f55f3005a7409921923e90 Mon Sep 17 00:00:00 2001 From: unknown Date: Sun, 9 Apr 2006 19:43:36 -0700 Subject: Disabling test, added bug #18928 mysql-test/t/disabled.def: Adding disabled test for bug --- mysql-test/t/disabled.def | 1 + 1 file changed, 1 insertion(+) (limited to 'mysql-test') diff --git a/mysql-test/t/disabled.def b/mysql-test/t/disabled.def index 6393ca3112f..98b1ae08b15 100644 --- a/mysql-test/t/disabled.def +++ b/mysql-test/t/disabled.def @@ -27,6 +27,7 @@ ps_7ndb : dbug assert in RBR mode when executing test suite rpl_ndb_dd_basic : Bug #18569 rpl_row_basic_7ndb : Bug #18923 rpl_ndb_dd_advance : Bug #18924 +rpl_ndb_multi_update2 : Bug #18928 rpl_ndb_2innodb : assertion in get_parts_for_update() rpl_ndb_2myisam : assertion in get_parts_for_update() rpl_ndb_auto_inc : Bug#17086 -- cgit v1.2.1 From c2f1823f39e095f75d18fc3ff5a42c01cf5fdd2b Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 10 Apr 2006 09:31:46 +0200 Subject: Fix test case 'cast' on Windows, different floating point output format. --- mysql-test/t/cast.test | 2 ++ 1 file changed, 2 insertions(+) (limited to 'mysql-test') diff --git a/mysql-test/t/cast.test b/mysql-test/t/cast.test index 7e09f44397c..533da542855 100644 --- a/mysql-test/t/cast.test +++ b/mysql-test/t/cast.test @@ -171,6 +171,8 @@ select cast(1.0e+300 as signed int); CREATE TABLE t1 (f1 double); INSERT INTO t1 SET f1 = -1.0e+30 ; INSERT INTO t1 SET f1 = +1.0e+30 ; +# Expected result is +-1e+30, but Windows returns +-1e+030. +--replace_result 1e+030 1e+30 SELECT f1 AS double_val, CAST(f1 AS SIGNED INT) AS cast_val FROM t1; DROP TABLE t1; -- cgit v1.2.1 From bbf17143e22ff6f417bec6079c5f3d1f44d6b22d Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 10 Apr 2006 14:15:02 +0200 Subject: mysql-test-run.pl: Added --ndbcluster_port for backward compatibility make_win_src_distribution.sh: Updated to reflect 5.1 changes scripts/make_win_src_distribution.sh: Updated to reflect 5.1 changes mysql-test/mysql-test-run.pl: Added --ndbcluster_port for backward compatibility --- mysql-test/mysql-test-run.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'mysql-test') diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl index 411a1f53d16..aff5bbefa3d 100755 --- a/mysql-test/mysql-test-run.pl +++ b/mysql-test/mysql-test-run.pl @@ -608,7 +608,7 @@ sub command_line_setup () { # Specify ports 'master_port=i' => \$opt_master_myport, 'slave_port=i' => \$opt_slave_myport, - 'ndbcluster-port=i' => \$opt_ndbcluster_port, + 'ndbcluster-port|ndbcluster_port=i' => \$opt_ndbcluster_port, 'ndbcluster-port-slave=i' => \$opt_ndbcluster_port_slave, 'manager-port=i' => \$opt_manager_port, # Currently not used 'im-port=i' => \$im_port, # Instance Manager port. -- cgit v1.2.1 From 7ad91edd15b89466fa8f1f7ce6bf50501a7322e8 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 10 Apr 2006 16:06:28 +0200 Subject: perform sync slave with master in rpl_ndb_blob2 to ensure that tables get properly dropped on slave... - has been causing failed later tests e.g. rpl_ndb_trig004 --- mysql-test/extra/rpl_tests/rpl_row_blob.test | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'mysql-test') diff --git a/mysql-test/extra/rpl_tests/rpl_row_blob.test b/mysql-test/extra/rpl_tests/rpl_row_blob.test index 14449e0a018..75a2dc2cf9e 100644 --- a/mysql-test/extra/rpl_tests/rpl_row_blob.test +++ b/mysql-test/extra/rpl_tests/rpl_row_blob.test @@ -183,3 +183,9 @@ connection master; DROP TABLE IF EXISTS test.t1; DROP TABLE IF EXISTS test.t2; +# ensure cleanup on slave as well: +# ndb blob tables consist of several tables +# if cluster is shutdown while not all tables are +# properly dropped, the table becomes inconsistent +# and wrecks later test cases +--sync_slave_with_master -- cgit v1.2.1 From 276d412321789f21a86bb4e53c96832b5fc1b8da Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 10 Apr 2006 10:18:57 -0400 Subject: BUG#18752: Added test case for SHOW CREATE TABLE not showing NULL values properly in bug already fixed Added new test case for bug 18752 (bug already fixed by previous patch) mysql-test/r/partition.result: Added new test case for bug 18752 (bug already fixed by previous patch) mysql-test/t/partition.test: Added new test case for bug 18752 (bug already fixed by previous patch) --- mysql-test/r/partition.result | 9 +++++++++ mysql-test/t/partition.test | 9 +++++++++ 2 files changed, 18 insertions(+) (limited to 'mysql-test') diff --git a/mysql-test/r/partition.result b/mysql-test/r/partition.result index 2e293df50e2..48f9b04c15f 100644 --- a/mysql-test/r/partition.result +++ b/mysql-test/r/partition.result @@ -839,4 +839,13 @@ SHOW TABLE STATUS; Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment t1 MyISAM 10 Dynamic 0 0 0 0 0 0 NULL NULL NULL NULL latin1_swedish_ci NULL partitioned DROP TABLE t1; +CREATE TABLE t1 (a int) +PARTITION BY LIST (a) +(PARTITION p0 VALUES IN (NULL)); +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL +) ENGINE=MyISAM DEFAULT CHARSET=latin1 PARTITION BY LIST (a) (PARTITION p0 VALUES IN (NULL) ENGINE = MyISAM) +DROP TABLE t1; End of 5.1 tests diff --git a/mysql-test/t/partition.test b/mysql-test/t/partition.test index a3aa3f6f025..4eb27765f5f 100644 --- a/mysql-test/t/partition.test +++ b/mysql-test/t/partition.test @@ -956,4 +956,13 @@ PARTITION p2 VALUES LESS THAN (30) ENGINE = MyISAM); SHOW TABLE STATUS; DROP TABLE t1; +# +# BUG 18752 SHOW CREATE TABLE doesn't show NULL value in SHOW CREATE TABLE +# +CREATE TABLE t1 (a int) +PARTITION BY LIST (a) +(PARTITION p0 VALUES IN (NULL)); +SHOW CREATE TABLE t1; +DROP TABLE t1; + --echo End of 5.1 tests -- cgit v1.2.1 From 69cc7f1b025019861927eb6a5d5df3ba797a958c Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 10 Apr 2006 10:44:47 -0400 Subject: BUG#18423: Added test case for this bug that was already fixed (was issue with hash partitions not showing all rows in BETWEEN range Added test case for bug 18423 mysql-test/r/partition_hash.result: Added test case for bug 18423 mysql-test/t/partition_hash.test: Added test case for bug 18423 --- mysql-test/r/partition_hash.result | 26 ++++++++++++++++++++++++++ mysql-test/t/partition_hash.test | 19 +++++++++++++++++++ 2 files changed, 45 insertions(+) (limited to 'mysql-test') diff --git a/mysql-test/r/partition_hash.result b/mysql-test/r/partition_hash.result index 64dcf8c5837..08faccd024e 100644 --- a/mysql-test/r/partition_hash.result +++ b/mysql-test/r/partition_hash.result @@ -73,3 +73,29 @@ drop table t1; CREATE TABLE t1 (s1 int) ENGINE=BLACKHOLE PARTITION BY HASH (s1); INSERT INTO t1 VALUES (0); DROP TABLE t1; +create table t1 (c1 int DEFAULT NULL, +c2 varchar (30) DEFAULT NULL, +c3 date DEFAULT NULL) +engine = myisam +partition by hash (to_days(c3)) +partitions 12; +insert into t1 values +(136,'abc','2002-01-05'),(142,'abc','2002-02-14'),(162,'abc','2002-06-28'), +(182,'abc','2002-11-09'),(158,'abc','2002-06-01'),(184,'abc','2002-11-22'); +select * from t1; +c1 c2 c3 +136 abc 2002-01-05 +158 abc 2002-06-01 +142 abc 2002-02-14 +162 abc 2002-06-28 +182 abc 2002-11-09 +184 abc 2002-11-22 +select * from t1 where c3 between '2002-01-01' and '2002-12-31'; +c1 c2 c3 +136 abc 2002-01-05 +158 abc 2002-06-01 +142 abc 2002-02-14 +162 abc 2002-06-28 +182 abc 2002-11-09 +184 abc 2002-11-22 +drop table t1; diff --git a/mysql-test/t/partition_hash.test b/mysql-test/t/partition_hash.test index 75a36713694..8494de98371 100644 --- a/mysql-test/t/partition_hash.test +++ b/mysql-test/t/partition_hash.test @@ -90,3 +90,22 @@ drop table t1; CREATE TABLE t1 (s1 int) ENGINE=BLACKHOLE PARTITION BY HASH (s1); INSERT INTO t1 VALUES (0); DROP TABLE t1; + +# +# BUG 18423 Hash partitioning can lose rows in some queries +# +create table t1 (c1 int DEFAULT NULL, + c2 varchar (30) DEFAULT NULL, + c3 date DEFAULT NULL) +engine = myisam +partition by hash (to_days(c3)) +partitions 12; + +insert into t1 values +(136,'abc','2002-01-05'),(142,'abc','2002-02-14'),(162,'abc','2002-06-28'), +(182,'abc','2002-11-09'),(158,'abc','2002-06-01'),(184,'abc','2002-11-22'); +select * from t1; +select * from t1 where c3 between '2002-01-01' and '2002-12-31'; + +drop table t1; + -- cgit v1.2.1 From 7099156bc45011f463e0923dc60e01f9bdc9b5bb Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 10 Apr 2006 17:54:42 +0200 Subject: Updated disable.def file with BUG numbers, time of disable and disabler --- mysql-test/t/disabled.def | 85 ++++++++++++++++++++++++----------------------- 1 file changed, 43 insertions(+), 42 deletions(-) (limited to 'mysql-test') diff --git a/mysql-test/t/disabled.def b/mysql-test/t/disabled.def index 98b1ae08b15..0e842ae54d0 100644 --- a/mysql-test/t/disabled.def +++ b/mysql-test/t/disabled.def @@ -4,49 +4,50 @@ # # Separate the test case name and the comment with ':'. # -# : Comment test +# : BUG# # # Do not use any TAB characters for whitespace. # ############################################################################## -events_bugs : test case unstable (race conditions). andrey will fix -events_stress : test case unstable. andrey will fix -events : test case unstable. andrey will fix -#ndb_alter_table_row : sometimes wrong error 1015!=1046 -ndb_autodiscover : Needs to be fixed w.r.t binlog -ndb_autodiscover2 : Needs to be fixed w.r.t binlog -#ndb_binlog_basic : Results are not deterministic, Tomas will fix -#ndb_binlog_multi : Results are not deterministic, Tomas will fix -ndb_cache2 : Bug #18597 -ndb_gis : Bug #18600 -ndb_load : Bug#17233 -partition_03ndb : Bug#16385 -ps_7ndb : dbug assert in RBR mode when executing test suite -#rpl_bit_npk : Bug#13418 -#rpl_ddl : Bug#15963 SBR does not show "Definer" correctly -rpl_ndb_dd_basic : Bug #18569 -rpl_row_basic_7ndb : Bug #18923 -rpl_ndb_dd_advance : Bug #18924 -rpl_ndb_multi_update2 : Bug #18928 -rpl_ndb_2innodb : assertion in get_parts_for_update() -rpl_ndb_2myisam : assertion in get_parts_for_update() -rpl_ndb_auto_inc : Bug#17086 -rpl_ndb_basic : Bug #18592 -#rpl_ndb_blob : interferes with following tests, causing hang -#rpl_ndb_blob2 : interferes with following tests, causing hang -rpl_ndb_ddl : master hangs -#rpl_ndb_delete_nowhere : Bug#17400: delete & update of rows in table without pk fails -rpl_ndb_insert_ignore : Bug #18567 -rpl_ndb_innodb2ndb : Bug#18261: Cluster Replication: tests rpl_ndb_xxx2ndb fails -rpl_ndb_myisam2ndb : Bug#18261: Cluster Replication: tests rpl_ndb_xxx2ndb fails -rpl_ndb_multi_update3 : Bug#18627: Cluster Replication: rpl_ndb_multi_update3 fails on Intel 64 bit -rpl_ndb_log : result not deterministic, TBD if should remove -rpl_ndb_relay_space : Bug#16993 -#rpl_ndb_multi_update3 : Bug#17400: delete & update of rows in table without pk fails -rpl_switch_stm_row_mixed : Bug #18590 -rpl_row_inexist_tbl : Disabled since patch makes this test wait forever -rpl_sp : Bug#16456 -rpl_until : Unstable test case, bug#15886 -sp-goto : GOTO is currently is disabled - will be fixed in the future -mysqldump : BUG#18078 -udf : Bug#18564 (Permission by Brian) +events_bugs : BUG#17619 2006-02-21 andrey Test case unstable (race conditions) +events_stress : BUG#17619 2006-02-21 andrey Test case unstable +events : BUG#17619 2006-02-21 andrey Test case unstable +ndb_autodiscover : BUG#18952 2006-02-16 jmiller Needs to be fixed w.r.t binlog +ndb_autodiscover2 : BUG#18952 2006-02-16 jmiller Needs to be fixed w.r.t binlog +ndb_cache2 : BUG#18597 2006-03-28 brian +ndb_gis : BUG#18600 2006-03-28 brian +ndb_load : BUG#17233 2006-02-16 jmiller +partition_03ndb : BUG#16385 2006-03-24 mikael +ps_7ndb : BUG#18950 2006-02-16 jmiller Dbug assert in RBR mode when executing test suite +rpl_ndb_dd_basic : BUG#18569 2006-03-28 brian +rpl_row_basic_7ndb : BUG#18923 2006-04-09 brian +rpl_ndb_dd_advance : BUG#18924 2006-04-09 brian +rpl_ndb_multi_update2 : BUG#18928 2006-04-09 brian +rpl_ndb_2innodb : BUG#18945 2006-03-22 tomas Assertion in get_parts_for_update() +rpl_ndb_2myisam : BUG#18945 2006-03-22 tomas Assertion in get_parts_for_update() +rpl_ndb_auto_inc : BUG#17086 2006-02-16 jmiller +rpl_ndb_basic : BUG#18592 2006-03-28 brian +rpl_ndb_ddl : BUG#18946 2006-03-16 mats Master hangs (Probably related to BUG#17400) +rpl_ndb_insert_ignore : BUG#18567 2006-03-28 brian +rpl_ndb_innodb2ndb : BUG#18261 2006-03-16 mats Cluster Replication: tests rpl_ndb_xxx2ndb fails (BUG#17400) +rpl_ndb_myisam2ndb : BUG#18261 2006-03-16 mats Cluster Replication: tests rpl_ndb_xxx2ndb fails (BUG#17400) +rpl_ndb_multi_update3 : BUG#18627 2006-03-29 monty Cluster Replication: rpl_ndb_multi_update3 fails on Intel 64 bit +rpl_ndb_log : BUG#18947 2006-03-21 tomas Result not deterministic, TBD if should remove +rpl_ndb_relay_space : BUG#16993 2006-02-16 jmiller +rpl_switch_stm_row_mixed : BUG#18590 2006-03-28 brian +rpl_row_inexist_tbl : BUG#18948 2006-03-09 mats Disabled since patch makes this test wait forever +rpl_sp : BUG#16456 2006-02-16 jmiller +rpl_until : BUG#15886 2006-02-16 jmiller Unstable test case +sp-goto : BUG#18949 2006-02-16 jmiller GOTO is currently is disabled - will be fixed in the future +mysqldump : BUG#18078 2006-03-10 lars +udf : BUG#18564 2006-03-27 ian (Permission by Brian) + +#ndb_alter_table_row : sometimes wrong error 1015!=1046 +#ndb_binlog_basic : Results are not deterministic, Tomas will fix +#ndb_binlog_multi : Results are not deterministic, Tomas will fix +#rpl_bit_npk : Bug#13418 +#rpl_ddl : Bug#15963 SBR does not show "Definer" correctly +#rpl_ndb_blob : interferes with following tests, causing hang +#rpl_ndb_blob2 : interferes with following tests, causing hang +#rpl_ndb_delete_nowhere : Bug#17400: delete & update of rows in table without pk fails +#rpl_ndb_multi_update3 : Bug#17400: delete & update of rows in table without pk fails -- cgit v1.2.1 From 3f934196103cc61d9c68dd5044b78d0976f46304 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 10 Apr 2006 20:54:42 +0500 Subject: Fix for bug#18753 Partitions: auto_increment fails Current auto increment value is placed in partition in which latest record was saved. So to get auto_increment they have to scan all partitions and return max value. mysql-test/r/partition.result: Fix for bug#18753 Partitions: auto_increment fails test case mysql-test/t/partition.test: Fix for bug#18753 Partitions: auto_increment fails test case --- mysql-test/r/partition.result | 17 +++++++++++++++++ mysql-test/t/partition.test | 15 +++++++++++++++ 2 files changed, 32 insertions(+) (limited to 'mysql-test') diff --git a/mysql-test/r/partition.result b/mysql-test/r/partition.result index 2e293df50e2..324605faf79 100644 --- a/mysql-test/r/partition.result +++ b/mysql-test/r/partition.result @@ -839,4 +839,21 @@ SHOW TABLE STATUS; Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment t1 MyISAM 10 Dynamic 0 0 0 0 0 0 NULL NULL NULL NULL latin1_swedish_ci NULL partitioned DROP TABLE t1; +create table t1 (s1 int auto_increment primary key) +partition by list (s1) +(partition p1 values in (1), +partition p2 values in (2), +partition p3 values in (3)); +insert into t1 values (null); +insert into t1 values (null); +insert into t1 values (null); +select auto_increment from information_schema.tables where table_name='t1'; +auto_increment +4 +select * from t1; +s1 +1 +2 +3 +drop table t1; End of 5.1 tests diff --git a/mysql-test/t/partition.test b/mysql-test/t/partition.test index a3aa3f6f025..dee83f551a0 100644 --- a/mysql-test/t/partition.test +++ b/mysql-test/t/partition.test @@ -956,4 +956,19 @@ PARTITION p2 VALUES LESS THAN (30) ENGINE = MyISAM); SHOW TABLE STATUS; DROP TABLE t1; +# +# Bug#18753 Partitions: auto_increment fails +# +create table t1 (s1 int auto_increment primary key) +partition by list (s1) +(partition p1 values in (1), + partition p2 values in (2), + partition p3 values in (3)); +insert into t1 values (null); +insert into t1 values (null); +insert into t1 values (null); +select auto_increment from information_schema.tables where table_name='t1'; +select * from t1; +drop table t1; + --echo End of 5.1 tests -- cgit v1.2.1 From 6ed3009e2e609f40e11c06511aed5bd16ed69622 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 10 Apr 2006 18:08:54 +0200 Subject: Step 1 in removing mysql-test-run.sh from 5.1 and up Makefile.am: Change make test, make test-full, make test-force and make test-force-full to use mysql-test-run.pl mysql-test/mysql-test-run.sh: Add nag message to mysql-test-run.sh taht indicates it will soon be removed. --- mysql-test/mysql-test-run.sh | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'mysql-test') diff --git a/mysql-test/mysql-test-run.sh b/mysql-test/mysql-test-run.sh index 4485d8ca073..7bc56e24f4b 100644 --- a/mysql-test/mysql-test-run.sh +++ b/mysql-test/mysql-test-run.sh @@ -7,6 +7,18 @@ # List of failed cases (--force) backported from 4.1 by Joerg # :-) + +echo "##################################################"; +echo "This script is deprecated and will soon be removed"; +echo "Use mysql-test-run.pl instead"; +echo "Now sleeping 20 seconds..."; +echo "##################################################"; +sleep 20; +echo "continuing"; +echo; + + + #++ # Access Definitions #-- -- cgit v1.2.1 From f46fb4ec61d41ae8f3019abaf22656c58106b137 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 10 Apr 2006 13:07:50 -0400 Subject: BUG*#17946: New test case for already fixed bug (Problem with LIKE searches for partitioned tables) Added new test case for bug 17946 mysql-test/r/partition_pruning.result: Added new test case for bug 17946 mysql-test/t/partition_pruning.test: Added new test case for bug 17946 --- mysql-test/r/partition_pruning.result | 11 +++++++++++ mysql-test/t/partition_pruning.test | 12 ++++++++++++ 2 files changed, 23 insertions(+) (limited to 'mysql-test') diff --git a/mysql-test/r/partition_pruning.result b/mysql-test/r/partition_pruning.result index 8b959cb6a3e..b13f0d55e39 100644 --- a/mysql-test/r/partition_pruning.result +++ b/mysql-test/r/partition_pruning.result @@ -659,3 +659,14 @@ explain partitions select count(*) from t1 where s1 < 0 or s1 is null; id select_type table partitions type possible_keys key key_len ref rows Extra 1 SIMPLE t1 p3 system NULL NULL NULL NULL 1 drop table t1; +create table t1 (a char(32) primary key) +partition by key() +partitions 100; +insert into t1 values ('na'); +select * from t1; +a +na +select * from t1 where a like 'n%'; +a +na +drop table t1; diff --git a/mysql-test/t/partition_pruning.test b/mysql-test/t/partition_pruning.test index 71fed4f20c9..0c922392d32 100644 --- a/mysql-test/t/partition_pruning.test +++ b/mysql-test/t/partition_pruning.test @@ -554,3 +554,15 @@ drop table t1; # No tests for NULLs in RANGE(monotonic_expr()) - they depend on BUG#15447 # being fixed. + +# +#BUG 17946 Like searches fail with partitioning +# +create table t1 (a char(32) primary key) +partition by key() +partitions 100; +insert into t1 values ('na'); +select * from t1; +select * from t1 where a like 'n%'; +drop table t1; + -- cgit v1.2.1 From e54a0fc752b0adb656a3b638a69d227cf68d0072 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 10 Apr 2006 13:48:58 -0400 Subject: BUG#18750: Various problems with partition names, quotation marks mysql-test/r/partition.result: Added new test cases mysql-test/t/partition.test: Added new test cases sql/partition_info.cc: Check partition names that they don't have trailing spaces sql/share/errmsg.txt: Added error code for wrong partition names sql/sql_partition.cc: New method to add partition name strings, ignore OPTION_SHOW_QUOTE_CREATE sql/sql_show.cc: require_quotes had a bug with identifiers that consisted of only digits, these are allowed identifiers but must be quoted and require_quote didn't tell this. sql/sql_yacc.yy: Partition names should identifers and not ident_or_text --- mysql-test/r/partition.result | 17 +++++++++++++++++ mysql-test/t/partition.test | 24 ++++++++++++++++++++++++ 2 files changed, 41 insertions(+) (limited to 'mysql-test') diff --git a/mysql-test/r/partition.result b/mysql-test/r/partition.result index 2e293df50e2..f3d78bb6203 100644 --- a/mysql-test/r/partition.result +++ b/mysql-test/r/partition.result @@ -839,4 +839,21 @@ SHOW TABLE STATUS; Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment t1 MyISAM 10 Dynamic 0 0 0 0 0 0 NULL NULL NULL NULL latin1_swedish_ci NULL partitioned DROP TABLE t1; +create table t1 (a int) +partition by list (a) +(partition `s1 s2` values in (0)); +drop table t1; +create table t1 (a int) +partition by list (a) +(partition `7` values in (0)); +drop table t1; +create table t1 (a int) +partition by list (a) +(partition `s1 s2 ` values in (0)); +ERROR HY000: Incorrect partition name +create table t1 (a int) +partition by list (a) +subpartition by hash (a) +(partition p1 values in (0) (subpartition `p1 p2 `)); +ERROR HY000: Incorrect partition name End of 5.1 tests diff --git a/mysql-test/t/partition.test b/mysql-test/t/partition.test index a3aa3f6f025..e6071967dc8 100644 --- a/mysql-test/t/partition.test +++ b/mysql-test/t/partition.test @@ -956,4 +956,28 @@ PARTITION p2 VALUES LESS THAN (30) ENGINE = MyISAM); SHOW TABLE STATUS; DROP TABLE t1; +# +#BUG 18750 Problems with partition names +# +create table t1 (a int) +partition by list (a) +(partition `s1 s2` values in (0)); +drop table t1; + +create table t1 (a int) +partition by list (a) +(partition `7` values in (0)); +drop table t1; + +--error ER_WRONG_PARTITION_NAME +create table t1 (a int) +partition by list (a) +(partition `s1 s2 ` values in (0)); + +--error ER_WRONG_PARTITION_NAME +create table t1 (a int) +partition by list (a) +subpartition by hash (a) +(partition p1 values in (0) (subpartition `p1 p2 `)); + --echo End of 5.1 tests -- cgit v1.2.1 From 9afc3469f94a333e262492bb8f55588509d85ffc Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 10 Apr 2006 22:44:01 +0400 Subject: Fixed test case result (after BUG#15868 fix). --- mysql-test/r/innodb.result | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'mysql-test') diff --git a/mysql-test/r/innodb.result b/mysql-test/r/innodb.result index e8af68a6067..c5658d22eb6 100644 --- a/mysql-test/r/innodb.result +++ b/mysql-test/r/innodb.result @@ -1821,7 +1821,7 @@ Variable_name Value innodb_sync_spin_loops 20 show variables like "innodb_thread_concurrency"; Variable_name Value -innodb_thread_concurrency 0 +innodb_thread_concurrency 8 set global innodb_thread_concurrency=1001; show variables like "innodb_thread_concurrency"; Variable_name Value -- cgit v1.2.1 From d26c3629d764a51965932f00d65ad5a96824ba21 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 10 Apr 2006 22:51:17 +0200 Subject: disabled.def: Disabled randomly failing tests mysql-test/t/disabled.def: Disabled randomly failing tests --- mysql-test/t/disabled.def | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'mysql-test') diff --git a/mysql-test/t/disabled.def b/mysql-test/t/disabled.def index 8827eab6bb5..adec5dd95be 100644 --- a/mysql-test/t/disabled.def +++ b/mysql-test/t/disabled.def @@ -47,3 +47,8 @@ rpl_until : Unstable test case, bug#15886 sp-goto : GOTO is currently is disabled - will be fixed in the future mysqldump : BUG#18078 udf : Bug#18564 (Permission by Brian) +ndb_cache_multi2 : Bugs#18974: Test fails randomly +ndb_binlog_ddl_multi : Bugs#18976: Test fails randomly +rpl_ndb_trig004 : Bugs#18977: Test fails randomly +rpl_ndb_multi_update2 : Bugs#18978: Test fails randomly +rpl_row_blob_innodb : Bugs#18980: Test fails randomly -- cgit v1.2.1 From 2ddad8045bb35e366a1439813ba1bf642b29de58 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 10 Apr 2006 14:14:20 -0700 Subject: Made the test case for bug #15917 independent on platforms. --- mysql-test/r/having.result | 2 -- mysql-test/t/having.test | 2 ++ 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'mysql-test') diff --git a/mysql-test/r/having.result b/mysql-test/r/having.result index c827e11e50e..fe918e4c3ff 100644 --- a/mysql-test/r/having.result +++ b/mysql-test/r/having.result @@ -360,8 +360,6 @@ s1 count(s1) y 1 drop table t1; DROP SCHEMA IF EXISTS HU; -Warnings: -Note 1008 Can't drop database 'HU'; database doesn't exist CREATE SCHEMA HU ; USE HU ; CREATE TABLE STAFF diff --git a/mysql-test/t/having.test b/mysql-test/t/having.test index 9e5bc4bc136..9b21e544657 100644 --- a/mysql-test/t/having.test +++ b/mysql-test/t/having.test @@ -354,7 +354,9 @@ drop table t1; # when the server is run on Windows or with --lower-case-table-names=1 # +--disable_warnings DROP SCHEMA IF EXISTS HU; +--enable_warnings CREATE SCHEMA HU ; USE HU ; -- cgit v1.2.1 From 1073c5bfa9db5d9cb21500ee0b154e09086d0329 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 10 Apr 2006 22:29:11 -0400 Subject: BUG#18752: Also handle NULL values in VALUES LESS THAN mysql-test/r/partition.result: Added test case to verify that VALUES LESS THAN (NULL) isn't allowed mysql-test/t/partition.test: Added test case to verify that VALUES LESS THAN (NULL) isn't allowed sql/share/errmsg.txt: Added new error message sql/sql_yacc.yy: Added error check for null value --- mysql-test/r/partition.result | 4 ++++ mysql-test/t/partition.test | 5 +++++ 2 files changed, 9 insertions(+) (limited to 'mysql-test') diff --git a/mysql-test/r/partition.result b/mysql-test/r/partition.result index 48f9b04c15f..5c4fc34cc8a 100644 --- a/mysql-test/r/partition.result +++ b/mysql-test/r/partition.result @@ -848,4 +848,8 @@ t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 PARTITION BY LIST (a) (PARTITION p0 VALUES IN (NULL) ENGINE = MyISAM) DROP TABLE t1; +CREATE TABLE t1 (a int) +PARTITION BY RANGE(a) +(PARTITION p0 VALUES LESS THAN (NULL)); +ERROR 42000: Not allowed to use NULL value in VALUES LESS THAN near '))' at line 3 End of 5.1 tests diff --git a/mysql-test/t/partition.test b/mysql-test/t/partition.test index 4eb27765f5f..9c73c00d2df 100644 --- a/mysql-test/t/partition.test +++ b/mysql-test/t/partition.test @@ -965,4 +965,9 @@ PARTITION BY LIST (a) SHOW CREATE TABLE t1; DROP TABLE t1; +--error 1064 +CREATE TABLE t1 (a int) +PARTITION BY RANGE(a) +(PARTITION p0 VALUES LESS THAN (NULL)); + --echo End of 5.1 tests -- cgit v1.2.1 From a6fee337783d339bc483816bd10b63a5940cc25a Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 11 Apr 2006 10:15:08 +0200 Subject: enabling all failing ndb tests to get current status in pushbuild --- mysql-test/r/ndb_binlog_ddl_multi.result | 35 ++++++++++++++++++++++++ mysql-test/t/disabled.def | 47 +++++++++++++------------------- mysql-test/t/ndb_binlog_ddl_multi.test | 7 ++++- 3 files changed, 60 insertions(+), 29 deletions(-) (limited to 'mysql-test') diff --git a/mysql-test/r/ndb_binlog_ddl_multi.result b/mysql-test/r/ndb_binlog_ddl_multi.result index 3b217c50402..abd7f6a875c 100644 --- a/mysql-test/r/ndb_binlog_ddl_multi.result +++ b/mysql-test/r/ndb_binlog_ddl_multi.result @@ -32,6 +32,10 @@ show binlog events from ; Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # Query # # ALTER DATABASE mysqltest CHARACTER SET latin1 master-bin.000001 # Query # # use `mysqltest`; drop table `t1` +show binlog events from ; +Log_name Pos Event_type Server_id End_log_pos Info +master-bin.000001 # Query # # ALTER DATABASE mysqltest CHARACTER SET latin1 +master-bin.000001 # Query # # use `mysqltest`; drop table `t1` reset master; reset master; use test; @@ -111,6 +115,37 @@ ENGINE = NDB master-bin1.000001 # Query # # DROP LOGFILE GROUP lg1 ENGINE =NDB master-bin1.000001 # Query # # use `test`; drop table `t1` +show binlog events from ; +Log_name Pos Event_type Server_id End_log_pos Info +master-bin1.000001 # Query # # CREATE LOGFILE GROUP lg1 +ADD UNDOFILE 'undofile.dat' +INITIAL_SIZE 16M +UNDO_BUFFER_SIZE = 1M +ENGINE=NDB +master-bin1.000001 # Query # # ALTER LOGFILE GROUP lg1 +ADD UNDOFILE 'undofile02.dat' +INITIAL_SIZE = 4M +ENGINE=NDB +master-bin1.000001 # Query # # CREATE TABLESPACE ts1 +ADD DATAFILE 'datafile.dat' +USE LOGFILE GROUP lg1 +INITIAL_SIZE 12M +ENGINE NDB +master-bin1.000001 # Query # # ALTER TABLESPACE ts1 +ADD DATAFILE 'datafile02.dat' +INITIAL_SIZE = 4M +ENGINE=NDB +master-bin1.000001 # Query # # ALTER TABLESPACE ts1 +DROP DATAFILE 'datafile.dat' +ENGINE = NDB +master-bin1.000001 # Query # # ALTER TABLESPACE ts1 +DROP DATAFILE 'datafile02.dat' +ENGINE = NDB +master-bin1.000001 # Query # # DROP TABLESPACE ts1 +ENGINE = NDB +master-bin1.000001 # Query # # DROP LOGFILE GROUP lg1 +ENGINE =NDB +master-bin1.000001 # Query # # use `test`; drop table `t1` reset master; show tables; Tables_in_test diff --git a/mysql-test/t/disabled.def b/mysql-test/t/disabled.def index 98b1ae08b15..3841735c150 100644 --- a/mysql-test/t/disabled.def +++ b/mysql-test/t/disabled.def @@ -12,37 +12,28 @@ events_bugs : test case unstable (race conditions). andrey will fix events_stress : test case unstable. andrey will fix events : test case unstable. andrey will fix -#ndb_alter_table_row : sometimes wrong error 1015!=1046 ndb_autodiscover : Needs to be fixed w.r.t binlog ndb_autodiscover2 : Needs to be fixed w.r.t binlog -#ndb_binlog_basic : Results are not deterministic, Tomas will fix -#ndb_binlog_multi : Results are not deterministic, Tomas will fix -ndb_cache2 : Bug #18597 -ndb_gis : Bug #18600 -ndb_load : Bug#17233 -partition_03ndb : Bug#16385 +#ndb_cache2 : Bug #18597 simultaneous drop table and ndb statistics update triggers node failure +#ndb_gis : Bug #18600 ndb_gis test failure +#ndb_load : Bug#17233 failed load data from infile causes mysqld dbug_assert, binlog not flushed +#partition_03ndb : Bug#16385 Partitions: crash when updating a range partitioned NDB table ps_7ndb : dbug assert in RBR mode when executing test suite -#rpl_bit_npk : Bug#13418 -#rpl_ddl : Bug#15963 SBR does not show "Definer" correctly -rpl_ndb_dd_basic : Bug #18569 -rpl_row_basic_7ndb : Bug #18923 -rpl_ndb_dd_advance : Bug #18924 -rpl_ndb_multi_update2 : Bug #18928 -rpl_ndb_2innodb : assertion in get_parts_for_update() -rpl_ndb_2myisam : assertion in get_parts_for_update() -rpl_ndb_auto_inc : Bug#17086 -rpl_ndb_basic : Bug #18592 -#rpl_ndb_blob : interferes with following tests, causing hang -#rpl_ndb_blob2 : interferes with following tests, causing hang -rpl_ndb_ddl : master hangs -#rpl_ndb_delete_nowhere : Bug#17400: delete & update of rows in table without pk fails -rpl_ndb_insert_ignore : Bug #18567 -rpl_ndb_innodb2ndb : Bug#18261: Cluster Replication: tests rpl_ndb_xxx2ndb fails -rpl_ndb_myisam2ndb : Bug#18261: Cluster Replication: tests rpl_ndb_xxx2ndb fails -rpl_ndb_multi_update3 : Bug#18627: Cluster Replication: rpl_ndb_multi_update3 fails on Intel 64 bit -rpl_ndb_log : result not deterministic, TBD if should remove -rpl_ndb_relay_space : Bug#16993 -#rpl_ndb_multi_update3 : Bug#17400: delete & update of rows in table without pk fails +#rpl_ndb_2innodb : assertion in get_parts_for_update() +#rpl_ndb_2myisam : assertion in get_parts_for_update() +rpl_ndb_auto_inc : Bug#17086 CR: auto_increment_increment and auto_increment_offset produce duplicate key er +#rpl_ndb_basic : Bug #18592 rpl_ndb_basic failure +#rpl_ndb_dd_advance : Bug #18924 rpl_ndb_dd_advance failure +#rpl_ndb_dd_basic : Bug #18569 rpl_ndb_dd_basic failure +#rpl_ndb_ddl : master hangs +#rpl_ndb_insert_ignore : Bug #18567 rpl_ndb_insert_ignore failure +#rpl_ndb_innodb2ndb : Bug#18261: Cluster Replication: tests rpl_ndb_xxx2ndb fails +#rpl_ndb_log : result not deterministic, TBD if should remove +#rpl_ndb_multi_update2 : Bug #18928 rpl_ndb_multi_update2 failed +#rpl_ndb_multi_update3 : Bug#18627: Cluster Replication: rpl_ndb_multi_update3 fails on Intel 64 bit +#rpl_ndb_myisam2ndb : Bug#18261: Cluster Replication: tests rpl_ndb_xxx2ndb fails +rpl_ndb_relay_space : Bug#16993 RBR: ALTER TABLE ZEROFILL AUTO_INCREMENT is not replicated correctly +#rpl_row_basic_7ndb : Bug #18923 rpl_row_basic_7ndb failure rpl_switch_stm_row_mixed : Bug #18590 rpl_row_inexist_tbl : Disabled since patch makes this test wait forever rpl_sp : Bug#16456 diff --git a/mysql-test/t/ndb_binlog_ddl_multi.test b/mysql-test/t/ndb_binlog_ddl_multi.test index 120117d1e0a..9a96e89b56e 100644 --- a/mysql-test/t/ndb_binlog_ddl_multi.test +++ b/mysql-test/t/ndb_binlog_ddl_multi.test @@ -64,7 +64,9 @@ drop table mysqltest.t1; --connection server1 --source include/show_binlog_events.inc - +# to track down bug#18976 +--real_sleep 10 +--source include/show_binlog_events.inc # drop database and drop should come after data events --connection server1 @@ -131,6 +133,9 @@ drop table t1; --connection server2 --source include/show_binlog_events.inc +# to track down bug#18976 +--real_sleep 10 +--source include/show_binlog_events.inc # # Bug #17827 cluster: rename of several tables in one statement, -- cgit v1.2.1 From e796a9c8a066acaf54774660c841cf7ded6ac225 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 11 Apr 2006 13:25:02 +0500 Subject: Bug#16233: XML: ExtractValue() fails with special characters ExtractValue didn't understand tag and attribute names consisting of "tricky" national letters (e.g. latin accenter letters). It happened because XPath lex parser recognized only basic latin letter a..z ad a part of an identifier. Fixed to recognize all letters by means of new "full ctype" which was added recently. mysql-test/r/xml.result: Adding test case mysql-test/t/xml.test: Adding test case sql/item_xmlfunc.cc: Using recently implemented "true" ctype functionality to treat all national letters as valid tag names, Only basic latin letters worked so far. strings/ctype-simple.c: A bug fix: ctype is array of 257 elements, adding offset to address correct element. --- mysql-test/r/xml.result | 23 +++++++++++++++++++++++ mysql-test/t/xml.test | 20 ++++++++++++++++++++ 2 files changed, 43 insertions(+) (limited to 'mysql-test') diff --git a/mysql-test/r/xml.result b/mysql-test/r/xml.result index 52f80000015..2946c56da6b 100644 --- a/mysql-test/r/xml.result +++ b/mysql-test/r/xml.result @@ -615,3 +615,26 @@ select extractValue('1','last()'); ERROR HY000: XPATH syntax error: '' select extractValue('1','/e/'); ERROR HY000: XPATH syntax error: '' +set names utf8; +select extractValue('<Ñ>r','/Ñ/r'); +extractValue('<Ñ>r','/Ñ/r') +r +select extractValue('<Ñ>Ñ','/r/Ñ'); +extractValue('<Ñ>Ñ','/r/Ñ') +Ñ +select extractValue('<Ñ r="r"/>','/Ñ/@r'); +extractValue('<Ñ r="r"/>','/Ñ/@r') +r +select extractValue('','/r/@Ñ'); +extractValue('','/r/@Ñ') +Ñ +DROP PROCEDURE IF EXISTS p2; +CREATE PROCEDURE p2 () +BEGIN +DECLARE p LONGTEXT CHARACTER SET UTF8 DEFAULT '<Ñ>A'; +SELECT EXTRACTVALUE(p,'/Ñ/r'); +END// +CALL p2(); +EXTRACTVALUE(p,'/Ñ/r') +A +DROP PROCEDURE p2; diff --git a/mysql-test/t/xml.test b/mysql-test/t/xml.test index af3ec2d827e..4bc76287fe2 100644 --- a/mysql-test/t/xml.test +++ b/mysql-test/t/xml.test @@ -295,3 +295,23 @@ select extractValue('1','last()'); --error 1105 select extractValue('1','/e/'); +# +# Bug#16233: XML: ExtractValue() fails with special characters +# +set names utf8; +select extractValue('<Ñ>r','/Ñ/r'); +select extractValue('<Ñ>Ñ','/r/Ñ'); +select extractValue('<Ñ r="r"/>','/Ñ/@r'); +select extractValue('','/r/@Ñ'); +--disable_warnings +DROP PROCEDURE IF EXISTS p2; +--enable_warnings +DELIMITER //; +CREATE PROCEDURE p2 () +BEGIN + DECLARE p LONGTEXT CHARACTER SET UTF8 DEFAULT '<Ñ>A'; + SELECT EXTRACTVALUE(p,'/Ñ/r'); +END// +DELIMITER ;// +CALL p2(); +DROP PROCEDURE p2; -- cgit v1.2.1 From caab082b299f04ef4aa42ce490da3b4c335fd83f Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 11 Apr 2006 12:12:48 +0200 Subject: Close share->data_file in before renaming in ha_tina::repair Open and seek to end of data_file after rename Fix comment for when file does not need repair. Set share->mapped_file to NULL always when it's been unmapped Add test to see that file can be used after repair mysql-test/r/csv.result: Add more test to see that the table can be used after repair mysql-test/t/csv.test: Add more test to see that the table can be used after repair storage/csv/ha_tina.cc: Close share->data_file in before renaming in ha_tina::repair Open and seek to end after rename Fix comment for when file does not need repair. Set share->mapped_file to NULL always when it's been unmapped --- mysql-test/r/csv.result | 30 ++++++++++++++++++++++++++++++ mysql-test/t/csv.test | 23 ++++++++++++++++++++++- 2 files changed, 52 insertions(+), 1 deletion(-) (limited to 'mysql-test') diff --git a/mysql-test/r/csv.result b/mysql-test/r/csv.result index 70eaac2eb4e..3adcc895474 100644 --- a/mysql-test/r/csv.result +++ b/mysql-test/r/csv.result @@ -5085,6 +5085,36 @@ Table Op Msg_type Msg_text test.test_repair_table5 repair status OK SELECT * FROM test_repair_table5; num magic_no company_name founded +INSERT INTO test_repair_table5 VALUES (1, 102, "CORRECT", 1876); +SELECT * FROM test_repair_table5; +num magic_no company_name founded +1 0102 CORRECT 1876 +FLUSH TABLES; +CHECK TABLE test_repair_table5; +Table Op Msg_type Msg_text +test.test_repair_table5 check error Corrupt +REPAIR TABLE test_repair_table5; +Table Op Msg_type Msg_text +test.test_repair_table5 repair status OK +SELECT * FROM test_repair_table5; +num magic_no company_name founded +1 0102 CORRECT 1876 +INSERT INTO test_repair_table5 VALUES (1, 102, "CORRECT2", 1876); +SELECT * FROM test_repair_table5; +num magic_no company_name founded +1 0102 CORRECT 1876 +1 0102 CORRECT2 1876 +FLUSH TABLES; +CHECK TABLE test_repair_table5; +Table Op Msg_type Msg_text +test.test_repair_table5 check error Corrupt +REPAIR TABLE test_repair_table5; +Table Op Msg_type Msg_text +test.test_repair_table5 repair status OK +SELECT * FROM test_repair_table5; +num magic_no company_name founded +1 0102 CORRECT 1876 +1 0102 CORRECT2 1876 DROP TABLE test_repair_table5; create table t1 (a int) engine=csv; insert t1 values (1); diff --git a/mysql-test/t/csv.test b/mysql-test/t/csv.test index 63c76e79fc7..9ba99167ab9 100644 --- a/mysql-test/t/csv.test +++ b/mysql-test/t/csv.test @@ -1477,8 +1477,29 @@ CREATE TABLE test_repair_table5 ( CHECK TABLE test_repair_table5; REPAIR TABLE test_repair_table5; SELECT * FROM test_repair_table5; -DROP TABLE test_repair_table5; +INSERT INTO test_repair_table5 VALUES (1, 102, "CORRECT", 1876); +SELECT * FROM test_repair_table5; +# Corrupt a table -- put a row with wrong # of columns at end of file +--exec perl -e 'print "\"1\",\"101\",\"IBM\"\n";' >> $MYSQLTEST_VARDIR/master-data/test/test_repair_table5.CSV + +FLUSH TABLES; +CHECK TABLE test_repair_table5; +REPAIR TABLE test_repair_table5; +# The correct record inserted should still be in the file +SELECT * FROM test_repair_table5; +INSERT INTO test_repair_table5 VALUES (1, 102, "CORRECT2", 1876); +SELECT * FROM test_repair_table5; + +# Corrupt table again -- put a row with wrong # of columns at end of file +--exec perl -e 'print "\"1\",\"101\",\"IBM\"\n";' >> $MYSQLTEST_VARDIR/master-data/test/test_repair_table5.CSV + +FLUSH TABLES; +CHECK TABLE test_repair_table5; +REPAIR TABLE test_repair_table5; +# The two correct records inserted should still be in the file +SELECT * FROM test_repair_table5; +DROP TABLE test_repair_table5; # # BUG#13406 - incorrect amount of "records deleted" -- cgit v1.2.1 From c9a01ea3dc7984c71b84255c1e1e2c4d874877f6 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 11 Apr 2006 16:13:57 +0500 Subject: Fix for bug #14360: Date Between Interval Broken. mysql-test/r/innodb.result: Fix for bug #14360: Date Between Interval Broken. - test case. mysql-test/t/innodb.test: Fix for bug #14360: Date Between Interval Broken. - test case. sql/item_timefunc.cc: Fix for bug #14360: Date Between Interval Broken. - Item_date_add_interval::eq() introduced. sql/item_timefunc.h: Fix for bug #14360: Date Between Interval Broken. - Item_date_add_interval::eq() introduced. --- mysql-test/r/innodb.result | 9 +++++++++ mysql-test/t/innodb.test | 12 ++++++++++++ 2 files changed, 21 insertions(+) (limited to 'mysql-test') diff --git a/mysql-test/r/innodb.result b/mysql-test/r/innodb.result index c5658d22eb6..9a190557211 100644 --- a/mysql-test/r/innodb.result +++ b/mysql-test/r/innodb.result @@ -3232,3 +3232,12 @@ drop trigger t2t; drop trigger t3t; drop trigger t4t; drop table t1, t2, t3, t4, t5; +create table t1(a date) engine=innodb; +create table t2(a date, key(a)) engine=innodb; +insert into t1 values('2005-10-01'); +insert into t2 values('2005-10-01'); +select * from t1, t2 +where t2.a between t1.a - interval 2 day and t1.a + interval 2 day; +a a +2005-10-01 2005-10-01 +drop table t1, t2; diff --git a/mysql-test/t/innodb.test b/mysql-test/t/innodb.test index 832c4635815..b0835cd8419 100644 --- a/mysql-test/t/innodb.test +++ b/mysql-test/t/innodb.test @@ -2127,3 +2127,15 @@ drop table t1, t2, t3, t4, t5; connection default; disconnect a; disconnect b; + +# +# Bug #14360: problem with intervals +# + +create table t1(a date) engine=innodb; +create table t2(a date, key(a)) engine=innodb; +insert into t1 values('2005-10-01'); +insert into t2 values('2005-10-01'); +select * from t1, t2 + where t2.a between t1.a - interval 2 day and t1.a + interval 2 day; +drop table t1, t2; -- cgit v1.2.1 From 8ba9a6136bded23699cd8ebb44bbba7c49ac021c Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 11 Apr 2006 18:16:14 +0500 Subject: bug#17870 Table names conflict with Windows device names It was impossible to create some table names on Windows (e.g. LPT1, AUX, COM1, etc). Fixed to pad dangerous names with thee "at" signs (e.g. LPT1@@@, AUX@@@, COM1@@@, and so on). include/my_sys.h: Adding new function declaration mysys/my_access.c: Adding new function check_if_legal_tablename(). It works almost like check_if_legal_filename(), but accepts a table name without extension and path, and does not check "CLOCK$". sql/sql_table.cc: Check if a dangerous table name and append @@@ strings/ctype-utf8.c: Treat "@@@" sequence in a table name as a end-of-line. mysql-test/r/ctype_filename.result: New BitKeeper file ``mysql-test/r/ctype_filename.result'' mysql-test/t/ctype_filename.test: New BitKeeper file ``mysql-test/t/ctype_filename.test'' --- mysql-test/r/ctype_filename.result | 13 +++++++++++++ mysql-test/t/ctype_filename.test | 21 +++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 mysql-test/r/ctype_filename.result create mode 100644 mysql-test/t/ctype_filename.test (limited to 'mysql-test') diff --git a/mysql-test/r/ctype_filename.result b/mysql-test/r/ctype_filename.result new file mode 100644 index 00000000000..acc32c7dedf --- /dev/null +++ b/mysql-test/r/ctype_filename.result @@ -0,0 +1,13 @@ +drop table if exists con, aux, nul, lpt1, com1, `clock$`; +create table con (a int); +drop table con; +create table aux (a int); +drop table aux; +create table nul (a int); +drop table nul; +create table lpt1 (a int); +drop table lpt1; +create table com1 (a int); +drop table com1; +create table `clock$` (a int); +drop table `clock$`; diff --git a/mysql-test/t/ctype_filename.test b/mysql-test/t/ctype_filename.test new file mode 100644 index 00000000000..436ccfc4f2e --- /dev/null +++ b/mysql-test/t/ctype_filename.test @@ -0,0 +1,21 @@ +--disable_warnings +drop table if exists con, aux, nul, lpt1, com1, `clock$`; +--enable_warnings + +create table con (a int); +drop table con; + +create table aux (a int); +drop table aux; + +create table nul (a int); +drop table nul; + +create table lpt1 (a int); +drop table lpt1; + +create table com1 (a int); +drop table com1; + +create table `clock$` (a int); +drop table `clock$`; -- cgit v1.2.1 From 5dbd32e4d5712cf7742a33a9c95ce289ed2ed81a Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 11 Apr 2006 15:38:32 +0200 Subject: fix so that rpl_row_basic_8partition.test is only run when paritioning is enabled mysql-test/t/rpl_row_basic_8partition.test: this test requires partitioning --- mysql-test/t/rpl_row_basic_8partition.test | 1 + 1 file changed, 1 insertion(+) (limited to 'mysql-test') diff --git a/mysql-test/t/rpl_row_basic_8partition.test b/mysql-test/t/rpl_row_basic_8partition.test index 0e2518817fa..8cad2226d4a 100644 --- a/mysql-test/t/rpl_row_basic_8partition.test +++ b/mysql-test/t/rpl_row_basic_8partition.test @@ -7,6 +7,7 @@ # partition tables with same engine (MyISAM) in both ends. # ############################################################ +--source include/have_partition.inc --source include/master-slave.inc connection master; --disable_warnings -- cgit v1.2.1 From fc74f6b464074cf3f927a6438549cceca69afa5a Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 11 Apr 2006 10:03:37 -0700 Subject: Fixed bug #18618. If the second or the third argument of a BETWEEN predicate was a constant expression, like '2005.09.01' - INTERVAL 6 MONTH, while the other two arguments were fields then the predicate was evaluated incorrectly and the query returned a wrong result set. The bug was introduced in 5.0.17 when in the fix for 12612. mysql-test/r/func_time.result: Added a test case for bug #18618. mysql-test/t/func_time.test: Added a test case for bug #18618. --- mysql-test/r/func_time.result | 25 +++++++++++++++++++++++++ mysql-test/t/func_time.test | 22 ++++++++++++++++++++++ 2 files changed, 47 insertions(+) (limited to 'mysql-test') diff --git a/mysql-test/r/func_time.result b/mysql-test/r/func_time.result index 5d40a0ed01f..fdb4a0c5996 100644 --- a/mysql-test/r/func_time.result +++ b/mysql-test/r/func_time.result @@ -847,3 +847,28 @@ timestampdiff(year,'2004-02-28','2005-02-28') select timestampdiff(year,'2004-02-29','2005-02-28'); timestampdiff(year,'2004-02-29','2005-02-28') 0 +CREATE TABLE t1 (id int NOT NULL PRIMARY KEY, day date); +CREATE TABLE t2 (id int NOT NULL PRIMARY KEY, day date); +INSERT INTO t1 VALUES +(1, '2005-06-01'), (2, '2005-02-01'), (3, '2005-07-01'); +INSERT INTO t2 VALUES +(1, '2005-08-01'), (2, '2005-06-15'), (3, '2005-07-15'); +SELECT * FROM t1, t2 +WHERE t1.day BETWEEN +'2005.09.01' - INTERVAL 6 MONTH AND t2.day; +id day id day +1 2005-06-01 1 2005-08-01 +3 2005-07-01 1 2005-08-01 +1 2005-06-01 2 2005-06-15 +1 2005-06-01 3 2005-07-15 +3 2005-07-01 3 2005-07-15 +SELECT * FROM t1, t2 +WHERE CAST(t1.day AS DATE) BETWEEN +'2005.09.01' - INTERVAL 6 MONTH AND t2.day; +id day id day +1 2005-06-01 1 2005-08-01 +3 2005-07-01 1 2005-08-01 +1 2005-06-01 2 2005-06-15 +1 2005-06-01 3 2005-07-15 +3 2005-07-01 3 2005-07-15 +DROP TABLE t1,t2; diff --git a/mysql-test/t/func_time.test b/mysql-test/t/func_time.test index c98c1c94609..4e4fb8f777a 100644 --- a/mysql-test/t/func_time.test +++ b/mysql-test/t/func_time.test @@ -446,4 +446,26 @@ select timestampdiff(year,'1999-09-11','2001-9-11'); select timestampdiff(year,'2004-02-28','2005-02-28'); select timestampdiff(year,'2004-02-29','2005-02-28'); +# +# Bug #18618: BETWEEN for dates with the second argument being a constant +# expression and the first and the third arguments being fields +# + +CREATE TABLE t1 (id int NOT NULL PRIMARY KEY, day date); +CREATE TABLE t2 (id int NOT NULL PRIMARY KEY, day date); + +INSERT INTO t1 VALUES + (1, '2005-06-01'), (2, '2005-02-01'), (3, '2005-07-01'); +INSERT INTO t2 VALUES + (1, '2005-08-01'), (2, '2005-06-15'), (3, '2005-07-15'); + +SELECT * FROM t1, t2 + WHERE t1.day BETWEEN + '2005.09.01' - INTERVAL 6 MONTH AND t2.day; +SELECT * FROM t1, t2 + WHERE CAST(t1.day AS DATE) BETWEEN + '2005.09.01' - INTERVAL 6 MONTH AND t2.day; + +DROP TABLE t1,t2; + # End of 5.0 tests -- cgit v1.2.1 From 7c5e4e1ca76566d4d9c01221a0fe22a1f3f52600 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 11 Apr 2006 23:06:47 +0400 Subject: Removed test case erroneously merged from 5.0 --- mysql-test/t/insert.test | 11 ----------- 1 file changed, 11 deletions(-) (limited to 'mysql-test') diff --git a/mysql-test/t/insert.test b/mysql-test/t/insert.test index 0c64dd80bec..f3dd8e7e199 100644 --- a/mysql-test/t/insert.test +++ b/mysql-test/t/insert.test @@ -176,14 +176,3 @@ insert into t2 select t1.* from t1, t2 t, t3 where t1.id1 = t.id2 and t.id2 = select count(*) from t2; drop table t1,t2,t3; -# -# Test for INSERT DELAYED INTO a -# BUG#13683: INSERT DELAYED into a view creates an infinite loop -# - -create table t1 (n int); -create view v1 as select * from t1; ---error 1347 -insert delayed into v1 values (1); -drop table t1; -drop view v1; -- cgit v1.2.1 From 75478cd918dd41324ae0e54888ac153549e980cf Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 11 Apr 2006 22:23:16 +0200 Subject: Bug#18012 mysqlslap fails if querystring starts with delimiter - Terminate loop not only when the limit is met, but alse when there is no more stmts client/mysqlslap.c: Terminate loop not only when the limit is met, but alse when there is no more stmts mysql-test/r/mysqlslap.result: Remove the extra statmemnt --- mysql-test/r/mysqlslap.result | 2 -- 1 file changed, 2 deletions(-) (limited to 'mysql-test') diff --git a/mysql-test/r/mysqlslap.result b/mysql-test/r/mysqlslap.result index 1a8b77fde1c..045a34a7458 100644 --- a/mysql-test/r/mysqlslap.result +++ b/mysql-test/r/mysqlslap.result @@ -129,7 +129,6 @@ INSERT INTO t1 VALUES (1, 'This is a test'); insert into t2 values ('test', 'test2'); select * from t1; select * from t2; -select * from t1; DROP SCHEMA IF EXISTS `mysqlslap`; DROP SCHEMA IF EXISTS `mysqlslap`; CREATE SCHEMA `mysqlslap`; @@ -141,5 +140,4 @@ INSERT INTO t1 VALUES (1, 'This is a test'); insert into t2 values ('test', 'test2'); select * from t1; select * from t2; -select * from t1; DROP SCHEMA IF EXISTS `mysqlslap`; -- cgit v1.2.1 From a422d6da4ae24944cd5af34c5e74d62bfbdad14a Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 11 Apr 2006 18:54:24 -0700 Subject: Remove old cruft from the tree: mysqltestmanager, mysql_test_run_new, and various stuff in Docs/. Also move the certificates used for testing into mysql-test/std_data from the top-level SSL directory (now gone). BitKeeper/deleted/.del-init_db.sql~af2dfeabaa348dd7: Delete: mysql-test/init_db.sql BitKeeper/deleted/.del-my_create_tables.c~c121a0c4c427ebb: Delete: mysql-test/my_create_tables.c BitKeeper/deleted/.del-my_manage.c~4de50e721d227d19: Delete: mysql-test/my_manage.c BitKeeper/deleted/.del-my_manage.h~9d2cbc1e8bc894f: Delete: mysql-test/my_manage.h BitKeeper/deleted/.del-mysql_test_run_new.c~a23ab2c4b28b25ad: Delete: mysql-test/mysql_test_run_new.c mysql-test/mysql-test-run.sh: Remove code that uses old mysqltestmanager BitKeeper/deleted/.del-Makefile.am~abb265028eb9b6a7: Delete: tools/Makefile.am BitKeeper/deleted/.del-managertest1.nc~96a5c1c5c2d33085: Delete: tools/managertest1.nc BitKeeper/deleted/.del-mysqlmanager-sample.pwd~712b89f01aaad84a: Delete: tools/mysqlmanager-sample.pwd BitKeeper/deleted/.del-mysqlmanager.c~e97636d71145a0b: Delete: tools/mysqlmanager.c BitKeeper/deleted/.del-client-req.pem~efd482e1d290d4d8: Delete: SSL/client-req.pem BitKeeper/deleted/.del-run-client~e683192d4f3821e0: Delete: SSL/run-client BitKeeper/deleted/.del-server-req.pem~16301893cacf1be4: Delete: SSL/server-req.pem BitKeeper/deleted/.del-run-server~55426778bc206c48: Delete: SSL/run-server BitKeeper/deleted/.del-Makefile.am~de166d6fcac3b9b6: Delete: SSL/Makefile.am BitKeeper/deleted/.del-NOTES~e926d3e6929ac052: Delete: SSL/NOTES BitKeeper/deleted/.del-mysqlmanager-pwgen.c~d8f5f91ec54432b9: Delete: client/mysqlmanager-pwgen.c BitKeeper/deleted/.del-mysqlmanagerc.c~4f6e3499e68508f6: Delete: client/mysqlmanagerc.c BitKeeper/deleted/.del-algor.eps~1a57aff065918206: Delete: Docs/Books/algor.eps BitKeeper/deleted/.del-bk.txt~ffd510fa9531f87c: Delete: Docs/bk.txt BitKeeper/deleted/.del-algor.gif~72c40c3bad198f2f: Delete: Docs/Books/algor.gif BitKeeper/deleted/.del-algor.txt~37d2b5c1290e3cfa: Delete: Docs/Books/algor.txt BitKeeper/deleted/.del-dbi.eps~7b1032f98de7736d: Delete: Docs/Books/dbi.eps BitKeeper/deleted/.del-dbi.gif~8f6861147437298b: Delete: Docs/Books/dbi.gif BitKeeper/deleted/.del-dbi.txt~f5cf3fe321168fd5: Delete: Docs/Books/dbi.txt BitKeeper/deleted/.del-dubois.eps~f24e09a7fa420436: Delete: Docs/Books/dubois.eps BitKeeper/deleted/.del-dubois.gif~e02d361b13b1c4a4: Delete: Docs/Books/dubois.gif BitKeeper/deleted/.del-dubois.txt~998581cf9040fcc: Delete: Docs/Books/dubois.txt BitKeeper/deleted/.del-ecomm.eps~17833026ebd7656: Delete: Docs/Books/ecomm.eps BitKeeper/deleted/.del-ecomm.gif~f9bce6949b171613: Delete: Docs/Books/ecomm.gif BitKeeper/deleted/.del-ecomm.txt~27494674104ee9db: Delete: Docs/Books/ecomm.txt BitKeeper/deleted/.del-in_21.eps~8150d06653dab178: Delete: Docs/Books/in_21.eps BitKeeper/deleted/.del-in_21.gif~4a0b14f6d76458a9: Delete: Docs/Books/in_21.gif BitKeeper/deleted/.del-in_21.txt~448fb4b3d8c0b34e: Delete: Docs/Books/in_21.txt BitKeeper/deleted/.del-manual.eps~1c2ebcea50b4840c: Delete: Docs/Books/manual.eps BitKeeper/deleted/.del-manual.gif~657cf08119b1b3fc: Delete: Docs/Books/manual.gif BitKeeper/deleted/.del-manual.txt~4702af61ea5e3c29: Delete: Docs/Books/manual.txt BitKeeper/deleted/.del-msql.eps~f3801b9d166ae4fc: Delete: Docs/Books/msql.eps BitKeeper/deleted/.del-msql.gif~72ea7c6d307b9108: Delete: Docs/Books/msql.gif BitKeeper/deleted/.del-msql.txt~235ae568824f4073: Delete: Docs/Books/msql.txt BitKeeper/deleted/.del-prof.eps~1f54d9a56eb2b908: Delete: Docs/Books/prof.eps BitKeeper/deleted/.del-prof.gif~2fa8ed201d9d05fe: Delete: Docs/Books/prof.gif BitKeeper/deleted/.del-prof.txt~9fc04ec3e5ce8361: Delete: Docs/Books/prof.txt BitKeeper/deleted/.del-pthreads.eps~2ca8ff2d1181b2c0: Delete: Docs/Books/pthreads.eps BitKeeper/deleted/.del-pthreads.gif~2d9460dec2577859: Delete: Docs/Books/pthreads.gif BitKeeper/deleted/.del-pthreads.txt~fc9e17d021335a39: Delete: Docs/Books/pthreads.txt BitKeeper/deleted/.del-realmen.eps~cc022325d3cb045: Delete: Docs/Books/realmen.eps BitKeeper/deleted/.del-realmen.gif~86113e3b1fcbd597: Delete: Docs/Books/realmen.gif BitKeeper/deleted/.del-realmen.txt~81c30565a8f06539: Delete: Docs/Books/realmen.txt BitKeeper/deleted/.del-sql-99.eps~f85c06de7a016c7d: Delete: Docs/Books/sql-99.eps BitKeeper/deleted/.del-sql-99.gif~df369376884a5689: Delete: Docs/Books/sql-99.gif BitKeeper/deleted/.del-sql-99.txt~eff316adac3dd5b8: Delete: Docs/Books/sql-99.txt BitKeeper/deleted/.del-Tutorial-MySQL-final.txt~6e5b88fe4217504d: Delete: Docs/Tutorial-MySQL-final.txt BitKeeper/deleted/.del-mysql-01.gif~6f3f2e474b834ac6: Delete: Docs/MySQL-logos/mysql-01.gif BitKeeper/deleted/.del-mysql-02.gif~5e03e2ffa6bd060f: Delete: Docs/MySQL-logos/mysql-02.gif BitKeeper/deleted/.del-mysql-03.gif~a510e3599346cd5f: Delete: Docs/MySQL-logos/mysql-03.gif BitKeeper/deleted/.del-mysql-04.gif~6c3fdc91da64574: Delete: Docs/MySQL-logos/mysql-04.gif BitKeeper/deleted/.del-mysql-05.gif~230c28315136655: Delete: Docs/MySQL-logos/mysql-05.gif BitKeeper/deleted/.del-mysql-06.gif~8bb16461fd45634e: Delete: Docs/MySQL-logos/mysql-06.gif BitKeeper/deleted/.del-mysql-07.gif~b86f918998a2114e: Delete: Docs/MySQL-logos/mysql-07.gif BitKeeper/deleted/.del-mysql-08.gif~50fb4d886f82e8bc: Delete: Docs/MySQL-logos/mysql-08.gif BitKeeper/deleted/.del-mysql-09.gif~17604ce9d92cd94a: Delete: Docs/MySQL-logos/mysql-09.gif BitKeeper/deleted/.del-mysql-10.gif~a8b5306c4d911f8e: Delete: Docs/MySQL-logos/mysql-10.gif BitKeeper/deleted/.del-mysql-11.gif~8495404458978524: Delete: Docs/MySQL-logos/mysql-11.gif BitKeeper/deleted/.del-mysql-12.gif~18d47c1ad5aef481: Delete: Docs/MySQL-logos/mysql-12.gif BitKeeper/deleted/.del-mysql-13.gif~1ad2eedf58da3aaa: Delete: Docs/MySQL-logos/mysql-13.gif BitKeeper/deleted/.del-mysql-14.gif~a11e7df8653ad1b1: Delete: Docs/MySQL-logos/mysql-14.gif BitKeeper/deleted/.del-mysql-15.gif~64c998fdd6fc1ae1: Delete: Docs/MySQL-logos/mysql-15.gif BitKeeper/deleted/.del-mysql-16.gif~6a6c86de2f85f0f5: Delete: Docs/MySQL-logos/mysql-16.gif BitKeeper/deleted/.del-mysql-17.gif~b07962578d0952b1: Delete: Docs/MySQL-logos/mysql-17.gif BitKeeper/deleted/.del-mysql_anim-01.gif~d27d4f0c1a2a6da9: Delete: Docs/MySQL-logos/mysql_anim-01.gif BitKeeper/deleted/.del-mysql_anim-02.gif~476224d724007343: Delete: Docs/MySQL-logos/mysql_anim-02.gif BitKeeper/deleted/.del-mysql_anim-03.gif~470dd9c9a8bd55fc: Delete: Docs/MySQL-logos/mysql_anim-03.gif BitKeeper/deleted/.del-mysql_anim-04.gif~14f429c87c0c718: Delete: Docs/MySQL-logos/mysql_anim-04.gif BitKeeper/deleted/.del-mysql_anim-05.gif~e63e7f003b77ad95: Delete: Docs/MySQL-logos/mysql_anim-05.gif BitKeeper/deleted/.del-mysql_anim-06.gif~d9cffaf35d9d4719: Delete: Docs/MySQL-logos/mysql_anim-06.gif BitKeeper/deleted/.del-mysql-compatible.jpg~56ecc684688a7382: Delete: Docs/MySQL-logos/mysql-compatible.jpg BitKeeper/deleted/.del-docbook-fixup.pl~46cf3bdef147084e: Delete: Docs/Support/docbook-fixup.pl BitKeeper/deleted/.del-docbook-prefix.pl~876c7d33c68c224a: Delete: Docs/Support/docbook-prefix.pl BitKeeper/deleted/.del-docbook-split~be931c3922898d0: Delete: Docs/Support/docbook-split BitKeeper/deleted/.del-make-docbook~ccac1eb717e92ac9: Delete: Docs/Support/make-docbook BitKeeper/deleted/.del-make-makefile~39fd454b487126e8: Delete: Docs/Support/make-makefile BitKeeper/deleted/.del-test-make-manual~5da458f958a424ec: Delete: Docs/Support/test-make-manual BitKeeper/deleted/.del-test-make-manual-de~33cad2886311b8a: Delete: Docs/Support/test-make-manual-de BitKeeper/deleted/.del-trivial-makeinfo-4.0c.patch~40d336454ecf98db: Delete: Docs/Support/trivial-makeinfo-4.0c.patch BitKeeper/deleted/.del-xwf~76b97805d9146b80: Delete: Docs/Support/xwf BitKeeper/deleted/.del-colspec-fix.pl~6c78d3332330b19e: Delete: Docs/Support/colspec-fix.pl Docs/generate-text-files.pl: Rename: Docs/Support/generate-text-files.pl -> Docs/generate-text-files.pl BitKeeper/deleted/.del-.cvsignore~250f630140b90042: Delete: Docs/Support/.cvsignore BitKeeper/deleted/.del-changelog-4.0.xml~8f56ee8a913e848b: Delete: Docs/changelog-4.0.xml BitKeeper/deleted/.del-changelog-4.1.xml~8aa496ebed09d868: Delete: Docs/changelog-4.1.xml BitKeeper/deleted/.del-changelog-5.0.xml~f4c50926ccdd7434: Delete: Docs/changelog-5.0.xml BitKeeper/deleted/.del-sp-implemented.txt~15f5c0033d848288: Delete: Docs/sp-implemented.txt mysql-test/std_data/cacert.pem: Rename: SSL/cacert.pem -> mysql-test/std_data/cacert.pem mysql-test/std_data/client-cert.pem: Rename: SSL/client-cert.pem -> mysql-test/std_data/client-cert.pem mysql-test/std_data/client-key.pem: Rename: SSL/client-key.pem -> mysql-test/std_data/client-key.pem mysql-test/std_data/server-cert.pem: Rename: SSL/server-cert.pem -> mysql-test/std_data/server-cert.pem mysql-test/std_data/server-key.pem: Rename: SSL/server-key.pem -> mysql-test/std_data/server-key.pem BitKeeper/etc/ignore: added client/mysql_upgrade Docs/Makefile.am: Move generate-text-files.pl up a level, since it is the only Support file Makefile.am: Remove tools and SSL directories client/Makefile.am: Remove mysqltestmanager clients configure.in: Remove old tools directory mysql-test/Makefile.am: Don't need to copy .pem files any more, they're now in std_data. scripts/make_binary_distribution.sh: Don't package up mysqltestmanager support-files/mysql.spec.sh: Don't package mysqltestmanager --- mysql-test/Makefile.am | 14 - mysql-test/init_db.sql | 58 -- mysql-test/my_create_tables.c | 673 ------------ mysql-test/my_manage.c | 887 ---------------- mysql-test/my_manage.h | 137 --- mysql-test/mysql-test-run.sh | 153 +-- mysql-test/mysql_test_run_new.c | 1933 ----------------------------------- mysql-test/std_data/cacert.pem | 21 + mysql-test/std_data/client-cert.pem | 67 ++ mysql-test/std_data/client-key.pem | 15 + mysql-test/std_data/server-cert.pem | 67 ++ mysql-test/std_data/server-key.pem | 15 + 12 files changed, 208 insertions(+), 3832 deletions(-) delete mode 100644 mysql-test/init_db.sql delete mode 100644 mysql-test/my_create_tables.c delete mode 100644 mysql-test/my_manage.c delete mode 100644 mysql-test/my_manage.h delete mode 100644 mysql-test/mysql_test_run_new.c create mode 100644 mysql-test/std_data/cacert.pem create mode 100644 mysql-test/std_data/client-cert.pem create mode 100644 mysql-test/std_data/client-key.pem create mode 100644 mysql-test/std_data/server-cert.pem create mode 100644 mysql-test/std_data/server-key.pem (limited to 'mysql-test') diff --git a/mysql-test/Makefile.am b/mysql-test/Makefile.am index 067435f0189..dcf2b49adfc 100644 --- a/mysql-test/Makefile.am +++ b/mysql-test/Makefile.am @@ -32,9 +32,6 @@ test_DATA = std_data/client-key.pem std_data/client-cert.pem std_data/cacert.pem CLEANFILES = $(GENSCRIPTS) $(test_DATA) INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include -I.. -EXTRA_PROGRAMS = mysql_test_run_new -noinst_HEADERS = my_manage.h -mysql_test_run_new_SOURCES= mysql_test_run_new.c my_manage.c my_create_tables.c dist-hook: @@ -106,17 +103,6 @@ install-data-local: uninstall-local: @RM@ -f -r $(DESTDIR)$(testdir) -std_data/client-key.pem: - @CP@ $(top_srcdir)/SSL/$(@F) $(srcdir)/std_data -std_data/client-cert.pem: - @CP@ $(top_srcdir)/SSL/$(@F) $(srcdir)/std_data -std_data/cacert.pem: - @CP@ $(top_srcdir)/SSL/$(@F) $(srcdir)/std_data -std_data/server-cert.pem: - @CP@ $(top_srcdir)/SSL/$(@F) $(srcdir)/std_data -std_data/server-key.pem: - @CP@ $(top_srcdir)/SSL/$(@F) $(srcdir)/std_data - SUFFIXES = .sh .sh: diff --git a/mysql-test/init_db.sql b/mysql-test/init_db.sql deleted file mode 100644 index 63483af00d6..00000000000 --- a/mysql-test/init_db.sql +++ /dev/null @@ -1,58 +0,0 @@ -CREATE DATABASE mysql; -CREATE DATABASE test; - -USE mysql; - - -CREATE TABLE db (Host char(60) binary DEFAULT '' NOT NULL,Db char(64) binary DEFAULT '' NOT NULL,User char(16) binary DEFAULT '' NOT NULL,Select_priv enum('N','Y') DEFAULT 'N' NOT NULL,Insert_priv enum('N','Y') DEFAULT 'N' NOT NULL,Update_priv enum('N','Y') DEFAULT 'N' NOT NULL,Delete_priv enum('N','Y') DEFAULT 'N' NOT NULL,Create_priv enum('N','Y') DEFAULT 'N' NOT NULL,Drop_priv enum('N','Y') DEFAULT 'N' NOT NULL,Grant_priv enum('N','Y') DEFAULT 'N' NOT NULL,References_priv enum('N','Y') DEFAULT 'N' NOT NULL,Index_priv enum('N','Y') DEFAULT 'N' NOT NULL,Alter_priv enum('N','Y') DEFAULT 'N' NOT NULL,Create_tmp_table_priv enum('N','Y') DEFAULT 'N' NOT NULL,Lock_tables_priv enum('N','Y') DEFAULT 'N' NOT NULL,PRIMARY KEY Host (Host,Db,User),KEY User (User)) engine=MyISAM CHARACTER SET utf8 COLLATE utf8_bin comment='Database privileges'; - -INSERT INTO db VALUES ('%','test','','Y','Y','Y','Y','Y','Y','N','Y','Y','Y','Y','Y'); -INSERT INTO db VALUES ('%','test\_%','','Y','Y','Y','Y','Y','Y','N','Y','Y','Y','Y','Y'); - - -CREATE TABLE host (Host char(60) binary DEFAULT '' NOT NULL,Db char(64) binary DEFAULT '' NOT NULL,Select_priv enum('N','Y') DEFAULT 'N' NOT NULL,Insert_priv enum('N','Y') DEFAULT 'N' NOT NULL,Update_priv enum('N','Y') DEFAULT 'N' NOT NULL,Delete_priv enum('N','Y') DEFAULT 'N' NOT NULL,Create_priv enum('N','Y') DEFAULT 'N' NOT NULL,Drop_priv enum('N','Y') DEFAULT 'N' NOT NULL,Grant_priv enum('N','Y') DEFAULT 'N' NOT NULL,References_priv enum('N','Y') DEFAULT 'N' NOT NULL,Index_priv enum('N','Y') DEFAULT 'N' NOT NULL,Alter_priv enum('N','Y') DEFAULT 'N' NOT NULL,Create_tmp_table_priv enum('N','Y') DEFAULT 'N' NOT NULL,Lock_tables_priv enum('N','Y') DEFAULT 'N' NOT NULL,PRIMARY KEY Host (Host,Db)) engine=MyISAM CHARACTER SET utf8 COLLATE utf8_bin comment='Host privileges; Merged with database privileges'; - -CREATE TABLE user (Host char(60) binary DEFAULT '' NOT NULL,User char(16) binary DEFAULT '' NOT NULL,Password char(41) binary DEFAULT '' NOT NULL,Select_priv enum('N','Y') DEFAULT 'N' NOT NULL,Insert_priv enum('N','Y') DEFAULT 'N' NOT NULL,Update_priv enum('N','Y') DEFAULT 'N' NOT NULL,Delete_priv enum('N','Y') DEFAULT 'N' NOT NULL,Create_priv enum('N','Y') DEFAULT 'N' NOT NULL,Drop_priv enum('N','Y') DEFAULT 'N' NOT NULL,Reload_priv enum('N','Y') DEFAULT 'N' NOT NULL,Shutdown_priv enum('N','Y') DEFAULT 'N' NOT NULL,Process_priv enum('N','Y') DEFAULT 'N' NOT NULL,File_priv enum('N','Y') DEFAULT 'N' NOT NULL,Grant_priv enum('N','Y') DEFAULT 'N' NOT NULL,References_priv enum('N','Y') DEFAULT 'N' NOT NULL,Index_priv enum('N','Y') DEFAULT 'N' NOT NULL,Alter_priv enum('N','Y') DEFAULT 'N' NOT NULL,Show_db_priv enum('N','Y') DEFAULT 'N' NOT NULL,Super_priv enum('N','Y') DEFAULT 'N' NOT NULL,Create_tmp_table_priv enum('N','Y') DEFAULT 'N' NOT NULL,Lock_tables_priv enum('N','Y') DEFAULT 'N' NOT NULL,Execute_priv enum('N','Y') DEFAULT 'N' NOT NULL,Repl_slave_priv enum('N','Y') DEFAULT 'N' NOT NULL,Repl_client_priv enum('N','Y') DEFAULT 'N' NOT NULL,ssl_type enum('','ANY','X509', 'SPECIFIED') DEFAULT '' NOT NULL,ssl_cipher BLOB NOT NULL,x509_issuer BLOB NOT NULL,x509_subject BLOB NOT NULL,max_questions int(11) unsigned DEFAULT 0 NOT NULL,max_updates int(11) unsigned DEFAULT 0 NOT NULL,max_connections int(11) unsigned DEFAULT 0 NOT NULL,PRIMARY KEY Host (Host,User)) engine=MyISAM CHARACTER SET utf8 COLLATE utf8_bin comment='Users and global privileges'; - -INSERT INTO user VALUES ('%','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0); -INSERT INTO user VALUES ('localhost','','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0); -INSERT INTO user VALUES ('%','','','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','N','','','','',0,0,0); - -CREATE TABLE func (name char(64) binary DEFAULT '' NOT NULL,ret tinyint(1) DEFAULT '0' NOT NULL,dl char(128) DEFAULT '' NOT NULL,type enum ('function','aggregate') NOT NULL,PRIMARY KEY (name)) engine=MyISAM CHARACTER SET utf8 COLLATE utf8_bin comment='User defined functions'; - -CREATE TABLE tables_priv (Host char(60) binary DEFAULT '' NOT NULL,Db char(64) binary DEFAULT '' NOT NULL,User char(16) binary DEFAULT '' NOT NULL,Table_name char(64) binary DEFAULT '' NOT NULL,Grantor char(77) DEFAULT '' NOT NULL,Timestamp timestamp(14),Table_priv set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter') DEFAULT '' NOT NULL,Column_priv set('Select','Insert','Update','References') DEFAULT '' NOT NULL,PRIMARY KEY (Host,Db,User,Table_name),KEY Grantor (Grantor)) engine=MyISAM CHARACTER SET utf8 COLLATE utf8_bin comment='Table privileges'; - -CREATE TABLE columns_priv (Host char(60) binary DEFAULT '' NOT NULL,Db char(64) binary DEFAULT '' NOT NULL,User char(16) binary DEFAULT '' NOT NULL,Table_name char(64) binary DEFAULT '' NOT NULL,Column_name char(64) binary DEFAULT '' NOT NULL,Timestamp timestamp(14),Column_priv set('Select','Insert','Update','References') DEFAULT '' NOT NULL,PRIMARY KEY (Host,Db,User,Table_name,Column_name)) engine=MyISAM CHARACTER SET utf8 COLLATE utf8_bin comment='Column privileges'; - -CREATE TABLE help_topic (help_topic_id int unsigned not null,name varchar(64) not null,help_category_id smallint unsigned not null,description text not null,example text not null,url varchar(128) not null,primary key (help_topic_id),unique index (name)) engine=MyISAM CHARACTER SET utf8 comment='help topics'; - -CREATE TABLE help_category (help_category_id smallint unsigned not null,name varchar(64) not null,parent_category_id smallint unsigned null,url varchar(128) not null,primary key (help_category_id),unique index (name)) engine=MyISAM CHARACTER SET utf8 comment='help categories'; - -CREATE TABLE help_keyword (help_keyword_id int unsigned not null,name varchar(64) not null,primary key (help_keyword_id),unique index (name)) engine=MyISAM CHARACTER SET utf8 comment='help keywords'; - -CREATE TABLE help_relation (help_topic_id int unsigned not null references help_topic,help_keyword_id int unsigned not null references help_keyword,primary key (help_keyword_id, help_topic_id)) engine=MyISAM CHARACTER SET utf8 comment='keyword-topic relation'; - -CREATE TABLE time_zone_name (Name char(64) NOT NULL,Time_zone_id int unsigned NOT NULL,PRIMARY KEY Name (Name)) engine=MyISAM CHARACTER SET utf8 comment='Time zone names'; - -INSERT INTO time_zone_name (Name, Time_Zone_id) VALUES ('MET', 1), ('UTC', 2), ('Universal', 2), ('Europe/Moscow',3), ('leap/Europe/Moscow',4), ('Japan', 5); - - -CREATE TABLE time_zone (Time_zone_id int unsigned NOT NULL auto_increment,Use_leap_seconds enum('Y','N') DEFAULT 'N' NOT NULL,PRIMARY KEY TzId (Time_zone_id)) engine=MyISAM CHARACTER SET utf8 comment='Time zones'; - -INSERT INTO time_zone (Time_zone_id, Use_leap_seconds) VALUES (1,'N'), (2,'N'), (3,'N'), (4,'Y'), (5,'N'); - - -CREATE TABLE time_zone_transition (Time_zone_id int unsigned NOT NULL,Transition_time bigint signed NOT NULL,Transition_type_id int unsigned NOT NULL,PRIMARY KEY TzIdTranTime (Time_zone_id, Transition_time)) engine=MyISAM CHARACTER SET utf8 comment='Time zone transitions'; - -INSERT INTO time_zone_transition (Time_zone_id, Transition_time, Transition_type_id) VALUES (1, -1693706400, 0) ,(1, -1680483600, 1),(1, -1663455600, 2) ,(1, -1650150000, 3),(1, -1632006000, 2) ,(1, -1618700400, 3),(1, -938905200, 2) ,(1, -857257200, 3),(1, -844556400, 2) ,(1, -828226800, 3),(1, -812502000, 2) ,(1, -796777200, 3),(1, 228877200, 2) ,(1, 243997200, 3),(1, 260326800, 2) ,(1, 276051600, 3),(1, 291776400, 2) ,(1, 307501200, 3),(1, 323830800, 2) ,(1, 338950800, 3),(1, 354675600, 2) ,(1, 370400400, 3),(1, 386125200, 2) ,(1, 401850000, 3),(1, 417574800, 2) ,(1, 433299600, 3),(1, 449024400, 2) ,(1, 465354000, 3),(1, 481078800, 2) ,(1, 496803600, 3),(1, 512528400, 2) ,(1, 528253200, 3),(1, 543978000, 2) ,(1, 559702800, 3),(1, 575427600, 2) ,(1, 591152400, 3),(1, 606877200, 2) ,(1, 622602000, 3),(1, 638326800, 2) ,(1, 654656400, 3),(1, 670381200, 2) ,(1, 686106000, 3),(1, 701830800, 2) ,(1, 717555600, 3),(1, 733280400, 2) ,(1, 749005200, 3),(1, 764730000, 2) ,(1, 780454800, 3),(1, 796179600, 2) ,(1, 811904400, 3),(1, 828234000, 2) ,(1, 846378000, 3),(1, 859683600, 2) ,(1, 877827600, 3),(1, 891133200, 2) ,(1, 909277200, 3),(1, 922582800, 2) ,(1, 941331600, 3),(1, 954032400, 2) ,(1, 972781200, 3),(1, 985482000, 2) ,(1, 1004230800, 3),(1, 1017536400, 2) ,(1, 1035680400, 3),(1, 1048986000, 2) ,(1, 1067130000, 3),(1, 1080435600, 2) ,(1, 1099184400, 3),(1, 1111885200, 2) ,(1, 1130634000, 3),(1, 1143334800, 2) ,(1, 1162083600, 3),(1, 1174784400, 2) ,(1, 1193533200, 3),(1, 1206838800, 2) ,(1, 1224982800, 3),(1, 1238288400, 2) ,(1, 1256432400, 3),(1, 1269738000, 2) ,(1, 1288486800, 3),(1, 1301187600, 2) ,(1, 1319936400, 3),(1, 1332637200, 2) ,(1, 1351386000, 3),(1, 1364691600, 2) ,(1, 1382835600, 3),(1, 1396141200, 2) ,(1, 1414285200, 3),(1, 1427590800, 2) ,(1, 1445734800, 3),(1, 1459040400, 2) ,(1, 1477789200, 3),(1, 1490490000, 2) ,(1, 1509238800, 3),(1, 1521939600, 2) ,(1, 1540688400, 3),(1, 1553994000, 2) ,(1, 1572138000, 3),(1, 1585443600, 2) ,(1, 1603587600, 3),(1, 1616893200, 2) ,(1, 1635642000, 3),(1, 1648342800, 2) ,(1, 1667091600, 3),(1, 1679792400, 2) ,(1, 1698541200, 3),(1, 1711846800, 2) ,(1, 1729990800, 3),(1, 1743296400, 2) ,(1, 1761440400, 3),(1, 1774746000, 2) ,(1, 1792890000, 3),(1, 1806195600, 2) ,(1, 1824944400, 3),(1, 1837645200, 2) ,(1, 1856394000, 3),(1, 1869094800, 2) ,(1, 1887843600, 3),(1, 1901149200, 2) ,(1, 1919293200, 3),(1, 1932598800, 2) ,(1, 1950742800, 3),(1, 1964048400, 2) ,(1, 1982797200, 3),(1, 1995498000, 2) ,(1, 2014246800, 3),(1, 2026947600, 2) ,(1, 2045696400, 3),(1, 2058397200, 2) ,(1, 2077146000, 3),(1, 2090451600, 2) ,(1, 2108595600, 3),(1, 2121901200, 2) ,(1, 2140045200, 3),(3, -1688265000, 2) ,(3, -1656819048, 1),(3, -1641353448, 2) ,(3, -1627965048, 3),(3, -1618716648, 1) ,(3, -1596429048, 3),(3, -1593829848, 5) ,(3, -1589860800, 4),(3, -1542427200, 5) ,(3, -1539493200, 6),(3, -1525323600, 5) ,(3, -1522728000, 4),(3, -1491188400, 7) ,(3, -1247536800, 4),(3, 354920400, 5) ,(3, 370728000, 4),(3, 386456400, 5) ,(3, 402264000, 4),(3, 417992400, 5) ,(3, 433800000, 4),(3, 449614800, 5) ,(3, 465346800, 8),(3, 481071600, 9) ,(3, 496796400, 8),(3, 512521200, 9) ,(3, 528246000, 8),(3, 543970800, 9) ,(3, 559695600, 8),(3, 575420400, 9) ,(3, 591145200, 8),(3, 606870000, 9) ,(3, 622594800, 8),(3, 638319600, 9) ,(3, 654649200, 8),(3, 670374000, 10) ,(3, 686102400, 11),(3, 695779200, 8) ,(3, 701812800, 5),(3, 717534000, 4) ,(3, 733273200, 9),(3, 748998000, 8) ,(3, 764722800, 9),(3, 780447600, 8) ,(3, 796172400, 9),(3, 811897200, 8) ,(3, 828226800, 9),(3, 846370800, 8) ,(3, 859676400, 9),(3, 877820400, 8) ,(3, 891126000, 9),(3, 909270000, 8) ,(3, 922575600, 9),(3, 941324400, 8) ,(3, 954025200, 9),(3, 972774000, 8) ,(3, 985474800, 9),(3, 1004223600, 8) ,(3, 1017529200, 9),(3, 1035673200, 8) ,(3, 1048978800, 9),(3, 1067122800, 8) ,(3, 1080428400, 9),(3, 1099177200, 8) ,(3, 1111878000, 9),(3, 1130626800, 8) ,(3, 1143327600, 9),(3, 1162076400, 8) ,(3, 1174777200, 9),(3, 1193526000, 8) ,(3, 1206831600, 9),(3, 1224975600, 8) ,(3, 1238281200, 9),(3, 1256425200, 8) ,(3, 1269730800, 9),(3, 1288479600, 8) ,(3, 1301180400, 9),(3, 1319929200, 8) ,(3, 1332630000, 9),(3, 1351378800, 8) ,(3, 1364684400, 9),(3, 1382828400, 8) ,(3, 1396134000, 9),(3, 1414278000, 8) ,(3, 1427583600, 9),(3, 1445727600, 8) ,(3, 1459033200, 9),(3, 1477782000, 8) ,(3, 1490482800, 9),(3, 1509231600, 8) ,(3, 1521932400, 9),(3, 1540681200, 8) ,(3, 1553986800, 9),(3, 1572130800, 8) ,(3, 1585436400, 9),(3, 1603580400, 8) ,(3, 1616886000, 9),(3, 1635634800, 8) ,(3, 1648335600, 9),(3, 1667084400, 8) ,(3, 1679785200, 9),(3, 1698534000, 8) ,(3, 1711839600, 9),(3, 1729983600, 8) ,(3, 1743289200, 9),(3, 1761433200, 8) ,(3, 1774738800, 9),(3, 1792882800, 8) ,(3, 1806188400, 9),(3, 1824937200, 8) ,(3, 1837638000, 9),(3, 1856386800, 8) ,(3, 1869087600, 9),(3, 1887836400, 8) ,(3, 1901142000, 9),(3, 1919286000, 8) ,(3, 1932591600, 9),(3, 1950735600, 8) ,(3, 1964041200, 9),(3, 1982790000, 8) ,(3, 1995490800, 9),(3, 2014239600, 8) ,(3, 2026940400, 9),(3, 2045689200, 8) ,(3, 2058390000, 9),(3, 2077138800, 8) ,(3, 2090444400, 9),(3, 2108588400, 8) ,(3, 2121894000, 9),(3, 2140038000, 8),(4, -1688265000, 2) ,(4, -1656819048, 1),(4, -1641353448, 2) ,(4, -1627965048, 3),(4, -1618716648, 1) ,(4, -1596429048, 3),(4, -1593829848, 5) ,(4, -1589860800, 4),(4, -1542427200, 5) ,(4, -1539493200, 6),(4, -1525323600, 5) ,(4, -1522728000, 4),(4, -1491188400, 7) ,(4, -1247536800, 4),(4, 354920409, 5) ,(4, 370728010, 4),(4, 386456410, 5) ,(4, 402264011, 4),(4, 417992411, 5) ,(4, 433800012, 4),(4, 449614812, 5) ,(4, 465346812, 8),(4, 481071612, 9) ,(4, 496796413, 8),(4, 512521213, 9) ,(4, 528246013, 8),(4, 543970813, 9) ,(4, 559695613, 8),(4, 575420414, 9) ,(4, 591145214, 8),(4, 606870014, 9) ,(4, 622594814, 8),(4, 638319615, 9) ,(4, 654649215, 8),(4, 670374016, 10) ,(4, 686102416, 11),(4, 695779216, 8) ,(4, 701812816, 5),(4, 717534017, 4) ,(4, 733273217, 9),(4, 748998018, 8) ,(4, 764722818, 9),(4, 780447619, 8) ,(4, 796172419, 9),(4, 811897219, 8) ,(4, 828226820, 9),(4, 846370820, 8) ,(4, 859676420, 9),(4, 877820421, 8) ,(4, 891126021, 9),(4, 909270021, 8) ,(4, 922575622, 9),(4, 941324422, 8) ,(4, 954025222, 9),(4, 972774022, 8) ,(4, 985474822, 9),(4, 1004223622, 8) ,(4, 1017529222, 9),(4, 1035673222, 8) ,(4, 1048978822, 9),(4, 1067122822, 8) ,(4, 1080428422, 9),(4, 1099177222, 8) ,(4, 1111878022, 9),(4, 1130626822, 8) ,(4, 1143327622, 9),(4, 1162076422, 8) ,(4, 1174777222, 9),(4, 1193526022, 8) ,(4, 1206831622, 9),(4, 1224975622, 8) ,(4, 1238281222, 9),(4, 1256425222, 8) ,(4, 1269730822, 9),(4, 1288479622, 8) ,(4, 1301180422, 9),(4, 1319929222, 8) ,(4, 1332630022, 9),(4, 1351378822, 8) ,(4, 1364684422, 9),(4, 1382828422, 8) ,(4, 1396134022, 9),(4, 1414278022, 8) ,(4, 1427583622, 9),(4, 1445727622, 8) ,(4, 1459033222, 9),(4, 1477782022, 8) ,(4, 1490482822, 9),(4, 1509231622, 8) ,(4, 1521932422, 9),(4, 1540681222, 8) ,(4, 1553986822, 9),(4, 1572130822, 8) ,(4, 1585436422, 9),(4, 1603580422, 8) ,(4, 1616886022, 9),(4, 1635634822, 8) ,(4, 1648335622, 9),(4, 1667084422, 8) ,(4, 1679785222, 9),(4, 1698534022, 8) ,(4, 1711839622, 9),(4, 1729983622, 8) ,(4, 1743289222, 9),(4, 1761433222, 8) ,(4, 1774738822, 9),(4, 1792882822, 8) ,(4, 1806188422, 9),(4, 1824937222, 8) ,(4, 1837638022, 9),(4, 1856386822, 8) ,(4, 1869087622, 9),(4, 1887836422, 8) ,(4, 1901142022, 9),(4, 1919286022, 8) ,(4, 1932591622, 9),(4, 1950735622, 8) ,(4, 1964041222, 9),(4, 1982790022, 8) ,(4, 1995490822, 9),(4, 2014239622, 8) ,(4, 2026940422, 9),(4, 2045689222, 8) ,(4, 2058390022, 9),(4, 2077138822, 8) ,(4, 2090444422, 9),(4, 2108588422, 8) ,(4, 2121894022, 9),(4, 2140038022, 8); - - -CREATE TABLE time_zone_transition_type (Time_zone_id int unsigned NOT NULL,Transition_type_id int unsigned NOT NULL,Offset int signed DEFAULT 0 NOT NULL,Is_DST tinyint unsigned DEFAULT 0 NOT NULL,Abbreviation char(8) DEFAULT '' NOT NULL,PRIMARY KEY TzIdTrTId (Time_zone_id, Transition_type_id)) engine=MyISAM CHARACTER SET utf8 comment='Time zone transition types'; - -INSERT INTO time_zone_transition_type (Time_zone_id,Transition_type_id, Offset, Is_DST, Abbreviation) VALUES (1, 0, 7200, 1, 'MEST') ,(1, 1, 3600, 0, 'MET') ,(1, 2, 7200, 1, 'MEST') ,(1, 3, 3600, 0, 'MET') ,(2, 0, 0, 0, 'UTC') ,(3, 0, 9000, 0, 'MMT') ,(3, 1, 12648, 1, 'MST') ,(3, 2, 9048, 0, 'MMT') ,(3, 3, 16248, 1, 'MDST') ,(3, 4, 10800, 0, 'MSK') ,(3, 5, 14400, 1, 'MSD') ,(3, 6, 18000, 1, 'MSD') ,(3, 7, 7200, 0, 'EET') ,(3, 8, 10800, 0, 'MSK') ,(3, 9, 14400, 1, 'MSD') ,(3, 10, 10800, 1, 'EEST') ,(3, 11, 7200, 0, 'EET') ,(4, 0, 9000, 0, 'MMT') ,(4, 1, 12648, 1, 'MST') ,(4, 2, 9048, 0, 'MMT') ,(4, 3, 16248, 1, 'MDST') ,(4, 4, 10800, 0, 'MSK') ,(4, 5, 14400, 1, 'MSD') ,(4, 6, 18000, 1, 'MSD') ,(4, 7, 7200, 0, 'EET') ,(4, 8, 10800, 0, 'MSK') ,(4, 9, 14400, 1, 'MSD') ,(4, 10, 10800, 1, 'EEST') ,(4, 11, 7200, 0, 'EET') ,(5, 0, 32400, 0, 'CJT') ,(5, 1, 32400, 0, 'JST'); - -CREATE TABLE time_zone_leap_second (Transition_time bigint signed NOT NULL,Correction int signed NOT NULL,PRIMARY KEY TranTime (Transition_time)) engine=MyISAM CHARACTER SET utf8 comment='Leap seconds information for time zones'; - -INSERT INTO time_zone_leap_second (Transition_time, Correction) VALUES (78796800, 1) ,(94694401, 2) ,(126230402, 3) ,(157766403, 4) ,(189302404, 5) ,(220924805, 6) ,(252460806, 7) ,(283996807, 8) ,(315532808, 9) ,(362793609, 10) ,(394329610, 11) ,(425865611, 12) ,(489024012, 13) ,(567993613, 14) ,(631152014, 15) ,(662688015, 16) ,(709948816, 17) ,(741484817, 18) ,(773020818, 19) ,(820454419, 20) ,(867715220, 21) ,(915148821, 22); - - diff --git a/mysql-test/my_create_tables.c b/mysql-test/my_create_tables.c deleted file mode 100644 index 06a6fabf022..00000000000 --- a/mysql-test/my_create_tables.c +++ /dev/null @@ -1,673 +0,0 @@ -#include -#include -#ifndef __WIN__ -#include -#endif -#include -#ifdef __NETWARE__ -#include -#include -#else -#include -#ifndef __WIN__ -#include -#include -#else -#include -#include -#include -#endif -#endif -#include -#include -#include -#include -#include "my_manage.h" - -/* - Synopsis: - This function testes a exist file - -Arguments: - mdata: path to data - file_name: name of file -Output: - A zero value indicates that file is exist. -*/ -bool test_sys_file(const char *mdata,const char *file_name) -{ - struct stat file; - char path_file_name[PATH_MAX]; - snprintf(path_file_name, PATH_MAX, "%s/%s", mdata, file_name); - return(stat(path_file_name,&file)); -} - -/* - Synopsis: - This function creates a file with sql requstes for creating - system data files. - -Arguments: - mdata: path to data - output_file: file name for output file - test: to create system files with test data -Output: - A zero value indicates a success. -*/ -bool create_system_files(const char *mdata,const char *output_file, bool test) -{ - FILE *out; - - out = fopen(output_file, "w+"); - - if (!out) - return 1; - - if (test_sys_file(mdata,"mysql")) - { - fprintf(out,"CREATE DATABASE mysql;\n"); - } - - if (test && test_sys_file(mdata,"test")) - { - fprintf(out,"CREATE DATABASE test;\n"); - } - - fprintf(out,"USE mysql;\n"); - - if (test_sys_file(mdata,"mysql/db.frm")) - { - fprintf(out, - "CREATE TABLE db (" - "Host char(60) binary DEFAULT '' NOT NULL," - "Db char(64) binary DEFAULT '' NOT NULL," - "User char(16) binary DEFAULT '' NOT NULL," - "Select_priv enum('N','Y') DEFAULT 'N' NOT NULL," - "Insert_priv enum('N','Y') DEFAULT 'N' NOT NULL," - "Update_priv enum('N','Y') DEFAULT 'N' NOT NULL," - "Delete_priv enum('N','Y') DEFAULT 'N' NOT NULL," - "Create_priv enum('N','Y') DEFAULT 'N' NOT NULL," - "Drop_priv enum('N','Y') DEFAULT 'N' NOT NULL," - "Grant_priv enum('N','Y') DEFAULT 'N' NOT NULL," - "References_priv enum('N','Y') DEFAULT 'N' NOT NULL," - "Index_priv enum('N','Y') DEFAULT 'N' NOT NULL," - "Alter_priv enum('N','Y') DEFAULT 'N' NOT NULL," - "Create_tmp_table_priv enum('N','Y') DEFAULT 'N' NOT NULL," - "Lock_tables_priv enum('N','Y') DEFAULT 'N' NOT NULL," - "PRIMARY KEY Host (Host,Db,User)," - "KEY User (User))" - "engine=MyISAM " - "CHARACTER SET utf8 COLLATE utf8_bin " - "comment='Database privileges';\n"); - - if (test) - { - fprintf(out,"INSERT INTO db VALUES ('%%','test','','Y','Y','Y','Y'" - ",'Y','Y','N','Y','Y','Y','Y','Y');\n"); - fprintf(out,"INSERT INTO db VALUES ('%%','test\\_%%','','Y','Y','Y'" - ",'Y','Y','Y','N','Y','Y','Y','Y','Y');\n"); - } - } - - if (test_sys_file(mdata,"mysql/host.frm")) - { - fprintf(out, - "CREATE TABLE host (" - "Host char(60) binary DEFAULT '' NOT NULL," - "Db char(64) binary DEFAULT '' NOT NULL," - "Select_priv enum('N','Y') DEFAULT 'N' NOT NULL," - "Insert_priv enum('N','Y') DEFAULT 'N' NOT NULL," - "Update_priv enum('N','Y') DEFAULT 'N' NOT NULL," - "Delete_priv enum('N','Y') DEFAULT 'N' NOT NULL," - "Create_priv enum('N','Y') DEFAULT 'N' NOT NULL," - "Drop_priv enum('N','Y') DEFAULT 'N' NOT NULL," - "Grant_priv enum('N','Y') DEFAULT 'N' NOT NULL," - "References_priv enum('N','Y') DEFAULT 'N' NOT NULL," - "Index_priv enum('N','Y') DEFAULT 'N' NOT NULL," - "Alter_priv enum('N','Y') DEFAULT 'N' NOT NULL," - "Create_tmp_table_priv enum('N','Y') DEFAULT 'N' NOT NULL," - "Lock_tables_priv enum('N','Y') DEFAULT 'N' NOT NULL," - "PRIMARY KEY Host (Host,Db))" - "engine=MyISAM " - "CHARACTER SET utf8 COLLATE utf8_bin " - "comment='Host privileges; Merged with database privileges';\n"); - } - - - if (test_sys_file(mdata,"mysql/user.frm")) - { -#ifdef __WIN__ - WSADATA wsa_data; -#endif - char hostname[FN_REFLEN]; - -#ifdef __WIN__ - if (WSAStartup(MAKEWORD( 2, 2 ),&wsa_data)) - return 1; -#endif - if (gethostname(hostname, FN_REFLEN)) - return 1; -#ifdef __WIN__ - WSACleanup( ); -#endif - - if (strchr(hostname, '.') == NULL) - strcat(hostname, "%"); - - fprintf(out, - "CREATE TABLE user (" - "Host char(60) binary DEFAULT '' NOT NULL," - "User char(16) binary DEFAULT '' NOT NULL," - "Password char(41) binary DEFAULT '' NOT NULL," - "Select_priv enum('N','Y') DEFAULT 'N' NOT NULL," - "Insert_priv enum('N','Y') DEFAULT 'N' NOT NULL," - "Update_priv enum('N','Y') DEFAULT 'N' NOT NULL," - "Delete_priv enum('N','Y') DEFAULT 'N' NOT NULL," - "Create_priv enum('N','Y') DEFAULT 'N' NOT NULL," - "Drop_priv enum('N','Y') DEFAULT 'N' NOT NULL," - "Reload_priv enum('N','Y') DEFAULT 'N' NOT NULL," - "Shutdown_priv enum('N','Y') DEFAULT 'N' NOT NULL," - "Process_priv enum('N','Y') DEFAULT 'N' NOT NULL," - "File_priv enum('N','Y') DEFAULT 'N' NOT NULL," - "Grant_priv enum('N','Y') DEFAULT 'N' NOT NULL," - "References_priv enum('N','Y') DEFAULT 'N' NOT NULL," - "Index_priv enum('N','Y') DEFAULT 'N' NOT NULL," - "Alter_priv enum('N','Y') DEFAULT 'N' NOT NULL," - "Show_db_priv enum('N','Y') DEFAULT 'N' NOT NULL," - "Super_priv enum('N','Y') DEFAULT 'N' NOT NULL," - "Create_tmp_table_priv enum('N','Y') DEFAULT 'N' NOT NULL," - "Lock_tables_priv enum('N','Y') DEFAULT 'N' NOT NULL," - "Execute_priv enum('N','Y') DEFAULT 'N' NOT NULL," - "Repl_slave_priv enum('N','Y') DEFAULT 'N' NOT NULL," - "Repl_client_priv enum('N','Y') DEFAULT 'N' NOT NULL," - "ssl_type enum('','ANY','X509', 'SPECIFIED') DEFAULT '' NOT NULL," - "ssl_cipher BLOB NOT NULL," - "x509_issuer BLOB NOT NULL," - "x509_subject BLOB NOT NULL," - "max_questions int(11) unsigned DEFAULT 0 NOT NULL," - "max_updates int(11) unsigned DEFAULT 0 NOT NULL," - "max_connections int(11) unsigned DEFAULT 0 NOT NULL," - "PRIMARY KEY Host (Host,User)" - ") engine=MyISAM " - "CHARACTER SET utf8 COLLATE utf8_bin " - "comment='Users and global privileges';\n"); - - - if (test) - { - fprintf(out, - "INSERT INTO user VALUES ('localhost','root',''" - ",'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y'" - ",'Y','Y','Y','Y','Y','','','','',0,0,0);\n"); - fprintf(out, - "INSERT INTO user VALUES ('%s','root','','Y','Y'," - "'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y'," - "'Y','Y','Y','Y','','','','',0,0,0);\n",hostname); - fprintf(out, - "REPLACE INTO user VALUES ('127.0.0.1','root',''," - "'Y','Y','Y','Y','Y','Y'," - "'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y'" - ",'Y','','','','',0,0,0);\n"); - fprintf(out,"INSERT INTO user (host,user) values ('localhost','');\n"); - fprintf(out,"INSERT INTO user (host,user) values ('%s','');\n",hostname); - } - else - { - fprintf(out, - "INSERT INTO user VALUES ('localhost','root',''," - "'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y'," - "'Y','Y','Y','Y','','','','',0,0,0);\n"); -#ifndef __WIN__ - fprintf(out, - "INSERT INTO user VALUES ('%s','root','','Y','Y'," - "'Y','Y','Y','Y','Y','Y'" - "'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','',''" - ",'','',0,0,0);\n",hostname); - fprintf(out,"INSERT INTO user (host,user) values ('%s','');\n",hostname); - fprintf(out,"INSERT INTO user (host,user) values ('localhost','');\n"); -#else - fprintf(out, - "INSERT INTO user VALUES ('localhost','','','Y','Y','Y'" - ",'Y','Y','Y','Y','Y','Y'" - ",'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','',''," - "'','',0,0,0);\n"); -#endif - } - } - - - if (test_sys_file(mdata,"mysql/func.frm")) - { - fprintf(out, - "CREATE TABLE func (" - "name char(64) binary DEFAULT '' NOT NULL," - "ret tinyint(1) DEFAULT '0' NOT NULL," - "dl char(128) DEFAULT '' NOT NULL," - "type enum ('function','aggregate') NOT NULL," - "PRIMARY KEY (name)" - ") engine=MyISAM " - "CHARACTER SET utf8 COLLATE utf8_bin " - "comment='User defined functions';\n"); - } - - if (test_sys_file(mdata,"mysql/tables_priv.frm")) - { - fprintf(out, - "CREATE TABLE tables_priv (" - "Host char(60) binary DEFAULT '' NOT NULL," - "Db char(64) binary DEFAULT '' NOT NULL," - "User char(16) binary DEFAULT '' NOT NULL," - "Table_name char(64) binary DEFAULT '' NOT NULL," - "Grantor char(77) DEFAULT '' NOT NULL," - "Timestamp timestamp(14)," - "Table_priv set('Select','Insert','Update','Delete'," - "'Create','Drop','Grant','References','Index','Alter')" - " DEFAULT '' NOT NULL," - "Column_priv set('Select','Insert','Update','References')" - " DEFAULT '' NOT NULL," - "PRIMARY KEY (Host,Db,User,Table_name)," - "KEY Grantor (Grantor)" - ") engine=MyISAM " - "CHARACTER SET utf8 COLLATE utf8_bin " - "comment='Table privileges';\n"); - } - - if (test_sys_file(mdata,"mysql/columns_priv.frm")) - { - fprintf(out, - "CREATE TABLE columns_priv (" - "Host char(60) binary DEFAULT '' NOT NULL," - "Db char(64) binary DEFAULT '' NOT NULL," - "User char(16) binary DEFAULT '' NOT NULL," - "Table_name char(64) binary DEFAULT '' NOT NULL," - "Column_name char(64) binary DEFAULT '' NOT NULL," - "Timestamp timestamp(14)," - "Column_priv set('Select','Insert','Update','References')" - " DEFAULT '' NOT NULL," - "PRIMARY KEY (Host,Db,User,Table_name,Column_name)" - ") engine=MyISAM " - "CHARACTER SET utf8 COLLATE utf8_bin " - "comment='Column privileges';\n"); - } - - if (test_sys_file(mdata,"mysql/help_topic.frm")) - { - fprintf(out, - "CREATE TABLE help_topic (" - "help_topic_id int unsigned not null," - "name varchar(64) not null," - "help_category_id smallint unsigned not null," - "description text not null," - "example text not null," - "url varchar(128) not null," - "primary key (help_topic_id)," - "unique index (name)" - ") engine=MyISAM " - "CHARACTER SET utf8 " - "comment='help topics';\n"); - } - - if (test_sys_file(mdata,"mysql/help_category.frm")) - { - fprintf(out, - "CREATE TABLE help_category (" - "help_category_id smallint unsigned not null," - "name varchar(64) not null," - "parent_category_id smallint unsigned null," - "url varchar(128) not null," - "primary key (help_category_id)," - "unique index (name)" - ") engine=MyISAM " - "CHARACTER SET utf8 " - "comment='help categories';\n"); - } - - if (test_sys_file(mdata,"mysql/help_keyword.frm")) - { - fprintf(out, - "CREATE TABLE help_keyword (" - "help_keyword_id int unsigned not null," - "name varchar(64) not null," - "primary key (help_keyword_id)," - "unique index (name)" - ") engine=MyISAM " - "CHARACTER SET utf8 " - "comment='help keywords';\n"); - } - - if (test_sys_file(mdata,"mysql/help_relation.frm")) - { - fprintf(out, - "CREATE TABLE help_relation (" - "help_topic_id int unsigned not null references help_topic," - "help_keyword_id int unsigned not null references help_keyword," - "primary key (help_keyword_id, help_topic_id)" - ") engine=MyISAM " - "CHARACTER SET utf8 " - "comment='keyword-topic relation';\n"); - } - - if (test_sys_file(mdata,"mysql/time_zone_name.frm")) - { - fprintf(out, - "CREATE TABLE time_zone_name (" - "Name char(64) NOT NULL," - "Time_zone_id int unsigned NOT NULL," - "PRIMARY KEY Name (Name)" - ") engine=MyISAM CHARACTER SET utf8 " - "comment='Time zone names';\n"); - - if (test) - { - fprintf(out, - "INSERT INTO time_zone_name (Name, Time_Zone_id) VALUES" - "('MET', 1), ('UTC', 2), ('Universal', 2), " - "('Europe/Moscow',3), ('leap/Europe/Moscow',4)," - "('Japan', 5);\n"); - - } - } - - - if (test_sys_file(mdata,"mysql/time_zone.frm")) - { - fprintf(out, - "CREATE TABLE time_zone (" - "Time_zone_id int unsigned NOT NULL auto_increment," - "Use_leap_seconds enum('Y','N') DEFAULT 'N' NOT NULL," - "PRIMARY KEY TzId (Time_zone_id)" - ") engine=MyISAM CHARACTER SET utf8 " - "comment='Time zones';\n"); - - if (test) - { - fprintf(out,"INSERT INTO time_zone (Time_zone_id, Use_leap_seconds)" - "VALUES (1,'N'), (2,'N'), (3,'N'), (4,'Y'), (5,'N');\n"); - } - } - - if (test_sys_file(mdata,"mysql/time_zone_transition.frm")) - { - fprintf(out, - "CREATE TABLE time_zone_transition (" - "Time_zone_id int unsigned NOT NULL," - "Transition_time bigint signed NOT NULL," - "Transition_type_id int unsigned NOT NULL," - "PRIMARY KEY TzIdTranTime (Time_zone_id, Transition_time)" - ") engine=MyISAM CHARACTER SET utf8 " - "comment='Time zone transitions';\n"); - - if (test) - { - fprintf(out, - "INSERT INTO time_zone_transition" - "(Time_zone_id, Transition_time, Transition_type_id)" - "VALUES" - " (1, -1693706400, 0) ,(1, -1680483600, 1)" - ",(1, -1663455600, 2) ,(1, -1650150000, 3)" - ",(1, -1632006000, 2) ,(1, -1618700400, 3)" - ",(1, -938905200, 2) ,(1, -857257200, 3)" - ",(1, -844556400, 2) ,(1, -828226800, 3)" - ",(1, -812502000, 2) ,(1, -796777200, 3)" - ",(1, 228877200, 2) ,(1, 243997200, 3)" - ",(1, 260326800, 2) ,(1, 276051600, 3)" - ",(1, 291776400, 2) ,(1, 307501200, 3)" - ",(1, 323830800, 2) ,(1, 338950800, 3)" - ",(1, 354675600, 2) ,(1, 370400400, 3)" - ",(1, 386125200, 2) ,(1, 401850000, 3)" - ",(1, 417574800, 2) ,(1, 433299600, 3)" - ",(1, 449024400, 2) ,(1, 465354000, 3)" - ",(1, 481078800, 2) ,(1, 496803600, 3)" - ",(1, 512528400, 2) ,(1, 528253200, 3)" - ",(1, 543978000, 2) ,(1, 559702800, 3)" - ",(1, 575427600, 2) ,(1, 591152400, 3)" - ",(1, 606877200, 2) ,(1, 622602000, 3)" - ",(1, 638326800, 2) ,(1, 654656400, 3)" - ",(1, 670381200, 2) ,(1, 686106000, 3)" - ",(1, 701830800, 2) ,(1, 717555600, 3)" - ",(1, 733280400, 2) ,(1, 749005200, 3)" - ",(1, 764730000, 2) ,(1, 780454800, 3)" - ",(1, 796179600, 2) ,(1, 811904400, 3)" - ",(1, 828234000, 2) ,(1, 846378000, 3)" - ",(1, 859683600, 2) ,(1, 877827600, 3)" - ",(1, 891133200, 2) ,(1, 909277200, 3)" - ",(1, 922582800, 2) ,(1, 941331600, 3)" - ",(1, 954032400, 2) ,(1, 972781200, 3)" - ",(1, 985482000, 2) ,(1, 1004230800, 3)" - ",(1, 1017536400, 2) ,(1, 1035680400, 3)" - ",(1, 1048986000, 2) ,(1, 1067130000, 3)" - ",(1, 1080435600, 2) ,(1, 1099184400, 3)" - ",(1, 1111885200, 2) ,(1, 1130634000, 3)" - ",(1, 1143334800, 2) ,(1, 1162083600, 3)" - ",(1, 1174784400, 2) ,(1, 1193533200, 3)" - ",(1, 1206838800, 2) ,(1, 1224982800, 3)" - ",(1, 1238288400, 2) ,(1, 1256432400, 3)" - ",(1, 1269738000, 2) ,(1, 1288486800, 3)" - ",(1, 1301187600, 2) ,(1, 1319936400, 3)" - ",(1, 1332637200, 2) ,(1, 1351386000, 3)" - ",(1, 1364691600, 2) ,(1, 1382835600, 3)" - ",(1, 1396141200, 2) ,(1, 1414285200, 3)" - ",(1, 1427590800, 2) ,(1, 1445734800, 3)" - ",(1, 1459040400, 2) ,(1, 1477789200, 3)" - ",(1, 1490490000, 2) ,(1, 1509238800, 3)" - ",(1, 1521939600, 2) ,(1, 1540688400, 3)" - ",(1, 1553994000, 2) ,(1, 1572138000, 3)" - ",(1, 1585443600, 2) ,(1, 1603587600, 3)" - ",(1, 1616893200, 2) ,(1, 1635642000, 3)" - ",(1, 1648342800, 2) ,(1, 1667091600, 3)" - ",(1, 1679792400, 2) ,(1, 1698541200, 3)" - ",(1, 1711846800, 2) ,(1, 1729990800, 3)" - ",(1, 1743296400, 2) ,(1, 1761440400, 3)" - ",(1, 1774746000, 2) ,(1, 1792890000, 3)" - ",(1, 1806195600, 2) ,(1, 1824944400, 3)" - ",(1, 1837645200, 2) ,(1, 1856394000, 3)" - ",(1, 1869094800, 2) ,(1, 1887843600, 3)" - ",(1, 1901149200, 2) ,(1, 1919293200, 3)" - ",(1, 1932598800, 2) ,(1, 1950742800, 3)" - ",(1, 1964048400, 2) ,(1, 1982797200, 3)" - ",(1, 1995498000, 2) ,(1, 2014246800, 3)" - ",(1, 2026947600, 2) ,(1, 2045696400, 3)" - ",(1, 2058397200, 2) ,(1, 2077146000, 3)" - ",(1, 2090451600, 2) ,(1, 2108595600, 3)" - ",(1, 2121901200, 2) ,(1, 2140045200, 3)" - ",(3, -1688265000, 2) ,(3, -1656819048, 1)" - ",(3, -1641353448, 2) ,(3, -1627965048, 3)" - ",(3, -1618716648, 1) ,(3, -1596429048, 3)" - ",(3, -1593829848, 5) ,(3, -1589860800, 4)" - ",(3, -1542427200, 5) ,(3, -1539493200, 6)" - ",(3, -1525323600, 5) ,(3, -1522728000, 4)" - ",(3, -1491188400, 7) ,(3, -1247536800, 4)" - ",(3, 354920400, 5) ,(3, 370728000, 4)" - ",(3, 386456400, 5) ,(3, 402264000, 4)" - ",(3, 417992400, 5) ,(3, 433800000, 4)" - ",(3, 449614800, 5) ,(3, 465346800, 8)" - ",(3, 481071600, 9) ,(3, 496796400, 8)" - ",(3, 512521200, 9) ,(3, 528246000, 8)" - ",(3, 543970800, 9) ,(3, 559695600, 8)" - ",(3, 575420400, 9) ,(3, 591145200, 8)" - ",(3, 606870000, 9) ,(3, 622594800, 8)" - ",(3, 638319600, 9) ,(3, 654649200, 8)" - ",(3, 670374000, 10) ,(3, 686102400, 11)" - ",(3, 695779200, 8) ,(3, 701812800, 5)" - ",(3, 717534000, 4) ,(3, 733273200, 9)" - ",(3, 748998000, 8) ,(3, 764722800, 9)" - ",(3, 780447600, 8) ,(3, 796172400, 9)" - ",(3, 811897200, 8) ,(3, 828226800, 9)" - ",(3, 846370800, 8) ,(3, 859676400, 9)" - ",(3, 877820400, 8) ,(3, 891126000, 9)" - ",(3, 909270000, 8) ,(3, 922575600, 9)" - ",(3, 941324400, 8) ,(3, 954025200, 9)" - ",(3, 972774000, 8) ,(3, 985474800, 9)" - ",(3, 1004223600, 8) ,(3, 1017529200, 9)" - ",(3, 1035673200, 8) ,(3, 1048978800, 9)" - ",(3, 1067122800, 8) ,(3, 1080428400, 9)" - ",(3, 1099177200, 8) ,(3, 1111878000, 9)" - ",(3, 1130626800, 8) ,(3, 1143327600, 9)" - ",(3, 1162076400, 8) ,(3, 1174777200, 9)" - ",(3, 1193526000, 8) ,(3, 1206831600, 9)" - ",(3, 1224975600, 8) ,(3, 1238281200, 9)" - ",(3, 1256425200, 8) ,(3, 1269730800, 9)" - ",(3, 1288479600, 8) ,(3, 1301180400, 9)" - ",(3, 1319929200, 8) ,(3, 1332630000, 9)" - ",(3, 1351378800, 8) ,(3, 1364684400, 9)" - ",(3, 1382828400, 8) ,(3, 1396134000, 9)" - ",(3, 1414278000, 8) ,(3, 1427583600, 9)" - ",(3, 1445727600, 8) ,(3, 1459033200, 9)" - ",(3, 1477782000, 8) ,(3, 1490482800, 9)" - ",(3, 1509231600, 8) ,(3, 1521932400, 9)" - ",(3, 1540681200, 8) ,(3, 1553986800, 9)" - ",(3, 1572130800, 8) ,(3, 1585436400, 9)" - ",(3, 1603580400, 8) ,(3, 1616886000, 9)" - ",(3, 1635634800, 8) ,(3, 1648335600, 9)" - ",(3, 1667084400, 8) ,(3, 1679785200, 9)" - ",(3, 1698534000, 8) ,(3, 1711839600, 9)" - ",(3, 1729983600, 8) ,(3, 1743289200, 9)" - ",(3, 1761433200, 8) ,(3, 1774738800, 9)" - ",(3, 1792882800, 8) ,(3, 1806188400, 9)" - ",(3, 1824937200, 8) ,(3, 1837638000, 9)" - ",(3, 1856386800, 8) ,(3, 1869087600, 9)" - ",(3, 1887836400, 8) ,(3, 1901142000, 9)" - ",(3, 1919286000, 8) ,(3, 1932591600, 9)" - ",(3, 1950735600, 8) ,(3, 1964041200, 9)" - ",(3, 1982790000, 8) ,(3, 1995490800, 9)" - ",(3, 2014239600, 8) ,(3, 2026940400, 9)" - ",(3, 2045689200, 8) ,(3, 2058390000, 9)" - ",(3, 2077138800, 8) ,(3, 2090444400, 9)" - ",(3, 2108588400, 8) ,(3, 2121894000, 9)" - ",(3, 2140038000, 8)" - ",(4, -1688265000, 2) ,(4, -1656819048, 1)" - ",(4, -1641353448, 2) ,(4, -1627965048, 3)" - ",(4, -1618716648, 1) ,(4, -1596429048, 3)" - ",(4, -1593829848, 5) ,(4, -1589860800, 4)" - ",(4, -1542427200, 5) ,(4, -1539493200, 6)" - ",(4, -1525323600, 5) ,(4, -1522728000, 4)" - ",(4, -1491188400, 7) ,(4, -1247536800, 4)" - ",(4, 354920409, 5) ,(4, 370728010, 4)" - ",(4, 386456410, 5) ,(4, 402264011, 4)" - ",(4, 417992411, 5) ,(4, 433800012, 4)" - ",(4, 449614812, 5) ,(4, 465346812, 8)" - ",(4, 481071612, 9) ,(4, 496796413, 8)" - ",(4, 512521213, 9) ,(4, 528246013, 8)" - ",(4, 543970813, 9) ,(4, 559695613, 8)" - ",(4, 575420414, 9) ,(4, 591145214, 8)" - ",(4, 606870014, 9) ,(4, 622594814, 8)" - ",(4, 638319615, 9) ,(4, 654649215, 8)" - ",(4, 670374016, 10) ,(4, 686102416, 11)" - ",(4, 695779216, 8) ,(4, 701812816, 5)" - ",(4, 717534017, 4) ,(4, 733273217, 9)" - ",(4, 748998018, 8) ,(4, 764722818, 9)" - ",(4, 780447619, 8) ,(4, 796172419, 9)" - ",(4, 811897219, 8) ,(4, 828226820, 9)" - ",(4, 846370820, 8) ,(4, 859676420, 9)" - ",(4, 877820421, 8) ,(4, 891126021, 9)" - ",(4, 909270021, 8) ,(4, 922575622, 9)" - ",(4, 941324422, 8) ,(4, 954025222, 9)" - ",(4, 972774022, 8) ,(4, 985474822, 9)" - ",(4, 1004223622, 8) ,(4, 1017529222, 9)" - ",(4, 1035673222, 8) ,(4, 1048978822, 9)" - ",(4, 1067122822, 8) ,(4, 1080428422, 9)" - ",(4, 1099177222, 8) ,(4, 1111878022, 9)" - ",(4, 1130626822, 8) ,(4, 1143327622, 9)" - ",(4, 1162076422, 8) ,(4, 1174777222, 9)" - ",(4, 1193526022, 8) ,(4, 1206831622, 9)" - ",(4, 1224975622, 8) ,(4, 1238281222, 9)" - ",(4, 1256425222, 8) ,(4, 1269730822, 9)" - ",(4, 1288479622, 8) ,(4, 1301180422, 9)" - ",(4, 1319929222, 8) ,(4, 1332630022, 9)" - ",(4, 1351378822, 8) ,(4, 1364684422, 9)" - ",(4, 1382828422, 8) ,(4, 1396134022, 9)" - ",(4, 1414278022, 8) ,(4, 1427583622, 9)" - ",(4, 1445727622, 8) ,(4, 1459033222, 9)" - ",(4, 1477782022, 8) ,(4, 1490482822, 9)" - ",(4, 1509231622, 8) ,(4, 1521932422, 9)" - ",(4, 1540681222, 8) ,(4, 1553986822, 9)" - ",(4, 1572130822, 8) ,(4, 1585436422, 9)" - ",(4, 1603580422, 8) ,(4, 1616886022, 9)" - ",(4, 1635634822, 8) ,(4, 1648335622, 9)" - ",(4, 1667084422, 8) ,(4, 1679785222, 9)" - ",(4, 1698534022, 8) ,(4, 1711839622, 9)" - ",(4, 1729983622, 8) ,(4, 1743289222, 9)" - ",(4, 1761433222, 8) ,(4, 1774738822, 9)" - ",(4, 1792882822, 8) ,(4, 1806188422, 9)" - ",(4, 1824937222, 8) ,(4, 1837638022, 9)" - ",(4, 1856386822, 8) ,(4, 1869087622, 9)" - ",(4, 1887836422, 8) ,(4, 1901142022, 9)" - ",(4, 1919286022, 8) ,(4, 1932591622, 9)" - ",(4, 1950735622, 8) ,(4, 1964041222, 9)" - ",(4, 1982790022, 8) ,(4, 1995490822, 9)" - ",(4, 2014239622, 8) ,(4, 2026940422, 9)" - ",(4, 2045689222, 8) ,(4, 2058390022, 9)" - ",(4, 2077138822, 8) ,(4, 2090444422, 9)" - ",(4, 2108588422, 8) ,(4, 2121894022, 9)" - ",(4, 2140038022, 8), (5, -1009875600, 1);\n"); - - - } - } - - if (test_sys_file(mdata,"mysql/time_zone_transition_type.frm")) - { - fprintf(out, - "CREATE TABLE time_zone_transition_type (" - "Time_zone_id int unsigned NOT NULL," - "Transition_type_id int unsigned NOT NULL," - "Offset int signed DEFAULT 0 NOT NULL," - "Is_DST tinyint unsigned DEFAULT 0 NOT NULL," - "Abbreviation char(8) DEFAULT '' NOT NULL," - "PRIMARY KEY TzIdTrTId (Time_zone_id, Transition_type_id)" - ") engine=MyISAM CHARACTER SET utf8 " - "comment='Time zone transition types';\n"); - - if (test) - { - fprintf(out, - "INSERT INTO time_zone_transition_type (Time_zone_id," - "Transition_type_id, Offset, Is_DST, Abbreviation) VALUES" - "(1, 0, 7200, 1, 'MEST') ,(1, 1, 3600, 0, 'MET')" - ",(1, 2, 7200, 1, 'MEST') ,(1, 3, 3600, 0, 'MET')" - ",(2, 0, 0, 0, 'UTC')" - ",(3, 0, 9000, 0, 'MMT') ,(3, 1, 12648, 1, 'MST')" - ",(3, 2, 9048, 0, 'MMT') ,(3, 3, 16248, 1, 'MDST')" - ",(3, 4, 10800, 0, 'MSK') ,(3, 5, 14400, 1, 'MSD')" - ",(3, 6, 18000, 1, 'MSD') ,(3, 7, 7200, 0, 'EET')" - ",(3, 8, 10800, 0, 'MSK') ,(3, 9, 14400, 1, 'MSD')" - ",(3, 10, 10800, 1, 'EEST') ,(3, 11, 7200, 0, 'EET')" - ",(4, 0, 9000, 0, 'MMT') ,(4, 1, 12648, 1, 'MST')" - ",(4, 2, 9048, 0, 'MMT') ,(4, 3, 16248, 1, 'MDST')" - ",(4, 4, 10800, 0, 'MSK') ,(4, 5, 14400, 1, 'MSD')" - ",(4, 6, 18000, 1, 'MSD') ,(4, 7, 7200, 0, 'EET')" - ",(4, 8, 10800, 0, 'MSK') ,(4, 9, 14400, 1, 'MSD')" - ",(4, 10, 10800, 1, 'EEST') ,(4, 11, 7200, 0, 'EET')" - ",(5, 0, 32400, 0, 'CJT') ,(5, 1, 32400, 0, 'JST');\n"); - - } - } - - if (test_sys_file(mdata,"mysql/time_zone_leap_second.frm")) - { - fprintf(out, - "CREATE TABLE time_zone_leap_second (" - "Transition_time bigint signed NOT NULL," - "Correction int signed NOT NULL," - "PRIMARY KEY TranTime (Transition_time)" - ") engine=MyISAM CHARACTER SET utf8 " - "comment='Leap seconds information for time zones';\n"); - - if (test) - { - fprintf(out, - "INSERT INTO time_zone_leap_second " - "(Transition_time, Correction) VALUES " - "(78796800, 1) ,(94694401, 2) ,(126230402, 3)" - ",(157766403, 4) ,(189302404, 5) ,(220924805, 6)" - ",(252460806, 7) ,(283996807, 8) ,(315532808, 9)" - ",(362793609, 10) ,(394329610, 11) ,(425865611, 12)" - ",(489024012, 13) ,(567993613, 14) ,(631152014, 15)" - ",(662688015, 16) ,(709948816, 17) ,(741484817, 18)" - ",(773020818, 19) ,(820454419, 20) ,(867715220, 21)" - ",(915148821, 22);\n"); - } - } - - return fclose(out); -} diff --git a/mysql-test/my_manage.c b/mysql-test/my_manage.c deleted file mode 100644 index e5d1be42f95..00000000000 --- a/mysql-test/my_manage.c +++ /dev/null @@ -1,887 +0,0 @@ -/* - Copyright (c) 2003 Novell, Inc. All Rights Reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ - -#include -#include -#ifndef __WIN__ -#include -#endif -#include -#ifdef __NETWARE__ -#include -#include -#else -#include -#ifndef __WIN__ -#include -#include -#include -#include /* FIXME HAVE_FNMATCH_H or something */ -#else -#include -#include -#include -#endif -#endif -#include -#include -#include -#include - -#include "my_manage.h" - -#ifndef __NETWARE__ -#define ASSERT assert -extern char **environ; -#endif - - - -/****************************************************************************** - - macros - -******************************************************************************/ - -/****************************************************************************** - - global variables - -******************************************************************************/ - -/****************************************************************************** - - functions - -******************************************************************************/ - -/****************************************************************************** - - init_args() - - Init an argument list. - -******************************************************************************/ - -void init_args(arg_list_t *al) -{ - ASSERT(al != NULL); - - al->argc= 0; - al->size= ARG_BUF; - al->argv= malloc(al->size * sizeof(char *)); - ASSERT(al->argv != NULL); - - return; -} - -/****************************************************************************** - - add_arg() - - Add an argument to a list. - -******************************************************************************/ - -void add_arg(arg_list_t *al, const char *format, ...) -{ - va_list ap; - char temp[FN_REFLEN]; - - ASSERT(al != NULL); - - /* increase size */ - if (al->argc >= (int)al->size) - { - al->size+= ARG_BUF; - al->argv= realloc(al->argv, al->size * sizeof(char *)); - ASSERT(al->argv != NULL); - } - - if (format) - { - va_start(ap, format); - vsprintf(temp, format, ap); - va_end(ap); - - al->argv[al->argc]= malloc(strlen(temp)+1); - ASSERT(al->argv[al->argc] != NULL); - strcpy(al->argv[al->argc], temp); - - ++(al->argc); - } - else - { - al->argv[al->argc]= NULL; - } - - return; -} - -/****************************************************************************** - - free_args() - - Free an argument list. - -******************************************************************************/ - -void free_args(arg_list_t *al) -{ - int i; - - ASSERT(al != NULL); - - for (i= 0; i < al->argc; i++) - { - ASSERT(al->argv[i] != NULL); - free(al->argv[i]); - al->argv[i]= NULL; - } - - free(al->argv); - al->argc= 0; - al->argv= NULL; - - return; -} - -/****************************************************************************** - - sleep_until_file_deleted() - - Sleep until the given file is no longer found. - -******************************************************************************/ - -#ifndef __WIN__ -int sleep_until_file_deleted(char *pid_file) -#else -int sleep_until_file_deleted(HANDLE pid_file) -#endif -{ - int err= 0; /* Initiate to supress warning */ -#ifndef __WIN__ - struct stat buf; - int i; - - for (i= 0; (i < TRY_MAX) && (err= !stat(pid_file, &buf)); i++) sleep(1); - - if (err != 0) err= errno; -#else - err= (WaitForSingleObject(pid_file, TRY_MAX*1000) == WAIT_TIMEOUT); -#endif - return err; -} - -/****************************************************************************** - - sleep_until_file_exists() - - Sleep until the given file exists. - -******************************************************************************/ - -#ifndef __WIN__ -int sleep_until_file_exists(char *pid_file) -#else -int sleep_until_file_exists(HANDLE pid_file) -#endif -{ - int err= 0; /* Initiate to supress warning */ -#ifndef __WIN__ - struct stat buf; - int i; - - for (i= 0; (i < TRY_MAX) && (err= stat(pid_file, &buf)); i++) sleep(1); - - if (err != 0) err= errno; -#else - err= (WaitForSingleObject(pid_file, TRY_MAX*1000) == WAIT_TIMEOUT); -#endif - return err; -} - -/****************************************************************************** - - wait_for_server_start() - - Wait for the server on the given port to start. - -******************************************************************************/ - -int wait_for_server_start(char *bin_dir __attribute__((unused)), - char *mysqladmin_file, - char *user, char *password, int port,char *tmp_dir) -{ - arg_list_t al; - int err= 0; - char trash[FN_REFLEN]; - - /* mysqladmin file */ - snprintf(trash, FN_REFLEN, "%s/trash.out",tmp_dir); - - /* args */ - init_args(&al); - add_arg(&al, "%s", mysqladmin_file); - add_arg(&al, "--no-defaults"); - add_arg(&al, "--port=%u", port); - add_arg(&al, "--user=%s", user); - add_arg(&al, "--password=%s", password); - add_arg(&al, "--silent"); - add_arg(&al, "--host=localhost"); - -#ifndef __NETWARE__ - add_arg(&al, "--connect_timeout=10"); - add_arg(&al, "-w"); - add_arg(&al, "--protocol=tcp"); -#endif - add_arg(&al, "ping"); - - /* - NetWare does not support the connect timeout in the TCP/IP stack - -- we will try the ping multiple times - */ -#ifndef __WIN__ - { - int i; - for (i= 0; - (i < TRY_MAX) && (err= spawn(mysqladmin_file, &al, TRUE, NULL, - trash, NULL, NULL)); - i++) - sleep(1); - } -#else - err= spawn(mysqladmin_file, &al, TRUE, NULL,trash, NULL, NULL); -#endif - - /* free args */ - free_args(&al); - - return err; -} - -/****************************************************************************** - - spawn() - - Spawn the given path with the given arguments. - -******************************************************************************/ - -#ifdef __NETWARE__ -int spawn(char *path, arg_list_t *al, int join, char *input, - char *output, char *error, char *pid_file) -{ - pid_t pid; - int result= 0; - wiring_t wiring= { FD_UNUSED, FD_UNUSED, FD_UNUSED }; - unsigned long flags= PROC_CURRENT_SPACE | PROC_INHERIT_CWD; - - /* open wiring */ - if (input) - wiring.infd= open(input, O_RDONLY); - - if (output) - wiring.outfd= open(output, O_WRONLY | O_CREAT | O_TRUNC); - - if (error) - wiring.errfd= open(error, O_WRONLY | O_CREAT | O_TRUNC); - - /* procve requires a NULL */ - add_arg(al, NULL); - - /* go */ - pid= procve(path, flags, NULL, &wiring, NULL, NULL, 0, - NULL, (const char **)al->argv); - - /* close wiring */ - if (wiring.infd != -1) - close(wiring.infd); - - if (wiring.outfd != -1) - close(wiring.outfd); - - if (wiring.errfd != -1) - close(wiring.errfd); - - return result; -} -#elif __WIN__ - -int spawn(char *path, arg_list_t *al, int join, char *input, - char *output, char *error, HANDLE *pid) -{ - bool result; - int i; - STARTUPINFO startup_info; - PROCESS_INFORMATION process_information; - DWORD exit_code; - char win_args[1024]= ""; - - /* Skip the first parameter */ - for (i= 1; i < al->argc; i++) - { - ASSERT(al->argv[i] != NULL); - strcat(win_args,al->argv[i]); - strcat(win_args," "); - } - - memset(&startup_info,0,sizeof(STARTUPINFO)); - startup_info.cb= sizeof(STARTUPINFO); - - if (input) - freopen(input, "rb", stdin); - - if (output) - freopen(output, "wb", stdout); - - if (error) - freopen(error, "wb", stderr); - - result= CreateProcess( - path, - (LPSTR)&win_args, - NULL, - NULL, - TRUE, - 0, - NULL, - NULL, - &startup_info, - &process_information - ); - - if (result && process_information.hProcess) - { - if (join) - { - if (WaitForSingleObject(process_information.hProcess, mysqld_timeout) - == WAIT_TIMEOUT) - { - exit_code= -1; - } - else - { - GetExitCodeProcess(process_information.hProcess, &exit_code); - } - CloseHandle(process_information.hProcess); - } - else - { - exit_code= 0; - } - if (pid != NULL) - *pid= process_information.hProcess; - } - else - { - exit_code= -1; - } - if (input) - freopen("CONIN$","rb",stdin); - if (output) - freopen("CONOUT$","wb",stdout); - if (error) - freopen("CONOUT$","wb",stderr); - - return exit_code; -} -#else -int spawn(char *path, arg_list_t *al, int join, char *input, - char *output, char *error, char *pid_file __attribute__((unused))) -{ - pid_t pid; - int res_exec= 0; - int result= 0; - - pid= fork(); - - if (pid == -1) - { - fprintf(stderr, "fork was't created\n"); - /* We can't create the fork...exit with error */ - return EXIT_FAILURE; - } - - if (pid > 0) - { - /* The parent process is waiting for child process if join is not zero */ - if (join) - { - waitpid(pid, &result, 0); - if (WIFEXITED(result) != 0) - { - result= WEXITSTATUS(result); - } - else - { - result= EXIT_FAILURE; - } - } - } - else - { - - /* Child process */ - add_arg(al, NULL); - - /* Reassign streams */ - if (input) - freopen(input, "r", stdin); - - if (output) - freopen(output, "w", stdout); - - if (error) - freopen(error, "w", stderr); - - /* Spawn the process */ - if ((res_exec= execve(path, al->argv, environ)) < 0) - exit(EXIT_FAILURE); - - /* Restore streams */ - if (input) - freopen("/dev/tty", "r", stdin); - - if (output) - freopen("/dev/tty", "w", stdout); - - if (error) - freopen("/dev/tty", "w", stderr); - - exit(0); - } - - return result; -} -#endif -/****************************************************************************** - - stop_server() - - Stop the server with the given port and pid file. - -******************************************************************************/ - -int stop_server(char *bin_dir __attribute__((unused)), char *mysqladmin_file, - char *user, char *password, int port, -#ifndef __WIN__ - char *pid_file, -#else - HANDLE pid_file, -#endif - char *tmp_dir) -{ - arg_list_t al; - int err= 0; - char trash[FN_REFLEN]; - - snprintf(trash, FN_REFLEN, "%s/trash.out",tmp_dir); - - /* args */ - init_args(&al); - add_arg(&al, "%s", mysqladmin_file); - add_arg(&al, "--no-defaults"); - add_arg(&al, "--port=%u", port); - add_arg(&al, "--user=%s", user); - add_arg(&al, "--password=%s", password); - add_arg(&al, "-O"); - add_arg(&al, "shutdown_timeout=20"); -#ifndef __NETWARE__ - add_arg(&al, "--protocol=tcp"); -#endif - add_arg(&al, "shutdown"); - - /* spawn */ - if ((err= spawn(mysqladmin_file, &al, TRUE, NULL, - trash, NULL, NULL)) == 0) - { - sleep_until_file_deleted(pid_file); - } - else - { -#ifndef __WIN__ - pid_t pid= get_server_pid(pid_file); - - /* shutdown failed - kill server */ - kill_server(pid); - - sleep(TRY_MAX); - - /* remove pid file if possible */ - err= remove(pid_file); -#else - TerminateProcess(pid_file,err); -#endif - } - - /* free args */ - free_args(&al); - - return err; -} - -/****************************************************************************** - - get_server_pid() - - Get the VM id with the given pid file. - -******************************************************************************/ - -#ifndef __WIN__ -pid_t get_server_pid(char *pid_file) -{ - char buf[FN_REFLEN]; - int fd, err; - char *p; - pid_t id= 0; - - /* discover id */ - fd= open(pid_file, O_RDONLY); - - err= read(fd, buf, FN_REFLEN); - - close(fd); - - if (err > 0) - { - /* terminate string */ - if ((p= strchr(buf, '\n')) != NULL) - { - *p= '\0'; - - /* check for a '\r' */ - if ((p= strchr(buf, '\r')) != NULL) - { - *p= '\0'; - } - } - else - { - buf[err]= '\0'; - } - - id= strtol(buf, NULL, 0); - } - - return id; -} - -/****************************************************************************** - - kill_server() - - Force a kill of the server with the given pid. - -******************************************************************************/ - -void kill_server(pid_t pid) -{ - if (pid > 0) - { -#if !defined(__NETWARE__) - /* Send SIGTERM to pid */ - kill(pid, SIGTERM); -#else /* __NETWARE__ */ - /* destroy vm */ - NXVmDestroy(pid); -#endif - } -} -#endif -/****************************************************************************** - - del_tree() - - Delete the directory and subdirectories. - -******************************************************************************/ - -void del_tree(char *dir) -{ -#ifndef __WIN__ - DIR *parent= opendir(dir); - struct dirent *entry; - char temp[FN_REFLEN]; - - if (parent == NULL) - { - return; - } - - while ((entry= readdir(parent)) != NULL) - { - /* create long name */ - snprintf(temp, FN_REFLEN, "%s/%s", dir, entry->d_name); - - if (entry->d_name[0] == '.') - { - /* Skip */ - } - else - { -/* FIXME missing test in acinclude.m4 */ -#ifndef STRUCT_DIRENT_HAS_D_TYPE - struct stat st; - - if (lstat(entry->d_name, &st) == -1) - { - /* FIXME error */ - return; - } - if (S_ISDIR(st.st_mode)) -#else - if (S_ISDIR(entry->d_type)) -#endif - { - /* delete subdirectory */ - del_tree(temp); - } - else - { - /* remove file */ - remove(temp); - } - } - } - /* remove directory */ - rmdir(dir); -#else - struct _finddata_t parent; -#if defined(_MSC_VER) && _MSC_VER > 1200 - intptr_t handle; -#else - long handle; -#endif /* _MSC_VER && _MSC_VER > 1200 */ - char temp[FN_REFLEN]; - char mask[FN_REFLEN]; - - snprintf(mask,FN_REFLEN,"%s/*.*",dir); - - if ((handle=_findfirst(mask,&parent)) == -1L) - { - return; - } - - do - { - /* create long name */ - snprintf(temp, FN_REFLEN, "%s/%s", dir, parent.name); - if (parent.name[0] == '.') - { - /* Skip */ - } - else - if (parent.attrib & _A_SUBDIR) - { - /* delete subdirectory */ - del_tree(temp); - } - else - { - /* remove file */ - remove(temp); - } - } while (_findnext(handle,&parent) == 0); - - _findclose(handle); - - /* remove directory */ - _rmdir(dir); -#endif -} - -/****************************************************************************** - - removef() - -******************************************************************************/ - -int removef(const char *format, ...) -{ -#ifdef __NETWARE__ - va_list ap; - char path[FN_REFLEN]; - - va_start(ap, format); - - vsnprintf(path, FN_REFLEN, format, ap); - - va_end(ap); - return remove(path); - -#elif __WIN__ - { - va_list ap; - char path[FN_REFLEN]; - struct _finddata_t parent; -#if defined(_MSC_VER) && _MSC_VER > 1200 - intptr_t handle; -#else - long handle; -#endif /* _MSC_VER && _MSC_VER > 1200 */ - char temp[FN_REFLEN]; - char *p; - - va_start(ap, format); - - vsnprintf(path, FN_REFLEN, format, ap); - - va_end(ap); - - p= path + strlen(path); - while (*p != '\\' && *p != '/' && p > path) p--; - - if ((handle=_findfirst(path,&parent)) == -1L) - { - /* if there is not files....it's ok */ - return 0; - } - - *p= '\0'; - - do - { - if (! (parent.attrib & _A_SUBDIR)) - { - snprintf(temp, FN_REFLEN, "%s/%s", path, parent.name); - remove(temp); - } - }while (_findnext(handle,&parent) == 0); - - _findclose(handle); - } -#else - DIR *parent; - struct dirent *entry; - char temp[FN_REFLEN]; - va_list ap; - char path[FN_REFLEN]; - char *p; - /* Get path with mask */ - va_start(ap, format); - - vsnprintf(path, FN_REFLEN, format, ap); - - va_end(ap); - - p= path + strlen(path); - while (*p != '\\' && *p != '/' && p > path) p--; - *p= '\0'; - p++; - - parent= opendir(path); - - if (parent == NULL) - { - return 1; /* Error, directory missing */ - } - - while ((entry= readdir(parent)) != NULL) - { - /* entry is not directory and entry matches with mask */ -#ifndef STRUCT_DIRENT_HAS_D_TYPE - struct stat st; - - /* create long name */ - snprintf(temp, FN_REFLEN, "%s/%s", path, entry->d_name); - - if (lstat(temp, &st) == -1) - { - return 1; /* Error couldn't lstat file */ - } - - if (!S_ISDIR(st.st_mode) && !fnmatch(p, entry->d_name,0)) -#else - if (!S_ISDIR(entry->d_type) && !fnmatch(p, entry->d_name,0)) -#endif - { - /* create long name */ - snprintf(temp, FN_REFLEN, "%s/%s", path, entry->d_name); - /* Delete only files */ - remove(temp); - } - } -#endif - return 0; -} - -/****************************************************************************** - - get_basedir() - -******************************************************************************/ - -void get_basedir(char *argv0, char *basedir) -{ - char temp[FN_REFLEN]; - char *p; - int position; - - ASSERT(argv0 != NULL); - ASSERT(basedir != NULL); - - strcpy(temp, strlwr(argv0)); - while ((p= strchr(temp, '\\')) != NULL) *p= '/'; - - if ((position= strinstr(temp, "/bin/")) != 0) - { - p= temp + position; - *p= '\0'; - strcpy(basedir, temp); - } -} - -uint strinstr(reg1 const char *str,reg4 const char *search) -{ - reg2 my_string i,j; - my_string start= (my_string) str; - - skipp: - while (*str != '\0') - { - if (*str++ == *search) - { - i=(my_string) str; - j= (my_string) search+1; - while (*j) - if (*i++ != *j++) goto skipp; - return ((uint) (str - start)); - } - } - return (0); -} - -/****************************************************************************** - - remove_empty_file() - -******************************************************************************/ - -void remove_empty_file(const char *file_name) -{ - struct stat file; - - if (!stat(file_name,&file)) - { - if (!file.st_size) - remove(file_name); - } -} diff --git a/mysql-test/my_manage.h b/mysql-test/my_manage.h deleted file mode 100644 index 5df77b01af8..00000000000 --- a/mysql-test/my_manage.h +++ /dev/null @@ -1,137 +0,0 @@ -/* - Copyright (c) 2002 Novell, Inc. All Rights Reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ - -#ifndef _MY_MANAGE -#define _MY_MANAGE - -/****************************************************************************** - - includes - -******************************************************************************/ - -#include -#ifndef __WIN__ -#include -#endif -#ifndef __NETWARE__ -#include -#include -#include - -#ifndef __WIN__ -#define strnicmp strncasecmp -#define strlwr(STRARG) (STRARG) -#else -int my_vsnprintf_(char *to, size_t n, const char* value, ...); -#endif -#endif - -/****************************************************************************** - - macros - -******************************************************************************/ - -#define ARG_BUF 10 -#define TRY_MAX 5 - -#ifdef __WIN__ -#define PATH_MAX _MAX_PATH -#define NAME_MAX _MAX_FNAME -#define kill(A,B) TerminateProcess((HANDLE)A,0) -#define NOT_NEED_PID 0 -#define MASTER_PID 1 -#define SLAVE_PID 2 -#define mysqld_timeout 60000 - -int pid_mode; -bool run_server; -bool skip_first_param; - -#define snprintf _snprintf -#define vsnprintf _vsnprintf -#endif - - -/****************************************************************************** - - structures - -******************************************************************************/ - -typedef struct -{ - - int argc; - char **argv; - - size_t size; - -} arg_list_t; - -#ifdef __WIN__ -typedef int pid_t; -#endif -/****************************************************************************** - - global variables - -******************************************************************************/ - -/****************************************************************************** - - prototypes - -******************************************************************************/ - -void init_args(arg_list_t *); -void add_arg(arg_list_t *, const char *, ...); -void free_args(arg_list_t *); - -#ifndef __WIN__ -int sleep_until_file_exists(char *); -int sleep_until_file_deleted(char *); -#else -int sleep_until_file_exists(HANDLE); -int sleep_until_file_deleted(HANDLE); -#endif -int wait_for_server_start(char *, char *, char *, char *, int,char *); - -#ifndef __WIN__ -int spawn(char *, arg_list_t *, int, char *, char *, char *, char *); -#else -int spawn(char *, arg_list_t *, int , char *, char *, char *, HANDLE *); -#endif - -#ifndef __WIN__ -int stop_server(char *, char *, char *, char *, int, char *,char *); -pid_t get_server_pid(char *); -void kill_server(pid_t pid); -#else -int stop_server(char *, char *, char *, char *, int, HANDLE,char *); -#endif -void del_tree(char *); -int removef(const char *, ...); - -void get_basedir(char *, char *); -void remove_empty_file(const char *file_name); - -bool create_system_files(const char *mdata,const char *output_file, bool test); - -#endif /* _MY_MANAGE */ diff --git a/mysql-test/mysql-test-run.sh b/mysql-test/mysql-test-run.sh index e63db73d8f4..cb6fb0af0e8 100644 --- a/mysql-test/mysql-test-run.sh +++ b/mysql-test/mysql-test-run.sh @@ -250,12 +250,8 @@ MASTER_MYPORT=9306 SLAVE_RUNNING=0 SLAVE_MYHOST=127.0.0.1 SLAVE_MYPORT=9308 # leave room for 2 masters for cluster tests -MYSQL_MANAGER_PORT=9305 # needs to be out of the way of slaves NDBCLUSTER_PORT=9350 NDBCLUSTER_PORT_SLAVE=9358 -MYSQL_MANAGER_PW_FILE=$MYSQL_TEST_DIR/var/tmp/manager.pwd -MYSQL_MANAGER_LOG=$MYSQL_TEST_DIR/var/log/manager.log -MYSQL_MANAGER_USER=root # # To make it easier for different devs to work on the same host, @@ -269,14 +265,12 @@ MYSQL_MANAGER_USER=root # if [ -n "$MTR_BUILD_THREAD" ] ; then MASTER_MYPORT=`expr $MTR_BUILD_THREAD '*' 10 + 10000` - MYSQL_MANAGER_PORT=`expr $MASTER_MYPORT + 2` SLAVE_MYPORT=`expr $MASTER_MYPORT + 3` NDBCLUSTER_PORT=`expr $MASTER_MYPORT + 6` NDBCLUSTER_PORT_SLAVE=`expr $MASTER_MYPORT + 7` echo "Using MTR_BUILD_THREAD = $MTR_BUILD_THREAD" echo "Using MASTER_MYPORT = $MASTER_MYPORT" - echo "Using MYSQL_MANAGER_PORT = $MYSQL_MANAGER_PORT" echo "Using SLAVE_MYPORT = $SLAVE_MYPORT" echo "Using NDBCLUSTER_PORT = $NDBCLUSTER_PORT" echo "Using NDBCLUSTER_PORT_SLAVE = $NDBCLUSTER_PORT_SLAVE" @@ -361,7 +355,6 @@ while test $# -gt 0; do --user=*) DBUSER=`$ECHO "$1" | $SED -e "s;--user=;;"` ;; --force) FORCE=1 ;; --timer) USE_TIMER=1 ;; - --verbose-manager) MANAGER_QUIET_OPT="" ;; --old-master) MASTER_40_ARGS="";; --master-binary=*) MASTER_MYSQLD=`$ECHO "$1" | $SED -e "s;--master-binary=;;"` ;; @@ -407,7 +400,6 @@ while test $# -gt 0; do LOCAL_MASTER=1 ;; --master_port=*) MASTER_MYPORT=`$ECHO "$1" | $SED -e "s;--master_port=;;"` ;; --slave_port=*) SLAVE_MYPORT=`$ECHO "$1" | $SED -e "s;--slave_port=;;"` ;; - --manager-port=*) MYSQL_MANAGER_PORT=`$ECHO "$1" | $SED -e "s;--manager_port=;;"` ;; --ndbcluster_port=*) NDBCLUSTER_PORT=`$ECHO "$1" | $SED -e "s;--ndbcluster_port=;;"` ;; --ndbcluster-port=*) NDBCLUSTER_PORT=`$ECHO "$1" | $SED -e "s;--ndbcluster-port=;;"` ;; --ndbcluster-port-slave=*) NDBCLUSTER_PORT_SLAVE=`$ECHO "$1" | $SED -e "s;--ndbcluster-port-slave=;;"` ;; @@ -423,11 +415,6 @@ while test $# -gt 0; do MYSQL_TEST_SSL_OPTS="--ssl-ca=$MYSQL_TEST_DIR/std_data/cacert.pem \ --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem \ --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem" ;; - --no-manager | --skip-manager) USE_MANAGER=0 ;; - --manager) - USE_MANAGER=1 - USE_RUNNING_SERVER=0 - ;; --start-and-exit) START_AND_EXIT=1 ;; @@ -645,7 +632,6 @@ fi #-- MYRUN_DIR=$MYSQL_TEST_DIR/var/run -MANAGER_PID_FILE="$MYRUN_DIR/manager.pid" MASTER_MYDDIR="$MYSQL_TEST_DIR/var/master-data" MASTER_MYSOCK="$MYSQL_TMP_DIR/master.sock" @@ -759,9 +745,6 @@ if [ x$SOURCE_DIST = x1 ] ; then MYSQLADMIN="$CLIENT_BINDIR/mysqladmin" WAIT_PID="$BASEDIR/extra/mysql_waitpid" MYSQL_MY_PRINT_DEFAULTS="$BASEDIR/extra/my_print_defaults" - MYSQL_MANAGER_CLIENT="$CLIENT_BINDIR/mysqltestmanagerc" - MYSQL_MANAGER="$BASEDIR/tools/mysqltestmanager" - MYSQL_MANAGER_PWGEN="$CLIENT_BINDIR/mysqltestmanager-pwgen" MYSQL="$CLIENT_BINDIR/mysql" LANGUAGE="$BASEDIR/sql/share/english/" CHARSETSDIR="$BASEDIR/sql/share/charsets" @@ -822,9 +805,6 @@ else MYSQLADMIN="$CLIENT_BINDIR/mysqladmin" WAIT_PID="$CLIENT_BINDIR/mysql_waitpid" MYSQL_MY_PRINT_DEFAULTS="$CLIENT_BINDIR/my_print_defaults" - MYSQL_MANAGER="$CLIENT_BINDIR/mysqltestmanager" - MYSQL_MANAGER_CLIENT="$CLIENT_BINDIR/mysqltestmanagerc" - MYSQL_MANAGER_PWGEN="$CLIENT_BINDIR/mysqltestmanager-pwgen" MYSQL="$CLIENT_BINDIR/mysql" INSTALL_DB="./install_test_db --bin" MYSQL_FIX_SYSTEM_TABLES="$CLIENT_BINDIR/mysql_fix_privilege_tables" @@ -1214,96 +1194,27 @@ abort_if_failed() fi } -start_manager() +launch_in_background() { - if [ $USE_MANAGER = 0 ] ; then - echo "Manager disabled, skipping manager start." - $RM -f $MYSQL_MANAGER_LOG + echo $@ | /bin/sh >> $CUR_MYERR 2>&1 & + sleep 2 #hack return - fi - $ECHO "Starting MySQL Manager" - if [ -f "$MANAGER_PID_FILE" ] ; then - kill `cat $MANAGER_PID_FILE` - sleep 1 - if [ -f "$MANAGER_PID_FILE" ] ; then - kill -9 `cat $MANAGER_PID_FILE` - sleep 1 - fi - fi - - $RM -f $MANAGER_PID_FILE - MYSQL_MANAGER_PW=`$MYSQL_MANAGER_PWGEN -u $MYSQL_MANAGER_USER \ - -o $MYSQL_MANAGER_PW_FILE` - $MYSQL_MANAGER --log=$MYSQL_MANAGER_LOG --port=$MYSQL_MANAGER_PORT \ - --password-file=$MYSQL_MANAGER_PW_FILE --pid-file=$MANAGER_PID_FILE - abort_if_failed "Could not start MySQL manager" - mysqltest_manager_args="--manager-host=localhost \ - --manager-user=$MYSQL_MANAGER_USER \ - --manager-password=$MYSQL_MANAGER_PW \ - --manager-port=$MYSQL_MANAGER_PORT \ - --manager-wait-timeout=$START_WAIT_TIMEOUT" - MYSQL_TEST="$MYSQL_TEST $mysqltest_manager_args" - MYSQL_TEST_ARGS="$MYSQL_TEST_ARGS $mysqltest_manager_args" - while [ ! -f $MANAGER_PID_FILE ] ; do - sleep 1 - done - echo "Manager started" } -stop_manager() -{ - if [ $USE_MANAGER = 0 ] ; then - return - fi - $MYSQL_MANAGER_CLIENT $MANAGER_QUIET_OPT -u$MYSQL_MANAGER_USER \ - -p$MYSQL_MANAGER_PW -P $MYSQL_MANAGER_PORT <> $CUR_MYERR 2>&1 & - sleep 2 #hack - return - fi - $MYSQL_MANAGER_CLIENT $MANAGER_QUIET_OPT --user=$MYSQL_MANAGER_USER \ - --password=$MYSQL_MANAGER_PW --port=$MYSQL_MANAGER_PORT <> $MYSQL_MANAGER_LOG 2>&1 - res=$? - # Some systems require an extra connect - $MYSQLADMIN --no-defaults -uroot --socket=$MYSQL_TMP_DIR/$ident.sock$3 --connect_timeout=1 ping >> $MYSQL_MANAGER_LOG 2>&1 - if test $res = 0 - then - wait_for_pid $pid - fi - return $res + # Shutdown time must be high as slave may be in reconnect + $MYSQLADMIN --no-defaults -uroot --socket=$MYSQL_TMP_DIR/$ident.sock$3 --connect_timeout=5 --shutdown_timeout=70 shutdown >> $MYSQL_MANAGER_LOG 2>&1 + res=$? + # Some systems require an extra connect + $MYSQLADMIN --no-defaults -uroot --socket=$MYSQL_TMP_DIR/$ident.sock$3 --connect_timeout=1 ping >> $MYSQL_MANAGER_LOG 2>&1 + if test $res = 0 + then + wait_for_pid $pid fi - $MYSQL_MANAGER_CLIENT $MANAGER_QUIET_OPT --user=$MYSQL_MANAGER_USER \ - --password=$MYSQL_MANAGER_PW --port=$MYSQL_MANAGER_PORT < $GDB_MASTER_INIT$1 - manager_launch master ddd -display $DISPLAY --debugger \ + launch_in_background master ddd -display $DISPLAY --debugger \ "gdb -x $GDB_MASTER_INIT$1" $MASTER_MYSQLD elif [ x$DO_GDB = x1 ] then @@ -1507,11 +1418,11 @@ end r EOF fi ) > $GDB_MASTER_INIT$1 - manager_launch master $XTERM -display $DISPLAY \ + launch_in_background master $XTERM -display $DISPLAY \ -title "Master" -e gdb -x $GDB_MASTER_INIT$1 $MASTER_MYSQLD fi else - manager_launch master $MASTER_MYSQLD $master_args + launch_in_background master $MASTER_MYSQLD $master_args fi sleep_until_file_created $MASTER_MYPID$1 $wait_for_master wait_for_master=$SLEEP_TIME_FOR_SECOND_MASTER @@ -1644,7 +1555,7 @@ start_slave() if [ x$DO_DDD = x1 ] then $ECHO "set args $slave_args" > $GDB_SLAVE_INIT - manager_launch $slave_ident ddd -display $DISPLAY --debugger \ + launch_in_background $slave_ident ddd -display $DISPLAY --debugger \ "gdb -x $GDB_SLAVE_INIT" $SLAVE_MYSQLD elif [ x$DO_GDB = x1 ] then @@ -1665,11 +1576,11 @@ end r EOF fi ) > $GDB_SLAVE_INIT - manager_launch $slave_ident $XTERM -display $DISPLAY -title "Slave" -e \ + launch_in_background $slave_ident $XTERM -display $DISPLAY -title "Slave" -e \ gdb -x $GDB_SLAVE_INIT $SLAVE_MYSQLD fi else - manager_launch $slave_ident $SLAVE_MYSQLD $slave_args + launch_in_background $slave_ident $SLAVE_MYSQLD $slave_args fi eval "SLAVE$1_RUNNING=1" sleep_until_file_created $slave_pid $wait_for_slave @@ -1701,7 +1612,7 @@ stop_slave () if [ x$this_slave_running = x1 ] then pid=`$CAT $slave_pid` - manager_term $pid $slave_ident + shutdown_mysqld $pid $slave_ident if [ $? != 0 ] && [ -f $slave_pid ] then # try harder! $ECHO "slave not cooperating with mysqladmin, will try manual kill" @@ -1748,7 +1659,7 @@ stop_master () # MASTER_RUNNING=0 to get cleanup when calling start_master(). if [ x$USE_EMBEDDED_SERVER != x1 ] ; then pid=`$CAT $MASTER_MYPID$1` - manager_term $pid master $1 + shutdown_mysqld $pid master $1 if [ $? != 0 ] && [ -f $MASTER_MYPID$1 ] then # try harder! $ECHO "master not cooperating with mysqladmin, will try manual kill" @@ -2074,7 +1985,6 @@ run_testcase () [ -z "$DO_DDD" ] && [ -z "$USE_EMBEDDED_SERVER" ] then mysql_stop - stop_manager fi exit 1 fi @@ -2244,18 +2154,6 @@ then rm $MASTER_MYPID $MASTER_MYPID"1" $SLAVE_MYPID fi - # Kill any running managers - if [ -f "$MANAGER_PID_FILE" ] - then - kill `cat $MANAGER_PID_FILE` - sleep 1 - if [ -f "$MANAGER_PID_FILE" ] - then - kill -9 `cat $MANAGER_PID_FILE` - sleep 1 - fi - fi - # just to force stopping anything from previous runs USE_NDBCLUSTER_OPT=$USE_NDBCLUSTER stop_ndbcluster @@ -2279,10 +2177,8 @@ then USE_NDBCLUSTER_OPT= fi - start_manager - -# Do not automagically start daemons if we are in gdb or running only one test -# case +# Do not automagically start daemons if we are in gdb or running only one +# test case if [ -z "$DO_GDB" ] && [ -z "$DO_DDD" ] then mysql_start @@ -2329,7 +2225,6 @@ then fi cd $savedir mysql_stop - stop_manager exit fi @@ -2351,7 +2246,6 @@ then if [ $USE_RUNNING_SERVER -eq 0 ] ; then mysql_stop - stop_manager fi exit @@ -2398,7 +2292,6 @@ if [ -z "$DO_GDB" ] && [ $USE_RUNNING_SERVER -eq 0 ] && [ -z "$DO_DDD" ] then mysql_stop fi -stop_manager report_stats $ECHO diff --git a/mysql-test/mysql_test_run_new.c b/mysql-test/mysql_test_run_new.c deleted file mode 100644 index 79db71fa274..00000000000 --- a/mysql-test/mysql_test_run_new.c +++ /dev/null @@ -1,1933 +0,0 @@ -/* - Copyright (c) 2002, 2003 Novell, Inc. All Rights Reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ - -#include -#include -#include -#ifndef __WIN__ -#include -#endif -#include -#ifdef __NETWARE__ -#include -#include -#endif -#include -#include -#ifndef __WIN__ -#include -#endif -#include -#ifdef __NETWARE__ -#include -#endif -#ifdef __WIN__ -#include -#include -#include -#endif - -#include "my_manage.h" - -/****************************************************************************** - - macros - -******************************************************************************/ - -#define HEADER "TEST RESULT \n" -#define DASH "-------------------------------------------------------\n" - -#define NW_TEST_SUFFIX ".nw-test" -#define NW_RESULT_SUFFIX ".nw-result" -#define TEST_SUFFIX ".test" -#define RESULT_SUFFIX ".result" -#define REJECT_SUFFIX ".reject" -#define OUT_SUFFIX ".out" -#define ERR_SUFFIX ".err" - -const char *TEST_PASS= "[ pass ]"; -const char *TEST_SKIP= "[ skip ]"; -const char *TEST_FAIL= "[ fail ]"; -const char *TEST_BAD= "[ bad ]"; -const char *TEST_IGNORE= "[ignore]"; - -/****************************************************************************** - - global variables - -******************************************************************************/ - -#ifdef __NETWARE__ -static char base_dir[FN_REFLEN]= "sys:/mysql"; -#else -static char base_dir[FN_REFLEN]= ".."; -#endif -static char db[FN_LEN]= "test"; -static char user[FN_LEN]= "root"; -static char password[FN_LEN]= ""; - -int master_port= 9306; -int slave_port= 9307; - -#if !defined(__NETWARE__) && !defined(__WIN__) -static char master_socket[FN_REFLEN]= "./var/tmp/master.sock"; -static char slave_socket[FN_REFLEN]= "./var/tmp/slave.sock"; -#endif - -#define MAX_COUNT_TESTES 1024 - -#ifdef __WIN__ -# define sting_compare_func _stricmp -#else -# ifdef HAVE_STRCASECMP -# define sting_compare_func strcasecmp -# else -# define sting_compare_func strcmp -# endif -#endif - -/* comma delimited list of tests to skip or empty string */ -#ifndef __WIN__ -static char skip_test[FN_REFLEN]= " lowercase_table3 , system_mysql_db_fix "; -#else -/* - The most ignore testes contain the calls of system command - - lowercase_table3 is disabled by Gerg - system_mysql_db_fix is disabled by Gerg - sp contains a command system - rpl_EE_error contains a command system - rpl_loaddatalocal contains a command system - ndb_autodiscover contains a command system - rpl_rotate_logs contains a command system - repair contains a command system - rpl_trunc_binlog contains a command system - mysqldump contains a command system - rpl000001 makes non-exit loop...temporary skiped -*/ -static char skip_test[FN_REFLEN]= -" lowercase_table3 ," -" system_mysql_db_fix ," -" sp ," -" rpl_EE_error ," -" rpl_loaddatalocal ," -" ndb_autodiscover ," -" rpl_rotate_logs ," -" repair ," -" rpl_trunc_binlog ," -" mysqldump ," -" rpl000001 ," - -" derived ," -" group_by ," -" select ," -" rpl000015 ," -" subselect "; -#endif -static char ignore_test[FN_REFLEN]= ""; - -static char bin_dir[FN_REFLEN]; -static char mysql_test_dir[FN_REFLEN]; -static char test_dir[FN_REFLEN]; -static char mysql_tmp_dir[FN_REFLEN]; -static char result_dir[FN_REFLEN]; -static char master_dir[FN_REFLEN]; -static char slave_dir[FN_REFLEN]; -static char slave1_dir[FN_REFLEN]; -static char slave2_dir[FN_REFLEN]; -static char lang_dir[FN_REFLEN]; -static char char_dir[FN_REFLEN]; - -static char mysqladmin_file[FN_REFLEN]; -static char mysqld_file[FN_REFLEN]; -static char mysqltest_file[FN_REFLEN]; -#ifndef __WIN__ -static char master_pid[FN_REFLEN]; -static char slave_pid[FN_REFLEN]; -static char sh_file[FN_REFLEN]= "/bin/sh"; -#else -static HANDLE master_pid; -static HANDLE slave_pid; -#endif - -static char master_opt[FN_REFLEN]= ""; -static char slave_opt[FN_REFLEN]= ""; - -static char slave_master_info[FN_REFLEN]= ""; - -static char master_init_script[FN_REFLEN]= ""; -static char slave_init_script[FN_REFLEN]= ""; - -/* OpenSSL */ -static char ca_cert[FN_REFLEN]; -static char server_cert[FN_REFLEN]; -static char server_key[FN_REFLEN]; -static char client_cert[FN_REFLEN]; -static char client_key[FN_REFLEN]; - -int total_skip= 0; -int total_pass= 0; -int total_fail= 0; -int total_test= 0; - -int total_ignore= 0; - -int use_openssl= FALSE; -int master_running= FALSE; -int slave_running= FALSE; -int skip_slave= TRUE; -int single_test= TRUE; - -int restarts= 0; - -FILE *log_fd= NULL; - -static char argument[FN_REFLEN]; - -/****************************************************************************** - - functions - -******************************************************************************/ - -/****************************************************************************** - - prototypes - -******************************************************************************/ - -void report_stats(); -void install_db(char *); -void mysql_install_db(); -void start_master(); -void start_slave(); -void mysql_start(); -void stop_slave(); -void stop_master(); -void mysql_stop(); -void mysql_restart(); -int read_option(char *, char *); -void run_test(char *); -void setup(char *); -void vlog(const char *, va_list); -void mlog(const char *, ...); -void log_info(const char *, ...); -void log_error(const char *, ...); -void log_errno(const char *, ...); -void die(const char *); -char *str_tok(char* dest, char *string, const char *delim); -#ifndef __WIN__ -void run_init_script(const char *script_name); -#endif -/****************************************************************************** - - report_stats() - - Report the gathered statistics. - -******************************************************************************/ - -void report_stats() -{ - if (total_fail == 0) - { - mlog("\nAll %d test(s) were successful.\n", total_test); - } - else - { - double percent= ((double)total_pass / total_test) * 100; - - mlog("\nFailed %u/%u test(s), %.02f%% successful.\n", - total_fail, total_test, percent); - mlog("\nThe .out and .err files in %s may give you some\n", result_dir); - mlog("hint of what when wrong.\n"); - mlog("\nIf you want to report this error, please first read " - "the documentation\n"); - mlog("at: http://www.mysql.com/doc/M/y/MySQL_test_suite.html\n"); - } -} - -/****************************************************************************** - - install_db() - - Install the a database. - -******************************************************************************/ - -void install_db(char *datadir) -{ - arg_list_t al; - int err; - char input[FN_REFLEN]; - char output[FN_REFLEN]; - char error[FN_REFLEN]; - - /* input file */ -#ifdef __NETWARE__ - snprintf(input, FN_REFLEN, "%s/bin/init_db.sql", base_dir); -#else - snprintf(input, FN_REFLEN, "%s/mysql-test/init_db.sql", base_dir); -#endif - snprintf(output, FN_REFLEN, "%s/install.out", datadir); - snprintf(error, FN_REFLEN, "%s/install.err", datadir); - - if (create_system_files(datadir,input, TRUE)) - die("Unable to create init_db.sql."); - /* args */ - init_args(&al); - add_arg(&al, mysqld_file); - add_arg(&al, "--no-defaults"); - add_arg(&al, "--bootstrap"); - add_arg(&al, "--skip-grant-tables"); - add_arg(&al, "--basedir=%s", base_dir); - add_arg(&al, "--datadir=%s", datadir); - add_arg(&al, "--skip-innodb"); - add_arg(&al, "--skip-ndbcluster"); - add_arg(&al, "--skip-bdb"); -#ifndef __NETWARE__ - add_arg(&al, "--character-sets-dir=%s", char_dir); - add_arg(&al, "--language=%s", lang_dir); -#endif -// added - add_arg(&al, "--default-character-set=latin1"); - add_arg(&al, "--innodb_data_file_path=ibdata1:50M"); - - /* spawn */ - if ((err= spawn(mysqld_file, &al, TRUE, input, output, error, NULL)) != 0) - { - die("Unable to create database."); - } - - /* free args */ - free_args(&al); -} - -/****************************************************************************** - - mysql_install_db() - - Install the test databases. - -******************************************************************************/ - -void mysql_install_db() -{ - char temp[FN_REFLEN]; - - /* var directory */ - snprintf(temp, FN_REFLEN, "%s/var", mysql_test_dir); - - /* create var directory */ -#ifndef __WIN__ - mkdir(temp, S_IRWXU); - /* create subdirectories */ - mlog("Creating test-suite folders...\n"); - snprintf(temp, FN_REFLEN, "%s/var/run", mysql_test_dir); - mkdir(temp, S_IRWXU); - snprintf(temp, FN_REFLEN, "%s/var/tmp", mysql_test_dir); - mkdir(temp, S_IRWXU); - snprintf(temp, FN_REFLEN, "%s/var/master-data", mysql_test_dir); - mkdir(temp, S_IRWXU); - snprintf(temp, FN_REFLEN, "%s/var/master-data/mysql", mysql_test_dir); - mkdir(temp, S_IRWXU); - snprintf(temp, FN_REFLEN, "%s/var/master-data/test", mysql_test_dir); - mkdir(temp, S_IRWXU); - - snprintf(temp, FN_REFLEN, "%s/var/slave-data", mysql_test_dir); - mkdir(temp, S_IRWXU); - snprintf(temp, FN_REFLEN, "%s/var/slave-data/mysql", mysql_test_dir); - mkdir(temp, S_IRWXU); - snprintf(temp, FN_REFLEN, "%s/var/slave-data/test", mysql_test_dir); - mkdir(temp, S_IRWXU); - - snprintf(temp, FN_REFLEN, "%s/var/slave1-data", mysql_test_dir); - mkdir(temp, S_IRWXU); - snprintf(temp, FN_REFLEN, "%s/var/slave1-data/mysql", mysql_test_dir); - mkdir(temp, S_IRWXU); - snprintf(temp, FN_REFLEN, "%s/var/slave1-data/test", mysql_test_dir); - mkdir(temp, S_IRWXU); - - snprintf(temp, FN_REFLEN, "%s/var/slave2-data", mysql_test_dir); - mkdir(temp, S_IRWXU); - snprintf(temp, FN_REFLEN, "%s/var/slave2-data/mysql", mysql_test_dir); - mkdir(temp, S_IRWXU); - snprintf(temp, FN_REFLEN, "%s/var/slave2-data/test", mysql_test_dir); - mkdir(temp, S_IRWXU); -#else - mkdir(temp); - /* create subdirectories */ - mlog("Creating test-suite folders...\n"); - snprintf(temp, FN_REFLEN, "%s/var/run", mysql_test_dir); - mkdir(temp); - snprintf(temp, FN_REFLEN, "%s/var/tmp", mysql_test_dir); - mkdir(temp); - snprintf(temp, FN_REFLEN, "%s/var/master-data", mysql_test_dir); - mkdir(temp); - snprintf(temp, FN_REFLEN, "%s/var/master-data/mysql", mysql_test_dir); - mkdir(temp); - snprintf(temp, FN_REFLEN, "%s/var/master-data/test", mysql_test_dir); - mkdir(temp); - snprintf(temp, FN_REFLEN, "%s/var/slave-data", mysql_test_dir); - mkdir(temp); - snprintf(temp, FN_REFLEN, "%s/var/slave-data/mysql", mysql_test_dir); - mkdir(temp); - snprintf(temp, FN_REFLEN, "%s/var/slave-data/test", mysql_test_dir); - mkdir(temp); -#endif - - /* install databases */ - mlog("Creating test databases for master... \n"); - install_db(master_dir); - mlog("Creating test databases for slave... \n"); - install_db(slave_dir); - install_db(slave1_dir); - install_db(slave2_dir); -} - -/****************************************************************************** - - start_master() - - Start the master server. - -******************************************************************************/ - -void start_master() -{ - arg_list_t al; - int err; - char master_out[FN_REFLEN]; - char master_err[FN_REFLEN]; - char temp2[FN_REFLEN]; - - /* remove old berkeley db log files that can confuse the server */ - removef("%s/log.*", master_dir); - - /* remove stale binary logs */ - removef("%s/var/log/*-bin.*", mysql_test_dir); - - /* remove stale binary logs */ - removef("%s/var/log/*.index", mysql_test_dir); - - /* remove master.info file */ - removef("%s/master.info", master_dir); - - /* remove relay files */ - removef("%s/var/log/*relay*", mysql_test_dir); - - /* remove relay-log.info file */ - removef("%s/relay-log.info", master_dir); - - /* init script */ - if (master_init_script[0] != 0) - { -#ifdef __NETWARE__ - /* TODO: use the scripts */ - if (strinstr(master_init_script, "repair_part2-master.sh") != 0) - { - FILE *fp; - - /* create an empty index file */ - snprintf(temp, FN_REFLEN, "%s/test/t1.MYI", master_dir); - fp= fopen(temp, "wb+"); - - fputs("1", fp); - - fclose(fp); - } -#elif !defined(__WIN__) - run_init_script(master_init_script); -#endif - } - - /* redirection files */ - snprintf(master_out, FN_REFLEN, "%s/var/run/master%u.out", - mysql_test_dir, restarts); - snprintf(master_err, FN_REFLEN, "%s/var/run/master%u.err", - mysql_test_dir, restarts); -#ifndef __WIN__ - snprintf(temp2,FN_REFLEN,"%s/var",mysql_test_dir); - mkdir(temp2,S_IRWXU); - snprintf(temp2,FN_REFLEN,"%s/var/log",mysql_test_dir); - mkdir(temp2,S_IRWXU); -#else - snprintf(temp2,FN_REFLEN,"%s/var",mysql_test_dir); - mkdir(temp2); - snprintf(temp2,FN_REFLEN,"%s/var/log",mysql_test_dir); - mkdir(temp2); -#endif - /* args */ - init_args(&al); - add_arg(&al, "%s", mysqld_file); - add_arg(&al, "--no-defaults"); - add_arg(&al, "--log-bin=%s/var/log/master-bin",mysql_test_dir); - add_arg(&al, "--server-id=1"); - add_arg(&al, "--basedir=%s", base_dir); - add_arg(&al, "--port=%u", master_port); -#if !defined(__NETWARE__) && !defined(__WIN__) - add_arg(&al, "--socket=%s",master_socket); -#endif - add_arg(&al, "--local-infile"); - add_arg(&al, "--core"); - add_arg(&al, "--log-bin-trust-function-creators"); - add_arg(&al, "--datadir=%s", master_dir); -#ifndef __WIN__ - add_arg(&al, "--pid-file=%s", master_pid); -#endif - add_arg(&al, "--character-sets-dir=%s", char_dir); - add_arg(&al, "--tmpdir=%s", mysql_tmp_dir); - add_arg(&al, "--language=%s", lang_dir); - - add_arg(&al, "--rpl-recovery-rank=1"); - add_arg(&al, "--init-rpl-role=master"); - add_arg(&al, "--default-character-set=latin1"); -// add_arg(&al, "--innodb_data_file_path=ibdata1:50M"); -#ifdef DEBUG /* only for debug builds */ - add_arg(&al, "--debug"); -#endif - - if (use_openssl) - { - add_arg(&al, "--ssl-ca=%s", ca_cert); - add_arg(&al, "--ssl-cert=%s", server_cert); - add_arg(&al, "--ssl-key=%s", server_key); - } - - /* $MASTER_40_ARGS */ - add_arg(&al, "--rpl-recovery-rank=1"); - add_arg(&al, "--init-rpl-role=master"); - - /* $SMALL_SERVER */ - add_arg(&al, "-O"); - add_arg(&al, "key_buffer_size=1M"); - add_arg(&al, "-O"); - add_arg(&al, "sort_buffer=256K"); - add_arg(&al, "-O"); - add_arg(&al, "max_heap_table_size=1M"); - - /* $EXTRA_MASTER_OPT */ - if (master_opt[0] != 0) - { - char *p; - - p= (char *)str_tok(argument, master_opt, " \t"); - if (!strstr(master_opt, "timezone")) - { - while (p) - { - add_arg(&al, "%s", p); - p= (char *)str_tok(argument, NULL, " \t"); - } - } - } - - /* remove the pid file if it exists */ -#ifndef __WIN__ - remove(master_pid); -#endif - - /* spawn */ -#ifdef __WIN__ - if ((err= spawn(mysqld_file, &al, FALSE, NULL, - master_out, master_err, &master_pid)) == 0) -#else - if ((err= spawn(mysqld_file, &al, FALSE, NULL, - master_out, master_err, master_pid)) == 0) -#endif - { - sleep_until_file_exists(master_pid); - - if ((err= wait_for_server_start(bin_dir, mysqladmin_file, user, password, - master_port, mysql_tmp_dir)) == 0) - { - master_running= TRUE; - } - else - { - log_error("The master server went down early."); - } - } - else - { - log_error("Unable to start master server."); - } - - /* free_args */ - free_args(&al); -} - -/****************************************************************************** - - start_slave() - - Start the slave server. - -******************************************************************************/ - -void start_slave() -{ - arg_list_t al; - int err; - char slave_out[FN_REFLEN]; - char slave_err[FN_REFLEN]; - - /* skip? */ - if (skip_slave) return; - - /* remove stale binary logs */ - removef("%s/*-bin.*", slave_dir); - - /* remove stale binary logs */ - removef("%s/*.index", slave_dir); - - /* remove master.info file */ - removef("%s/master.info", slave_dir); - - /* remove relay files */ - removef("%s/var/log/*relay*", mysql_test_dir); - - /* remove relay-log.info file */ - removef("%s/relay-log.info", slave_dir); - - /* init script */ - if (slave_init_script[0] != 0) - { -#ifdef __NETWARE__ - /* TODO: use the scripts */ - if (strinstr(slave_init_script, "rpl000016-slave.sh") != 0) - { - /* create empty master.info file */ - snprintf(temp, FN_REFLEN, "%s/master.info", slave_dir); - close(open(temp, O_WRONLY | O_CREAT,S_IRWXU|S_IRWXG|S_IRWXO)); - } - else if (strinstr(slave_init_script, "rpl000017-slave.sh") != 0) - { - FILE *fp; - - /* create a master.info file */ - snprintf(temp, FN_REFLEN, "%s/master.info", slave_dir); - fp= fopen(temp, "wb+"); - - fputs("master-bin.000001\n", fp); - fputs("4\n", fp); - fputs("127.0.0.1\n", fp); - fputs("replicate\n", fp); - fputs("aaaaaaaaaaaaaaab\n", fp); - fputs("9306\n", fp); - fputs("1\n", fp); - fputs("0\n", fp); - - fclose(fp); - } - else if (strinstr(slave_init_script, "rpl_rotate_logs-slave.sh") != 0) - { - /* create empty master.info file */ - snprintf(temp, FN_REFLEN, "%s/master.info", slave_dir); - close(open(temp, O_WRONLY | O_CREAT,S_IRWXU|S_IRWXG|S_IRWXO)); - } -#elif !defined(__WIN__) - run_init_script(slave_init_script); -#endif - } - - /* redirection files */ - snprintf(slave_out, FN_REFLEN, "%s/var/run/slave%u.out", - mysql_test_dir, restarts); - snprintf(slave_err, FN_REFLEN, "%s/var/run/slave%u.err", - mysql_test_dir, restarts); - - /* args */ - init_args(&al); - add_arg(&al, "%s", mysqld_file); - add_arg(&al, "--no-defaults"); - add_arg(&al, "--log-bin=slave-bin"); - add_arg(&al, "--relay_log=slave-relay-bin"); - add_arg(&al, "--basedir=%s", base_dir); -#if !defined(__NETWARE__) && !defined(__WIN__) - add_arg(&al, "--socket=%s",slave_socket); -#endif - add_arg(&al, "--port=%u", slave_port); - add_arg(&al, "--datadir=%s", slave_dir); -#ifndef __WIN__ - add_arg(&al, "--pid-file=%s", slave_pid); -#endif - add_arg(&al, "--character-sets-dir=%s", char_dir); - add_arg(&al, "--core"); - add_arg(&al, "--tmpdir=%s", mysql_tmp_dir); - add_arg(&al, "--language=%s", lang_dir); - - add_arg(&al, "--exit-info=256"); - add_arg(&al, "--log-slave-updates"); - add_arg(&al, "--init-rpl-role=slave"); - add_arg(&al, "--skip-innodb"); - add_arg(&al, "--skip-slave-start"); - add_arg(&al, "--slave-load-tmpdir=../../var/tmp"); - - add_arg(&al, "--report-user=%s", user); - add_arg(&al, "--report-host=127.0.0.1"); - add_arg(&al, "--report-port=%u", slave_port); - - add_arg(&al, "--master-retry-count=10"); - add_arg(&al, "-O"); - add_arg(&al, "slave_net_timeout=10"); - add_arg(&al, "--log-slave-updates"); - add_arg(&al, "--log=%s/var/log/slave.log", mysql_test_dir); - add_arg(&al, "--default-character-set=latin1"); - add_arg(&al, "--skip-ndbcluster"); - -#ifdef DEBUG /* only for debug builds */ - add_arg(&al, "--debug"); -#endif - - if (use_openssl) - { - add_arg(&al, "--ssl-ca=%s", ca_cert); - add_arg(&al, "--ssl-cert=%s", server_cert); - add_arg(&al, "--ssl-key=%s", server_key); - } - - /* slave master info */ - if (slave_master_info[0] != 0) - { - char *p; - - p= (char *)str_tok(argument, slave_master_info, " \t"); - - while (p) - { - add_arg(&al, "%s", p); - p= (char *)str_tok(argument, NULL, " \t"); - } - } - else - { - add_arg(&al, "--master-user=%s", user); - add_arg(&al, "--master-password=%s", password); - add_arg(&al, "--master-host=127.0.0.1"); - add_arg(&al, "--master-port=%u", master_port); - add_arg(&al, "--master-connect-retry=1"); - add_arg(&al, "--server-id=2"); - add_arg(&al, "--rpl-recovery-rank=2"); - } - - /* small server */ - add_arg(&al, "-O"); - add_arg(&al, "key_buffer_size=1M"); - add_arg(&al, "-O"); - add_arg(&al, "sort_buffer=256K"); - add_arg(&al, "-O"); - add_arg(&al, "max_heap_table_size=1M"); - - - /* opt args */ - if (slave_opt[0] != 0) - { - char *p; - - p= (char *)str_tok(argument, slave_opt, " \t"); - - while (p) - { - add_arg(&al, "%s", p); - p= (char *)str_tok(argument, NULL, " \t"); - } - } - - /* remove the pid file if it exists */ -#ifndef __WIN__ - remove(slave_pid); -#endif - /* spawn */ -#ifdef __WIN__ - if ((err= spawn(mysqld_file, &al, FALSE, NULL, - slave_out, slave_err, &slave_pid)) == 0) -#else - if ((err= spawn(mysqld_file, &al, FALSE, NULL, - slave_out, slave_err, slave_pid)) == 0) -#endif - { - sleep_until_file_exists(slave_pid); - - if ((err= wait_for_server_start(bin_dir, mysqladmin_file, user, password, - slave_port, mysql_tmp_dir)) == 0) - { - slave_running= TRUE; - } - else - { - log_error("The slave server went down early."); - } - } - else - { - log_error("Unable to start slave server."); - } - - /* free args */ - free_args(&al); -} - -/****************************************************************************** - - mysql_start() - - Start the mysql servers. - -******************************************************************************/ - -void mysql_start() -{ - - - printf("loading master...\r"); - start_master(); - - printf("loading slave...\r"); - start_slave(); - - /* activate the test screen */ -#ifdef __NETWARE__ - ActivateScreen(getscreenhandle()); -#endif -} - -/****************************************************************************** - - stop_slave() - - Stop the slave server. - -******************************************************************************/ - -void stop_slave() -{ - int err; - - /* running? */ - if (!slave_running) return; - - /* stop */ - if ((err= stop_server(bin_dir, mysqladmin_file, user, password, - slave_port, slave_pid, mysql_tmp_dir)) == 0) - { - slave_running= FALSE; - } - else - { - log_error("Unable to stop slave server."); - } -} - -/****************************************************************************** - - stop_master() - - Stop the master server. - -******************************************************************************/ - -void stop_master() -{ - int err; - - /* running? */ - if (!master_running) return; - - if ((err= stop_server(bin_dir, mysqladmin_file, user, password, - master_port, master_pid, mysql_tmp_dir)) == 0) - { - master_running= FALSE; - } - else - { - log_error("Unable to stop master server."); - } -} - -/****************************************************************************** - - mysql_stop() - - Stop the mysql servers. - -******************************************************************************/ - -void mysql_stop() -{ - - stop_master(); - - stop_slave(); - - /* activate the test screen */ -#ifdef __NETWARE__ - ActivateScreen(getscreenhandle()); -#endif -} - -/****************************************************************************** - - mysql_restart() - - Restart the mysql servers. - -******************************************************************************/ - -void mysql_restart() -{ -/* log_info("Restarting the MySQL server(s): %u", ++restarts); */ - - mysql_stop(); - - mlog(DASH); - sleep(1); - - mysql_start(); -} - -/****************************************************************************** - - read_option() - - Read the option file. - -******************************************************************************/ - -int read_option(char *opt_file, char *opt) -{ - int fd, err; - char *p; - char buf[FN_REFLEN]; - - /* copy current option */ - strncpy(buf, opt, FN_REFLEN); - - /* open options file */ - fd= open(opt_file, O_RDONLY); - err= read(fd, opt, FN_REFLEN); - close(fd); - - if (err > 0) - { - /* terminate string */ - if ((p= strchr(opt, '\n')) != NULL) - { - *p= 0; - - /* check for a '\r' */ - if ((p= strchr(opt, '\r')) != NULL) - { - *p= 0; - } - } - else - { - opt[err]= 0; - } - - /* check for $MYSQL_TEST_DIR */ - if ((p= strstr(opt, "$MYSQL_TEST_DIR")) != NULL) - { - char temp[FN_REFLEN]; - - *p= 0; - - strcpy(temp, p + strlen("$MYSQL_TEST_DIR")); - strcat(opt, mysql_test_dir); - strcat(opt, temp); - } - /* Check for double backslash and replace it with single bakslash */ - if ((p= strstr(opt, "\\\\")) != NULL) - { - /* bmove is guranteed to work byte by byte */ - bmove(p, p+1, strlen(p)+1); - } - } - else - { - /* clear option */ - *opt= 0; - } - - /* compare current option with previous */ - return strcmp(opt, buf); -} - -/****************************************************************************** - - run_test() - - Run the given test case. - -******************************************************************************/ - -void run_test(char *test) -{ - char temp[FN_REFLEN]; - const char *rstr; - int skip= FALSE, ignore=FALSE; - int restart= FALSE; - int flag= FALSE; - struct stat info; - - /* skip tests in the skip list */ - snprintf(temp, FN_REFLEN, " %s ", test); - skip= (strinstr(skip_test, temp) != 0); - if (skip == FALSE) - ignore= (strinstr(ignore_test, temp) != 0); - - snprintf(master_init_script, FN_REFLEN, "%s/%s-master.sh", test_dir, test); - snprintf(slave_init_script, FN_REFLEN, "%s/%s-slave.sh", test_dir, test); -#ifdef __WIN__ - if (! stat(master_init_script, &info)) - skip= TRUE; - if (!stat(slave_init_script, &info)) - skip= TRUE; -#endif - if (ignore) - { - /* show test */ - mlog("%-46s ", test); - - /* ignore */ - rstr= TEST_IGNORE; - ++total_ignore; - } - else if (!skip) /* skip test? */ - { - char test_file[FN_REFLEN]; - char master_opt_file[FN_REFLEN]; - char slave_opt_file[FN_REFLEN]; - char slave_master_info_file[FN_REFLEN]; - char result_file[FN_REFLEN]; - char reject_file[FN_REFLEN]; - char out_file[FN_REFLEN]; - char err_file[FN_REFLEN]; - int err; - arg_list_t al; - /* skip slave? */ - flag= skip_slave; - skip_slave= (strncmp(test, "rpl", 3) != 0); - if (flag != skip_slave) restart= TRUE; - - /* create files */ - snprintf(master_opt_file, FN_REFLEN, "%s/%s-master.opt", test_dir, test); - snprintf(slave_opt_file, FN_REFLEN, "%s/%s-slave.opt", test_dir, test); - snprintf(slave_master_info_file, FN_REFLEN, "%s/%s.slave-mi", - test_dir, test); - snprintf(reject_file, FN_REFLEN, "%s/%s%s", - result_dir, test, REJECT_SUFFIX); - snprintf(out_file, FN_REFLEN, "%s/%s%s", result_dir, test, OUT_SUFFIX); - snprintf(err_file, FN_REFLEN, "%s/%s%s", result_dir, test, ERR_SUFFIX); - - /* netware specific files */ - snprintf(test_file, FN_REFLEN, "%s/%s%s", test_dir, test, NW_TEST_SUFFIX); - if (stat(test_file, &info)) - { - snprintf(test_file, FN_REFLEN, "%s/%s%s", test_dir, test, TEST_SUFFIX); - if (access(test_file,0)) - { - printf("Invalid test name %s, %s file not found\n",test,test_file); - return; - } - } - - snprintf(result_file, FN_REFLEN, "%s/%s%s", - result_dir, test, NW_RESULT_SUFFIX); - if (stat(result_file, &info)) - { - snprintf(result_file, FN_REFLEN, "%s/%s%s", - result_dir, test, RESULT_SUFFIX); - } - - /* init scripts */ - if (stat(master_init_script, &info)) - master_init_script[0]= 0; - else - restart= TRUE; - - if (stat(slave_init_script, &info)) - slave_init_script[0]= 0; - else - restart= TRUE; - - /* read options */ - if (read_option(master_opt_file, master_opt)) restart= TRUE; - if (read_option(slave_opt_file, slave_opt)) restart= TRUE; - if (read_option(slave_master_info_file, slave_master_info)) restart= TRUE; - - /* cleanup previous run */ - remove(reject_file); - remove(out_file); - remove(err_file); - - /* start or restart? */ - if (!master_running) mysql_start(); - else if (restart) mysql_restart(); - - /* show test */ - mlog("%-46s ", test); - - /* args */ - init_args(&al); - add_arg(&al, "%s", mysqltest_file); - add_arg(&al, "--no-defaults"); - add_arg(&al, "--port=%u", master_port); -#if !defined(__NETWARE__) && !defined(__WIN__) - add_arg(&al, "--socket=%s", master_socket); - add_arg(&al, "--tmpdir=%s", mysql_tmp_dir); -#endif - add_arg(&al, "--database=%s", db); - add_arg(&al, "--user=%s", user); - add_arg(&al, "--password=%s", password); - add_arg(&al, "--silent"); - add_arg(&al, "--basedir=%s/", mysql_test_dir); - add_arg(&al, "--host=127.0.0.1"); - add_arg(&al, "--skip-safemalloc"); - add_arg(&al, "-v"); - add_arg(&al, "-R"); - add_arg(&al, "%s", result_file); - - - if (use_openssl) - { - add_arg(&al, "--ssl-ca=%s", ca_cert); - add_arg(&al, "--ssl-cert=%s", client_cert); - add_arg(&al, "--ssl-key=%s", client_key); - } - - /* spawn */ - err= spawn(mysqltest_file, &al, TRUE, test_file, out_file, err_file, NULL); - /* free args */ - free_args(&al); - - remove_empty_file(out_file); - remove_empty_file(err_file); - - if (err == 0) - { - /* pass */ - rstr= TEST_PASS; - ++total_pass; - - /* increment total */ - ++total_test; - } - else if (err == 2) - { - /* skip */ - rstr= TEST_SKIP; - ++total_skip; - } - else if (err == 1) - { - /* fail */ - rstr= TEST_FAIL; - ++total_fail; - - /* increment total */ - ++total_test; - } - else - { - rstr= TEST_BAD; - } - } - else /* early skips */ - { - /* show test */ - mlog("%-46s ", test); - - /* skip */ - rstr= TEST_SKIP; - ++total_skip; - } - - /* result */ - mlog("%-14s\n", rstr); -} - -/****************************************************************************** - - vlog() - - Log the message. - -******************************************************************************/ - -void vlog(const char *format, va_list ap) -{ - vfprintf(stdout, format, ap); - fflush(stdout); - - if (log_fd) - { - vfprintf(log_fd, format, ap); - fflush(log_fd); - } -} - -/****************************************************************************** - - log() - - Log the message. - -******************************************************************************/ - -void mlog(const char *format, ...) -{ - va_list ap; - - va_start(ap, format); - - vlog(format, ap); - - va_end(ap); -} - -/****************************************************************************** - - log_info() - - Log the given information. - -******************************************************************************/ - -void log_info(const char *format, ...) -{ - va_list ap; - - va_start(ap, format); - - mlog("-- INFO : "); - vlog(format, ap); - mlog("\n"); - - va_end(ap); -} - -/****************************************************************************** - - log_error() - - Log the given error. - -******************************************************************************/ - -void log_error(const char *format, ...) -{ - va_list ap; - - va_start(ap, format); - - mlog("-- ERROR: "); - vlog(format, ap); - mlog("\n"); - - va_end(ap); -} - -/****************************************************************************** - - log_errno() - - Log the given error and errno. - -******************************************************************************/ - -void log_errno(const char *format, ...) -{ - va_list ap; - - va_start(ap, format); - - mlog("-- ERROR: (%003u) ", errno); - vlog(format, ap); - mlog("\n"); - - va_end(ap); -} - -/****************************************************************************** - - die() - - Exit the application. - -******************************************************************************/ - -void die(const char *msg) -{ - log_error(msg); -#ifdef __NETWARE__ - pressanykey(); -#endif - exit(-1); -} - -/****************************************************************************** - - setup() - - Setup the mysql test enviornment. - -******************************************************************************/ - -void setup(char *file __attribute__((unused))) -{ - char temp[FN_REFLEN]; -#if defined(__WIN__) || defined(__NETWARE__) - char file_path[FN_REFLEN*2]; -#endif - char *p; - int position; - - /* set the timezone for the timestamp test */ -#ifdef __WIN__ - _putenv( "TZ=GMT-3" ); -#else - putenv((char *)"TZ=GMT-3"); -#endif - /* find base dir */ -#ifdef __NETWARE__ - strcpy(temp, strlwr(file)); - while ((p= strchr(temp, '\\')) != NULL) *p= '/'; -#else - getcwd(temp, FN_REFLEN); - position= strlen(temp); - temp[position]= '/'; - temp[position+1]= 0; -#ifdef __WIN__ - while ((p= strchr(temp, '\\')) != NULL) *p= '/'; -#endif -#endif - - if ((position= strinstr(temp, "/mysql-test/")) != 0) - { - p= temp + position - 1; - *p= 0; - strcpy(base_dir, temp); - } - - log_info("Currect directory: %s",base_dir); - -#ifdef __NETWARE__ - /* setup paths */ - snprintf(bin_dir, FN_REFLEN, "%s/bin", base_dir); - snprintf(mysql_test_dir, FN_REFLEN, "%s/mysql-test", base_dir); - snprintf(test_dir, FN_REFLEN, "%s/t", mysql_test_dir); - snprintf(mysql_tmp_dir, FN_REFLEN, "%s/var/tmp", mysql_test_dir); - snprintf(result_dir, FN_REFLEN, "%s/r", mysql_test_dir); - snprintf(master_dir, FN_REFLEN, "%s/var/master-data", mysql_test_dir); - snprintf(slave_dir, FN_REFLEN, "%s/var/slave-data", mysql_test_dir); - snprintf(lang_dir, FN_REFLEN, "%s/share/english", base_dir); - snprintf(char_dir, FN_REFLEN, "%s/share/charsets", base_dir); - -#ifdef HAVE_OPENSSL - use_openssl= TRUE; -#endif /* HAVE_OPENSSL */ - - /* OpenSSL paths */ - snprintf(ca_cert, FN_REFLEN, "%s/std_data/cacert.pem", mysql_test_dir); - snprintf(server_cert, FN_REFLEN, "%s/std_data/server-cert.pem", mysql_test_dir); - snprintf(server_key, FN_REFLEN, "%s/std_data/server-key.pem", mysql_test_dir); - snprintf(client_cert, FN_REFLEN, "%s/std_data/client-cert.pem", mysql_test_dir); - snprintf(client_key, FN_REFLEN, "%s/std_data/client-key.pem", mysql_test_dir); - - /* setup files */ - snprintf(mysqld_file, FN_REFLEN, "%s/mysqld", bin_dir); - snprintf(mysqltest_file, FN_REFLEN, "%s/mysqltest", bin_dir); - snprintf(mysqladmin_file, FN_REFLEN, "%s/mysqladmin", bin_dir); - snprintf(master_pid, FN_REFLEN, "%s/var/run/master.pid", mysql_test_dir); - snprintf(slave_pid, FN_REFLEN, "%s/var/run/slave.pid", mysql_test_dir); -#elif __WIN__ - /* setup paths */ -#ifdef _DEBUG - snprintf(bin_dir, FN_REFLEN, "%s/client_debug", base_dir); -#else - snprintf(bin_dir, FN_REFLEN, "%s/client_release", base_dir); -#endif - snprintf(mysql_test_dir, FN_REFLEN, "%s/mysql-test", base_dir); - snprintf(test_dir, FN_REFLEN, "%s/t", mysql_test_dir); - snprintf(mysql_tmp_dir, FN_REFLEN, "%s/var/tmp", mysql_test_dir); - snprintf(result_dir, FN_REFLEN, "%s/r", mysql_test_dir); - snprintf(master_dir, FN_REFLEN, "%s/var/master-data", mysql_test_dir); - snprintf(slave_dir, FN_REFLEN, "%s/var/slave-data", mysql_test_dir); - snprintf(lang_dir, FN_REFLEN, "%s/share/english", base_dir); - snprintf(char_dir, FN_REFLEN, "%s/share/charsets", base_dir); - -#ifdef HAVE_OPENSSL - use_openssl= TRUE; -#endif /* HAVE_OPENSSL */ - - /* OpenSSL paths */ - snprintf(ca_cert, FN_REFLEN, "%s/std_data/cacert.pem", mysql_test_dir); - snprintf(server_cert, FN_REFLEN, "%s/std_data/server-cert.pem", mysql_test_dir); - snprintf(server_key, FN_REFLEN, "%s/std_data/server-key.pem", mysql_test_dir); - snprintf(client_cert, FN_REFLEN, "%s/std_data/client-cert.pem", mysql_test_dir); - snprintf(client_key, FN_REFLEN, "%s/std_data/client-key.pem", mysql_test_dir); - - /* setup files */ -#ifdef _DEBUG - snprintf(mysqld_file, FN_REFLEN, "%s/mysqld-debug.exe", bin_dir); -#else - snprintf(mysqld_file, FN_REFLEN, "%s/mysqld.exe", bin_dir); -#endif - snprintf(mysqltest_file, FN_REFLEN, "%s/mysqltest.exe", bin_dir); - snprintf(mysqladmin_file, FN_REFLEN, "%s/mysqladmin.exe", bin_dir); -#else - /* setup paths */ - snprintf(bin_dir, FN_REFLEN, "%s/client", base_dir); - snprintf(mysql_test_dir, FN_REFLEN, "%s/mysql-test", base_dir); - snprintf(test_dir, FN_REFLEN, "%s/t", mysql_test_dir); - snprintf(mysql_tmp_dir, FN_REFLEN, "%s/var/tmp", mysql_test_dir); - snprintf(result_dir, FN_REFLEN, "%s/r", mysql_test_dir); - snprintf(master_dir, FN_REFLEN, "%s/var/master-data", mysql_test_dir); - snprintf(slave_dir, FN_REFLEN, "%s/var/slave-data", mysql_test_dir); - snprintf(slave1_dir, FN_REFLEN, "%s/var/slave1-data", mysql_test_dir); - snprintf(slave2_dir, FN_REFLEN, "%s/var/slave2-data", mysql_test_dir); - snprintf(lang_dir, FN_REFLEN, "%s/sql/share/english", base_dir); - snprintf(char_dir, FN_REFLEN, "%s/sql/share/charsets", base_dir); - -#ifdef HAVE_OPENSSL - use_openssl= TRUE; -#endif /* HAVE_OPENSSL */ - - /* OpenSSL paths */ - snprintf(ca_cert, FN_REFLEN, "%s/std_data/cacert.pem", mysql_test_dir); - snprintf(server_cert, FN_REFLEN, "%s/std_data/server-cert.pem", mysql_test_dir); - snprintf(server_key, FN_REFLEN, "%s/std_data/server-key.pem", mysql_test_dir); - snprintf(client_cert, FN_REFLEN, "%s/std_data/client-cert.pem", mysql_test_dir); - snprintf(client_key, FN_REFLEN, "%s/std_data/client-key.pem", mysql_test_dir); - - /* setup files */ - snprintf(mysqld_file, FN_REFLEN, "%s/sql/mysqld", base_dir); - snprintf(mysqltest_file, FN_REFLEN, "%s/mysqltest", bin_dir); - snprintf(mysqladmin_file, FN_REFLEN, "%s/mysqladmin", bin_dir); - snprintf(master_pid, FN_REFLEN, "%s/var/run/master.pid", mysql_test_dir); - snprintf(slave_pid, FN_REFLEN, "%s/var/run/slave.pid", mysql_test_dir); - - snprintf(master_socket,FN_REFLEN, "%s/var/tmp/master.sock", mysql_test_dir); - snprintf(slave_socket,FN_REFLEN, "%s/var/tmp/slave.sock", mysql_test_dir); - -#endif - /* create log file */ - snprintf(temp, FN_REFLEN, "%s/mysql-test-run.log", mysql_test_dir); - if ((log_fd= fopen(temp, "w+")) == NULL) - { - log_errno("Unable to create log file."); - } - - /* prepare skip test list */ - while ((p= strchr(skip_test, ',')) != NULL) *p= ' '; - strcpy(temp, strlwr(skip_test)); - snprintf(skip_test, FN_REFLEN, " %s ", temp); - - /* environment */ -#ifdef __NETWARE__ - setenv("MYSQL_TEST_DIR", mysql_test_dir, 1); - snprintf(file_path, FN_REFLEN*2, - "%s/client/mysqldump --no-defaults -u root --port=%u", - bin_dir, master_port); - setenv("MYSQL_DUMP", file_path, 1); - snprintf(file_path, FN_REFLEN*2, - "%s/client/mysqlbinlog --no-defaults --local-load=%s", - bin_dir, mysql_tmp_dir); - setenv("MYSQL_BINLOG", file_path, 1); -#elif __WIN__ - snprintf(file_path,FN_REFLEN,"MYSQL_TEST_DIR=%s",mysql_test_dir); - _putenv(file_path); - snprintf(file_path, FN_REFLEN*2, - "MYSQL_DUMP=%s/mysqldump.exe --no-defaults -uroot --port=%u", - bin_dir, master_port); - _putenv(file_path); - snprintf(file_path, FN_REFLEN*2, - "MYSQL_BINLOG=%s/mysqlbinlog.exe --no-defaults --local-load=%s", - bin_dir, mysql_tmp_dir); - _putenv(file_path); - - snprintf(file_path, FN_REFLEN*2, - "TESTS_BINDIR=%s/tests", base_dir); - _putenv(file_path); - - snprintf(file_path, FN_REFLEN*2, - "CHARSETSDIR=%s/sql/share/charsets", base_dir); - _putenv(file_path); - - snprintf(file_path, FN_REFLEN*2, - "MYSQL=%s/mysql --port=%u ", - bin_dir, master_port); - _putenv(file_path); - - snprintf(file_path, FN_REFLEN*2, - "MYSQL_FIX_SYSTEM_TABLES=%s/scripts/mysql_fix_privilege_tables --no-defaults " - "--host=localhost --port=%u " - "--basedir=%s --bindir=%s --verbose", - base_dir,master_port, base_dir, bin_dir); - _putenv(file_path); - - snprintf(file_path, FN_REFLEN*2, - "NDB_TOOLS_DIR=%s/ndb/tools", base_dir); - _putenv(file_path); - - snprintf(file_path, FN_REFLEN*2, - "CLIENT_BINDIR=%s", bin_dir); - _putenv(file_path); - - snprintf(file_path, FN_REFLEN*2, - "MYSQL_CLIENT_TEST=%s/tests/mysql_client_test --no-defaults --testcase " - "--user=root --port=%u --silent", - base_dir, master_port); - _putenv(file_path); - -#else - { - static char env_MYSQL_TEST_DIR[FN_REFLEN*2]; - static char env_MYSQL_DUMP[FN_REFLEN*2]; - static char env_MYSQL_BINLOG[FN_REFLEN*2]; - static char env_MASTER_MYSOCK[FN_REFLEN*2]; - static char env_TESTS_BINDIR[FN_REFLEN*2]; - static char env_CHARSETSDIR[FN_REFLEN*2]; - static char env_MYSQL[FN_REFLEN*2]; - static char env_MYSQL_FIX_SYSTEM_TABLES[FN_REFLEN*2]; - static char env_CLIENT_BINDIR[FN_REFLEN*2]; - static char env_MYSQL_CLIENT_TEST[FN_REFLEN*2]; - static char env_NDB_TOOLS_DIR[FN_REFLEN*2]; - static char env_NDB_MGM[FN_REFLEN*2]; - static char env_NDB_BACKUP_DIR[FN_REFLEN*2]; - static char env_NDB_TOOLS_OUTPUT[FN_REFLEN*2]; - - snprintf(env_MYSQL_TEST_DIR,FN_REFLEN*2, - "MYSQL_TEST_DIR=%s",mysql_test_dir); - putenv(env_MYSQL_TEST_DIR); - - snprintf(env_MYSQL_DUMP, FN_REFLEN*2,"MYSQL_DUMP=%s/mysqldump --no-defaults " - "-uroot --port=%u --socket=%s ", - bin_dir, master_port, master_socket); - putenv(env_MYSQL_DUMP); - - snprintf(env_MYSQL_BINLOG, FN_REFLEN*2, - "MYSQL_BINLOG=%s/mysqlbinlog --no-defaults --local-load=%s -uroot ", - bin_dir, mysql_tmp_dir); - putenv(env_MYSQL_BINLOG); - - snprintf(env_MASTER_MYSOCK, FN_REFLEN*2, - "MASTER_MYSOCK=%s", master_socket); - putenv(env_MASTER_MYSOCK); - - snprintf(env_TESTS_BINDIR, FN_REFLEN*2, - "TESTS_BINDIR=%s/tests", base_dir); - putenv(env_TESTS_BINDIR); - - snprintf(env_CHARSETSDIR, FN_REFLEN*2, - "CHARSETSDIR=%s/sql/share/charsets", base_dir); - putenv(env_CHARSETSDIR); - - snprintf(env_MYSQL, FN_REFLEN*2, - "MYSQL=%s/mysql --port=%u --socket=%s -uroot ", - bin_dir, master_port, master_socket); - putenv(env_MYSQL); - - snprintf(env_MYSQL_FIX_SYSTEM_TABLES, FN_REFLEN*2, - "MYSQL_FIX_SYSTEM_TABLES=%s/scripts/mysql_fix_privilege_tables --no-defaults " - "--host=localhost --port=%u --socket=%s " - "--basedir=%s --bindir=%s --verbose -uroot ", - base_dir,master_port, master_socket, base_dir, bin_dir); - putenv(env_MYSQL_FIX_SYSTEM_TABLES); - - - snprintf(env_CLIENT_BINDIR, FN_REFLEN*2, - "CLIENT_BINDIR=%s", bin_dir); - putenv(env_CLIENT_BINDIR); - - snprintf(env_MYSQL_CLIENT_TEST, FN_REFLEN*2, - "MYSQL_CLIENT_TEST=%s/tests/mysql_client_test --no-defaults --testcase " - "--user=root --socket=%s --port=%u --silent", - base_dir, master_socket, master_port); - putenv(env_MYSQL_CLIENT_TEST); - - // NDB - - snprintf(env_NDB_TOOLS_DIR, FN_REFLEN*2, - "NDB_TOOLS_DIR=%s/ndb/tools", base_dir); - putenv(env_NDB_TOOLS_DIR); - - snprintf(env_NDB_MGM, FN_REFLEN*2, - "NDB_MGM=%s/ndb/src/mgmclient/ndb_mgm", base_dir); - putenv(env_NDB_MGM); - - //NDBCLUSTER_PORT=9350 - snprintf(env_NDB_BACKUP_DIR, FN_REFLEN*2, - "NDB_BACKUP_DIR=%s/var/ndbcluster-%i", mysql_test_dir, 9350); - putenv(env_NDB_BACKUP_DIR); - - snprintf(env_NDB_TOOLS_OUTPUT, FN_REFLEN*2, - "NDB_TOOLS_OUTPUT=%s/var/log/ndb_tools.log", mysql_test_dir); - putenv(env_NDB_TOOLS_OUTPUT); - - putenv((char *)"NDB_STATUS_OK=1"); - -// NDB_MGM="$BASEDIR/ndb/src/mgmclient/ndb_mgm" -// NDB_BACKUP_DIR=$MYSQL_TEST_DIR/var/ndbcluster-$NDBCLUSTER_PORT -// NDB_TOOLS_OUTPUT=$MYSQL_TEST_DIR/var/log/ndb_tools.log - } - -#endif - -#ifndef __WIN__ - putenv((char *)"MASTER_MYPORT=9306"); - putenv((char *)"SLAVE_MYPORT=9307"); - putenv((char *)"MYSQL_TCP_PORT=3306"); - -#else - _putenv("MASTER_MYPORT=9306"); - _putenv("SLAVE_MYPORT=9307"); - _putenv("MYSQL_TCP_PORT=3306"); -#endif - -} - -/* - Compare names of testes for right order -*/ -int compare( const void *arg1, const void *arg2 ) -{ - return sting_compare_func( * ( char** ) arg1, * ( char** ) arg2 ); -} - - - -/****************************************************************************** - - main() - -******************************************************************************/ - -int main(int argc, char **argv) -{ - int is_ignore_list= 0; - char **names= 0; - char **testes= 0; - int name_index; - int index; - char var_dir[FN_REFLEN]; - /* setup */ - setup(argv[0]); - - /* delete all file in var */ - snprintf(var_dir,FN_REFLEN,"%s/var",mysql_test_dir); - del_tree(var_dir); - - /* - The --ignore option is comma saperated list of test cases to skip and - should be very first command line option to the test suite. - - The usage is now: - mysql_test_run --ignore=test1,test2 test3 test4 - where test1 and test2 are test cases to ignore - and test3 and test4 are test cases to run. - */ - if (argc >= 2 && !strnicmp(argv[1], "--ignore=", sizeof("--ignore=")-1)) - { - char *temp, *token; - temp= strdup(strchr(argv[1],'=') + 1); - for (token=str_tok(argument, temp, ","); token != NULL; - token=str_tok(argument, NULL, ",")) - { - if (strlen(ignore_test) + strlen(token) + 2 <= FN_REFLEN-1) - sprintf(ignore_test+strlen(ignore_test), " %s ", token); - else - { - free(temp); - die("ignore list too long."); - } - } - free(temp); - is_ignore_list= 1; - } - /* header */ -#ifndef __WIN__ - mlog("MySQL Server %s, for %s (%s)\n\n", VERSION, SYSTEM_TYPE, MACHINE_TYPE); -#else - mlog("MySQL Server ---, for %s (%s)\n\n", SYSTEM_TYPE, MACHINE_TYPE); -#endif - - mlog("Initializing Tests...\n"); - - /* install test databases */ - mysql_install_db(); - - mlog("Starting Tests...\n"); - - mlog("\n"); - mlog(HEADER); - mlog(DASH); - - if ( argc > 1 + is_ignore_list ) - { - int i; - - /* single test */ - single_test= TRUE; - - for (i= 1 + is_ignore_list; i < argc; i++) - { - /* run given test */ - run_test(argv[i]); - } - } - else - { - /* run all tests */ - testes= malloc(MAX_COUNT_TESTES*sizeof(void*)); - if (!testes) - die("can not allcate memory for sorting"); - names= testes; - name_index= 0; -#ifndef __WIN__ - struct dirent *entry; - DIR *parent; - char test[FN_LEN]; - int position; - - /* FIXME are we sure the list is sorted if using readdir()? */ - if ((parent= opendir(test_dir)) == NULL) /* Not thread safe */ - die("Unable to open tests directory."); - else - { - while ((entry= readdir(parent)) != NULL) /* Not thread safe */ - { - strcpy(test, strlwr(entry->d_name)); - /* find the test suffix */ - if ((position= strinstr(test, TEST_SUFFIX)) != 0) - { - if (name_index < MAX_COUNT_TESTES) - { - /* null terminate at the suffix */ - *(test + position - 1)= '\0'; - /* insert test */ - *names= malloc(FN_REFLEN); - strcpy(*names,test); - names++; - name_index++; - } - else - die("can not sort files, array is overloaded"); - } - } - closedir(parent); - } -#else - { - struct _finddata_t dir; - int* handle; - char test[FN_LEN]; - char mask[FN_REFLEN]; - int position; - - /* single test */ - single_test= FALSE; - - snprintf(mask,FN_REFLEN,"%s/*.test",test_dir); - - if ((handle=_findfirst(mask,&dir)) == -1L) - { - die("Unable to open tests directory."); - } - - - do - { - if (!(dir.attrib & _A_SUBDIR)) - { - strcpy(test, strlwr(dir.name)); - - /* find the test suffix */ - if ((position= strinstr(test, TEST_SUFFIX)) != 0) - { - if (name_index < MAX_COUNT_TESTES) - { - /* null terminate at the suffix */ - *(test + position - 1)= '\0'; - /* insert test */ - *names= malloc(FN_REFLEN); - strcpy(*names,test); - names++; - name_index++; - } - else - die("can not sort files, array is overloaded"); - } - } - }while (_findnext(handle,&dir) == 0); - - _findclose(handle); - } -#endif - qsort( (void *)testes, name_index, sizeof( char * ), compare ); - - for (index= 0; index < name_index; index++) - { - run_test(testes[index]); - free(testes[index]); - } - - free(testes); - } - - /* stop server */ - mysql_stop(); - - mlog(DASH); - mlog("\n"); - - mlog("Ending Tests...\n"); - - /* report stats */ - report_stats(); - - /* close log */ - if (log_fd) fclose(log_fd); - - /* keep results up */ -#ifdef __NETWARE__ - pressanykey(); -#endif - return 0; -} - - -/* - Synopsis: - This function breaks the string into a sequence of tokens. The difference - between this function and strtok is that it respects the quoted string i.e. - it skips any delimiter character within the quoted part of the string. - It return tokens by eliminating quote character. It modifies the input string - passed. It will work with whitespace delimeter but may not work properly with - other delimeter. If the delimeter will contain any quote character, then - function will not tokenize and will return null string. - e.g. if input string is - --init-slave="set global max_connections=500" --skip-external-locking - then the output will two string i.e. - --init-slave=set global max_connections=500 - --skip-external-locking - -Arguments: - string: input string - delim: set of delimiter character -Output: - return the null terminated token of NULL. -*/ -char *str_tok(char* dest, char *string, const char *delim) -{ - char *token; - char *ptr_end_token= NULL; - char *ptr_quote= NULL; - char *ptr_token= NULL; - int count_quotes= 0; - - *dest = '\0'; - if (strchr(delim,'\'') || strchr(delim,'\"')) - return NULL; - - token= (char*)strtok(string, delim); - if (token) - { - /* double quote is found */ - if (strchr(token,'\"')) - { - do - { - if (count_quotes & 1) - { - if (*dest == '\0') - sprintf(dest,"%s", ptr_token); - else - sprintf(dest,"%s %s", dest, ptr_token); - ptr_token= (char*)strtok(NULL, delim); - if (!ptr_token) - break; - } - else - { - ptr_token= token; - } - if (ptr_quote = strchr(ptr_token,'\"')) - { - ptr_end_token= ptr_token + strlen(ptr_token); - do - { -#ifndef __WIN__ - bmove(ptr_quote, ptr_quote+1, ptr_end_token - ptr_quote); -#endif - count_quotes++; - } while (ptr_quote != NULL && (ptr_quote = strchr(ptr_quote+1,'\"'))); - } - /* there are unpair quotes we have to search next quote*/ - } while (count_quotes & 1); - if (ptr_token != NULL) - { - if (*dest == '\0') - sprintf(dest,"%s", ptr_token); - else - sprintf(dest,"%s %s",dest,ptr_token); - } - } - else - { - sprintf(dest,"%s",token); - } - } - return token ? dest : NULL; -} - -#ifndef __WIN__ -/* - Synopsis: - This function run scripts files on Linux and Netware - -Arguments: - script_name: name of script file - -Output: - nothing -*/ - -void run_init_script(const char *script_name) -{ - arg_list_t al; - int err; - - /* args */ - init_args(&al); - add_arg(&al, sh_file); - add_arg(&al, script_name); - - /* spawn */ - if ((err= spawn(sh_file, &al, TRUE, NULL, NULL, NULL, NULL)) != 0) - { - die("Unable to run script."); - } - - /* free args */ - free_args(&al); -} -#endif diff --git a/mysql-test/std_data/cacert.pem b/mysql-test/std_data/cacert.pem new file mode 100644 index 00000000000..a63dae57767 --- /dev/null +++ b/mysql-test/std_data/cacert.pem @@ -0,0 +1,21 @@ +-----BEGIN CERTIFICATE----- +MIIDcTCCAtqgAwIBAgIBADANBgkqhkiG9w0BAQQFADCBiDELMAkGA1UEBhMCU0Ux +EDAOBgNVBAcTB1VwcHNhbGExETAPBgNVBAoTCE15U1FMIEFCMSEwHwYDVQQDExhB +YnN0cmFjdCBNeVNRTCBEZXZlbG9wZXIxMTAvBgkqhkiG9w0BCQEWImFic3RyYWN0 +Lm15c3FsLmRldmVsb3BlckBteXNxbC5jb20wHhcNMDMwOTEyMTYxNDE2WhcNMTMw +OTA5MTYxNDE2WjCBiDELMAkGA1UEBhMCU0UxEDAOBgNVBAcTB1VwcHNhbGExETAP +BgNVBAoTCE15U1FMIEFCMSEwHwYDVQQDExhBYnN0cmFjdCBNeVNRTCBEZXZlbG9w +ZXIxMTAvBgkqhkiG9w0BCQEWImFic3RyYWN0Lm15c3FsLmRldmVsb3BlckBteXNx +bC5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAKrT7zp5tp5djXp+TEQs +5ZEds1XUglp/EQUQ1FMMb1Xe6gqJsQ62O+jsUe0nrUjXBrUCUy49k6mcnmQtZREj +l1pWKmzx1fgcYpxTwxaY7IKB2jik5IWprhVPmSQ+AWss43oolXMZWR+csKehqm3j ++YNZc9NsR4ydE71l0VEtJEQvAgMBAAGjgegwgeUwHQYDVR0OBBYEFIiYZdnz8osD +HWZgYSP6rXNt02iSMIG1BgNVHSMEga0wgaqAFIiYZdnz8osDHWZgYSP6rXNt02iS +oYGOpIGLMIGIMQswCQYDVQQGEwJTRTEQMA4GA1UEBxMHVXBwc2FsYTERMA8GA1UE +ChMITXlTUUwgQUIxITAfBgNVBAMTGEFic3RyYWN0IE15U1FMIERldmVsb3BlcjEx +MC8GCSqGSIb3DQEJARYiYWJzdHJhY3QubXlzcWwuZGV2ZWxvcGVyQG15c3FsLmNv +bYIBADAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBAUAA4GBAGIL22MCIU/0sKDp +pZIhoabvNVDTfuhtene+WBCrzCzGXPZjB4+b/KAJJNvOR4zi43Kk7euu+PENs9M7 +nKpInMdhvT1RcCnUHJ3jBCvDDzXab2msqn3rxhwetWWbfE0OeEn/PoQcwiZCe7x5 +h+Zz+oUbvsEe4DjtDVgG4UH9nSSS +-----END CERTIFICATE----- diff --git a/mysql-test/std_data/client-cert.pem b/mysql-test/std_data/client-cert.pem new file mode 100644 index 00000000000..4c81162c911 --- /dev/null +++ b/mysql-test/std_data/client-cert.pem @@ -0,0 +1,67 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 1 (0x1) + Signature Algorithm: md5WithRSAEncryption + Issuer: C=SE, L=Uppsala, O=MySQL AB, CN=Abstract MySQL Developer/Email=abstract.mysql.developer@mysql.com + Validity + Not Before: Sep 12 16:21:19 2003 GMT + Not After : Sep 9 16:21:19 2013 GMT + Subject: C=SE, L=Uppsala, O=MySQL AB, CN=MySQL Client/Email=abstract.mysql.developer@mysql.com + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (1024 bit) + Modulus (1024 bit): + 00:c4:03:0a:ee:e3:b1:12:fc:ee:b4:19:f4:e1:60: + 1d:e0:28:c3:96:2d:df:82:69:cd:74:7c:54:58:d0: + ae:b3:59:3f:0c:19:1c:99:10:a6:12:c9:cf:3a:64: + 05:43:8e:bf:d2:65:36:80:91:0b:65:b0:27:26:38: + c9:23:d8:36:a2:4a:f0:f7:c0:2f:68:38:70:01:27: + 29:ff:b2:c5:52:e1:6b:f1:c8:d7:c3:5c:ee:f0:37: + 6c:2a:9b:96:1a:05:9e:eb:33:a2:39:5a:77:66:62: + 27:75:1f:2f:6f:38:da:e5:9f:78:af:ca:6b:22:3f: + 57:2b:bc:a6:8f:47:d1:99:6f + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: + CA:FALSE + Netscape Comment: + OpenSSL Generated Certificate + X509v3 Subject Key Identifier: + 80:81:A9:22:EB:AB:D6:CA:7E:3F:8D:BB:D1:AC:2A:F4:87:9D:13:29 + X509v3 Authority Key Identifier: + keyid:88:98:65:D9:F3:F2:8B:03:1D:66:60:61:23:FA:AD:73:6D:D3:68:92 + DirName:/C=SE/L=Uppsala/O=MySQL AB/CN=Abstract MySQL Developer/Email=abstract.mysql.developer@mysql.com + serial:00 + + Signature Algorithm: md5WithRSAEncryption + 86:17:1c:f3:9f:10:1b:75:47:03:ca:54:ea:ef:f7:15:54:8d: + 8f:58:c9:64:7d:de:2e:bf:ea:a6:5d:72:56:c9:81:be:bb:1c: + 78:a5:91:d6:f8:77:df:9d:d2:cb:94:d9:06:61:4f:05:21:22: + 2a:ea:9e:c3:8b:4d:fe:94:c7:98:61:cd:7e:88:19:c9:92:01: + 1f:10:5b:c6:16:95:99:9b:32:01:3a:89:df:fa:0a:89:ac:fa: + b5:40:55:7a:ca:0a:bd:5d:8b:06:d8:7e:e1:44:8c:70:c8:63: + c7:77:6a:37:3d:a4:ac:57:dc:00:c1:c1:f3:72:17:5b:50:95: + ee:b7 +-----BEGIN CERTIFICATE----- +MIIDkTCCAvqgAwIBAgIBATANBgkqhkiG9w0BAQQFADCBiDELMAkGA1UEBhMCU0Ux +EDAOBgNVBAcTB1VwcHNhbGExETAPBgNVBAoTCE15U1FMIEFCMSEwHwYDVQQDExhB +YnN0cmFjdCBNeVNRTCBEZXZlbG9wZXIxMTAvBgkqhkiG9w0BCQEWImFic3RyYWN0 +Lm15c3FsLmRldmVsb3BlckBteXNxbC5jb20wHhcNMDMwOTEyMTYyMTE5WhcNMTMw +OTA5MTYyMTE5WjB8MQswCQYDVQQGEwJTRTEQMA4GA1UEBxMHVXBwc2FsYTERMA8G +A1UEChMITXlTUUwgQUIxFTATBgNVBAMTDE15U1FMIENsaWVudDExMC8GCSqGSIb3 +DQEJARYiYWJzdHJhY3QubXlzcWwuZGV2ZWxvcGVyQG15c3FsLmNvbTCBnzANBgkq +hkiG9w0BAQEFAAOBjQAwgYkCgYEAxAMK7uOxEvzutBn04WAd4CjDli3fgmnNdHxU +WNCus1k/DBkcmRCmEsnPOmQFQ46/0mU2gJELZbAnJjjJI9g2okrw98AvaDhwAScp +/7LFUuFr8cjXw1zu8DdsKpuWGgWe6zOiOVp3ZmIndR8vbzja5Z94r8prIj9XK7ym +j0fRmW8CAwEAAaOCARQwggEQMAkGA1UdEwQCMAAwLAYJYIZIAYb4QgENBB8WHU9w +ZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMB0GA1UdDgQWBBSAgaki66vWyn4/ +jbvRrCr0h50TKTCBtQYDVR0jBIGtMIGqgBSImGXZ8/KLAx1mYGEj+q1zbdNokqGB +jqSBizCBiDELMAkGA1UEBhMCU0UxEDAOBgNVBAcTB1VwcHNhbGExETAPBgNVBAoT +CE15U1FMIEFCMSEwHwYDVQQDExhBYnN0cmFjdCBNeVNRTCBEZXZlbG9wZXIxMTAv +BgkqhkiG9w0BCQEWImFic3RyYWN0Lm15c3FsLmRldmVsb3BlckBteXNxbC5jb22C +AQAwDQYJKoZIhvcNAQEEBQADgYEAhhcc858QG3VHA8pU6u/3FVSNj1jJZH3eLr/q +pl1yVsmBvrsceKWR1vh3353Sy5TZBmFPBSEiKuqew4tN/pTHmGHNfogZyZIBHxBb +xhaVmZsyATqJ3/oKiaz6tUBVesoKvV2LBth+4USMcMhjx3dqNz2krFfcAMHB83IX +W1CV7rc= +-----END CERTIFICATE----- diff --git a/mysql-test/std_data/client-key.pem b/mysql-test/std_data/client-key.pem new file mode 100644 index 00000000000..58fa805e620 --- /dev/null +++ b/mysql-test/std_data/client-key.pem @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDEAwru47ES/O60GfThYB3gKMOWLd+Cac10fFRY0K6zWT8MGRyZ +EKYSyc86ZAVDjr/SZTaAkQtlsCcmOMkj2DaiSvD3wC9oOHABJyn/ssVS4WvxyNfD +XO7wN2wqm5YaBZ7rM6I5WndmYid1Hy9vONrln3ivymsiP1crvKaPR9GZbwIDAQAB +AoGAcR7IaoGhKbIrGGl6d67+zuT3q24h9aOV3Mn7653TlNHGnvbHGFcRYPpyy+H5 +X7m8XnHm+F+80hzNGzPecP9Q12oPOyoZgeQn6bTK73OFkNcX7FAkNdyH4xVhf2aK +YOzTcQfq3gRCqXtVIg4qBShTMjJLE31R8H430Or62XmJgFECQQDjP+Kz+ecQwuTB +HADLm+GQgceIB1kLgdQoZ3deUxGvqtVImuDRViSM0F2srfJ4GfkEDhc27UI5f6ir +ZTOw4ww7AkEA3M9wCPgWNtbOXbYjaNA0IzHcjMDxQDVvJAmb3EiZlKQp4EfrESxR +ly/u08TyfwrK6q5WS7xE0ad8+95G1af4XQJBAI9+3ME20SB1YItMCniHYwSj3oHX +2fN5NKWax/Zoz+c0IV+qZMHq+kNso2oRoOUTyXk1CJWndcTnBnPMALr2c9cCQQCZ +VL7Cq6uZVx6kemcqUHH0AprZbt3YLYLI7pc5p3xmeHzPzoEQQstBhjp8+aU+zPrN +blRkcQ8E2x5yNA7SLLrNAkAhzkA+EK8hc0f9W3ncy+py0Rn0i5Ay0N3T715vkThf +CfOHE3L91dLlmYpL5xVqOpugY/2sHyxwctv97DgS6tHZ +-----END RSA PRIVATE KEY----- diff --git a/mysql-test/std_data/server-cert.pem b/mysql-test/std_data/server-cert.pem new file mode 100644 index 00000000000..debf7026e3c --- /dev/null +++ b/mysql-test/std_data/server-cert.pem @@ -0,0 +1,67 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 2 (0x2) + Signature Algorithm: md5WithRSAEncryption + Issuer: C=SE, L=Uppsala, O=MySQL AB, CN=Abstract MySQL Developer/Email=abstract.mysql.developer@mysql.com + Validity + Not Before: Sep 12 16:22:06 2003 GMT + Not After : Sep 9 16:22:06 2013 GMT + Subject: C=SE, L=Uppsala, O=MySQL AB, CN=MySQL Server/Email=abstract.mysql.developer@mysql.com + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public Key: (1024 bit) + Modulus (1024 bit): + 00:e9:86:7a:55:84:88:4c:be:a4:f8:92:73:30:12: + 49:0b:7a:85:87:39:34:39:0d:7d:0b:8d:18:c2:17: + 95:13:52:d2:3f:55:10:57:c8:3f:5a:f5:b2:fa:8b: + d0:67:49:cc:aa:82:fc:9f:ce:00:b4:73:f3:36:d2: + 3a:d3:c2:b0:0e:14:c3:d4:b2:21:74:a1:f0:31:81: + 60:87:98:73:5c:10:c1:b1:1a:4d:f1:f3:b0:98:3f: + f0:d7:97:9b:2b:fd:d5:21:79:b2:2f:eb:64:15:c9: + 9b:9d:fc:9e:2d:d4:f8:04:5b:ea:a9:75:4b:42:c3: + 3d:0e:4d:2a:a8:b8:ca:99:8d + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: + CA:FALSE + Netscape Comment: + OpenSSL Generated Certificate + X509v3 Subject Key Identifier: + 6E:E4:9B:6A:C5:EA:E4:E6:C7:EF:D7:1E:C8:63:45:60:2B:1B:D4:D4 + X509v3 Authority Key Identifier: + keyid:88:98:65:D9:F3:F2:8B:03:1D:66:60:61:23:FA:AD:73:6D:D3:68:92 + DirName:/C=SE/L=Uppsala/O=MySQL AB/CN=Abstract MySQL Developer/Email=abstract.mysql.developer@mysql.com + serial:00 + + Signature Algorithm: md5WithRSAEncryption + 31:77:69:b9:bd:ab:29:f3:fc:5a:09:16:6f:5d:42:ea:ba:01: + 55:69:e3:75:cf:b8:d1:b7:b9:bf:da:63:85:8c:48:92:06:60: + 76:97:e0:00:78:4b:ad:da:ab:6a:90:6d:8b:03:a8:b1:e9:09: + 78:e1:29:98:56:12:60:6b:42:fe:e8:a7:c4:f8:d6:15:07:e8: + 2b:c2:d8:8a:e5:1b:2e:51:08:9b:56:e3:b3:7a:4c:3e:e5:be: + 4a:4d:f8:65:7b:a8:21:e0:ca:fe:8b:ab:d7:ec:f2:2d:f7:d0: + bf:d7:c5:23:1c:08:d8:aa:57:c7:f3:5f:ba:33:3f:78:d1:f4: + 8e:5e +-----BEGIN CERTIFICATE----- +MIIDkTCCAvqgAwIBAgIBAjANBgkqhkiG9w0BAQQFADCBiDELMAkGA1UEBhMCU0Ux +EDAOBgNVBAcTB1VwcHNhbGExETAPBgNVBAoTCE15U1FMIEFCMSEwHwYDVQQDExhB +YnN0cmFjdCBNeVNRTCBEZXZlbG9wZXIxMTAvBgkqhkiG9w0BCQEWImFic3RyYWN0 +Lm15c3FsLmRldmVsb3BlckBteXNxbC5jb20wHhcNMDMwOTEyMTYyMjA2WhcNMTMw +OTA5MTYyMjA2WjB8MQswCQYDVQQGEwJTRTEQMA4GA1UEBxMHVXBwc2FsYTERMA8G +A1UEChMITXlTUUwgQUIxFTATBgNVBAMTDE15U1FMIFNlcnZlcjExMC8GCSqGSIb3 +DQEJARYiYWJzdHJhY3QubXlzcWwuZGV2ZWxvcGVyQG15c3FsLmNvbTCBnzANBgkq +hkiG9w0BAQEFAAOBjQAwgYkCgYEA6YZ6VYSITL6k+JJzMBJJC3qFhzk0OQ19C40Y +wheVE1LSP1UQV8g/WvWy+ovQZ0nMqoL8n84AtHPzNtI608KwDhTD1LIhdKHwMYFg +h5hzXBDBsRpN8fOwmD/w15ebK/3VIXmyL+tkFcmbnfyeLdT4BFvqqXVLQsM9Dk0q +qLjKmY0CAwEAAaOCARQwggEQMAkGA1UdEwQCMAAwLAYJYIZIAYb4QgENBB8WHU9w +ZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMB0GA1UdDgQWBBRu5Jtqxerk5sfv +1x7IY0VgKxvU1DCBtQYDVR0jBIGtMIGqgBSImGXZ8/KLAx1mYGEj+q1zbdNokqGB +jqSBizCBiDELMAkGA1UEBhMCU0UxEDAOBgNVBAcTB1VwcHNhbGExETAPBgNVBAoT +CE15U1FMIEFCMSEwHwYDVQQDExhBYnN0cmFjdCBNeVNRTCBEZXZlbG9wZXIxMTAv +BgkqhkiG9w0BCQEWImFic3RyYWN0Lm15c3FsLmRldmVsb3BlckBteXNxbC5jb22C +AQAwDQYJKoZIhvcNAQEEBQADgYEAMXdpub2rKfP8WgkWb11C6roBVWnjdc+40be5 +v9pjhYxIkgZgdpfgAHhLrdqrapBtiwOosekJeOEpmFYSYGtC/uinxPjWFQfoK8LY +iuUbLlEIm1bjs3pMPuW+Sk34ZXuoIeDK/our1+zyLffQv9fFIxwI2KpXx/NfujM/ +eNH0jl4= +-----END CERTIFICATE----- diff --git a/mysql-test/std_data/server-key.pem b/mysql-test/std_data/server-key.pem new file mode 100644 index 00000000000..4292dc79929 --- /dev/null +++ b/mysql-test/std_data/server-key.pem @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQDphnpVhIhMvqT4knMwEkkLeoWHOTQ5DX0LjRjCF5UTUtI/VRBX +yD9a9bL6i9BnScyqgvyfzgC0c/M20jrTwrAOFMPUsiF0ofAxgWCHmHNcEMGxGk3x +87CYP/DXl5sr/dUhebIv62QVyZud/J4t1PgEW+qpdUtCwz0OTSqouMqZjQIDAQAB +AoGBALTq11nrjIEQbdSZ+R1z/R0kddB2U+wjdA3/6P9tr7PBxVsFdtzbKaI5mcib +iwCKX0J2qmrP+SHUdsexBZxLR4KV/Z55v9Pym99Dy+DxDA95zURyCMKRBIzlU5uN +F7USEQoltLUCsmZwNWdit0gfxSWdddkHNuI0uxTzHwuDcUlNAkEA/76zVremngNL +DlekM9NPn/8E/TXBHN1b1jdUKd7WymSJykdcm3viU98dFNZFWF8B0jiTcuBKXgpR +vTShNab/swJBAOnCGp554BLhioTyyk8qjRLt3xEsjsDljJULHVLYWcUqIkMf97GL +VLBhl6ZEI9i0WduqvgZ+Bacd0uHqIHz1Yb8CQQDm1CjqTDiGxlIoT9JVNJTZxEOs +h6gVdXY+kxHT+N3FL5luiZp8fAR7zxVgiUVtzdLG+2madfapiobcT3RyCJkhAkBI +64AaR7KasTjg2Ew7/e4cJZAcb2XozrLYG6t+GHeIhehCQEqoW+qDSy5fc4orI7eU +SuMUa2OgCjGqv7p6wKFJAkEAznmum/MbVOBpC4FsdnIGkxyFKIbh2OLY2aUb2KkK +Ouf4S8Y5Ldgszi0fnDPRaxWJzewwZKvcff2zj+mYZeAXbA== +-----END RSA PRIVATE KEY----- -- cgit v1.2.1 From ecd75b76c9f586b0889bee58b42a742046a200f7 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 12 Apr 2006 08:30:34 +0200 Subject: Bug#18415 mysql-test-run.pl does not run on ActiveState perl - Part 1, better handling of subprocess and stdout to be done mysql-test/lib/mtr_process.pl: - Dont redirect stdout if ActiveState perl since fork creates a new thread and not another process. - Change waitpid to allow for negative pid as we get on Windows, strange but that is how it is. It should never create a process with pid -1 though. - Remove an "if" for cygwin that does not do anything. - Add "print" in the potentially hanging while loop in "start_reap_all" - Dont use "getpgrp" on windows. - Remove "sleep 2" in mtr_exit - Remove the initial ping of mysqld's in 'mysql_admin_shutdown', instead just start one mysqladmin for each expected mysqld server and wait for them to return. Then perform the ping of the mysqld server's. Those ping's normally return immediately. --- mysql-test/lib/mtr_process.pl | 82 ++++++++++++++++++------------------------- 1 file changed, 35 insertions(+), 47 deletions(-) (limited to 'mysql-test') diff --git a/mysql-test/lib/mtr_process.pl b/mysql-test/lib/mtr_process.pl index 86a4312e0c8..e9f8e0e1f90 100644 --- a/mysql-test/lib/mtr_process.pl +++ b/mysql-test/lib/mtr_process.pl @@ -144,17 +144,6 @@ sub spawn_impl ($$$$$$$$) { $SIG{INT}= 'DEFAULT'; # Parent do some stuff, we don't - if ( $::glob_cygwin_shell and $mode eq 'test' ) - { - # Programs started from mysqltest under Cygwin, are to - # execute them within Cygwin. Else simple things in test - # files like - # --system "echo 1 > file" - # will fail. - # FIXME not working :-( -# $ENV{'COMSPEC'}= "$::glob_cygwin_shell -c"; - } - my $log_file_open_mode = '>'; if ($spawn_opts and $spawn_opts->{'append_log_file'}) @@ -164,7 +153,15 @@ sub spawn_impl ($$$$$$$$) { if ( $output ) { - if ( ! open(STDOUT,$log_file_open_mode,$output) ) + if ( $::glob_win32_perl ) + { + # Don't redirect stdout on ActiveState perl since this is + # just another thread in the same process. + # Should be fixed so that the thread that is created with fork + # executes the exe in another process and wait's for it to return. + # In the meanwhile, we get all the output from mysqld's to screen + } + elsif ( ! open(STDOUT,$log_file_open_mode,$output) ) { mtr_child_error("can't redirect STDOUT to \"$output\": $!"); } @@ -216,8 +213,7 @@ sub spawn_parent_impl { { # Simple run of command, we wait for it to return my $ret_pid= waitpid($pid,0); - - if ( $ret_pid <= 0 ) + if ( $ret_pid != $pid ) { mtr_error("$path ($pid) got lost somehow"); } @@ -245,7 +241,6 @@ sub spawn_parent_impl { # Someone terminated, don't know who. Collect # status info first before $? is lost, # but not $exit_value, this is flagged from - # my $timer_name= mtr_timer_timeout($::glob_timers, $ret_pid); if ( $timer_name ) @@ -310,7 +305,7 @@ sub spawn_parent_impl { $ret_pid= waitpid($pid,0); - if ( $ret_pid == -1 ) + if ( $ret_pid != $pid ) { mtr_error("$path ($pid) got lost somehow"); } @@ -361,7 +356,6 @@ sub mtr_kill_leftovers () { # First, kill all masters and slaves that would conflict with # this run. Make sure to remove the PID file, if any. # FIXME kill IM manager first, else it will restart the servers, how?! - my @args; for ( my $idx; $idx < 2; $idx++ ) @@ -651,22 +645,10 @@ sub mtr_mysqladmin_shutdown { my $adm_shutdown_tmo= shift; my %mysql_admin_pids; - my @to_kill_specs; + # Start one "mysqladmin shutdown" for each server foreach my $srv ( @$spec ) { - if ( mtr_ping_mysqld_server($srv->{'port'}, $srv->{'sockfile'}) ) - { - push(@to_kill_specs, $srv); - } - } - - - foreach my $srv ( @to_kill_specs ) - { - # FIXME wrong log..... - # FIXME, stderr..... - # Shutdown time must be high as slave may be in reconnect my $args; mtr_init_args(\$args); @@ -674,6 +656,7 @@ sub mtr_mysqladmin_shutdown { mtr_add_arg($args, "--no-defaults"); mtr_add_arg($args, "--user=%s", $::opt_user); mtr_add_arg($args, "--password="); + mtr_add_arg($args, "--silent"); if ( -e $srv->{'sockfile'} ) { mtr_add_arg($args, "--socket=%s", $srv->{'sockfile'}); @@ -687,26 +670,27 @@ sub mtr_mysqladmin_shutdown { mtr_add_arg($args, "--protocol=tcp"); # Needed if no --socket } mtr_add_arg($args, "--connect_timeout=5"); + # Shutdown time must be high as slave may be in reconnect mtr_add_arg($args, "--shutdown_timeout=$adm_shutdown_tmo"); mtr_add_arg($args, "shutdown"); - # We don't wait for termination of mysqladmin + # Start mysqladmin in paralell and wait for termination later my $pid= mtr_spawn($::exe_mysqladmin, $args, "", $::path_manager_log, $::path_manager_log, "", { append_log_file => 1 }); + # Save the pid of the mysqladmin process $mysql_admin_pids{$pid}= 1; } + # Wait for all the started mysqladmin to exit # As mysqladmin is such a simple program, we trust it to terminate. # I.e. we wait blocking, and wait wait for them all before we go on. - while (keys %mysql_admin_pids) + foreach my $pid (keys %mysql_admin_pids) { - foreach my $pid (keys %mysql_admin_pids) - { - if ( waitpid($pid,0) > 0 ) - { - delete $mysql_admin_pids{$pid}; - } - } + my $ret_pid= waitpid($pid,0); + + # If this was any of the mysqladmin's we waited for, delete its + # pid from list + delete $mysql_admin_pids{$ret_pid} if exists $mysql_admin_pids{$ret_pid}; } # If we trusted "mysqladmin --shutdown_timeout= ..." we could just @@ -721,7 +705,7 @@ sub mtr_mysqladmin_shutdown { TIME: while ( $timeout-- ) { - foreach my $srv ( @to_kill_specs ) + foreach my $srv ( @$spec ) { $res= 1; # We are optimistic if ( mtr_ping_mysqld_server($srv->{'port'}, $srv->{'sockfile'}) ) @@ -754,9 +738,9 @@ sub mtr_record_dead_children () { my $ret_pid; - # FIXME the man page says to wait for -1 to terminate, - # but on OS X we get '0' all the time... - while ( ($ret_pid= waitpid(-1,&WNOHANG)) > 0 ) + # Wait without blockinng to see if any processes had died + # -1 or 0 means there are no more procesess to wait for + while ( ($ret_pid= waitpid(-1,&WNOHANG)) != 0 and $ret_pid != -1) { mtr_debug("waitpid() catched exit of child $ret_pid"); foreach my $idx (0..1) @@ -789,7 +773,11 @@ sub start_reap_all { # here. If a process terminated before setting $SIG{CHLD} (but after # any attempt to waitpid() it), it will still be a zombie. So we # have to handle any such process here. - while(waitpid(-1, &WNOHANG) > 0) { }; + my $pid; + while(($pid= waitpid(-1, &WNOHANG)) != 0 and $pid != -1) + { + print "start_reap_all: pid: $pid.\n"; + }; } sub stop_reap_all { @@ -843,7 +831,7 @@ sub sleep_until_file_created ($$$) { } # Check if it died after the fork() was successful - if ( $pid > 0 && waitpid($pid,&WNOHANG) == $pid ) + if ( $pid != 0 && waitpid($pid,&WNOHANG) == $pid ) { return 0; } @@ -905,8 +893,8 @@ sub mtr_exit ($) { # set ourselves as the group leader at startup (with # POSIX::setpgrp(0,0)), but then care must be needed to always do # proper child process cleanup. - kill('HUP', -$$) if $$ == getpgrp(); - sleep 2; + kill('HUP', -$$) if !$::glob_win32_perl and $$ == getpgrp(); + exit($code); } -- cgit v1.2.1 From bbbb82af7e0c3176335a2862f3e3d520c0f1f453 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 12 Apr 2006 10:55:26 +0200 Subject: mysql-test-run.pl now creates an innodb data file of 10M:autoextend instead of 128M:autoextend. This is faster under gdb/valgrind (this should speed up work of people who have to run a simple test 50 times to do debugging). Running without --big, which is the default, InnoDB tests take at most 18MB so 128 was overkill. Running with --big, InnoDB tests take 450MB so 128 was not enough anyway. mysql-test/mysql-test-run.pl: 10M is faster to create than 128M (especially under gdb or valgrind) and is enough for most tests. --- mysql-test/mysql-test-run.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'mysql-test') diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl index 2f940c69928..dbfa72b4cff 100755 --- a/mysql-test/mysql-test-run.pl +++ b/mysql-test/mysql-test-run.pl @@ -2561,7 +2561,7 @@ sub mysqld_arguments ($$$$$$) { mtr_add_arg($args, "%s--server-id=%d", $prefix, $id); mtr_add_arg($args, "%s--socket=%s", $prefix, $master->[$idx]->{'path_mysock'}); - mtr_add_arg($args, "%s--innodb_data_file_path=ibdata1:128M:autoextend", $prefix); + mtr_add_arg($args, "%s--innodb_data_file_path=ibdata1:10M:autoextend", $prefix); mtr_add_arg($args, "%s--local-infile", $prefix); mtr_add_arg($args, "%s--datadir=%s", $prefix, $master->[$idx]->{'path_myddir'}); -- cgit v1.2.1 From eb4db4cf18b47ad0fa296412d505164989cf903b Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 12 Apr 2006 14:45:37 +0500 Subject: Bug#18736 test case 'upgrade' fails "upgrade" failed on windows, because of lower_case_table_name. This fix changes letters to lower case, not to depend on OS. Note, this change does not affect coverage of Bug N 17142 "Crash if create with encoded name", which the test war originally written for. mysql-test/r/upgrade.result: Changing "P" to "p" not to depend on lower_case_table_name mysql-test/t/upgrade.test: Changing "P" to "p" not to depend on lower_case_table_name --- mysql-test/r/upgrade.result | 24 ++++++++++++------------ mysql-test/t/upgrade.test | 22 +++++++++++----------- 2 files changed, 23 insertions(+), 23 deletions(-) (limited to 'mysql-test') diff --git a/mysql-test/r/upgrade.result b/mysql-test/r/upgrade.result index 9d35314d0c6..8a2249480e9 100644 --- a/mysql-test/r/upgrade.result +++ b/mysql-test/r/upgrade.result @@ -41,19 +41,19 @@ t1 t-1 drop database `mysqltest1`; drop database `mysqltest-1`; -drop table if exists `txu@0023P@0023p1`; -drop table if exists `txu#P#p1`; -create table `txu#P#p1` (s1 int); -insert into `txu#P#p1` values (1); -select * from `txu@0023P@0023p1`; -ERROR 42S02: Table 'test.txu@0023P@0023p1' doesn't exist -create table `txu@0023P@0023p1` (s1 int); -insert into `txu@0023P@0023p1` values (2); -select * from `txu@0023P@0023p1`; +drop table if exists `txu@0023p@0023p1`; +drop table if exists `txu#p#p1`; +create table `txu#p#p1` (s1 int); +insert into `txu#p#p1` values (1); +select * from `txu@0023p@0023p1`; +ERROR 42S02: Table 'test.txu@0023p@0023p1' doesn't exist +create table `txu@0023p@0023p1` (s1 int); +insert into `txu@0023p@0023p1` values (2); +select * from `txu@0023p@0023p1`; s1 2 -select * from `txu#P#p1`; +select * from `txu#p#p1`; s1 1 -drop table `txu@0023P@0023p1`; -drop table `txu#P#p1`; +drop table `txu@0023p@0023p1`; +drop table `txu#p#p1`; diff --git a/mysql-test/t/upgrade.test b/mysql-test/t/upgrade.test index f2017d81d5c..5c5046cf7e9 100644 --- a/mysql-test/t/upgrade.test +++ b/mysql-test/t/upgrade.test @@ -34,16 +34,16 @@ drop database `mysqltest-1`; # Bug#17142: Crash if create with encoded name # --disable_warnings -drop table if exists `txu@0023P@0023p1`; -drop table if exists `txu#P#p1`; +drop table if exists `txu@0023p@0023p1`; +drop table if exists `txu#p#p1`; --enable_warnings -create table `txu#P#p1` (s1 int); -insert into `txu#P#p1` values (1); +create table `txu#p#p1` (s1 int); +insert into `txu#p#p1` values (1); --error 1146 -select * from `txu@0023P@0023p1`; -create table `txu@0023P@0023p1` (s1 int); -insert into `txu@0023P@0023p1` values (2); -select * from `txu@0023P@0023p1`; -select * from `txu#P#p1`; -drop table `txu@0023P@0023p1`; -drop table `txu#P#p1`; +select * from `txu@0023p@0023p1`; +create table `txu@0023p@0023p1` (s1 int); +insert into `txu@0023p@0023p1` values (2); +select * from `txu@0023p@0023p1`; +select * from `txu#p#p1`; +drop table `txu@0023p@0023p1`; +drop table `txu#p#p1`; -- cgit v1.2.1 From 2fb435f52a8b52ce12dfe455a10938c5b64f8a42 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 12 Apr 2006 14:08:24 +0200 Subject: fixes for 'make dist' and 'make distcheck' BUILD/compile-dist: fixes for 'make dist' and 'make distcheck' include yassl in "dist" Makefile.am: fixes for 'make dist' and 'make distcheck' remove double-listing of everything in SUBDIRS and DIST_SUBDIRS remove @yassl_dir@, it belongs to extra/Makefile.am specify --basedir for mysql_install_db, in case builddir (where mysql_install_db is) differs from srcdir (where mysql_fix_privilege_tables.sql is) config/ac-macros/yassl.m4: fixes for 'make dist' and 'make distcheck' create Makefile's only if yassl is used yassl_dir must not include / config/ac-macros/zlib.m4: fixes for 'make dist' and 'make distcheck' create Makefile only if zlib is used configure.in: fixes for 'make dist' and 'make distcheck' create Makefile only if a feature is enabled storage engine dirs must not include / automatically disable readline/libedit/sql-bench if source dir is missing extra/Makefile.am: fixes for 'make dist' and 'make distcheck' remove SUBDIR/DIST_SUBDIR hack libmysql_r/Makefile.am: fixes for 'make dist' and 'make distcheck' when symlinking all files from libmysql/ take into account that srcdir != builddir libmysqld/Makefile.am: fixes for 'make dist' and 'make distcheck' remove fragile promiscuous search for object files if .o file is not where we look for it - extract it from the library mysql-test/ndb/Makefile.am: fixes for 'make dist' and 'make distcheck' ndbcluster script is not a "source" don't forget to cleanup plugin/Makefile.am: fixes for 'make dist' and 'make distcheck' include plugin/fulltext/configure.in template in the distribution storage/Makefile.am: fixes for 'make dist' and 'make distcheck' remove SUBDIRS/DIST_SUBDIRS hack storage/ndb/Makefile.am: fixes for 'make dist' and 'make distcheck' force common.mk.am out of DIST_COMMON (which is otherwise an auto-generated list of Makefile's sources) because it's listed indirectly in EXTRA_DIST, and with bk -r get, a file cannot be copied twice. --- mysql-test/ndb/Makefile.am | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'mysql-test') diff --git a/mysql-test/ndb/Makefile.am b/mysql-test/ndb/Makefile.am index 2a1c59fd359..4ddf61cf5cc 100644 --- a/mysql-test/ndb/Makefile.am +++ b/mysql-test/ndb/Makefile.am @@ -1,14 +1,11 @@ -BUILT_SOURCES = ndbcluster - benchdir_root= $(prefix) testdir = $(benchdir_root)/mysql-test/ndb -test_SCRIPTS = ndbcluster - -noinst_HEADERS = ndbcluster.sh - +EXTRA_DIST = ndbcluster.sh +CLEANFILES = ndbcluster dist_test_DATA = ndb_config_2_node.ini ndb_config_1_node.ini +test_SCRIPTS = ndbcluster SUFFIXES = .sh -- cgit v1.2.1 From e8165aca5b1d2faed5de26550d53e13c73d20310 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 12 Apr 2006 15:55:41 +0200 Subject: increase save_master_pos timeout to 30 seconds for higher test predictability better replicaiton test cleanup to ensure better test predictability + some ndb test cleanup client/mysqltest.c: increase save_master_pos timeout to 30 seconds for higher test predictability mysql-test/extra/rpl_tests/rpl_ddl.test: better replicaiton test cleanup to ensure better test predictability mysql-test/extra/rpl_tests/rpl_row_UUID.test: better replicaiton test cleanup to ensure better test predictability mysql-test/r/rpl_ndb_dd_advance.result: better replicaiton test cleanup to ensure better test predictability mysql-test/r/rpl_ndb_sync.result: better replicaiton test cleanup to ensure better test predictability mysql-test/t/disabled.def: better replicaiton test cleanup to ensure better test predictability mysql-test/t/rpl_ndb_bank.test: better replicaiton test cleanup to ensure better test predictability mysql-test/t/rpl_ndb_basic.test: better replicaiton test cleanup to ensure better test predictability mysql-test/t/rpl_ndb_dd_advance.test: better replicaiton test cleanup to ensure better test predictability mysql-test/t/rpl_ndb_dd_basic.test: better replicaiton test cleanup to ensure better test predictability mysql-test/t/rpl_ndb_sync.test: better replicaiton test cleanup to ensure better test predictability --- mysql-test/extra/rpl_tests/rpl_ddl.test | 1 + mysql-test/extra/rpl_tests/rpl_row_UUID.test | 1 + mysql-test/r/rpl_ndb_dd_advance.result | 3 -- mysql-test/r/rpl_ndb_sync.result | 10 ++--- mysql-test/t/disabled.def | 8 ++-- mysql-test/t/rpl_ndb_bank.test | 29 +------------ mysql-test/t/rpl_ndb_basic.test | 2 +- mysql-test/t/rpl_ndb_dd_advance.test | 24 +---------- mysql-test/t/rpl_ndb_dd_basic.test | 2 +- mysql-test/t/rpl_ndb_sync.test | 62 +++++++--------------------- 10 files changed, 31 insertions(+), 111 deletions(-) (limited to 'mysql-test') diff --git a/mysql-test/extra/rpl_tests/rpl_ddl.test b/mysql-test/extra/rpl_tests/rpl_ddl.test index 0d9f390531f..4aab45db18b 100644 --- a/mysql-test/extra/rpl_tests/rpl_ddl.test +++ b/mysql-test/extra/rpl_tests/rpl_ddl.test @@ -507,4 +507,5 @@ DROP DATABASE IF EXISTS mysqltest2; DROP DATABASE IF EXISTS mysqltest3; --enable_warnings +-- source include/master-slave-end.inc diff --git a/mysql-test/extra/rpl_tests/rpl_row_UUID.test b/mysql-test/extra/rpl_tests/rpl_row_UUID.test index d1d6178773b..962572d3aec 100644 --- a/mysql-test/extra/rpl_tests/rpl_row_UUID.test +++ b/mysql-test/extra/rpl_tests/rpl_row_UUID.test @@ -80,3 +80,4 @@ DROP TABLE test.t2; # be removed at next testsuite run. # End of 5.0 test case +-- source include/master-slave-end.inc diff --git a/mysql-test/r/rpl_ndb_dd_advance.result b/mysql-test/r/rpl_ndb_dd_advance.result index 9d9a4e5b5ad..ba89592b532 100644 --- a/mysql-test/r/rpl_ndb_dd_advance.result +++ b/mysql-test/r/rpl_ndb_dd_advance.result @@ -370,13 +370,10 @@ COUNT(*) 10000 ***** Add some more records to master ********* ***** Finsh the slave sync process ******* -* 1. * @the_epoch:=MAX(epoch) -* 2. * @the_pos:=Position @the_file:=SUBSTRING_INDEX(FILE, '/', -1) master-bin.000001 -* 3. * * 4. * * 5. * START SLAVE; diff --git a/mysql-test/r/rpl_ndb_sync.result b/mysql-test/r/rpl_ndb_sync.result index 897737e95d5..4ca73167603 100644 --- a/mysql-test/r/rpl_ndb_sync.result +++ b/mysql-test/r/rpl_ndb_sync.result @@ -25,13 +25,13 @@ hex(c2) hex(c3) c1 0 1 BCDEF 1 0 CD 0 0 DEFGHIJKL -CREATE TEMPORARY TABLE IF NOT EXISTS cluster.backup_info (id INT, backup_id INT)ENGINE=HEAP; -DELETE FROM cluster.backup_info; -LOAD DATA INFILE '../tmp.dat' INTO TABLE cluster.backup_info FIELDS TERMINATED BY ','; -SELECT @the_backup_id:=backup_id FROM cluster.backup_info; +CREATE TEMPORARY TABLE IF NOT EXISTS test.backup_info (id INT, backup_id INT) ENGINE = HEAP; +DELETE FROM test.backup_info; +LOAD DATA INFILE '../tmp.dat' INTO TABLE test.backup_info FIELDS TERMINATED BY ','; +SELECT @the_backup_id:=backup_id FROM test.backup_info; @the_backup_id:=backup_id -DROP TABLE cluster.backup_info; +DROP TABLE test.backup_info; UPDATE t1 SET c2=0 WHERE c3="row2"; SELECT hex(c1),hex(c2),c3 FROM t1 ORDER BY c3; hex(c1) hex(c2) c3 diff --git a/mysql-test/t/disabled.def b/mysql-test/t/disabled.def index 3841735c150..1e13aec288e 100644 --- a/mysql-test/t/disabled.def +++ b/mysql-test/t/disabled.def @@ -17,15 +17,15 @@ ndb_autodiscover2 : Needs to be fixed w.r.t binlog #ndb_cache2 : Bug #18597 simultaneous drop table and ndb statistics update triggers node failure #ndb_gis : Bug #18600 ndb_gis test failure #ndb_load : Bug#17233 failed load data from infile causes mysqld dbug_assert, binlog not flushed -#partition_03ndb : Bug#16385 Partitions: crash when updating a range partitioned NDB table +partition_03ndb : Bug#16385 Partitions: crash when updating a range partitioned NDB table ps_7ndb : dbug assert in RBR mode when executing test suite -#rpl_ndb_2innodb : assertion in get_parts_for_update() -#rpl_ndb_2myisam : assertion in get_parts_for_update() +rpl_ndb_2innodb : Bug #19004 ndb: partition by range and update hangs (note, test must also be updated to have primary key with blob table) +rpl_ndb_2myisam : Bug #19004 ndb: partition by range and update hangs (note, test must also be updated to have primary key with blob table) rpl_ndb_auto_inc : Bug#17086 CR: auto_increment_increment and auto_increment_offset produce duplicate key er #rpl_ndb_basic : Bug #18592 rpl_ndb_basic failure #rpl_ndb_dd_advance : Bug #18924 rpl_ndb_dd_advance failure #rpl_ndb_dd_basic : Bug #18569 rpl_ndb_dd_basic failure -#rpl_ndb_ddl : master hangs +rpl_ndb_ddl : result file needs update + test needs to checked #rpl_ndb_insert_ignore : Bug #18567 rpl_ndb_insert_ignore failure #rpl_ndb_innodb2ndb : Bug#18261: Cluster Replication: tests rpl_ndb_xxx2ndb fails #rpl_ndb_log : result not deterministic, TBD if should remove diff --git a/mysql-test/t/rpl_ndb_bank.test b/mysql-test/t/rpl_ndb_bank.test index 102450fce91..3601c841c54 100644 --- a/mysql-test/t/rpl_ndb_bank.test +++ b/mysql-test/t/rpl_ndb_bank.test @@ -132,34 +132,7 @@ let the_backup_id=`select @the_backup_id`; # # now setup replication to continue from last epoch -# 1. get apply_status epoch from slave -# 2. get corresponding _next_ binlog postition from master -# 3. change master on slave -# 4. start the replication - -# 1. ---connection slave ---replace_column 1 -SELECT @the_epoch:=MAX(epoch) FROM cluster.apply_status; ---let $the_epoch= `select @the_epoch` - -# 2. ---connection master ---replace_result $the_epoch ---replace_column 1 -eval SELECT @the_pos:=Position,@the_file:=SUBSTRING_INDEX(FILE, '/', -1) - FROM cluster.binlog_index WHERE epoch > $the_epoch ORDER BY epoch ASC LIMIT 1; ---let $the_pos= `SELECT @the_pos` ---let $the_file= `SELECT @the_file` - -# 3. ---connection slave ---replace_result $the_pos -eval CHANGE MASTER TO - master_log_file = '$the_file', - master_log_pos = $the_pos; - -# 4. +--source include/ndb_setup_slave.inc --connection slave START SLAVE; diff --git a/mysql-test/t/rpl_ndb_basic.test b/mysql-test/t/rpl_ndb_basic.test index bcce0284642..d7d1d50d88f 100644 --- a/mysql-test/t/rpl_ndb_basic.test +++ b/mysql-test/t/rpl_ndb_basic.test @@ -146,4 +146,4 @@ select * from t1 order by nid; # cleanup --connection master DROP TABLE t1; -sync_slave_with_master; +-- source include/master-slave-end.inc diff --git a/mysql-test/t/rpl_ndb_dd_advance.test b/mysql-test/t/rpl_ndb_dd_advance.test index 97a6dae0dec..80ff533ec5b 100644 --- a/mysql-test/t/rpl_ndb_dd_advance.test +++ b/mysql-test/t/rpl_ndb_dd_advance.test @@ -479,29 +479,9 @@ while ($j) # 5. start the replication --echo ***** Finsh the slave sync process ******* -# 1. ---echo * 1. * -connection slave; --disable_query_log ---replace_column 1 -SELECT @the_epoch:=MAX(epoch) FROM cluster.apply_status; ---let $the_epoch= `select @the_epoch` - -# 2. ---echo * 2. * -connection master; ---replace_column 1 -eval SELECT @the_pos:=Position,@the_file:=SUBSTRING_INDEX(FILE, '/', -1) - FROM cluster.binlog_index WHERE epoch > $the_epoch ORDER BY epoch ASC LIMIT 1; ---let $the_pos= `SELECT @the_pos` ---let $the_file= `SELECT @the_file` - -# 3. ---echo * 3. * -connection slave; -eval CHANGE MASTER TO - master_log_file = '$the_file', - master_log_pos = $the_pos; +# 1. 2. 3. +--source include/ndb_setup_slave.inc --enable_query_log # 4. diff --git a/mysql-test/t/rpl_ndb_dd_basic.test b/mysql-test/t/rpl_ndb_dd_basic.test index f515e0299ac..104be91e6e4 100644 --- a/mysql-test/t/rpl_ndb_dd_basic.test +++ b/mysql-test/t/rpl_ndb_dd_basic.test @@ -82,4 +82,4 @@ drop datafile 'datafile02.dat' engine=ndb; DROP TABLESPACE ts1 ENGINE=NDB; DROP LOGFILE GROUP lg1 ENGINE=NDB; ---sync_slave_with_master +-- source include/master-slave-end.inc diff --git a/mysql-test/t/rpl_ndb_sync.test b/mysql-test/t/rpl_ndb_sync.test index d56f4a4ad03..95f56609ed7 100644 --- a/mysql-test/t/rpl_ndb_sync.test +++ b/mysql-test/t/rpl_ndb_sync.test @@ -8,13 +8,13 @@ # # stop the save -connection slave; +--connection slave STOP SLAVE; CREATE DATABASE ndbsynctest; USE ndbsynctest; # get some data on the master -connection master; +--connection master CREATE DATABASE ndbsynctest; USE ndbsynctest; CREATE TABLE t1 (c1 BIT(1) NOT NULL, c2 BIT(1) NOT NULL, c3 CHAR(15), PRIMARY KEY(c3)) ENGINE = NDB ; @@ -25,21 +25,14 @@ SELECT hex(c1),hex(c2),c3 FROM t1 ORDER BY c3; SELECT hex(c2),hex(c3),c1 FROM t2 ORDER BY c1; # take a backup on master ---exec $NDB_MGM --no-defaults --ndb-connectstring="localhost:$NDBCLUSTER_PORT" -e "start backup" >> $NDB_TOOLS_OUTPUT ---exec $NDB_TOOLS_DIR/ndb_select_all --no-defaults --ndb-connectstring="localhost:$NDBCLUSTER_PORT" -d sys --delimiter=',' SYSTAB_0 | grep 520093696 > $MYSQLTEST_VARDIR/tmp.dat -CREATE TEMPORARY TABLE IF NOT EXISTS cluster.backup_info (id INT, backup_id INT)ENGINE=HEAP; -DELETE FROM cluster.backup_info; -LOAD DATA INFILE '../tmp.dat' INTO TABLE cluster.backup_info FIELDS TERMINATED BY ','; ---replace_column 1 -SELECT @the_backup_id:=backup_id FROM cluster.backup_info; -let the_backup_id=`select @the_backup_id` ; -DROP TABLE cluster.backup_info; +--source include/ndb_backup.inc + # update a row UPDATE t1 SET c2=0 WHERE c3="row2"; SELECT hex(c1),hex(c2),c3 FROM t1 ORDER BY c3; # restore on slave, first check that nothing is there -connection slave +--connection slave # we should have no tables SHOW TABLES; @@ -66,40 +59,16 @@ SELECT hex(c2),hex(c3),c1 FROM t2 ORDER BY c1; # # now setup replication to continue from last epoch -# 1. get apply_status epoch from slave -# 2. get corresponding _next_ binlog postition from master -# 3. change master on slave - -# 1. -connection slave; ---replace_column 1 -SELECT @the_epoch:=MAX(epoch) FROM cluster.apply_status; -let $the_epoch= `select @the_epoch` ; - -# 2. -connection master; ---replace_result $the_epoch ---replace_column 1 -eval SELECT @the_pos:=Position,@the_file:=SUBSTRING_INDEX(FILE, '/', -1) - FROM cluster.binlog_index WHERE epoch > $the_epoch ORDER BY epoch ASC LIMIT 1; -let $the_pos= `SELECT @the_pos` ; -let $the_file= `SELECT @the_file` ; - -# 3. -connection slave; ---replace_result $the_pos -eval CHANGE MASTER TO - master_log_file = '$the_file', - master_log_pos = $the_pos ; +--source include/ndb_setup_slave.inc +--connection slave START SLAVE; # # # -connection master; -#sync_slave_with_master; ---sleep 2 -connection slave; +--connection master +--sync_slave_with_master +--connection slave --replace_result $MASTER_MYPORT MASTER_PORT --replace_column 1 7 8 9 16 22 23 33 SHOW SLAVE STATUS; @@ -111,22 +80,21 @@ SELECT hex(c2),hex(c3),c1 FROM t2 ORDER BY c1; # Cleanup # -connection master; +--connection master DROP DATABASE ndbsynctest; -#sync_slave_with_master; ---sleep 2 -connection slave; +--sync_slave_with_master +--connection slave STOP SLAVE; # # Test some replication commands # -connection master; +--connection master reset master; # should now contain nothing select * from cluster.binlog_index; -connection slave; +--connection slave reset slave; # should now contain nothing select * from cluster.apply_status; -- cgit v1.2.1 From 85ee4cbb903bdbf9ee2c03b18ca1258addb552e9 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 12 Apr 2006 15:56:29 +0200 Subject: new files mysql-test/include/master-slave-end.inc: New BitKeeper file ``mysql-test/include/master-slave-end.inc'' mysql-test/include/ndb_setup_slave.inc: New BitKeeper file ``mysql-test/include/ndb_setup_slave.inc'' --- mysql-test/include/master-slave-end.inc | 6 ++++++ mysql-test/include/ndb_setup_slave.inc | 27 +++++++++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 mysql-test/include/master-slave-end.inc create mode 100644 mysql-test/include/ndb_setup_slave.inc (limited to 'mysql-test') diff --git a/mysql-test/include/master-slave-end.inc b/mysql-test/include/master-slave-end.inc new file mode 100644 index 00000000000..74e4c7b608a --- /dev/null +++ b/mysql-test/include/master-slave-end.inc @@ -0,0 +1,6 @@ +--connection master +--sync_slave_with_master +--connection slave +--disable_query_log +STOP SLAVE; +--enable_query_log diff --git a/mysql-test/include/ndb_setup_slave.inc b/mysql-test/include/ndb_setup_slave.inc new file mode 100644 index 00000000000..b1efeded90b --- /dev/null +++ b/mysql-test/include/ndb_setup_slave.inc @@ -0,0 +1,27 @@ +# +# now setup replication to continue from last epoch +# 1. get apply_status epoch from slave +# 2. get corresponding _next_ binlog postition from master +# 3. change master on slave + +# 1. +--connection slave +--replace_column 1 +SELECT @the_epoch:=MAX(epoch) FROM cluster.apply_status; +--let $the_epoch= `select @the_epoch` + +# 2. +--connection master +--replace_result $the_epoch +--replace_column 1 +eval SELECT @the_pos:=Position,@the_file:=SUBSTRING_INDEX(FILE, '/', -1) + FROM cluster.binlog_index WHERE epoch > $the_epoch ORDER BY epoch ASC LIMIT 1; +--let $the_pos= `SELECT @the_pos` +--let $the_file= `SELECT @the_file` + +# 3. +--connection slave +--replace_result $the_pos +eval CHANGE MASTER TO + master_log_file = '$the_file', + master_log_pos = $the_pos ; -- cgit v1.2.1 From fe823adbc2ad6ea5a06cb6c1ae0b653015580368 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 12 Apr 2006 18:51:10 +0200 Subject: diabling tests with correct bug number --- mysql-test/t/disabled.def | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'mysql-test') diff --git a/mysql-test/t/disabled.def b/mysql-test/t/disabled.def index 1e13aec288e..0282031225b 100644 --- a/mysql-test/t/disabled.def +++ b/mysql-test/t/disabled.def @@ -27,13 +27,13 @@ rpl_ndb_auto_inc : Bug#17086 CR: auto_increment_increment and auto_increm #rpl_ndb_dd_basic : Bug #18569 rpl_ndb_dd_basic failure rpl_ndb_ddl : result file needs update + test needs to checked #rpl_ndb_insert_ignore : Bug #18567 rpl_ndb_insert_ignore failure -#rpl_ndb_innodb2ndb : Bug#18261: Cluster Replication: tests rpl_ndb_xxx2ndb fails +rpl_ndb_innodb2ndb : Bug #18094 Slave caches invalid table definition after atlters causes select failure #rpl_ndb_log : result not deterministic, TBD if should remove #rpl_ndb_multi_update2 : Bug #18928 rpl_ndb_multi_update2 failed #rpl_ndb_multi_update3 : Bug#18627: Cluster Replication: rpl_ndb_multi_update3 fails on Intel 64 bit -#rpl_ndb_myisam2ndb : Bug#18261: Cluster Replication: tests rpl_ndb_xxx2ndb fails +rpl_ndb_myisam2ndb : Bug #18094 Slave caches invalid table definition after atlters causes select failure rpl_ndb_relay_space : Bug#16993 RBR: ALTER TABLE ZEROFILL AUTO_INCREMENT is not replicated correctly -#rpl_row_basic_7ndb : Bug #18923 rpl_row_basic_7ndb failure +rpl_row_basic_7ndb : Bug #17400 Cluster Replication: delete & update of rows in table without pk fails on slave. rpl_switch_stm_row_mixed : Bug #18590 rpl_row_inexist_tbl : Disabled since patch makes this test wait forever rpl_sp : Bug#16456 -- cgit v1.2.1 From 5ac2c6740e28c877ddfed2b29cadb9487a4e5347 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 12 Apr 2006 18:52:32 +0200 Subject: ndb: removed usage of unsupported binlog table: no pk + blob --- mysql-test/extra/rpl_tests/rpl_ndb_2multi_eng.test | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'mysql-test') diff --git a/mysql-test/extra/rpl_tests/rpl_ndb_2multi_eng.test b/mysql-test/extra/rpl_tests/rpl_ndb_2multi_eng.test index 014a72db30e..0034213f183 100644 --- a/mysql-test/extra/rpl_tests/rpl_ndb_2multi_eng.test +++ b/mysql-test/extra/rpl_tests/rpl_ndb_2multi_eng.test @@ -51,8 +51,8 @@ SHOW CREATE TABLE t1; # Okay lets see how it holds up to table changes --echo --- Check that simple Alter statements are replicated correctly -- -ALTER TABLE t1 MODIFY vc TEXT; ALTER TABLE t1 DROP PRIMARY KEY, ADD PRIMARY KEY(id, total); +ALTER TABLE t1 MODIFY vc TEXT; --echo --- Show the new improved table on the master --- @@ -117,6 +117,7 @@ SHOW CREATE TABLE t1; --echo --- Check that simple Alter statements are replicated correctly --- +ALTER TABLE t1 ADD PRIMARY KEY(t,id); ALTER TABLE t1 MODIFY vc TEXT; --echo --- Show the new improved table on the master --- @@ -183,6 +184,7 @@ SHOW CREATE TABLE t1; --echo --- Check that simple Alter statements are replicated correctly --- +ALTER TABLE t1 ADD PRIMARY KEY(id); ALTER TABLE t1 MODIFY vc TEXT; --echo --- Show the new improved table on the master --- @@ -240,6 +242,7 @@ SHOW CREATE TABLE t1; --echo --- Check that simple Alter statements are replicated correctly --- ALTER TABLE t1 MODIFY vc TEXT; +ALTER TABLE t1 ADD PRIMARY KEY(t,id); --echo --- Show the new improved table on the master --- -- cgit v1.2.1 From e5fa6114a2b61b72bd5ca84b602e9c7c3ead667f Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 12 Apr 2006 19:38:40 +0200 Subject: test update --- mysql-test/extra/rpl_tests/rpl_ndb_2multi_eng.test | 2 +- mysql-test/t/disabled.def | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'mysql-test') diff --git a/mysql-test/extra/rpl_tests/rpl_ndb_2multi_eng.test b/mysql-test/extra/rpl_tests/rpl_ndb_2multi_eng.test index 0034213f183..7f19245c0b9 100644 --- a/mysql-test/extra/rpl_tests/rpl_ndb_2multi_eng.test +++ b/mysql-test/extra/rpl_tests/rpl_ndb_2multi_eng.test @@ -241,8 +241,8 @@ SHOW CREATE TABLE t1; --echo --- Check that simple Alter statements are replicated correctly --- -ALTER TABLE t1 MODIFY vc TEXT; ALTER TABLE t1 ADD PRIMARY KEY(t,id); +ALTER TABLE t1 MODIFY vc TEXT; --echo --- Show the new improved table on the master --- diff --git a/mysql-test/t/disabled.def b/mysql-test/t/disabled.def index 0282031225b..5bd5226af48 100644 --- a/mysql-test/t/disabled.def +++ b/mysql-test/t/disabled.def @@ -19,8 +19,8 @@ ndb_autodiscover2 : Needs to be fixed w.r.t binlog #ndb_load : Bug#17233 failed load data from infile causes mysqld dbug_assert, binlog not flushed partition_03ndb : Bug#16385 Partitions: crash when updating a range partitioned NDB table ps_7ndb : dbug assert in RBR mode when executing test suite -rpl_ndb_2innodb : Bug #19004 ndb: partition by range and update hangs (note, test must also be updated to have primary key with blob table) -rpl_ndb_2myisam : Bug #19004 ndb: partition by range and update hangs (note, test must also be updated to have primary key with blob table) +rpl_ndb_2innodb : Bug #19004 ndb: partition by range and update hangs +rpl_ndb_2myisam : Bug #19004 ndb: partition by range and update hangs rpl_ndb_auto_inc : Bug#17086 CR: auto_increment_increment and auto_increment_offset produce duplicate key er #rpl_ndb_basic : Bug #18592 rpl_ndb_basic failure #rpl_ndb_dd_advance : Bug #18924 rpl_ndb_dd_advance failure -- cgit v1.2.1 From cea115d0dd049b832cda6bdca2c08652d605a8ee Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 12 Apr 2006 20:06:15 +0200 Subject: disabled.def: To somplify merge later, make files more similar in format mysql-test/t/disabled.def: To somplify merge later, make files more similar in format --- mysql-test/t/disabled.def | 90 +++++++++++++++++++++++++---------------------- 1 file changed, 47 insertions(+), 43 deletions(-) (limited to 'mysql-test') diff --git a/mysql-test/t/disabled.def b/mysql-test/t/disabled.def index adec5dd95be..133ef9b3c8e 100644 --- a/mysql-test/t/disabled.def +++ b/mysql-test/t/disabled.def @@ -9,46 +9,50 @@ # Do not use any TAB characters for whitespace. # ############################################################################## -events_bugs : test case unstable (race conditions). andrey will fix -events_stress : test case unstable. andrey will fix -events : test case unstable. andrey will fix -#ndb_alter_table_row : sometimes wrong error 1015!=1046 -ndb_autodiscover : Needs to be fixed w.r.t binlog -ndb_autodiscover2 : Needs to be fixed w.r.t binlog -#ndb_binlog_basic : Results are not deterministic, Tomas will fix -#ndb_binlog_multi : Results are not deterministic, Tomas will fix -ndb_cache2 : Bug #18597 -ndb_gis : Bug #18600 -ndb_load : Bug#17233 -partition_03ndb : Bug#16385 -ps_7ndb : dbug assert in RBR mode when executing test suite -#rpl_bit_npk : Bug#13418 -#rpl_ddl : Bug#15963 SBR does not show "Definer" correctly -rpl_ndb_dd_basic : Bug #18569 -rpl_ndb_2innodb : assertion in get_parts_for_update() -rpl_ndb_2myisam : assertion in get_parts_for_update() -rpl_ndb_auto_inc : Bug#17086 -rpl_ndb_basic : Bug #18592 -#rpl_ndb_blob : interferes with following tests, causing hang -#rpl_ndb_blob2 : interferes with following tests, causing hang -rpl_ndb_ddl : master hangs -#rpl_ndb_delete_nowhere : Bug#17400: delete & update of rows in table without pk fails -rpl_ndb_insert_ignore : Bug #18567 -rpl_ndb_innodb2ndb : Bug#18261: Cluster Replication: tests rpl_ndb_xxx2ndb fails -rpl_ndb_myisam2ndb : Bug#18261: Cluster Replication: tests rpl_ndb_xxx2ndb fails -rpl_ndb_multi_update3 : Bug#18627: Cluster Replication: rpl_ndb_multi_update3 fails on Intel 64 bit -rpl_ndb_log : result not deterministic, TBD if should remove -rpl_ndb_relay_space : Bug#16993 -#rpl_ndb_multi_update3 : Bug#17400: delete & update of rows in table without pk fails -rpl_switch_stm_row_mixed : Bug #18590 -rpl_row_inexist_tbl : Disabled since patch makes this test wait forever -rpl_sp : Bug#16456 -rpl_until : Unstable test case, bug#15886 -sp-goto : GOTO is currently is disabled - will be fixed in the future -mysqldump : BUG#18078 -udf : Bug#18564 (Permission by Brian) -ndb_cache_multi2 : Bugs#18974: Test fails randomly -ndb_binlog_ddl_multi : Bugs#18976: Test fails randomly -rpl_ndb_trig004 : Bugs#18977: Test fails randomly -rpl_ndb_multi_update2 : Bugs#18978: Test fails randomly -rpl_row_blob_innodb : Bugs#18980: Test fails randomly +events_bugs : BUG#17619 2006-02-21 andrey Test case unstable (race conditions) +events_stress : BUG#17619 2006-02-21 andrey Test case unstable +events : BUG#17619 2006-02-21 andrey Test case unstable +events_logs_tests : BUG#18953 2006-04-12 kent Test is randomly failing +ndb_autodiscover : BUG#18952 2006-02-16 jmiller Needs to be fixed w.r.t binlog +ndb_autodiscover2 : BUG#18952 2006-02-16 jmiller Needs to be fixed w.r.t binlog +ndb_binlog_ddl_multi : BUG#18976 2006-04-10 kent Test fails randomly +ndb_cache2 : BUG#18597 2006-03-28 brian +ndb_cache_multi2 : BUG#18974 2006-04-10 kent Test fails randomly +ndb_gis : BUG#18600 2006-03-28 brian +ndb_load : BUG#17233 2006-02-16 jmiller +partition_03ndb : BUG#16385 2006-03-24 mikael +ps_7ndb : BUG#18950 2006-02-16 jmiller Dbug assert in RBR mode when executing test suite +rpl_ndb_dd_basic : BUG#18569 2006-03-28 brian +rpl_row_basic_7ndb : BUG#18923 2006-04-09 brian +rpl_ndb_dd_advance : BUG#18924 2006-04-09 brian +rpl_ndb_multi_update2 : BUG#18928 2006-04-09 brian +rpl_ndb_2innodb : BUG#18945 2006-03-22 tomas Assertion in get_parts_for_update() +rpl_ndb_2myisam : BUG#18945 2006-03-22 tomas Assertion in get_parts_for_update() +rpl_ndb_auto_inc : BUG#17086 2006-02-16 jmiller +rpl_ndb_basic : BUG#18592 2006-03-28 brian +rpl_ndb_ddl : BUG#18946 2006-03-16 mats Master hangs (Probably related to BUG#17400) +rpl_ndb_insert_ignore : BUG#18567 2006-03-28 brian +rpl_ndb_innodb2ndb : BUG#18261 2006-03-16 mats Cluster Replication: tests rpl_ndb_xxx2ndb fails (BUG#17400) +rpl_ndb_myisam2ndb : BUG#18261 2006-03-16 mats Cluster Replication: tests rpl_ndb_xxx2ndb fails (BUG#17400) +rpl_ndb_multi_update3 : BUG#18627 2006-03-29 monty Cluster Replication: rpl_ndb_multi_update3 fails on Intel 64 bit +rpl_ndb_log : BUG#18947 2006-03-21 tomas Result not deterministic, TBD if should remove +rpl_ndb_relay_space : BUG#16993 2006-02-16 jmiller +rpl_ndb_trig004 : BUG#18977 2006-04-10 kent Test fails randomly +rpl_switch_stm_row_mixed : BUG#18590 2006-03-28 brian +rpl_row_blob_innodb : BUG#18980 2006-04-10 kent Test fails randomly +rpl_row_inexist_tbl : BUG#18948 2006-03-09 mats Disabled since patch makes this test wait forever +rpl_sp : BUG#16456 2006-02-16 jmiller +rpl_until : BUG#15886 2006-02-16 jmiller Unstable test case +sp-goto : BUG#18949 2006-02-16 jmiller GOTO is currently is disabled - will be fixed in the future +mysqldump : BUG#18078 2006-03-10 lars +udf : BUG#18564 2006-03-27 ian (Permission by Brian) + +#ndb_alter_table_row : sometimes wrong error 1015!=1046 +#ndb_binlog_basic : Results are not deterministic, Tomas will fix +#ndb_binlog_multi : Results are not deterministic, Tomas will fix +#rpl_bit_npk : Bug#13418 +#rpl_ddl : Bug#15963 SBR does not show "Definer" correctly +#rpl_ndb_blob : interferes with following tests, causing hang +#rpl_ndb_blob2 : interferes with following tests, causing hang +#rpl_ndb_delete_nowhere : Bug#17400: delete & update of rows in table without pk fails +#rpl_ndb_multi_update3 : Bug#17400: delete & update of rows in table without pk fails -- cgit v1.2.1 From a8912bb1da965223721d3254646a283d3bd039ec Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 12 Apr 2006 11:14:56 -0700 Subject: Support --debug/-# in instance manager. mysql-test/mysql-test-run.pl: Support tracing the instance manager server-tools/instance-manager/options.cc: Handle --debug/-# server-tools/instance-manager/options.h: Handle --debug/-# --- mysql-test/mysql-test-run.pl | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'mysql-test') diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl index dbfa72b4cff..b5ab324577f 100755 --- a/mysql-test/mysql-test-run.pl +++ b/mysql-test/mysql-test-run.pl @@ -2940,6 +2940,12 @@ sub im_start($$) { mtr_add_arg($args, "--defaults-file=%s", $instance_manager->{'defaults_file'}); + if ( $opt_debug ) + { + mtr_add_arg($args, "--debug=d:t:i:A,%s/log/im.trace", + $opt_vardir_trace); + } + foreach my $opt (@{$opts}) { mtr_add_arg($args, $opt); -- cgit v1.2.1 From 125208706a96501a77e0dbb10aefa41febebea74 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 12 Apr 2006 20:38:08 +0200 Subject: disabled.def: Disabled 'rpl_deadlock_innodb', randomly failing mysql-test/t/disabled.def: Disabled 'rpl_deadlock_innodb', randomly failing --- mysql-test/t/disabled.def | 1 + 1 file changed, 1 insertion(+) (limited to 'mysql-test') diff --git a/mysql-test/t/disabled.def b/mysql-test/t/disabled.def index 133ef9b3c8e..b8162656d7b 100644 --- a/mysql-test/t/disabled.def +++ b/mysql-test/t/disabled.def @@ -22,6 +22,7 @@ ndb_gis : BUG#18600 2006-03-28 brian ndb_load : BUG#17233 2006-02-16 jmiller partition_03ndb : BUG#16385 2006-03-24 mikael ps_7ndb : BUG#18950 2006-02-16 jmiller Dbug assert in RBR mode when executing test suite +rpl_deadlock_innodb : BUG#16920 2006-04-12 kent fails in show slave status (randomly) rpl_ndb_dd_basic : BUG#18569 2006-03-28 brian rpl_row_basic_7ndb : BUG#18923 2006-04-09 brian rpl_ndb_dd_advance : BUG#18924 2006-04-09 brian -- cgit v1.2.1 From aede37ca938d36c171fb30ffd4c598ac0e23408e Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 12 Apr 2006 21:19:24 +0200 Subject: Bug#17400 (Cluster Replication: Delete and update of row w/o PK fails): Restarting scan after call to delete_row(). mysql-test/include/rpl_multi_engine3.inc: Injector thread was not given enough time. mysql-test/t/disabled.def: Disabling some tests. sql/log_event.cc: Moving scan init functions for Delete_rows_log_event. Restarting scan for each found row. mysql-test/t/rpl_ndb_dd_partitions.test: New BitKeeper file ``mysql-test/t/rpl_ndb_dd_partitions.test'' --- mysql-test/include/rpl_multi_engine3.inc | 2 +- mysql-test/t/disabled.def | 3 +- mysql-test/t/rpl_ndb_dd_partitions.test | 301 +++++++++++++++++++++++++++++++ 3 files changed, 304 insertions(+), 2 deletions(-) create mode 100644 mysql-test/t/rpl_ndb_dd_partitions.test (limited to 'mysql-test') diff --git a/mysql-test/include/rpl_multi_engine3.inc b/mysql-test/include/rpl_multi_engine3.inc index be89c1907f3..cc1b3f13025 100644 --- a/mysql-test/include/rpl_multi_engine3.inc +++ b/mysql-test/include/rpl_multi_engine3.inc @@ -41,7 +41,7 @@ SELECT id,hex(b1),vc,bc,d,f,total,y,t FROM t1 WHERE id = 412; # Must give injector thread a little time to get update # into the binlog other wise we will miss the update. -sleep 3; +sleep 10; sync_slave_with_master; --echo --- Check Update on slave --- diff --git a/mysql-test/t/disabled.def b/mysql-test/t/disabled.def index 708501a1cf9..3c28148ed80 100644 --- a/mysql-test/t/disabled.def +++ b/mysql-test/t/disabled.def @@ -31,7 +31,8 @@ rpl_ndb_blob : interferes with following tests, causing hang rpl_ndb_blob2 : interferes with following tests, causing hang rpl_ndb_ddl : master hangs #rpl_ndb_delete_nowhere : Bug#17400: delete & update of rows in table without pk fails -rpl_ndb_innodb2ndb : Bug#18261: Cluster Replication: tests rpl_ndb_xxx2ndb fails +rpl_ndb_innodb2ndb : Bug#18094 - Slave caches invalid table definition... +rpl_ndb_dd_partitions : Bug#18094 - Slave caches invalid table definition... rpl_ndb_insert_ignore : Bugs: #17431: INSERT IGNORE INTO returns failed: 1296 rpl_ndb_myisam2ndb : Bug#18261: Cluster Replication: tests rpl_ndb_xxx2ndb fails rpl_ndb_log : result not deterministic, TBD if should remove diff --git a/mysql-test/t/rpl_ndb_dd_partitions.test b/mysql-test/t/rpl_ndb_dd_partitions.test new file mode 100644 index 00000000000..026c31bbdc7 --- /dev/null +++ b/mysql-test/t/rpl_ndb_dd_partitions.test @@ -0,0 +1,301 @@ +####################################### +# Author: JBM # +# Date: 2006-03-09 # +# Purpose: To test the replication of # +# Cluster Disk Data using partitions # +####################################### + +--source include/have_ndb.inc +--source include/have_binlog_format_row.inc +--source include/master-slave.inc + +--echo --- Doing pre test cleanup --- + +connection master; +--disable_warnings +DROP TABLE IF EXISTS t1; +--enable_query_log + + +# Start by creating a logfile group +################################## + +CREATE LOGFILE GROUP lg1 +ADD UNDOFILE 'undofile.dat' +INITIAL_SIZE 16M +UNDO_BUFFER_SIZE = 1M +ENGINE=NDB; + +ALTER LOGFILE GROUP lg1 +ADD UNDOFILE 'undofile02.dat' +INITIAL_SIZE = 4M +ENGINE=NDB; + +################################################### +# Create a tablespace connected to the logfile group +################################################### + +CREATE TABLESPACE ts1 +ADD DATAFILE 'datafile.dat' +USE LOGFILE GROUP lg1 +INITIAL_SIZE 12M +ENGINE NDB; + +ALTER TABLESPACE ts1 +ADD DATAFILE 'datafile02.dat' +INITIAL_SIZE = 4M +ENGINE=NDB; + +################################################################# + +--echo --- Start test 2 partition RANGE testing -- +--echo --- Do setup -- + + +################################################# +# Requirment: Create table that is partitioned # +# by range on year i.e. year(t) and replicate # +# basice operations such at insert, update # +# delete between 2 different storage engines # +# Alter table and ensure table is handled # +# Correctly on the slave # +################################################# + +CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc VARCHAR(63), + bc CHAR(63), d DECIMAL(10,4) DEFAULT 0, + f FLOAT DEFAULT 0, total BIGINT UNSIGNED, + y YEAR, t DATE) + TABLESPACE ts1 STORAGE DISK + ENGINE=NDB + PARTITION BY RANGE (YEAR(t)) + (PARTITION p0 VALUES LESS THAN (1901), + PARTITION p1 VALUES LESS THAN (1946), + PARTITION p2 VALUES LESS THAN (1966), + PARTITION p3 VALUES LESS THAN (1986), + PARTITION p4 VALUES LESS THAN (2005), + PARTITION p5 VALUES LESS THAN MAXVALUE); + +--echo --- Show table on master --- + +SHOW CREATE TABLE t1; + +--echo --- Show table on slave -- + +sync_slave_with_master; +SHOW CREATE TABLE t1; + +--echo --- Perform basic operation on master --- +--echo --- and ensure replicated correctly --- + +--source include/rpl_multi_engine3.inc + +--echo --- Check that simple Alter statements are replicated correctly --- + +ALTER TABLE t1 MODIFY vc VARCHAR(255); + +--echo --- Show the new improved table on the master --- + +SHOW CREATE TABLE t1; + +--echo --- Make sure that our tables on slave are still same engine --- +--echo --- and that the alter statements replicated correctly --- + +sync_slave_with_master; +SHOW CREATE TABLE t1; + +--echo --- Perform basic operation on master --- +--echo --- and ensure replicated correctly --- +--enable_query_log + +--source include/rpl_multi_engine3.inc + +--echo --- End test 2 partition RANGE testing --- +--echo --- Do Cleanup --- + +DROP TABLE IF EXISTS t1; + +######################################################## + +--echo --- Start test 3 partition LIST testing --- +--echo --- Do setup --- +################################################# + + +CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc VARCHAR(63), + bc CHAR(63), d DECIMAL(10,4) DEFAULT 0, + f FLOAT DEFAULT 0, total BIGINT UNSIGNED, + y YEAR, t DATE) + TABLESPACE ts1 STORAGE DISK + ENGINE=NDB + PARTITION BY LIST(id) + (PARTITION p0 VALUES IN (2, 4), + PARTITION p1 VALUES IN (42, 142)); + +--echo --- Test 3 Alter to add partition --- + +ALTER TABLE t1 ADD PARTITION (PARTITION p2 VALUES IN (412)); + +--echo --- Show table on master --- + +SHOW CREATE TABLE t1; + +--echo --- Show table on slave --- + +sync_slave_with_master; +SHOW CREATE TABLE t1; + +--echo --- Perform basic operation on master --- +--echo --- and ensure replicated correctly --- + +--source include/rpl_multi_engine3.inc + +--echo --- Check that simple Alter statements are replicated correctly --- + +ALTER TABLE t1 MODIFY vc VARCHAR(255); + +--echo --- Show the new improved table on the master --- + +SHOW CREATE TABLE t1; + +--echo --- Make sure that our tables on slave are still same engine --- +--echo --- and that the alter statements replicated correctly --- + +sync_slave_with_master; +SHOW CREATE TABLE t1; + +--echo --- Perform basic operation on master --- +--echo --- and ensure replicated correctly --- + +--source include/rpl_multi_engine3.inc + +--echo --- End test 3 partition LIST testing --- +--echo --- Do Cleanup -- + +DROP TABLE IF EXISTS t1; + +######################################################## + +--echo --- Start test 4 partition HASH testing --- +--echo --- Do setup --- +################################################# + + +CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc VARCHAR(63), + bc CHAR(63), d DECIMAL(10,4) DEFAULT 0, + f FLOAT DEFAULT 0, total BIGINT UNSIGNED, + y YEAR, t DATE) + TABLESPACE ts1 STORAGE DISK + ENGINE=NDB + PARTITION BY HASH( YEAR(t) ) + PARTITIONS 4; + +--echo --- show that tables have been created correctly --- + +SHOW CREATE TABLE t1; +sync_slave_with_master; +SHOW CREATE TABLE t1; + +--echo --- Perform basic operation on master --- +--echo --- and ensure replicated correctly --- + +--source include/rpl_multi_engine3.inc + +--echo --- Check that simple Alter statements are replicated correctly --- + +ALTER TABLE t1 MODIFY vc VARCHAR(255); + +--echo --- Show the new improved table on the master --- + +SHOW CREATE TABLE t1; + +--echo --- Make sure that our tables on slave are still same engine --- +--echo --- and that the alter statements replicated correctly --- + +sync_slave_with_master; +SHOW CREATE TABLE t1; + +--echo --- Perform basic operation on master --- +--echo --- and ensure replicated correctly --- + +--source include/rpl_multi_engine3.inc + +--echo --- End test 4 partition HASH testing --- +--echo --- Do Cleanup -- + +DROP TABLE IF EXISTS t1; + +######################################################## + +--echo --- Start test 5 partition by key testing --- +--echo --- Create Table Section --- + +################################################# + +CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc VARCHAR(63), + bc CHAR(63), d DECIMAL(10,4) DEFAULT 0, + f FLOAT DEFAULT 0, total BIGINT UNSIGNED, + y YEAR, t DATE,PRIMARY KEY(id)) + TABLESPACE ts1 STORAGE DISK + ENGINE=NDB + PARTITION BY KEY() + PARTITIONS 4; + +--echo --- Show that tables on master are ndbcluster tables --- + +SHOW CREATE TABLE t1; + +--echo --- Show that tables on slave --- + +sync_slave_with_master; +SHOW CREATE TABLE t1; + +--echo --- Perform basic operation on master --- +--echo --- and ensure replicated correctly --- + +--source include/rpl_multi_engine3.inc + +# Okay lets see how it holds up to table changes +--echo --- Check that simple Alter statements are replicated correctly --- + +ALTER TABLE t1 DROP PRIMARY KEY, ADD PRIMARY KEY(id, total); + +--echo --- Show the new improved table on the master --- + +SHOW CREATE TABLE t1; + +--echo --- Make sure that our tables on slave are still right type --- +--echo --- and that the alter statements replicated correctly --- + +sync_slave_with_master; +SHOW CREATE TABLE t1; + +--echo --- Perform basic operation on master --- +--echo --- and ensure replicated correctly --- + +--source include/rpl_multi_engine3.inc + +--echo --- Check that simple Alter statements are replicated correctly --- + +ALTER TABLE t1 MODIFY vc VARCHAR(255); + +--echo --- Show the new improved table on the master --- + +SHOW CREATE TABLE t1; + +--echo --- Make sure that our tables on slave are still same engine --- +--echo --- and that the alter statements replicated correctly --- + +sync_slave_with_master; +SHOW CREATE TABLE t1; + +--echo --- Perform basic operation on master --- +--echo --- and ensure replicated correctly --- + +--source include/rpl_multi_engine3.inc + +--echo --- End test 5 key partition testing --- +--echo --- Do Cleanup --- + +DROP TABLE IF EXISTS t1; + +# End of 5.1 test case -- cgit v1.2.1 From e3ae0951b41b96b75cbb3cb5db084ecfa4e55b02 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 13 Apr 2006 01:46:44 +0400 Subject: Post-merge fixes. Add a new error message for max_prepared_stmt_count limit. mysql-test/r/ps.result: Post-merge fixes. mysql-test/t/ps.test: Post-merge fixes. sql/share/errmsg.txt: Add a new error message for max_prepared_stmt_count limit, we can do it in 5.0 sql/sql_class.cc: Post-merge fixes. sql/sql_class.h: Post-merge fixes. sql/sql_prepare.cc: Post-merge fixes. --- mysql-test/r/ps.result | 130 +++++++++++++++++++++++++++++++++++++++++++++++++ mysql-test/t/ps.test | 26 +++++----- 2 files changed, 144 insertions(+), 12 deletions(-) (limited to 'mysql-test') diff --git a/mysql-test/r/ps.result b/mysql-test/r/ps.result index 9afbca9dcb1..b29185eaaea 100644 --- a/mysql-test/r/ps.result +++ b/mysql-test/r/ps.result @@ -108,6 +108,9 @@ set @fvar= 123.4567; prepare stmt1 from @fvar; 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 '123.4567' at line 1 drop table t1,t2; +deallocate prepare stmt3; +deallocate prepare stmt4; +deallocate prepare stmt5; PREPARE stmt1 FROM "select _utf8 'A' collate utf8_bin = ?"; set @var='A'; EXECUTE stmt1 USING @var; @@ -253,6 +256,7 @@ set names latin1; execute ``; 1234 1234 +deallocate prepare ``; set names default; create table t1 (a varchar(10)) charset=utf8; insert into t1 (a) values ('yahoo'); @@ -781,6 +785,7 @@ EXECUTE b12651; 1 DROP VIEW b12651_V1; DROP TABLE b12651_T1, b12651_T2; +DEALLOCATE PREPARE b12651; prepare stmt from "select @@time_zone"; execute stmt; @@time_zone @@ -873,6 +878,130 @@ length(a) 10 drop table t1; deallocate prepare stmt; +create table t1 (col1 integer, col2 integer); +insert into t1 values(100,100),(101,101),(102,102),(103,103); +prepare stmt from 'select col1, col2 from t1 where (col1, col2) in ((?,?))'; +set @a=100, @b=100; +execute stmt using @a,@b; +col1 col2 +100 100 +set @a=101, @b=101; +execute stmt using @a,@b; +col1 col2 +101 101 +set @a=102, @b=102; +execute stmt using @a,@b; +col1 col2 +102 102 +set @a=102, @b=103; +execute stmt using @a,@b; +col1 col2 +deallocate prepare stmt; +drop table t1; +set @old_max_prepared_stmt_count= @@max_prepared_stmt_count; +show variables like 'max_prepared_stmt_count'; +Variable_name Value +max_prepared_stmt_count 16382 +show variables like 'prepared_stmt_count'; +Variable_name Value +prepared_stmt_count 0 +select @@max_prepared_stmt_count, @@prepared_stmt_count; +@@max_prepared_stmt_count @@prepared_stmt_count +16382 0 +set global max_prepared_stmt_count=-1; +select @@max_prepared_stmt_count; +@@max_prepared_stmt_count +0 +set global max_prepared_stmt_count=10000000000000000; +select @@max_prepared_stmt_count; +@@max_prepared_stmt_count +1048576 +set global max_prepared_stmt_count=default; +select @@max_prepared_stmt_count; +@@max_prepared_stmt_count +16382 +set @@max_prepared_stmt_count=1; +ERROR HY000: Variable 'max_prepared_stmt_count' is a GLOBAL variable and should be set with SET GLOBAL +set max_prepared_stmt_count=1; +ERROR HY000: Variable 'max_prepared_stmt_count' is a GLOBAL variable and should be set with SET GLOBAL +set local max_prepared_stmt_count=1; +ERROR HY000: Variable 'max_prepared_stmt_count' is a GLOBAL variable and should be set with SET GLOBAL +set local prepared_stmt_count=0; +ERROR HY000: Variable 'prepared_stmt_count' is a read only variable +set @@prepared_stmt_count=0; +ERROR HY000: Variable 'prepared_stmt_count' is a read only variable +set global prepared_stmt_count=1; +ERROR HY000: Variable 'prepared_stmt_count' is a read only variable +set global max_prepared_stmt_count=1; +select @@max_prepared_stmt_count; +@@max_prepared_stmt_count +1 +set global max_prepared_stmt_count=0; +select @@max_prepared_stmt_count, @@prepared_stmt_count; +@@max_prepared_stmt_count @@prepared_stmt_count +0 0 +prepare stmt from "select 1"; +ERROR 42000: Can't create more than max_prepared_stmt_count statements (current value: 0) +select @@prepared_stmt_count; +@@prepared_stmt_count +0 +set global max_prepared_stmt_count=1; +prepare stmt from "select 1"; +select @@prepared_stmt_count; +@@prepared_stmt_count +1 +prepare stmt1 from "select 1"; +ERROR 42000: Can't create more than max_prepared_stmt_count statements (current value: 1) +select @@prepared_stmt_count; +@@prepared_stmt_count +1 +deallocate prepare stmt; +select @@prepared_stmt_count; +@@prepared_stmt_count +0 +prepare stmt from "select 1"; +select @@prepared_stmt_count; +@@prepared_stmt_count +1 +prepare stmt from "select 2"; +select @@prepared_stmt_count; +@@prepared_stmt_count +1 +select @@prepared_stmt_count, @@max_prepared_stmt_count; +@@prepared_stmt_count @@max_prepared_stmt_count +1 1 +set global max_prepared_stmt_count=0; +prepare stmt from "select 1"; +ERROR 42000: Can't create more than max_prepared_stmt_count statements (current value: 0) +execute stmt; +ERROR HY000: Unknown prepared statement handler (stmt) given to EXECUTE +select @@prepared_stmt_count; +@@prepared_stmt_count +0 +prepare stmt from "select 1"; +ERROR 42000: Can't create more than max_prepared_stmt_count statements (current value: 0) +select @@prepared_stmt_count; +@@prepared_stmt_count +0 +set global max_prepared_stmt_count=3; +select @@max_prepared_stmt_count, @@prepared_stmt_count; +@@max_prepared_stmt_count @@prepared_stmt_count +3 0 +prepare stmt from "select 1"; +prepare stmt from "select 2"; +prepare stmt1 from "select 3"; +prepare stmt2 from "select 4"; +ERROR 42000: Can't create more than max_prepared_stmt_count statements (current value: 3) +prepare stmt2 from "select 4"; +ERROR 42000: Can't create more than max_prepared_stmt_count statements (current value: 3) +select @@max_prepared_stmt_count, @@prepared_stmt_count; +@@max_prepared_stmt_count @@prepared_stmt_count +3 3 +deallocate prepare stmt; +select @@max_prepared_stmt_count, @@prepared_stmt_count; +@@max_prepared_stmt_count @@prepared_stmt_count +3 0 +set global max_prepared_stmt_count= @old_max_prepared_stmt_count; create table t1 (id int); prepare ins_call from "insert into t1 (id) values (1)"; execute ins_call; @@ -883,6 +1012,7 @@ drop table t1; create table t1 (a int, b int); insert into t1 (a,b) values (2,8),(1,9),(3,7); prepare stmt from "select * from t1 order by ?"; +set @a=NULL; execute stmt using @a; a b 2 8 diff --git a/mysql-test/t/ps.test b/mysql-test/t/ps.test index 23b33156b48..1f5f17fe976 100644 --- a/mysql-test/t/ps.test +++ b/mysql-test/t/ps.test @@ -827,6 +827,7 @@ EXECUTE b12651; DROP VIEW b12651_V1; DROP TABLE b12651_T1, b12651_T2; +DEALLOCATE PREPARE b12651; # # Bug#9359 "Prepared statements take snapshot of system vars at PREPARE @@ -974,17 +975,17 @@ set global max_prepared_stmt_count=10000000000000000; select @@max_prepared_stmt_count; set global max_prepared_stmt_count=default; select @@max_prepared_stmt_count; ---error 1229 # ER_GLOBAL_VARIABLE +--error ER_GLOBAL_VARIABLE set @@max_prepared_stmt_count=1; ---error 1229 # ER_GLOBAL_VARIABLE +--error ER_GLOBAL_VARIABLE set max_prepared_stmt_count=1; ---error 1229 # ER_GLOBAL_VARIABLE +--error ER_GLOBAL_VARIABLE set local max_prepared_stmt_count=1; ---error 1229 # ER_GLOBAL_VARIABLE +--error ER_INCORRECT_GLOBAL_LOCAL_VAR set local prepared_stmt_count=0; ---error 1229 # ER_GLOBAL_VARIABLE +--error ER_INCORRECT_GLOBAL_LOCAL_VAR set @@prepared_stmt_count=0; ---error 1232 # ER_WRONG_TYPE_FOR_VAR +--error ER_INCORRECT_GLOBAL_LOCAL_VAR set global prepared_stmt_count=1; # set to a reasonable limit works set global max_prepared_stmt_count=1; @@ -994,13 +995,13 @@ select @@max_prepared_stmt_count; # set global max_prepared_stmt_count=0; select @@max_prepared_stmt_count, @@prepared_stmt_count; ---error 1105 # ER_UNKNOWN_ERROR +--error ER_MAX_PREPARED_STMT_COUNT_REACHED prepare stmt from "select 1"; select @@prepared_stmt_count; set global max_prepared_stmt_count=1; prepare stmt from "select 1"; select @@prepared_stmt_count; ---error 1105 # ER_UNKNOWN_ERROR +--error ER_MAX_PREPARED_STMT_COUNT_REACHED prepare stmt1 from "select 1"; select @@prepared_stmt_count; deallocate prepare stmt; @@ -1019,13 +1020,13 @@ select @@prepared_stmt_count; # select @@prepared_stmt_count, @@max_prepared_stmt_count; set global max_prepared_stmt_count=0; ---error 1105 # ER_UNKNOWN_ERROR +--error ER_MAX_PREPARED_STMT_COUNT_REACHED prepare stmt from "select 1"; # Result: the old statement is deallocated, the new is not created. --error 1243 # ER_UNKNOWN_STMT_HANDLER execute stmt; select @@prepared_stmt_count; ---error 1105 # ER_UNKNOWN_ERROR +--error ER_MAX_PREPARED_STMT_COUNT_REACHED prepare stmt from "select 1"; select @@prepared_stmt_count; # @@ -1039,10 +1040,10 @@ connect (con1,localhost,root,,); connection con1; prepare stmt from "select 2"; prepare stmt1 from "select 3"; ---error 1105 # ER_UNKNOWN_ERROR +--error ER_MAX_PREPARED_STMT_COUNT_REACHED prepare stmt2 from "select 4"; connection default; ---error 1105 # ER_UNKNOWN_ERROR +--error ER_MAX_PREPARED_STMT_COUNT_REACHED prepare stmt2 from "select 4"; select @@max_prepared_stmt_count, @@prepared_stmt_count; disconnect con1; @@ -1087,6 +1088,7 @@ insert into t1 (a,b) values (2,8),(1,9),(3,7); # Will order by index prepare stmt from "select * from t1 order by ?"; +set @a=NULL; execute stmt using @a; set @a=1; execute stmt using @a; -- cgit v1.2.1 From efc130859b9346e57f16c661bdce1820e9b89229 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 12 Apr 2006 18:15:39 -0700 Subject: Fixes after manual merge. --- mysql-test/r/innodb.result | 57 ++++++++++++++++++++++++++++++++++++++++++---- mysql-test/t/innodb.test | 23 ++++++++++--------- 2 files changed, 65 insertions(+), 15 deletions(-) (limited to 'mysql-test') diff --git a/mysql-test/r/innodb.result b/mysql-test/r/innodb.result index 0d76d9fdc7b..0ffcc70ec16 100644 --- a/mysql-test/r/innodb.result +++ b/mysql-test/r/innodb.result @@ -2924,13 +2924,13 @@ create table t3 (s1 varchar(2) binary,primary key (s1)) engine=innodb; create table t4 (s1 char(2) binary,primary key (s1)) engine=innodb; insert into t1 values (0x41),(0x4120),(0x4100); insert into t2 values (0x41),(0x4120),(0x4100); -ERROR 23000: Duplicate entry 'A' for key 1 +ERROR 23000: Duplicate entry 'A' for key 'PRIMARY' insert into t2 values (0x41),(0x4120); insert into t3 values (0x41),(0x4120),(0x4100); -ERROR 23000: Duplicate entry 'A ' for key 1 +ERROR 23000: Duplicate entry 'A ' for key 'PRIMARY' insert into t3 values (0x41),(0x4100); insert into t4 values (0x41),(0x4120),(0x4100); -ERROR 23000: Duplicate entry 'A' for key 1 +ERROR 23000: Duplicate entry 'A' for key 'PRIMARY' insert into t4 values (0x41),(0x4100); select hex(s1) from t1; hex(s1) @@ -3132,7 +3132,7 @@ ALTER TABLE t2 DROP FOREIGN KEY t2_ibfk_0; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( - `a` int(11) default NULL, + `a` int(11) DEFAULT NULL, KEY `t2_ibfk_0` (`a`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 DROP TABLE t2,t1; @@ -3203,3 +3203,52 @@ where t2.a between t1.a - interval 2 day and t1.a + interval 2 day; a a 2005-10-01 2005-10-01 drop table t1, t2; +CREATE TABLE t1 ( +field1 varchar(8) NOT NULL DEFAULT '', +field2 varchar(8) NOT NULL DEFAULT '', +PRIMARY KEY (field1, field2) +) ENGINE=InnoDB; +CREATE TABLE t2 ( +field1 varchar(8) NOT NULL DEFAULT '' PRIMARY KEY, +FOREIGN KEY (field1) REFERENCES t1 (field1) +ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB; +INSERT INTO t1 VALUES ('old', 'somevalu'); +INSERT INTO t1 VALUES ('other', 'anyvalue'); +INSERT INTO t2 VALUES ('old'); +INSERT INTO t2 VALUES ('other'); +UPDATE t1 SET field1 = 'other' WHERE field2 = 'somevalu'; +ERROR 23000: Upholding foreign key constraints for table 't1', entry 'other-somevalu', key 1 would lead to a duplicate entry +DROP TABLE t2; +DROP TABLE t1; +create table t1 ( +c1 bigint not null, +c2 bigint not null, +primary key (c1), +unique key (c2) +) engine=innodb; +create table t2 ( +c1 bigint not null, +primary key (c1) +) engine=innodb; +alter table t1 add constraint c2_fk foreign key (c2) +references t2(c1) on delete cascade; +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `c1` bigint(20) NOT NULL, + `c2` bigint(20) NOT NULL, + PRIMARY KEY (`c1`), + UNIQUE KEY `c2` (`c2`), + CONSTRAINT `c2_fk` FOREIGN KEY (`c2`) REFERENCES `t2` (`c1`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +alter table t1 drop foreign key c2_fk; +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `c1` bigint(20) NOT NULL, + `c2` bigint(20) NOT NULL, + PRIMARY KEY (`c1`), + UNIQUE KEY `c2` (`c2`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +drop table t1, t2; diff --git a/mysql-test/t/innodb.test b/mysql-test/t/innodb.test index 9c8c54f2b55..83b167def73 100644 --- a/mysql-test/t/innodb.test +++ b/mysql-test/t/innodb.test @@ -2085,6 +2085,18 @@ connection default; disconnect a; disconnect b; +# +# Bug #14360: problem with intervals +# + +create table t1(a date) engine=innodb; +create table t2(a date, key(a)) engine=innodb; +insert into t1 values('2005-10-01'); +insert into t2 values('2005-10-01'); +select * from t1, t2 + where t2.a between t1.a - interval 2 day and t1.a + interval 2 day; +drop table t1, t2; + # # Test that cascading updates leading to duplicate keys give the correct # error message (bug #9680) @@ -2137,14 +2149,3 @@ alter table t1 drop foreign key c2_fk; show create table t1; # drop table t1, t2; - -# Bug #14360: problem with intervals -# - -create table t1(a date) engine=innodb; -create table t2(a date, key(a)) engine=innodb; -insert into t1 values('2005-10-01'); -insert into t2 values('2005-10-01'); -select * from t1, t2 - where t2.a between t1.a - interval 2 day and t1.a + interval 2 day; -drop table t1, t2; -- cgit v1.2.1 From 8f9b7dc517d33aa3efe425450632e79a0f59e42d Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 13 Apr 2006 13:31:14 +0200 Subject: disabled tests with accurate bug reports --- mysql-test/t/disabled.def | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'mysql-test') diff --git a/mysql-test/t/disabled.def b/mysql-test/t/disabled.def index a5166773b92..8fd40eddf39 100644 --- a/mysql-test/t/disabled.def +++ b/mysql-test/t/disabled.def @@ -15,9 +15,9 @@ events : BUG#17619 2006-02-21 andrey Test case unstable events_logs_tests : BUG#18953 2006-04-12 kent Test is randomly failing ndb_autodiscover : BUG#18952 2006-02-16 jmiller Needs to be fixed w.r.t binlog ndb_autodiscover2 : BUG#18952 2006-02-16 jmiller Needs to be fixed w.r.t binlog -#ndb_binlog_ddl_multi : BUG#18976 2006-04-10 kent Test fails randomly -#ndb_cache2 : BUG#18597 2006-03-28 brian simultaneous drop table and ndb statistics update triggers node failure -#ndb_cache_multi2 : BUG#18974 2006-04-10 kent Test fails randomly +ndb_binlog_ddl_multi : BUG#18976 2006-04-10 kent CRBR: multiple binlog, second binlog may miss schema log events +ndb_cache2 : BUG#18597 2006-03-28 brian simultaneous drop table and ndb statistics update triggers node failure +ndb_cache_multi2 : BUG#18597 2006-04-10 kent simultaneous drop table and ndb statistics update triggers node failure #ndb_gis : BUG#18600 2006-03-28 brian ndb_gis test failure #ndb_load : BUG#17233 2006-02-16 jmiller failed load data from infile causes mysqld dbug_assert, binlog not flushed partition_03ndb : BUG#16385 2006-03-24 mikael Partitions: crash when updating a range partitioned NDB table @@ -32,7 +32,7 @@ rpl_ndb_auto_inc : BUG#17086 2006-02-16 jmiller CR: auto_increment_incre rpl_ndb_ddl : result file needs update + test needs to checked #rpl_ndb_insert_ignore : BUG#18567 2006-03-28 brian rpl_ndb_insert_ignore failure rpl_ndb_innodb2ndb : BUG#18094 2006-03-16 mats Slave caches invalid table definition after atlters causes select failure -#rpl_ndb_log : BUG#18947 2006-03-21 tomas Result not deterministic, TBD if should remove +rpl_ndb_log : BUG#18947 2006-03-21 tomas CRBR: order in binlog of create table and insert (on different table) not determ #rpl_ndb_multi_update2 : BUG#18928 2006-04-09 brian rpl_ndb_multi_update2 failed #rpl_ndb_multi_update3 : BUG#18627 2006-03-29 monty Cluster Replication: rpl_ndb_multi_update3 fails on Intel 64 bit rpl_ndb_myisam2ndb : BUG#18094 2006-03-16 mats Slave caches invalid table definition after atlters causes select failure -- cgit v1.2.1 From 44ed1179e4f4794cc1f04eca6c9528f61453ec26 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 13 Apr 2006 16:05:32 +0400 Subject: BUG#19021, Crash in ROR-index_merge optimizer: get_best_covering_ror_intersect() was copying ror_scans starting from the end of the array and not from its beginning. mysql-test/r/index_merge_innodb.result: Testcase for BUG#19021 mysql-test/t/index_merge_innodb.test: Testcase for BUG#19021 sql/opt_range.cc: BUG#19021: In get_best_covering_ror_intersect(), the array of pointers to scans to be used is [tree->ror_scans, ror_scan_mark), and not [ror_scan_mark, ...) --- mysql-test/r/index_merge_innodb.result | 22 ++++++++++++++ mysql-test/t/index_merge_innodb.test | 52 ++++++++++++++++++++++++++++++++++ 2 files changed, 74 insertions(+) (limited to 'mysql-test') diff --git a/mysql-test/r/index_merge_innodb.result b/mysql-test/r/index_merge_innodb.result index 4dac5f3b62b..c0c850ee310 100644 --- a/mysql-test/r/index_merge_innodb.result +++ b/mysql-test/r/index_merge_innodb.result @@ -260,3 +260,25 @@ t_vers t_rele t_cust filler1 7.6 a 7.6 a drop table t1; +create table t1 ( +pk int(11) not null auto_increment, +a int(11) not null default '0', +b int(11) not null default '0', +c int(11) not null default '0', +filler1 datetime, filler2 varchar(15), +filler3 longtext, +kp1 varchar(4), kp2 varchar(7), +kp3 varchar(2), kp4 varchar(4), +kp5 varchar(7), +filler4 char(1), +primary key (pk), +key idx1(a,b,c), +key idx2(c), +key idx3(kp1,kp2,kp3,kp4,kp5) +) engine=innodb default charset=latin1; +set @fill=NULL; +SELECT COUNT(*) FROM t1 WHERE b = 0 AND a = 0 AND c = 13286427 AND +kp1='279' AND kp2='ELM0678' AND kp3='6' AND kp4='10' AND kp5 = 'R '; +COUNT(*) +1 +drop table t1; diff --git a/mysql-test/t/index_merge_innodb.test b/mysql-test/t/index_merge_innodb.test index a48626a9ec3..25f4e0b4e65 100644 --- a/mysql-test/t/index_merge_innodb.test +++ b/mysql-test/t/index_merge_innodb.test @@ -248,3 +248,55 @@ select t_vers,t_rele,t_cust,filler1 from t1 where t_vers = '7.6' drop table t1; +# BUG#19021: Crash in index_merge/ROR-intersection optimizer under +# specific circumstances. +create table t1 ( + pk int(11) not null auto_increment, + a int(11) not null default '0', + b int(11) not null default '0', + c int(11) not null default '0', + + filler1 datetime, filler2 varchar(15), + filler3 longtext, + + kp1 varchar(4), kp2 varchar(7), + kp3 varchar(2), kp4 varchar(4), + kp5 varchar(7), + filler4 char(1), + + primary key (pk), + key idx1(a,b,c), + key idx2(c), + key idx3(kp1,kp2,kp3,kp4,kp5) +) engine=innodb default charset=latin1; +--disable_query_log +set @fill= uncompress(unhex(concat( +'F91D0000789CDD993D6FDB301086F7FE0A6D4E0105B8E3F1335D5BA028DA0EEDE28E1D320408', +'52A0713BF4D7571FB62C51A475924839080307B603E77DEE787C8FA41F9E9EEF7F1F8A87A7C3', +'AFE280C5DF9F8F7FEE9F8B1B2CB114D6902E918455245DB91300FA16E42D5201FA4EE29DA05D', +'B9FB3718A33718A3FA8C30AEFAFDE1F317D016AA67BA7A60FDE45BF5F8BA7B5BDE8812AA9F1A', +'069DB03C9804346644F3A3A6A1338DB572756A3C4D1BCC804CABF912C654AE9BB855A2B85962', +'3A479259CAE6A86C0411D01AE5483581EDCBD9A39C45252D532E533979EB9F82E971D979BDB4', +'8531105670740AFBFD1E34AAB0029E4AD0A1D46A6D0946A21A16038A5CD965CD2D524673F712', +'20C304477315CE18405EAF9BD0AFFEAC74FDA14F1FBF5BD34C769D73FBBEDF4750ADD4E5A99C', +'5C8DC04934AFA275D483D536D174C11B12AF27F8F888B41B6FC9DBA569E1FD7BD72D698130B7', +'91B23A98803512B3D31881E8DCDA2AC1754E3644C4BB3A8466750B911681274A39E35E8624B7', +'444A42AC1213F354758E3CF1A4CDD5A688C767CF1B11ABC5867CB15D8A18E0B91E9EC275BB94', +'58F33C2936F64690D55BC29E4A293D95A798D84217736CEAAA538CE1354269EE2162053FBC66', +'496D90CB53323CB279D3A6AF651B4B22B9E430743D83BE48E995A09D4FC9871C22D8D189B945', +'706911BCB8C3C774B9C08D2FC6ED853ADACA37A14A4CB2E027630E5B80ECACD939431B1CDF62', +'7D71487536EA2C678F59685E91F4B6C144BCCB94C1EBA9FA6F5552DDCA4E4539BE326A2720CB', +'45ED028EB3616AC93C46E775FEA9FA6DA7CFCEC6DEBA5FCD1F915EED4D983BDDB881528AD9AB', +'43C1576F29AAB35BDFBC21D422F52B307D350589D45225A887AC46C8EDD72D99EC3ED2E1BCEF', +'7AF26FC4C74097B6768A5EDAFA660CC64278F7E63F99AC954B'))); +prepare x from @fill; +execute x; +deallocate prepare x; +--enable_query_log +set @fill=NULL; +SELECT COUNT(*) FROM t1 WHERE b = 0 AND a = 0 AND c = 13286427 AND + kp1='279' AND kp2='ELM0678' AND kp3='6' AND kp4='10' AND kp5 = 'R '; + +drop table t1; + + -- cgit v1.2.1 From da6cfdccfbecfdfc71f8353653e41bd26d13ef01 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 13 Apr 2006 15:16:02 +0200 Subject: BUG#18976 test workaround --- mysql-test/r/ndb_binlog_ddl_multi.result | 8 ++------ mysql-test/t/disabled.def | 12 +----------- mysql-test/t/ndb_binlog_ddl_multi.test | 15 +++++++++++---- 3 files changed, 14 insertions(+), 21 deletions(-) (limited to 'mysql-test') diff --git a/mysql-test/r/ndb_binlog_ddl_multi.result b/mysql-test/r/ndb_binlog_ddl_multi.result index abd7f6a875c..f3e9b23920d 100644 --- a/mysql-test/r/ndb_binlog_ddl_multi.result +++ b/mysql-test/r/ndb_binlog_ddl_multi.result @@ -27,15 +27,13 @@ master-bin1.000001 # Query # # use `test`; alter table t2 add column (b int) reset master; reset master; ALTER DATABASE mysqltest CHARACTER SET latin1; -drop table mysqltest.t1; show binlog events from ; Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # Query # # ALTER DATABASE mysqltest CHARACTER SET latin1 -master-bin.000001 # Query # # use `mysqltest`; drop table `t1` show binlog events from ; Log_name Pos Event_type Server_id End_log_pos Info master-bin.000001 # Query # # ALTER DATABASE mysqltest CHARACTER SET latin1 -master-bin.000001 # Query # # use `mysqltest`; drop table `t1` +drop table mysqltest.t1; reset master; reset master; use test; @@ -83,7 +81,6 @@ DROP TABLESPACE ts1 ENGINE = NDB; DROP LOGFILE GROUP lg1 ENGINE =NDB; -drop table t1; show binlog events from ; Log_name Pos Event_type Server_id End_log_pos Info master-bin1.000001 # Query # # CREATE LOGFILE GROUP lg1 @@ -114,7 +111,6 @@ master-bin1.000001 # Query # # DROP TABLESPACE ts1 ENGINE = NDB master-bin1.000001 # Query # # DROP LOGFILE GROUP lg1 ENGINE =NDB -master-bin1.000001 # Query # # use `test`; drop table `t1` show binlog events from ; Log_name Pos Event_type Server_id End_log_pos Info master-bin1.000001 # Query # # CREATE LOGFILE GROUP lg1 @@ -145,7 +141,7 @@ master-bin1.000001 # Query # # DROP TABLESPACE ts1 ENGINE = NDB master-bin1.000001 # Query # # DROP LOGFILE GROUP lg1 ENGINE =NDB -master-bin1.000001 # Query # # use `test`; drop table `t1` +drop table t1; reset master; show tables; Tables_in_test diff --git a/mysql-test/t/disabled.def b/mysql-test/t/disabled.def index 8fd40eddf39..837ef58c3c9 100644 --- a/mysql-test/t/disabled.def +++ b/mysql-test/t/disabled.def @@ -15,7 +15,7 @@ events : BUG#17619 2006-02-21 andrey Test case unstable events_logs_tests : BUG#18953 2006-04-12 kent Test is randomly failing ndb_autodiscover : BUG#18952 2006-02-16 jmiller Needs to be fixed w.r.t binlog ndb_autodiscover2 : BUG#18952 2006-02-16 jmiller Needs to be fixed w.r.t binlog -ndb_binlog_ddl_multi : BUG#18976 2006-04-10 kent CRBR: multiple binlog, second binlog may miss schema log events +#ndb_binlog_ddl_multi : BUG#18976 2006-04-10 kent CRBR: multiple binlog, second binlog may miss schema log events ndb_cache2 : BUG#18597 2006-03-28 brian simultaneous drop table and ndb statistics update triggers node failure ndb_cache_multi2 : BUG#18597 2006-04-10 kent simultaneous drop table and ndb statistics update triggers node failure #ndb_gis : BUG#18600 2006-03-28 brian ndb_gis test failure @@ -47,13 +47,3 @@ rpl_until : BUG#15886 2006-02-16 jmiller Unstable test case sp-goto : BUG#18949 2006-02-16 jmiller GOTO is currently is disabled - will be fixed in the future mysqldump : BUG#18078 2006-03-10 lars udf : BUG#18564 2006-03-27 ian (Permission by Brian) - -#ndb_alter_table_row : sometimes wrong error 1015!=1046 -#ndb_binlog_basic : Results are not deterministic, Tomas will fix -#ndb_binlog_multi : Results are not deterministic, Tomas will fix -#rpl_bit_npk : Bug#13418 -#rpl_ddl : Bug#15963 SBR does not show "Definer" correctly -#rpl_ndb_blob : interferes with following tests, causing hang -#rpl_ndb_blob2 : interferes with following tests, causing hang -#rpl_ndb_delete_nowhere : Bug#17400: delete & update of rows in table without pk fails -#rpl_ndb_multi_update3 : Bug#17400: delete & update of rows in table without pk fails diff --git a/mysql-test/t/ndb_binlog_ddl_multi.test b/mysql-test/t/ndb_binlog_ddl_multi.test index 9a96e89b56e..f41e7c3a527 100644 --- a/mysql-test/t/ndb_binlog_ddl_multi.test +++ b/mysql-test/t/ndb_binlog_ddl_multi.test @@ -58,9 +58,10 @@ reset master; ALTER DATABASE mysqltest CHARACTER SET latin1; -# drop table and drop should come after data events ---connection server2 -drop table mysqltest.t1; +# having drop here instead of below sometimes triggers bug#18976 +## drop table and drop should come after data events +#--connection server2 +#drop table mysqltest.t1; --connection server1 --source include/show_binlog_events.inc @@ -68,6 +69,9 @@ drop table mysqltest.t1; --real_sleep 10 --source include/show_binlog_events.inc +--connection server2 +drop table mysqltest.t1; + # drop database and drop should come after data events --connection server1 reset master; @@ -129,7 +133,8 @@ ENGINE = NDB; DROP LOGFILE GROUP lg1 ENGINE =NDB; -drop table t1; +# having drop here instead of below sometimes triggers bug#18976 +#drop table t1; --connection server2 --source include/show_binlog_events.inc @@ -137,6 +142,8 @@ drop table t1; --real_sleep 10 --source include/show_binlog_events.inc +drop table t1; + # # Bug #17827 cluster: rename of several tables in one statement, # gets multiply logged -- cgit v1.2.1 From 7c0d67b2c7bc7085594411c8308e7c87f219c49c Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 13 Apr 2006 15:34:38 +0200 Subject: retested all disabled ndb tests in pushbuild for 5+ runs and updated disabled.def accordingly --- mysql-test/t/disabled.def | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) (limited to 'mysql-test') diff --git a/mysql-test/t/disabled.def b/mysql-test/t/disabled.def index 837ef58c3c9..dc326e6df06 100644 --- a/mysql-test/t/disabled.def +++ b/mysql-test/t/disabled.def @@ -15,29 +15,19 @@ events : BUG#17619 2006-02-21 andrey Test case unstable events_logs_tests : BUG#18953 2006-04-12 kent Test is randomly failing ndb_autodiscover : BUG#18952 2006-02-16 jmiller Needs to be fixed w.r.t binlog ndb_autodiscover2 : BUG#18952 2006-02-16 jmiller Needs to be fixed w.r.t binlog -#ndb_binlog_ddl_multi : BUG#18976 2006-04-10 kent CRBR: multiple binlog, second binlog may miss schema log events ndb_cache2 : BUG#18597 2006-03-28 brian simultaneous drop table and ndb statistics update triggers node failure ndb_cache_multi2 : BUG#18597 2006-04-10 kent simultaneous drop table and ndb statistics update triggers node failure -#ndb_gis : BUG#18600 2006-03-28 brian ndb_gis test failure -#ndb_load : BUG#17233 2006-02-16 jmiller failed load data from infile causes mysqld dbug_assert, binlog not flushed partition_03ndb : BUG#16385 2006-03-24 mikael Partitions: crash when updating a range partitioned NDB table -ps_7ndb : BUG#18950 2006-02-16 jmiller Dbug assert in RBR mode when executing test suite +ps_7ndb : BUG#18950 2006-02-16 jmiller create table like does not obtain LOCK_open rpl_deadlock_innodb : BUG#16920 2006-04-12 kent fails in show slave status (randomly) rpl_ndb_2innodb : BUG#19004 2006-03-22 tomas ndb: partition by range and update hangs rpl_ndb_2myisam : BUG#19004 2006-03-22 tomas ndb: partition by range and update hangs rpl_ndb_auto_inc : BUG#17086 2006-02-16 jmiller CR: auto_increment_increment and auto_increment_offset produce duplicate key er -#rpl_ndb_basic : BUG#18592 2006-03-28 brian rpl_ndb_basic failure -#rpl_ndb_dd_advance : BUG#18924 2006-04-09 brian rpl_ndb_dd_advance failure -#rpl_ndb_dd_basic : BUG#18569 2006-03-28 brian rpl_ndb_dd_basic failure rpl_ndb_ddl : result file needs update + test needs to checked -#rpl_ndb_insert_ignore : BUG#18567 2006-03-28 brian rpl_ndb_insert_ignore failure rpl_ndb_innodb2ndb : BUG#18094 2006-03-16 mats Slave caches invalid table definition after atlters causes select failure rpl_ndb_log : BUG#18947 2006-03-21 tomas CRBR: order in binlog of create table and insert (on different table) not determ -#rpl_ndb_multi_update2 : BUG#18928 2006-04-09 brian rpl_ndb_multi_update2 failed -#rpl_ndb_multi_update3 : BUG#18627 2006-03-29 monty Cluster Replication: rpl_ndb_multi_update3 fails on Intel 64 bit rpl_ndb_myisam2ndb : BUG#18094 2006-03-16 mats Slave caches invalid table definition after atlters causes select failure rpl_ndb_relay_space : BUG#16993 2006-02-16 jmiller RBR: ALTER TABLE ZEROFILL AUTO_INCREMENT is not replicated correctly -#rpl_ndb_trig004 : BUG#18977 2006-04-10 kent Test fails randomly rpl_switch_stm_row_mixed : BUG#18590 2006-03-28 brian rpl_row_basic_7ndb : BUG#17400 2006-04-09 brian Cluster Replication: delete & update of rows in table without pk fails on slave. rpl_row_blob_innodb : BUG#18980 2006-04-10 kent Test fails randomly @@ -47,3 +37,17 @@ rpl_until : BUG#15886 2006-02-16 jmiller Unstable test case sp-goto : BUG#18949 2006-02-16 jmiller GOTO is currently is disabled - will be fixed in the future mysqldump : BUG#18078 2006-03-10 lars udf : BUG#18564 2006-03-27 ian (Permission by Brian) + +# the below testcase have been reworked to avoid the bug, test contains comment, keep bug open +#ndb_binlog_ddl_multi : BUG#18976 2006-04-10 kent CRBR: multiple binlog, second binlog may miss schema log events + +# the below ndb failures have not been objerved for > 5 push builds, close bugs +#ndb_gis : BUG#18600 2006-03-28 brian ndb_gis test failure +#ndb_load : BUG#17233 2006-02-16 jmiller failed load data from infile causes mysqld dbug_assert, binlog not flushed +#rpl_ndb_basic : BUG#18592 2006-03-28 brian rpl_ndb_basic failure +#rpl_ndb_dd_advance : BUG#18924 2006-04-09 brian rpl_ndb_dd_advance failure +#rpl_ndb_dd_basic : BUG#18569 2006-03-28 brian rpl_ndb_dd_basic failure +#rpl_ndb_insert_ignore : BUG#18567 2006-03-28 brian rpl_ndb_insert_ignore failure +#rpl_ndb_multi_update2 : BUG#18928 2006-04-09 brian rpl_ndb_multi_update2 failed +#rpl_ndb_multi_update3 : BUG#18627 2006-03-29 monty Cluster Replication: rpl_ndb_multi_update3 fails on Intel 64 bit +#rpl_ndb_trig004 : BUG#18977 2006-04-10 kent Test fails randomly -- cgit v1.2.1 From c6a8556292771220a544c478a5bf7b5c25c2237e Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 13 Apr 2006 19:02:49 +0300 Subject: Bug#19074: rpl_row_func003 test failed disabled for now. mysql-test/t/disabled.def: disabled. --- mysql-test/t/disabled.def | 1 + 1 file changed, 1 insertion(+) (limited to 'mysql-test') diff --git a/mysql-test/t/disabled.def b/mysql-test/t/disabled.def index dc326e6df06..e07c5357572 100644 --- a/mysql-test/t/disabled.def +++ b/mysql-test/t/disabled.def @@ -31,6 +31,7 @@ rpl_ndb_relay_space : BUG#16993 2006-02-16 jmiller RBR: ALTER TABLE ZEROFIL rpl_switch_stm_row_mixed : BUG#18590 2006-03-28 brian rpl_row_basic_7ndb : BUG#17400 2006-04-09 brian Cluster Replication: delete & update of rows in table without pk fails on slave. rpl_row_blob_innodb : BUG#18980 2006-04-10 kent Test fails randomly +rpl_row_func003 : BUG#19074 2006-13-04 andrei test failed rpl_row_inexist_tbl : BUG#18948 2006-03-09 mats Disabled since patch makes this test wait forever rpl_sp : BUG#16456 2006-02-16 jmiller rpl_until : BUG#15886 2006-02-16 jmiller Unstable test case -- cgit v1.2.1 From 56847df68b81b2e6c515393215d2789cfce7570d Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 13 Apr 2006 10:34:46 -0700 Subject: Remove sql-bench from the server repository -- it is being maintained in a distinct mysql-bench repository. Also add a new --benchdir option to mysql-test-run.pl so the location of the mysql-bench repository can be specified. The default location is adjacent to the source tree. BitKeeper/deleted/.del-Access.crash-me~bb457ec282d939b6: Delete: sql-bench/Comments/Access.crash-me BitKeeper/deleted/.del-Adabas.crash-me~ce88ba1a540971ac: Delete: sql-bench/Comments/Adabas.crash-me BitKeeper/deleted/.del-Empress.crash-me~bdaff0c68ce10f02: Delete: sql-bench/Comments/Empress.crash-me BitKeeper/deleted/.del-FrontBase.benchmark~217041ef18274c2e: Delete: sql-bench/Comments/FrontBase.benchmark BitKeeper/deleted/.del-Informix.crash-me~51ab5b717cefe74: Delete: sql-bench/Comments/Informix.crash-me BitKeeper/deleted/.del-interbase~cdad59622b4d6f3: Delete: sql-bench/Comments/interbase BitKeeper/deleted/.del-mysql.benchmark~4d8729c0937456fc: Delete: sql-bench/Comments/mysql.benchmark BitKeeper/deleted/.del-aircraft.txt~15e4de7ab37c92d3: Delete: sql-bench/Data/ATIS/aircraft.txt BitKeeper/deleted/.del-airline.txt~a79f8eadf853f2c8: Delete: sql-bench/Data/ATIS/airline.txt BitKeeper/deleted/.del-airport.txt~59c78514130e1f45: Delete: sql-bench/Data/ATIS/airport.txt BitKeeper/deleted/.del-airport_service.txt~6ee6d5b852b3e38: Delete: sql-bench/Data/ATIS/airport_service.txt BitKeeper/deleted/.del-city.txt~d96dd6d073344d2e: Delete: sql-bench/Data/ATIS/city.txt BitKeeper/deleted/.del-postgres.benchmark~4d30890732b784a: Delete: sql-bench/Comments/postgres.benchmark BitKeeper/deleted/.del-postgres.crash-me~eacac145c3e30f17: Delete: sql-bench/Comments/postgres.crash-me BitKeeper/deleted/.del-class_of_service.txt~21f6b9848b8c76d: Delete: sql-bench/Data/ATIS/class_of_service.txt BitKeeper/deleted/.del-code_description.txt~f9117373e438b0e2: Delete: sql-bench/Data/ATIS/code_description.txt BitKeeper/deleted/.del-compound_class.txt~d4a2f1b7f96340b9: Delete: sql-bench/Data/ATIS/compound_class.txt BitKeeper/deleted/.del-connect_leg.txt~f97b6e94e108bb36: Delete: sql-bench/Data/ATIS/connect_leg.txt BitKeeper/deleted/.del-date_day.txt~4e9a282fcf54cfd8: Delete: sql-bench/Data/ATIS/date_day.txt BitKeeper/deleted/.del-day_name.txt~f813b215955d894c: Delete: sql-bench/Data/ATIS/day_name.txt BitKeeper/deleted/.del-dual_carrier.txt~a7dd776224fbd92b: Delete: sql-bench/Data/ATIS/dual_carrier.txt BitKeeper/deleted/.del-fare.txt~ea0652f490bc24a6: Delete: sql-bench/Data/ATIS/fare.txt BitKeeper/deleted/.del-fconnection.txt~e0ef6a8b5560a713: Delete: sql-bench/Data/ATIS/fconnection.txt BitKeeper/deleted/.del-flight.txt~e5065423760e99eb: Delete: sql-bench/Data/ATIS/flight.txt BitKeeper/deleted/.del-flight_class.txt~1801101474c29098: Delete: sql-bench/Data/ATIS/flight_class.txt BitKeeper/deleted/.del-flight_day.txt~76868d6d265d441e: Delete: sql-bench/Data/ATIS/flight_day.txt BitKeeper/deleted/.del-flight_fare.txt~d7322593c8530487: Delete: sql-bench/Data/ATIS/flight_fare.txt BitKeeper/deleted/.del-food_service.txt~66d95a150c28458: Delete: sql-bench/Data/ATIS/food_service.txt BitKeeper/deleted/.del-ground_service.txt~1087e477e86e84c: Delete: sql-bench/Data/ATIS/ground_service.txt BitKeeper/deleted/.del-month_name.txt~4c44f7a323d57d92: Delete: sql-bench/Data/ATIS/month_name.txt BitKeeper/deleted/.del-restrict_carrier.txt~925b5492f3f9cba3: Delete: sql-bench/Data/ATIS/restrict_carrier.txt BitKeeper/deleted/.del-restrict_class.txt~2f741bf0ea498f84: Delete: sql-bench/Data/ATIS/restrict_class.txt BitKeeper/deleted/.del-restriction.txt~6ae208924617784a: Delete: sql-bench/Data/ATIS/restriction.txt BitKeeper/deleted/.del-state.txt~9dd470ce14075b90: Delete: sql-bench/Data/ATIS/state.txt BitKeeper/deleted/.del-stop.txt~31fb564e1f415e34: Delete: sql-bench/Data/ATIS/stop.txt BitKeeper/deleted/.del-stop1.txt~f09ba164ad44a288: Delete: sql-bench/Data/ATIS/stop1.txt BitKeeper/deleted/.del-time_interval.txt~a1def62e267a59b2: Delete: sql-bench/Data/ATIS/time_interval.txt BitKeeper/deleted/.del-ATIS-access_odbc-win98-cmp-access,mysql~f3640493299135a: Delete: sql-bench/Results-win32/ATIS-access_odbc-win98-cmp-access,mysql BitKeeper/deleted/.del-ATIS-db2_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~6460fdae8a234607: Delete: sql-bench/Results-win32/ATIS-db2_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-ATIS-informix_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~845a0538cc1d2a2a: Delete: sql-bench/Results-win32/ATIS-informix_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-onek.data~6cd1edaf596a7f7: Delete: sql-bench/Data/Wisconsin/onek.data BitKeeper/deleted/.del-tenk.data~6aeaebdd534e458e: Delete: sql-bench/Data/Wisconsin/tenk.data BitKeeper/deleted/.del-time_zone.txt~4171f9ca732f65c0: Delete: sql-bench/Data/ATIS/time_zone.txt BitKeeper/deleted/.del-transport.txt~fa4ca40735f8354c: Delete: sql-bench/Data/ATIS/transport.txt BitKeeper/deleted/.del-ATIS-ms-sql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~92849dce40fc3f90: Delete: sql-bench/Results-win32/ATIS-ms-sql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-ATIS-mysql-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~d575a91f113311db: Delete: sql-bench/Results-win32/ATIS-mysql-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-ATIS-mysql-win98-cmp-access,mysql~e8dda6ccf744e9b5: Delete: sql-bench/Results-win32/ATIS-mysql-win98-cmp-access,mysql BitKeeper/deleted/.del-ATIS-mysql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~29550a64a25f238d: Delete: sql-bench/Results-win32/ATIS-mysql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-ATIS-oracle_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~3550d5fb3894052b: Delete: sql-bench/Results-win32/ATIS-oracle_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-ATIS-solid_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~77f2d5b7dd1ee1f5: Delete: sql-bench/Results-win32/ATIS-solid_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-ATIS-sybase_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~c1ee40e8e006ee8a: Delete: sql-bench/Results-win32/ATIS-sybase_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-RUN-access_odbc-win98-cmp-access,mysql~65bb7f664ea75940: Delete: sql-bench/Results-win32/RUN-access_odbc-win98-cmp-access,mysql BitKeeper/deleted/.del-RUN-db2_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~854fc9dfffef9c12: Delete: sql-bench/Results-win32/RUN-db2_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-RUN-informix_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~35963ad67156029c: Delete: sql-bench/Results-win32/RUN-informix_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-RUN-ms-sql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~c6648f0cc50580b: Delete: sql-bench/Results-win32/RUN-ms-sql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-RUN-mysql-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~c6c3cf12f7c94e91: Delete: sql-bench/Results-win32/RUN-mysql-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-RUN-mysql-win98-cmp-access,mysql~bee08e42a9db024c: Delete: sql-bench/Results-win32/RUN-mysql-win98-cmp-access,mysql BitKeeper/deleted/.del-RUN-mysql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~5588df8cee1c7f79: Delete: sql-bench/Results-win32/RUN-mysql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-RUN-oracle_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~e5adba3eea4b4238: Delete: sql-bench/Results-win32/RUN-oracle_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-RUN-solid_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~f9910ea3c3814861: Delete: sql-bench/Results-win32/RUN-solid_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-RUN-sybase_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~1ab9437b139d4e01: Delete: sql-bench/Results-win32/RUN-sybase_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-alter-table-access_odbc-win98-cmp-access,mysql~d22b47893fb6b878: Delete: sql-bench/Results-win32/alter-table-access_odbc-win98-cmp-access,mysql BitKeeper/deleted/.del-alter-table-db2_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~c093c1852127aa2b: Delete: sql-bench/Results-win32/alter-table-db2_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-alter-table-informix_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~ce25b78f2417bb07: Delete: sql-bench/Results-win32/alter-table-informix_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-alter-table-ms-sql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~ac0f0aba28d6b570: Delete: sql-bench/Results-win32/alter-table-ms-sql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-alter-table-mysql-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~c07d53a5f3aaeae2: Delete: sql-bench/Results-win32/alter-table-mysql-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-alter-table-mysql-win98-cmp-access,mysql~aef60113997bdd7f: Delete: sql-bench/Results-win32/alter-table-mysql-win98-cmp-access,mysql BitKeeper/deleted/.del-alter-table-mysql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~9c8a649ed09a166f: Delete: sql-bench/Results-win32/alter-table-mysql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-alter-table-oracle_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~e1a4030f1b4b1d80: Delete: sql-bench/Results-win32/alter-table-oracle_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-alter-table-solid_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~eaa3cb3093591b71: Delete: sql-bench/Results-win32/alter-table-solid_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-alter-table-sybase_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~8649b870cdf3bdbe: Delete: sql-bench/Results-win32/alter-table-sybase_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-big-tables-access_odbc-win98-cmp-access,mysql~1c065cababc3ce3a: Delete: sql-bench/Results-win32/big-tables-access_odbc-win98-cmp-access,mysql BitKeeper/deleted/.del-big-tables-db2_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~6d8c394f74cd4f87: Delete: sql-bench/Results-win32/big-tables-db2_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-big-tables-informix_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~1fcac6f1bbc11bd5: Delete: sql-bench/Results-win32/big-tables-informix_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-big-tables-ms-sql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~fe3de91fb98ac53a: Delete: sql-bench/Results-win32/big-tables-ms-sql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-big-tables-mysql-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~e614c4382249eb36: Delete: sql-bench/Results-win32/big-tables-mysql-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-big-tables-mysql-win98-cmp-access,mysql~9355ba8a86c60803: Delete: sql-bench/Results-win32/big-tables-mysql-win98-cmp-access,mysql BitKeeper/deleted/.del-big-tables-mysql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~8836803f5814cdb4: Delete: sql-bench/Results-win32/big-tables-mysql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-big-tables-oracle_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~a8ca47f8d4938a5: Delete: sql-bench/Results-win32/big-tables-oracle_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-big-tables-solid_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~95c17531cd04597: Delete: sql-bench/Results-win32/big-tables-solid_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-big-tables-sybase_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~79aa5c4229ac2a54: Delete: sql-bench/Results-win32/big-tables-sybase_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-connect-access_odbc-win98-cmp-access,mysql~3fceb657fb175eff: Delete: sql-bench/Results-win32/connect-access_odbc-win98-cmp-access,mysql BitKeeper/deleted/.del-connect-db2_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~7f9c11978e6fbdfe: Delete: sql-bench/Results-win32/connect-db2_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-connect-informix_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~94fc13d92e1c3fd: Delete: sql-bench/Results-win32/connect-informix_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-connect-ms-sql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~27738719fee99842: Delete: sql-bench/Results-win32/connect-ms-sql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-connect-mysql-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~50d3e0ae11bc8885: Delete: sql-bench/Results-win32/connect-mysql-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-connect-mysql-win98-cmp-access,mysql~af5ead655cbb4ab: Delete: sql-bench/Results-win32/connect-mysql-win98-cmp-access,mysql BitKeeper/deleted/.del-connect-mysql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~46c24614cbf5761f: Delete: sql-bench/Results-win32/connect-mysql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-connect-oracle_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~55c2711c36dfede5: Delete: sql-bench/Results-win32/connect-oracle_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-connect-solid_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~b6eafe91e867d39b: Delete: sql-bench/Results-win32/connect-solid_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-connect-sybase_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~f0d02f24e3ad10fa: Delete: sql-bench/Results-win32/connect-sybase_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-create-access_odbc-win98-cmp-access,mysql~4ef69855662496a8: Delete: sql-bench/Results-win32/create-access_odbc-win98-cmp-access,mysql BitKeeper/deleted/.del-create-db2_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~b33dfc00d34d87ec: Delete: sql-bench/Results-win32/create-db2_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-create-informix_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~fe251460d092f0d8: Delete: sql-bench/Results-win32/create-informix_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-create-ms-sql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~17b4546c2b66065c: Delete: sql-bench/Results-win32/create-ms-sql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-create-mysql-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~5bcbfc4be09ddb06: Delete: sql-bench/Results-win32/create-mysql-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-create-mysql-win98-cmp-access,mysql~c12a01f01cf5ba30: Delete: sql-bench/Results-win32/create-mysql-win98-cmp-access,mysql BitKeeper/deleted/.del-create-mysql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~6aa79e1f667bb274: Delete: sql-bench/Results-win32/create-mysql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-create-oracle_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~24ce4e6198123d5e: Delete: sql-bench/Results-win32/create-oracle_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-create-solid_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~453eb2b4a5b53af9: Delete: sql-bench/Results-win32/create-solid_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-create-sybase_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~395b455d9ef7f4: Delete: sql-bench/Results-win32/create-sybase_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-insert-access_odbc-win98-cmp-access,mysql~fc9adc049c6adabd: Delete: sql-bench/Results-win32/insert-access_odbc-win98-cmp-access,mysql BitKeeper/deleted/.del-insert-db2_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~d926cccd5a7d062c: Delete: sql-bench/Results-win32/insert-db2_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-insert-informix_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~2eca65f5baf638a4: Delete: sql-bench/Results-win32/insert-informix_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-insert-ms-sql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~d80aabb5d9bb8a05: Delete: sql-bench/Results-win32/insert-ms-sql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-insert-mysql-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~cd7489e3b45870c: Delete: sql-bench/Results-win32/insert-mysql-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-insert-mysql-win98-cmp-access,mysql~52ef0ddfd580252: Delete: sql-bench/Results-win32/insert-mysql-win98-cmp-access,mysql BitKeeper/deleted/.del-insert-mysql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~e7d65567662dd9: Delete: sql-bench/Results-win32/insert-mysql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-insert-oracle_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~ce5012e433105830: Delete: sql-bench/Results-win32/insert-oracle_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-insert-solid_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~a0c13214b06f94e5: Delete: sql-bench/Results-win32/insert-solid_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-insert-sybase_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~4d1f539fc4d401b8: Delete: sql-bench/Results-win32/insert-sybase_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-select-access_odbc-win98-cmp-access,mysql~de1140d430fbf8ea: Delete: sql-bench/Results-win32/select-access_odbc-win98-cmp-access,mysql BitKeeper/deleted/.del-select-db2_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~837cbd5eb7885009: Delete: sql-bench/Results-win32/select-db2_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-select-informix_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~1ed637acc6ced16a: Delete: sql-bench/Results-win32/select-informix_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-select-ms-sql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~31a4cd5d9f3fa6da: Delete: sql-bench/Results-win32/select-ms-sql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-select-mysql-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~bbaee458e784fb02: Delete: sql-bench/Results-win32/select-mysql-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-select-mysql-win98-cmp-access,mysql~65a07b39539f5f81: Delete: sql-bench/Results-win32/select-mysql-win98-cmp-access,mysql BitKeeper/deleted/.del-select-mysql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~251faab981990cd2: Delete: sql-bench/Results-win32/select-mysql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-select-oracle_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~524aca6526618e51: Delete: sql-bench/Results-win32/select-oracle_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-select-solid_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~f6a1ce829a2cd309: Delete: sql-bench/Results-win32/select-solid_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-wisconsin-access_odbc-win98-cmp-access,mysql~adc3a040e9570f10: Delete: sql-bench/Results-win32/wisconsin-access_odbc-win98-cmp-access,mysql BitKeeper/deleted/.del-wisconsin-db2_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~7ffa0dd37d5ccd28: Delete: sql-bench/Results-win32/wisconsin-db2_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-wisconsin-informix_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~e022e2b23e2e748c: Delete: sql-bench/Results-win32/wisconsin-informix_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-wisconsin-ms-sql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~33e15b4892f20135: Delete: sql-bench/Results-win32/wisconsin-ms-sql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-wisconsin-mysql-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~bec8c7f8274a4856: Delete: sql-bench/Results-win32/wisconsin-mysql-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-wisconsin-mysql-win98-cmp-access,mysql~2e4512a2a33998c9: Delete: sql-bench/Results-win32/wisconsin-mysql-win98-cmp-access,mysql BitKeeper/deleted/.del-wisconsin-mysql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~48e3985caa8f19d: Delete: sql-bench/Results-win32/wisconsin-mysql_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-wisconsin-oracle_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~6d1ca2a1e562a3c9: Delete: sql-bench/Results-win32/wisconsin-oracle_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-ATIS-Adabas-Linux_2.0.35_i686-cmp-adabas,mysql~e92bd2a1a4e633: Delete: sql-bench/Results/ATIS-Adabas-Linux_2.0.35_i686-cmp-adabas,mysql BitKeeper/deleted/.del-ATIS-AdabasD-Linux_2.0.35_i686-cmp-adabasd,mysql~442894a5f1918af1: Delete: sql-bench/Results/ATIS-AdabasD-Linux_2.0.35_i686-cmp-adabasd,mysql BitKeeper/deleted/.del-ATIS-frontbase-Linux_2.2.14_my_SMP_i686-cmp-frontbase,mysql~8fe4954bfaca6502: Delete: sql-bench/Results/ATIS-frontbase-Linux_2.2.14_my_SMP_i686-cmp-frontbase,mysql BitKeeper/deleted/.del-ATIS-msql-Linux_2.2.10_i686-cmp-msql,mysql~af10f7cbc54ea3a: Delete: sql-bench/Results/ATIS-msql-Linux_2.2.10_i686-cmp-msql,mysql BitKeeper/deleted/.del-ATIS-mysql-HP_UX_B.10.20_9000_778~99d77d3d153a51c2: Delete: sql-bench/Results/ATIS-mysql-HP_UX_B.10.20_9000_778 BitKeeper/deleted/.del-ATIS-mysql-Linux_2.0.35_i686-cmp-adabas,mysql~c63fc2fa7e3d02d1: Delete: sql-bench/Results/ATIS-mysql-Linux_2.0.35_i686-cmp-adabas,mysql BitKeeper/deleted/.del-wisconsin-solid_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase~305f7cfc79aff3be: Delete: sql-bench/Results-win32/wisconsin-solid_odbc-NT_4.0-cmp-db2,informix,ms-sql,mysql,oracle,solid,sybase BitKeeper/deleted/.del-ATIS-mysql-Linux_2.0.36_i686-cmp-mysql,pg,solid~20ec68b7771323d4: Delete: sql-bench/Results/ATIS-mysql-Linux_2.0.36_i686-cmp-mysql,pg,solid BitKeeper/deleted/.del-ATIS-mysql-Linux_2.2.10_i686-cmp-msql,mysql~7c73a8eb856b9408: Delete: sql-bench/Results/ATIS-mysql-Linux_2.2.10_i686-cmp-msql,mysql BitKeeper/deleted/.del-ATIS-mysql-Linux_2.2.16_SMP_alpha~b52cdd166c25d07: Delete: sql-bench/Results/ATIS-mysql-Linux_2.2.16_SMP_alpha BitKeeper/deleted/.del-ATIS-mysql-Linux_2.2.1_i686-cmp-adabas,mysql~1ff82b62cff11171: Delete: sql-bench/Results/ATIS-mysql-Linux_2.2.1_i686-cmp-adabas,mysql BitKeeper/deleted/.del-ATIS-mysql-Linux_2.4.0_64GB_SMP_i686~99be21d010d05671: Delete: sql-bench/Results/ATIS-mysql-Linux_2.4.0_64GB_SMP_i686 BitKeeper/deleted/.del-ATIS-mysql-Linux_2.4.16_64GB_SMP_i686~315fbbd917d87b9: Delete: sql-bench/Results/ATIS-mysql-Linux_2.4.16_64GB_SMP_i686 BitKeeper/deleted/.del-ATIS-mysql-Linux_2.4.4_SMP_alpha~9fe4132f71f4d40d: Delete: sql-bench/Results/ATIS-mysql-Linux_2.4.4_SMP_alpha BitKeeper/deleted/.del-ATIS-mysql-NT_4.0~a6935fe6b593884f: Delete: sql-bench/Results/ATIS-mysql-NT_4.0 BitKeeper/deleted/.del-ATIS-mysql-SunOS_5.5.1_sun4u~dfb4c5f6b6db3b49: Delete: sql-bench/Results/ATIS-mysql-SunOS_5.5.1_sun4u BitKeeper/deleted/.del-ATIS-mysql-SunOS_5.7_sun4m~f5b3b906efab7c92: Delete: sql-bench/Results/ATIS-mysql-SunOS_5.7_sun4m BitKeeper/deleted/.del-ATIS-mysql-SunOS_5.7_sun4u~be0d9789776c5ed7: Delete: sql-bench/Results/ATIS-mysql-SunOS_5.7_sun4u BitKeeper/deleted/.del-ATIS-mysql-SunOS_5.8_sun4u~443e17fb4bd09be8: Delete: sql-bench/Results/ATIS-mysql-SunOS_5.8_sun4u BitKeeper/deleted/.del-ATIS-mysql-win98~3f505a36bd73685: Delete: sql-bench/Results/ATIS-mysql-win98 BitKeeper/deleted/.del-ATIS-mysql_fast-Linux_2.2.10_i686-cmp-msql,mysql~5a53d7ace908a675: Delete: sql-bench/Results/ATIS-mysql_fast-Linux_2.2.10_i686-cmp-msql,mysql BitKeeper/deleted/.del-ATIS-mysql_odbc-win98~a59be86edb75da78: Delete: sql-bench/Results/ATIS-mysql_odbc-win98 BitKeeper/deleted/.del-ATIS-oracle-Linux_2.0.36_i686-cmp-mysql,oracle~cb97c4da6fe97a93: Delete: sql-bench/Results/ATIS-oracle-Linux_2.0.36_i686-cmp-mysql,oracle BitKeeper/deleted/.del-ATIS-oracle_fast-Linux_2.0.36_i686-cmp-mysql,oracle~2c78defdd05c19fd: Delete: sql-bench/Results/ATIS-oracle_fast-Linux_2.0.36_i686-cmp-mysql,oracle BitKeeper/deleted/.del-ATIS-pg-Linux_2.0.36_i686-cmp-mysql,pg,solid~3d89aca09b912aa4: Delete: sql-bench/Results/ATIS-pg-Linux_2.0.36_i686-cmp-mysql,pg,solid BitKeeper/deleted/.del-ATIS-pg-Linux_2.4.2_64GB_SMP_i686-cmp-mysql,pg~b030f97867fa4b57: Delete: sql-bench/Results/ATIS-pg-Linux_2.4.2_64GB_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-ATIS-pg_fast-Linux_2.0.36_i686-cmp-mysql,pg,solid~e51a1b8588136948: Delete: sql-bench/Results/ATIS-pg_fast-Linux_2.0.36_i686-cmp-mysql,pg,solid BitKeeper/deleted/.del-ATIS-pg_fast-Linux_2.4.2_64GB_SMP_i686-cmp-mysql,pg~53500617b9cf40f4: Delete: sql-bench/Results/ATIS-pg_fast-Linux_2.4.2_64GB_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-ATIS-solid-Linux_2.0.36_i686-cmp-mysql,pg,solid~349a54b8d4522f42: Delete: sql-bench/Results/ATIS-solid-Linux_2.0.36_i686-cmp-mysql,pg,solid BitKeeper/deleted/.del-RUN-Adabas-Linux_2.0.35_i686-cmp-adabas,mysql~94902a555b622558: Delete: sql-bench/Results/RUN-Adabas-Linux_2.0.35_i686-cmp-adabas,mysql BitKeeper/deleted/.del-RUN-frontbase-Linux_2.2.14_my_SMP_i686-cmp-frontbase,mysql~d05ed4f74d5a2238: Delete: sql-bench/Results/RUN-frontbase-Linux_2.2.14_my_SMP_i686-cmp-frontbase,mysql BitKeeper/deleted/.del-RUN-msql-Linux_2.2.10_i686-cmp-msql,mysql~62e1375dfc4b360: Delete: sql-bench/Results/RUN-msql-Linux_2.2.10_i686-cmp-msql,mysql BitKeeper/deleted/.del-RUN-mysql-HP_UX_B.10.20_9000_778~a3472aecd32a4729: Delete: sql-bench/Results/RUN-mysql-HP_UX_B.10.20_9000_778 BitKeeper/deleted/.del-RUN-mysql-Linux_2.0.35_i686-cmp-adabas,mysql~35b46ebbfdcb9c93: Delete: sql-bench/Results/RUN-mysql-Linux_2.0.35_i686-cmp-adabas,mysql BitKeeper/deleted/.del-RUN-mysql-Linux_2.0.36_i686-cmp-mysql,pg,solid~b07630f1b74e4d98: Delete: sql-bench/Results/RUN-mysql-Linux_2.0.36_i686-cmp-mysql,pg,solid BitKeeper/deleted/.del-RUN-mysql-Linux_2.2.10_i686-cmp-msql,mysql~8ef9e5442d6984be: Delete: sql-bench/Results/RUN-mysql-Linux_2.2.10_i686-cmp-msql,mysql BitKeeper/deleted/.del-RUN-mysql-Linux_2.2.16_SMP_alpha~70cdf49ef31bf150: Delete: sql-bench/Results/RUN-mysql-Linux_2.2.16_SMP_alpha BitKeeper/deleted/.del-RUN-mysql-Linux_2.2.1_i686-cmp-adabas,mysql~11e47194a9a44732: Delete: sql-bench/Results/RUN-mysql-Linux_2.2.1_i686-cmp-adabas,mysql BitKeeper/deleted/.del-RUN-mysql-Linux_2.4.0_64GB_SMP_i686~59c650992b3b5439: Delete: sql-bench/Results/RUN-mysql-Linux_2.4.0_64GB_SMP_i686 BitKeeper/deleted/.del-RUN-mysql-Linux_2.4.16_64GB_SMP_i686~a326ae0a947e8907: Delete: sql-bench/Results/RUN-mysql-Linux_2.4.16_64GB_SMP_i686 BitKeeper/deleted/.del-RUN-mysql-Linux_2.4.4_SMP_alpha~3003859ba3f32620: Delete: sql-bench/Results/RUN-mysql-Linux_2.4.4_SMP_alpha BitKeeper/deleted/.del-RUN-mysql-NT_4.0~b37cb36e88ef4ed1: Delete: sql-bench/Results/RUN-mysql-NT_4.0 BitKeeper/deleted/.del-RUN-mysql-SunOS_5.5.1_sun4u~afbba182428e20df: Delete: sql-bench/Results/RUN-mysql-SunOS_5.5.1_sun4u BitKeeper/deleted/.del-RUN-mysql-SunOS_5.7_sun4m~fddf3d3742a299b: Delete: sql-bench/Results/RUN-mysql-SunOS_5.7_sun4m BitKeeper/deleted/.del-RUN-mysql-SunOS_5.7_sun4u~86e1dc0e25a8b8f: Delete: sql-bench/Results/RUN-mysql-SunOS_5.7_sun4u BitKeeper/deleted/.del-RUN-mysql-SunOS_5.8_sun4u~392b6a62a417b6ae: Delete: sql-bench/Results/RUN-mysql-SunOS_5.8_sun4u BitKeeper/deleted/.del-RUN-mysql-win98~ed3fe1907dedf8e1: Delete: sql-bench/Results/RUN-mysql-win98 BitKeeper/deleted/.del-RUN-mysql_fast-Linux_2.2.10_i686-cmp-msql,mysql~ec77ef2a21cd2f91: Delete: sql-bench/Results/RUN-mysql_fast-Linux_2.2.10_i686-cmp-msql,mysql BitKeeper/deleted/.del-RUN-mysql_odbc-win98~8ebc5d1b267bafb2: Delete: sql-bench/Results/RUN-mysql_odbc-win98 BitKeeper/deleted/.del-RUN-oracle-Linux_2.0.36_i686-cmp-mysql,oracle~6029da5a90dd60ab: Delete: sql-bench/Results/RUN-oracle-Linux_2.0.36_i686-cmp-mysql,oracle BitKeeper/deleted/.del-RUN-oracle_fast-Linux_2.0.36_i686-cmp-mysql,oracle~2d89df0c87ff371f: Delete: sql-bench/Results/RUN-oracle_fast-Linux_2.0.36_i686-cmp-mysql,oracle BitKeeper/deleted/.del-RUN-pg-Linux_2.0.36_i686-cmp-mysql,pg,solid~efed8b4e2d954513: Delete: sql-bench/Results/RUN-pg-Linux_2.0.36_i686-cmp-mysql,pg,solid BitKeeper/deleted/.del-RUN-pg-Linux_2.4.2_64GB_SMP_i686-cmp-mysql,pg~1be8875a68b6b037: Delete: sql-bench/Results/RUN-pg-Linux_2.4.2_64GB_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-RUN-pg_fast-Linux_2.0.36_i686-cmp-mysql,pg,solid~600d532546f2b572: Delete: sql-bench/Results/RUN-pg_fast-Linux_2.0.36_i686-cmp-mysql,pg,solid BitKeeper/deleted/.del-RUN-pg_fast-Linux_2.4.2_64GB_SMP_i686-cmp-mysql,pg~2ac3d3d136e516bf: Delete: sql-bench/Results/RUN-pg_fast-Linux_2.4.2_64GB_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-RUN-solid-Linux_2.0.36_i686-cmp-mysql,pg,solid~4ee71323c2139220: Delete: sql-bench/Results/RUN-solid-Linux_2.0.36_i686-cmp-mysql,pg,solid BitKeeper/deleted/.del-alter-table-Adabas-Linux_2.0.35_i686-cmp-adabas,mysql~5290aabd82aa68e3: Delete: sql-bench/Results/alter-table-Adabas-Linux_2.0.35_i686-cmp-adabas,mysql BitKeeper/deleted/.del-alter-table-AdabasD-Linux_2.0.35_i686-cmp-adabasd,mysql~874002116923758f: Delete: sql-bench/Results/alter-table-AdabasD-Linux_2.0.35_i686-cmp-adabasd,mysql BitKeeper/deleted/.del-alter-table-frontbase-Linux_2.2.14_my_SMP_i686-cmp-frontbase,mysql~c2153d9b70bc72e: Delete: sql-bench/Results/alter-table-frontbase-Linux_2.2.14_my_SMP_i686-cmp-frontbase,mysql BitKeeper/deleted/.del-alter-table-msql-Linux_2.2.10_i686-cmp-msql,mysql~ccc2918e3e87de90: Delete: sql-bench/Results/alter-table-msql-Linux_2.2.10_i686-cmp-msql,mysql BitKeeper/deleted/.del-alter-table-mysql-HP_UX_B.10.20_9000_778~81c128f3fe000f9: Delete: sql-bench/Results/alter-table-mysql-HP_UX_B.10.20_9000_778 BitKeeper/deleted/.del-alter-table-mysql-Linux_2.0.35_i686-cmp-adabas,mysql~fa0239597119372b: Delete: sql-bench/Results/alter-table-mysql-Linux_2.0.35_i686-cmp-adabas,mysql BitKeeper/deleted/.del-alter-table-mysql-Linux_2.0.36_i686-cmp-mysql,pg,solid~51ae1cd2edebbe7d: Delete: sql-bench/Results/alter-table-mysql-Linux_2.0.36_i686-cmp-mysql,pg,solid BitKeeper/deleted/.del-alter-table-mysql-Linux_2.2.10_i686-cmp-msql,mysql~6f7cd759ed489bd7: Delete: sql-bench/Results/alter-table-mysql-Linux_2.2.10_i686-cmp-msql,mysql BitKeeper/deleted/.del-alter-table-mysql-Linux_2.2.16_SMP_alpha~7cc192b0834a4038: Delete: sql-bench/Results/alter-table-mysql-Linux_2.2.16_SMP_alpha BitKeeper/deleted/.del-alter-table-mysql-Linux_2.2.1_i686-cmp-adabas,mysql~511826ed45ffe8f9: Delete: sql-bench/Results/alter-table-mysql-Linux_2.2.1_i686-cmp-adabas,mysql BitKeeper/deleted/.del-alter-table-mysql-Linux_2.4.0_64GB_SMP_i686~a37794066069af64: Delete: sql-bench/Results/alter-table-mysql-Linux_2.4.0_64GB_SMP_i686 BitKeeper/deleted/.del-alter-table-mysql-Linux_2.4.16_64GB_SMP_i686~64c3d83a5a4ae98f: Delete: sql-bench/Results/alter-table-mysql-Linux_2.4.16_64GB_SMP_i686 BitKeeper/deleted/.del-alter-table-mysql-Linux_2.4.4_SMP_alpha~5255af9a5ab466ae: Delete: sql-bench/Results/alter-table-mysql-Linux_2.4.4_SMP_alpha BitKeeper/deleted/.del-alter-table-mysql-NT_4.0~5d3ab68c4994128b: Delete: sql-bench/Results/alter-table-mysql-NT_4.0 BitKeeper/deleted/.del-alter-table-mysql-SunOS_5.5.1_sun4u~9d7e75667fcb29ec: Delete: sql-bench/Results/alter-table-mysql-SunOS_5.5.1_sun4u BitKeeper/deleted/.del-alter-table-mysql-SunOS_5.7_sun4m~2e33be7cc2979840: Delete: sql-bench/Results/alter-table-mysql-SunOS_5.7_sun4m BitKeeper/deleted/.del-alter-table-mysql-SunOS_5.7_sun4u~ce74c2f623d3bb3: Delete: sql-bench/Results/alter-table-mysql-SunOS_5.7_sun4u BitKeeper/deleted/.del-alter-table-mysql-SunOS_5.8_sun4u~acec523136e781ca: Delete: sql-bench/Results/alter-table-mysql-SunOS_5.8_sun4u BitKeeper/deleted/.del-alter-table-mysql-win98~ab9684a2b429211e: Delete: sql-bench/Results/alter-table-mysql-win98 BitKeeper/deleted/.del-alter-table-mysql_fast-Linux_2.2.10_i686-cmp-msql,mysql~538627661a199cff: Delete: sql-bench/Results/alter-table-mysql_fast-Linux_2.2.10_i686-cmp-msql,mysql BitKeeper/deleted/.del-alter-table-mysql_odbc-win98~dda4d95beacdda97: Delete: sql-bench/Results/alter-table-mysql_odbc-win98 BitKeeper/deleted/.del-alter-table-oracle-Linux_2.0.36_i686-cmp-mysql,oracle~c29737148bd279bb: Delete: sql-bench/Results/alter-table-oracle-Linux_2.0.36_i686-cmp-mysql,oracle BitKeeper/deleted/.del-alter-table-oracle_fast-Linux_2.0.36_i686-cmp-mysql,oracle~301fafaab11ba656: Delete: sql-bench/Results/alter-table-oracle_fast-Linux_2.0.36_i686-cmp-mysql,oracle BitKeeper/deleted/.del-alter-table-pg-Linux_2.0.36_i686-cmp-mysql,pg,solid~bde11ba48bf8478b: Delete: sql-bench/Results/alter-table-pg-Linux_2.0.36_i686-cmp-mysql,pg,solid BitKeeper/deleted/.del-alter-table-pg-Linux_2.4.2_64GB_SMP_i686-cmp-mysql,pg~c38836e848368fda: Delete: sql-bench/Results/alter-table-pg-Linux_2.4.2_64GB_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-alter-table-pg_fast-Linux_2.0.36_i686-cmp-mysql,pg,solid~a8299da49808998c: Delete: sql-bench/Results/alter-table-pg_fast-Linux_2.0.36_i686-cmp-mysql,pg,solid BitKeeper/deleted/.del-alter-table-pg_fast-Linux_2.4.2_64GB_SMP_i686-cmp-mysql,pg~f6f633dab6c20ba4: Delete: sql-bench/Results/alter-table-pg_fast-Linux_2.4.2_64GB_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-alter-table-solid-Linux_2.0.36_i686-cmp-mysql,pg,solid~3b53b31dd0c8fee5: Delete: sql-bench/Results/alter-table-solid-Linux_2.0.36_i686-cmp-mysql,pg,solid BitKeeper/deleted/.del-big-tables-Adabas-Linux_2.0.35_i686-cmp-adabas,mysql~6840935a2089b3de: Delete: sql-bench/Results/big-tables-Adabas-Linux_2.0.35_i686-cmp-adabas,mysql BitKeeper/deleted/.del-big-tables-frontbase-Linux_2.2.14_my_SMP_i686-cmp-frontbase,mysql~22d5cdb6dbdd59da: Delete: sql-bench/Results/big-tables-frontbase-Linux_2.2.14_my_SMP_i686-cmp-frontbase,mysql BitKeeper/deleted/.del-big-tables-msql-Linux_2.2.10_i686-cmp-msql,mysql~a9c5dd96855d55c: Delete: sql-bench/Results/big-tables-msql-Linux_2.2.10_i686-cmp-msql,mysql BitKeeper/deleted/.del-big-tables-mysql-HP_UX_B.10.20_9000_778~ca173309375a3dac: Delete: sql-bench/Results/big-tables-mysql-HP_UX_B.10.20_9000_778 BitKeeper/deleted/.del-big-tables-mysql-Linux_2.0.35_i686-cmp-adabas,mysql~ab3cc8438d8e7370: Delete: sql-bench/Results/big-tables-mysql-Linux_2.0.35_i686-cmp-adabas,mysql BitKeeper/deleted/.del-big-tables-mysql-Linux_2.0.36_i686-cmp-mysql,pg,solid~cb8a32316137cf8d: Delete: sql-bench/Results/big-tables-mysql-Linux_2.0.36_i686-cmp-mysql,pg,solid BitKeeper/deleted/.del-big-tables-mysql-Linux_2.2.10_i686-cmp-msql,mysql~fbb71f81fc0f0a8: Delete: sql-bench/Results/big-tables-mysql-Linux_2.2.10_i686-cmp-msql,mysql BitKeeper/deleted/.del-big-tables-mysql-Linux_2.2.16_SMP_alpha~2ee81c9b26bab375: Delete: sql-bench/Results/big-tables-mysql-Linux_2.2.16_SMP_alpha BitKeeper/deleted/.del-big-tables-mysql-Linux_2.2.1_i686-cmp-adabas,mysql~b8f1289f69f8053e: Delete: sql-bench/Results/big-tables-mysql-Linux_2.2.1_i686-cmp-adabas,mysql BitKeeper/deleted/.del-big-tables-mysql-Linux_2.4.0_64GB_SMP_i686~af848bbe536498e3: Delete: sql-bench/Results/big-tables-mysql-Linux_2.4.0_64GB_SMP_i686 BitKeeper/deleted/.del-big-tables-mysql-Linux_2.4.16_64GB_SMP_i686~568eabe7958599fe: Delete: sql-bench/Results/big-tables-mysql-Linux_2.4.16_64GB_SMP_i686 BitKeeper/deleted/.del-big-tables-mysql-Linux_2.4.4_SMP_alpha~c37784c19f9492d9: Delete: sql-bench/Results/big-tables-mysql-Linux_2.4.4_SMP_alpha BitKeeper/deleted/.del-big-tables-mysql-NT_4.0~b2a29b0b3838e2c0: Delete: sql-bench/Results/big-tables-mysql-NT_4.0 BitKeeper/deleted/.del-big-tables-mysql-SunOS_5.5.1_sun4u~7d7b6c0bf58b9b79: Delete: sql-bench/Results/big-tables-mysql-SunOS_5.5.1_sun4u BitKeeper/deleted/.del-big-tables-mysql-SunOS_5.7_sun4m~2487c35a8fb6c2c7: Delete: sql-bench/Results/big-tables-mysql-SunOS_5.7_sun4m BitKeeper/deleted/.del-big-tables-mysql-SunOS_5.7_sun4u~ebc379b231312bbe: Delete: sql-bench/Results/big-tables-mysql-SunOS_5.7_sun4u BitKeeper/deleted/.del-big-tables-mysql-SunOS_5.8_sun4u~ed47e6abb618412b: Delete: sql-bench/Results/big-tables-mysql-SunOS_5.8_sun4u BitKeeper/deleted/.del-big-tables-mysql-win98~cf6133ef1eabab0: Delete: sql-bench/Results/big-tables-mysql-win98 BitKeeper/deleted/.del-big-tables-mysql_fast-Linux_2.2.10_i686-cmp-msql,mysql~db491cf46385914d: Delete: sql-bench/Results/big-tables-mysql_fast-Linux_2.2.10_i686-cmp-msql,mysql BitKeeper/deleted/.del-big-tables-mysql_odbc-win98~21acff849389336f: Delete: sql-bench/Results/big-tables-mysql_odbc-win98 BitKeeper/deleted/.del-big-tables-oracle-Linux_2.0.36_i686-cmp-mysql,oracle~9c838829d0ea5ced: Delete: sql-bench/Results/big-tables-oracle-Linux_2.0.36_i686-cmp-mysql,oracle BitKeeper/deleted/.del-big-tables-oracle_fast-Linux_2.0.36_i686-cmp-mysql,oracle~29e603e8899269b2: Delete: sql-bench/Results/big-tables-oracle_fast-Linux_2.0.36_i686-cmp-mysql,oracle BitKeeper/deleted/.del-big-tables-pg-Linux_2.0.36_i686-cmp-mysql,pg,solid~5c8d37e194a54236: Delete: sql-bench/Results/big-tables-pg-Linux_2.0.36_i686-cmp-mysql,pg,solid BitKeeper/deleted/.del-big-tables-pg-Linux_2.4.2_64GB_SMP_i686-cmp-mysql,pg~5cf62715e9715066: Delete: sql-bench/Results/big-tables-pg-Linux_2.4.2_64GB_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-big-tables-pg_fast-Linux_2.0.36_i686-cmp-mysql,pg,solid~6170bade4e184d8: Delete: sql-bench/Results/big-tables-pg_fast-Linux_2.0.36_i686-cmp-mysql,pg,solid BitKeeper/deleted/.del-big-tables-pg_fast-Linux_2.4.2_64GB_SMP_i686-cmp-mysql,pg~126a0afb2c471bfc: Delete: sql-bench/Results/big-tables-pg_fast-Linux_2.4.2_64GB_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-big-tables-solid-Linux_2.0.36_i686-cmp-mysql,pg,solid~7071ff0b9ae77888: Delete: sql-bench/Results/big-tables-solid-Linux_2.0.36_i686-cmp-mysql,pg,solid BitKeeper/deleted/.del-connect-Adabas-Linux_2.0.35_i686-cmp-adabas,mysql~db5313a35bb9b7f9: Delete: sql-bench/Results/connect-Adabas-Linux_2.0.35_i686-cmp-adabas,mysql BitKeeper/deleted/.del-connect-frontbase-Linux_2.2.14_my_SMP_i686-cmp-frontbase,mysql~61676bd9c073f7fd: Delete: sql-bench/Results/connect-frontbase-Linux_2.2.14_my_SMP_i686-cmp-frontbase,mysql BitKeeper/deleted/.del-connect-msql-Linux_2.2.10_i686-cmp-msql,mysql~5b9f60756fd8f911: Delete: sql-bench/Results/connect-msql-Linux_2.2.10_i686-cmp-msql,mysql BitKeeper/deleted/.del-connect-mysql-HP_UX_B.10.20_9000_778~a1e538e24db4bb1c: Delete: sql-bench/Results/connect-mysql-HP_UX_B.10.20_9000_778 BitKeeper/deleted/.del-connect-mysql-Linux_2.0.35_i686-cmp-adabas,mysql~db113f639769f768: Delete: sql-bench/Results/connect-mysql-Linux_2.0.35_i686-cmp-adabas,mysql BitKeeper/deleted/.del-connect-mysql-Linux_2.0.36_i686-cmp-mysql,pg,solid~8da27469bc2fb160: Delete: sql-bench/Results/connect-mysql-Linux_2.0.36_i686-cmp-mysql,pg,solid BitKeeper/deleted/.del-connect-mysql-Linux_2.2.10_i686-cmp-msql,mysql~cdc59ceceaf911fa: Delete: sql-bench/Results/connect-mysql-Linux_2.2.10_i686-cmp-msql,mysql BitKeeper/deleted/.del-connect-mysql-Linux_2.2.16_SMP_alpha~aaec79ca1156a08a: Delete: sql-bench/Results/connect-mysql-Linux_2.2.16_SMP_alpha BitKeeper/deleted/.del-connect-mysql-Linux_2.2.1_i686-cmp-adabas,mysql~89cc5af048bd639b: Delete: sql-bench/Results/connect-mysql-Linux_2.2.1_i686-cmp-adabas,mysql BitKeeper/deleted/.del-connect-mysql-Linux_2.4.0_64GB_SMP_i686~5120b0673110924: Delete: sql-bench/Results/connect-mysql-Linux_2.4.0_64GB_SMP_i686 BitKeeper/deleted/.del-connect-mysql-Linux_2.4.16_64GB_SMP_i686~75f6059f6c9dba3c: Delete: sql-bench/Results/connect-mysql-Linux_2.4.16_64GB_SMP_i686 BitKeeper/deleted/.del-connect-mysql-Linux_2.4.4_SMP_alpha~89d632a1ac9a6b5: Delete: sql-bench/Results/connect-mysql-Linux_2.4.4_SMP_alpha BitKeeper/deleted/.del-connect-mysql-NT_4.0~38e24bdd3be11952: Delete: sql-bench/Results/connect-mysql-NT_4.0 BitKeeper/deleted/.del-connect-mysql-SunOS_5.5.1_sun4u~a9493110fe62e0b1: Delete: sql-bench/Results/connect-mysql-SunOS_5.5.1_sun4u BitKeeper/deleted/.del-connect-mysql-SunOS_5.7_sun4m~4dfb6b3d571ddbad: Delete: sql-bench/Results/connect-mysql-SunOS_5.7_sun4m BitKeeper/deleted/.del-connect-mysql-SunOS_5.7_sun4u~c67beb9e9d2cf32e: Delete: sql-bench/Results/connect-mysql-SunOS_5.7_sun4u BitKeeper/deleted/.del-connect-mysql-SunOS_5.8_sun4u~b843f0f83243241: Delete: sql-bench/Results/connect-mysql-SunOS_5.8_sun4u BitKeeper/deleted/.del-connect-mysql-win98~3717948fdaeece0e: Delete: sql-bench/Results/connect-mysql-win98 BitKeeper/deleted/.del-connect-mysql_fast-Linux_2.2.10_i686-cmp-msql,mysql~c1e45c134fb0c6: Delete: sql-bench/Results/connect-mysql_fast-Linux_2.2.10_i686-cmp-msql,mysql BitKeeper/deleted/.del-connect-mysql_odbc-win98~62020e7f60ca155b: Delete: sql-bench/Results/connect-mysql_odbc-win98 BitKeeper/deleted/.del-connect-oracle-Linux_2.0.36_i686-cmp-mysql,oracle~ac92c49fb3587f32: Delete: sql-bench/Results/connect-oracle-Linux_2.0.36_i686-cmp-mysql,oracle BitKeeper/deleted/.del-connect-pg-Linux_2.0.36_i686-cmp-mysql,pg,solid~d518bd07b04f5b01: Delete: sql-bench/Results/connect-pg-Linux_2.0.36_i686-cmp-mysql,pg,solid BitKeeper/deleted/.del-connect-pg-Linux_2.4.2_64GB_SMP_i686-cmp-mysql,pg~4591ef76c9e60c9d: Delete: sql-bench/Results/connect-pg-Linux_2.4.2_64GB_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-connect-pg_fast-Linux_2.0.36_i686-cmp-mysql,pg,solid~f06b093a1aa4ff35: Delete: sql-bench/Results/connect-pg_fast-Linux_2.0.36_i686-cmp-mysql,pg,solid BitKeeper/deleted/.del-connect-pg_fast-Linux_2.4.2_64GB_SMP_i686-cmp-mysql,pg~568fd44bd76dfc6f: Delete: sql-bench/Results/connect-pg_fast-Linux_2.4.2_64GB_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-connect-solid-Linux_2.0.36_i686-cmp-mysql,pg,solid~4984dfca3ef56ece: Delete: sql-bench/Results/connect-solid-Linux_2.0.36_i686-cmp-mysql,pg,solid BitKeeper/deleted/.del-create-Adabas-Linux_2.0.35_i686-cmp-adabas,mysql~c2970764e968682a: Delete: sql-bench/Results/create-Adabas-Linux_2.0.35_i686-cmp-adabas,mysql BitKeeper/deleted/.del-create-frontbase-Linux_2.2.14_my_SMP_i686-cmp-frontbase,mysql~1eb70c89b45b81ca: Delete: sql-bench/Results/create-frontbase-Linux_2.2.14_my_SMP_i686-cmp-frontbase,mysql BitKeeper/deleted/.del-create-msql-Linux_2.2.10_i686-cmp-msql,mysql~edee1dbef9553fce: Delete: sql-bench/Results/create-msql-Linux_2.2.10_i686-cmp-msql,mysql BitKeeper/deleted/.del-create-mysql-HP_UX_B.10.20_9000_778~9ba93e8aace282f8: Delete: sql-bench/Results/create-mysql-HP_UX_B.10.20_9000_778 BitKeeper/deleted/.del-create-mysql-Linux_2.0.35_i686-cmp-adabas,mysql~2380da175449191a: Delete: sql-bench/Results/create-mysql-Linux_2.0.35_i686-cmp-adabas,mysql BitKeeper/deleted/.del-create-mysql-Linux_2.0.36_i686-cmp-mysql,pg,solid~66db97b8e6de6956: Delete: sql-bench/Results/create-mysql-Linux_2.0.36_i686-cmp-mysql,pg,solid BitKeeper/deleted/.del-create-mysql-Linux_2.2.10_i686-cmp-msql,mysql~645c83b795615b50: Delete: sql-bench/Results/create-mysql-Linux_2.2.10_i686-cmp-msql,mysql BitKeeper/deleted/.del-create-mysql-Linux_2.2.16_SMP_alpha~14f7146539c3894: Delete: sql-bench/Results/create-mysql-Linux_2.2.16_SMP_alpha BitKeeper/deleted/.del-create-mysql-Linux_2.2.1_i686-cmp-adabas,mysql~3dbefde519d2fe7c: Delete: sql-bench/Results/create-mysql-Linux_2.2.1_i686-cmp-adabas,mysql BitKeeper/deleted/.del-create-mysql-Linux_2.4.0_64GB_SMP_i686~99efec8ad04ae89e: Delete: sql-bench/Results/create-mysql-Linux_2.4.0_64GB_SMP_i686 BitKeeper/deleted/.del-create-mysql-Linux_2.4.16_64GB_SMP_i686~3d16d9031a504bc1: Delete: sql-bench/Results/create-mysql-Linux_2.4.16_64GB_SMP_i686 BitKeeper/deleted/.del-create-mysql-Linux_2.4.4_SMP_alpha~e5194a6b13b856d2: Delete: sql-bench/Results/create-mysql-Linux_2.4.4_SMP_alpha BitKeeper/deleted/.del-create-mysql-NT_4.0~b3acc3d0a2d6f9d9: Delete: sql-bench/Results/create-mysql-NT_4.0 BitKeeper/deleted/.del-create-mysql-SunOS_5.5.1_sun4u~bbb5de66fc56de7b: Delete: sql-bench/Results/create-mysql-SunOS_5.5.1_sun4u BitKeeper/deleted/.del-create-mysql-SunOS_5.7_sun4m~b0ff2a8562097d63: Delete: sql-bench/Results/create-mysql-SunOS_5.7_sun4m BitKeeper/deleted/.del-create-mysql-SunOS_5.7_sun4u~7ee13bfcafeab498: Delete: sql-bench/Results/create-mysql-SunOS_5.7_sun4u BitKeeper/deleted/.del-create-mysql-SunOS_5.8_sun4u~59d3098ed93d40f3: Delete: sql-bench/Results/create-mysql-SunOS_5.8_sun4u BitKeeper/deleted/.del-create-mysql-win98~e1d695d45ef2d0c: Delete: sql-bench/Results/create-mysql-win98 BitKeeper/deleted/.del-create-mysql_fast-Linux_2.2.10_i686-cmp-msql,mysql~c4faee34856851cb: Delete: sql-bench/Results/create-mysql_fast-Linux_2.2.10_i686-cmp-msql,mysql BitKeeper/deleted/.del-create-mysql_odbc-win98~601a99c5e6348c0c: Delete: sql-bench/Results/create-mysql_odbc-win98 BitKeeper/deleted/.del-create-oracle-Linux_2.0.36_i686-cmp-mysql,oracle~e115689b8cc73378: Delete: sql-bench/Results/create-oracle-Linux_2.0.36_i686-cmp-mysql,oracle BitKeeper/deleted/.del-create-oracle_fast-Linux_2.0.36_i686-cmp-mysql,oracle~bf450a6242fd0667: Delete: sql-bench/Results/create-oracle_fast-Linux_2.0.36_i686-cmp-mysql,oracle BitKeeper/deleted/.del-create-pg-Linux_2.0.36_i686-cmp-mysql,pg,solid~3d947822c9d126ad: Delete: sql-bench/Results/create-pg-Linux_2.0.36_i686-cmp-mysql,pg,solid BitKeeper/deleted/.del-create-pg-Linux_2.4.2_64GB_SMP_i686-cmp-mysql,pg~a362ce64c2eaede9: Delete: sql-bench/Results/create-pg-Linux_2.4.2_64GB_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-create-pg_fast-Linux_2.0.36_i686-cmp-mysql,pg,solid~c79bf4084081ea70: Delete: sql-bench/Results/create-pg_fast-Linux_2.0.36_i686-cmp-mysql,pg,solid BitKeeper/deleted/.del-create-pg_fast-Linux_2.2.14_my_SMP_i686-crashed~84bcc3931507a54b: Delete: sql-bench/Results/create-pg_fast-Linux_2.2.14_my_SMP_i686-crashed BitKeeper/deleted/.del-create-pg_fast-Linux_2.4.2_64GB_SMP_i686-cmp-mysql,pg~4eb5a8d4ec1e87f3: Delete: sql-bench/Results/create-pg_fast-Linux_2.4.2_64GB_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-create-solid-Linux_2.0.36_i686-cmp-mysql,pg,solid~fc92c9b657c058a5: Delete: sql-bench/Results/create-solid-Linux_2.0.36_i686-cmp-mysql,pg,solid BitKeeper/deleted/.del-insert-Adabas-Linux_2.0.35_i686-cmp-adabas,mysql~c411901fbeb0f872: Delete: sql-bench/Results/insert-Adabas-Linux_2.0.35_i686-cmp-adabas,mysql BitKeeper/deleted/.del-insert-frontbase-Linux_2.2.14_my_SMP_i686-cmp-frontbase,mysql~18e410adac84ea04: Delete: sql-bench/Results/insert-frontbase-Linux_2.2.14_my_SMP_i686-cmp-frontbase,mysql BitKeeper/deleted/.del-insert-msql-Linux_2.2.10_i686-cmp-msql,mysql~53d8b6be20f6ca92: Delete: sql-bench/Results/insert-msql-Linux_2.2.10_i686-cmp-msql,mysql BitKeeper/deleted/.del-insert-mysql-HP_UX_B.10.20_9000_778~c1dc0211819193a4: Delete: sql-bench/Results/insert-mysql-HP_UX_B.10.20_9000_778 BitKeeper/deleted/.del-insert-mysql-Linux_2.0.35_i686-cmp-adabas,mysql~ecd1a95d10fdd9e: Delete: sql-bench/Results/insert-mysql-Linux_2.0.35_i686-cmp-adabas,mysql BitKeeper/deleted/.del-insert-mysql-Linux_2.0.36_i686-cmp-mysql,pg,solid~2092625178d751fe: Delete: sql-bench/Results/insert-mysql-Linux_2.0.36_i686-cmp-mysql,pg,solid BitKeeper/deleted/.del-insert-mysql-Linux_2.2.10_i686-cmp-msql,mysql~a0420d7e1cb49cd: Delete: sql-bench/Results/insert-mysql-Linux_2.2.10_i686-cmp-msql,mysql BitKeeper/deleted/.del-insert-mysql-Linux_2.2.16_SMP_alpha~8376549c28db6e1b: Delete: sql-bench/Results/insert-mysql-Linux_2.2.16_SMP_alpha BitKeeper/deleted/.del-insert-mysql-Linux_2.2.1_i686-cmp-adabas,mysql~5ce02dfcb05e552a: Delete: sql-bench/Results/insert-mysql-Linux_2.2.1_i686-cmp-adabas,mysql BitKeeper/deleted/.del-insert-mysql-Linux_2.4.0_64GB_SMP_i686~4eaf16cd96aa5659: Delete: sql-bench/Results/insert-mysql-Linux_2.4.0_64GB_SMP_i686 BitKeeper/deleted/.del-insert-mysql-Linux_2.4.16_64GB_SMP_i686~58b5ab2783e8bed8: Delete: sql-bench/Results/insert-mysql-Linux_2.4.16_64GB_SMP_i686 BitKeeper/deleted/.del-insert-mysql-Linux_2.4.4_SMP_alpha~618312e541c41bf: Delete: sql-bench/Results/insert-mysql-Linux_2.4.4_SMP_alpha BitKeeper/deleted/.del-insert-mysql-NT_4.0~2da89ac977203b64: Delete: sql-bench/Results/insert-mysql-NT_4.0 BitKeeper/deleted/.del-insert-mysql-SunOS_5.5.1_sun4u~8a9ae41f9a79f79: Delete: sql-bench/Results/insert-mysql-SunOS_5.5.1_sun4u BitKeeper/deleted/.del-insert-mysql-SunOS_5.7_sun4m~3f1912de8939606e: Delete: sql-bench/Results/insert-mysql-SunOS_5.7_sun4m BitKeeper/deleted/.del-insert-mysql-SunOS_5.7_sun4u~78efa132c6e252b9: Delete: sql-bench/Results/insert-mysql-SunOS_5.7_sun4u BitKeeper/deleted/.del-insert-mysql-SunOS_5.8_sun4u~54610b5db9b7be0f: Delete: sql-bench/Results/insert-mysql-SunOS_5.8_sun4u BitKeeper/deleted/.del-insert-mysql-win98~bbf7e244641d4003: Delete: sql-bench/Results/insert-mysql-win98 BitKeeper/deleted/.del-insert-mysql_fast-Linux_2.2.10_i686-cmp-msql,mysql~a4814074b474fc72: Delete: sql-bench/Results/insert-mysql_fast-Linux_2.2.10_i686-cmp-msql,mysql BitKeeper/deleted/.del-insert-mysql_odbc-win98~52247fd8f94874c1: Delete: sql-bench/Results/insert-mysql_odbc-win98 BitKeeper/deleted/.del-insert-oracle-Linux_2.0.36_i686-cmp-mysql,oracle~7dbd79fec1e7e1b1: Delete: sql-bench/Results/insert-oracle-Linux_2.0.36_i686-cmp-mysql,oracle BitKeeper/deleted/.del-insert-oracle_fast-Linux_2.0.36_i686-cmp-mysql,oracle~b1fda485df498a58: Delete: sql-bench/Results/insert-oracle_fast-Linux_2.0.36_i686-cmp-mysql,oracle BitKeeper/deleted/.del-insert-pg-Linux_2.0.36_i686-cmp-mysql,pg,solid~d124baae1c17a384: Delete: sql-bench/Results/insert-pg-Linux_2.0.36_i686-cmp-mysql,pg,solid BitKeeper/deleted/.del-insert-pg-Linux_2.4.2_64GB_SMP_i686-cmp-mysql,pg~b93a767f8d81ba33: Delete: sql-bench/Results/insert-pg-Linux_2.4.2_64GB_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-insert-pg_fast-Linux_2.0.36_i686-cmp-mysql,pg,solid~a70aae8c2950405c: Delete: sql-bench/Results/insert-pg_fast-Linux_2.0.36_i686-cmp-mysql,pg,solid BitKeeper/deleted/.del-insert-pg_fast-Linux_2.4.2_64GB_SMP_i686-cmp-mysql,pg~10c38322f8bc83f: Delete: sql-bench/Results/insert-pg_fast-Linux_2.4.2_64GB_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-insert-solid-Linux_2.0.36_i686-cmp-mysql,pg,solid~eb25bd34abfb3f3e: Delete: sql-bench/Results/insert-solid-Linux_2.0.36_i686-cmp-mysql,pg,solid BitKeeper/deleted/.del-select-Adabas-Linux_2.0.35_i686-cmp-adabas,mysql~26e212f592aecc3a: Delete: sql-bench/Results/select-Adabas-Linux_2.0.35_i686-cmp-adabas,mysql BitKeeper/deleted/.del-select-frontbase-Linux_2.2.14_my_SMP_i686-cmp-frontbase,mysql~ebd8a4e44a0acf: Delete: sql-bench/Results/select-frontbase-Linux_2.2.14_my_SMP_i686-cmp-frontbase,mysql BitKeeper/deleted/.del-select-msql-Linux_2.2.10_i686-cmp-msql,mysql~4fd08d95716e1d7e: Delete: sql-bench/Results/select-msql-Linux_2.2.10_i686-cmp-msql,mysql BitKeeper/deleted/.del-select-mysql-HP_UX_B.10.20_9000_778~f9b106ee9ff6b3d7: Delete: sql-bench/Results/select-mysql-HP_UX_B.10.20_9000_778 BitKeeper/deleted/.del-select-mysql-Linux_2.0.35_i686-cmp-adabas,mysql~e48d4b0a3b15a56d: Delete: sql-bench/Results/select-mysql-Linux_2.0.35_i686-cmp-adabas,mysql BitKeeper/deleted/.del-select-mysql-Linux_2.0.36_i686-cmp-mysql,pg,solid~195a8803a505d0e6: Delete: sql-bench/Results/select-mysql-Linux_2.0.36_i686-cmp-mysql,pg,solid BitKeeper/deleted/.del-select-mysql-Linux_2.2.10_i686-cmp-msql,mysql~15cf41773458fdee: Delete: sql-bench/Results/select-mysql-Linux_2.2.10_i686-cmp-msql,mysql BitKeeper/deleted/.del-select-mysql-Linux_2.2.16_SMP_alpha~d02b2891a4964e60: Delete: sql-bench/Results/select-mysql-Linux_2.2.16_SMP_alpha BitKeeper/deleted/.del-select-mysql-Linux_2.2.1_i686-cmp-adabas,mysql~40d76ff0c6abd440: Delete: sql-bench/Results/select-mysql-Linux_2.2.1_i686-cmp-adabas,mysql BitKeeper/deleted/.del-select-mysql-Linux_2.4.0_64GB_SMP_i686~90c8074428c8a9bc: Delete: sql-bench/Results/select-mysql-Linux_2.4.0_64GB_SMP_i686 BitKeeper/deleted/.del-select-mysql-Linux_2.4.16_64GB_SMP_i686~bf28885bfc7cc742: Delete: sql-bench/Results/select-mysql-Linux_2.4.16_64GB_SMP_i686 BitKeeper/deleted/.del-select-mysql-Linux_2.4.4_SMP_alpha~feb1610a86f00654: Delete: sql-bench/Results/select-mysql-Linux_2.4.4_SMP_alpha BitKeeper/deleted/.del-select-mysql-NT_4.0~68e53f4d285f6c8: Delete: sql-bench/Results/select-mysql-NT_4.0 BitKeeper/deleted/.del-select-mysql-SunOS_5.5.1_sun4u~c9a1a498a052e268: Delete: sql-bench/Results/select-mysql-SunOS_5.5.1_sun4u BitKeeper/deleted/.del-select-mysql-SunOS_5.7_sun4m~98faf6c7bb382fe: Delete: sql-bench/Results/select-mysql-SunOS_5.7_sun4m BitKeeper/deleted/.del-select-mysql-SunOS_5.7_sun4u~632c92971c61e34a: Delete: sql-bench/Results/select-mysql-SunOS_5.7_sun4u BitKeeper/deleted/.del-select-mysql-SunOS_5.8_sun4u~b4d7791617c9c130: Delete: sql-bench/Results/select-mysql-SunOS_5.8_sun4u BitKeeper/deleted/.del-select-mysql-win98~6c82dc82a2bd76ba: Delete: sql-bench/Results/select-mysql-win98 BitKeeper/deleted/.del-select-mysql_fast-Linux_2.2.10_i686-cmp-msql,mysql~3f6a1a0d769f89e3: Delete: sql-bench/Results/select-mysql_fast-Linux_2.2.10_i686-cmp-msql,mysql BitKeeper/deleted/.del-select-mysql_odbc-win98~bc95f67bab05b1bf: Delete: sql-bench/Results/select-mysql_odbc-win98 BitKeeper/deleted/.del-select-oracle-Linux_2.0.36_i686-cmp-mysql,oracle~de20213816f2cf80: Delete: sql-bench/Results/select-oracle-Linux_2.0.36_i686-cmp-mysql,oracle BitKeeper/deleted/.del-select-oracle_fast-Linux_2.0.36_i686-cmp-mysql,oracle~81512da61e0cb2dc: Delete: sql-bench/Results/select-oracle_fast-Linux_2.0.36_i686-cmp-mysql,oracle BitKeeper/deleted/.del-select-pg-Linux_2.0.36_i686-cmp-mysql,pg,solid~ea1dfd1a49ff576c: Delete: sql-bench/Results/select-pg-Linux_2.0.36_i686-cmp-mysql,pg,solid BitKeeper/deleted/.del-select-pg-Linux_2.4.2_64GB_SMP_i686-cmp-mysql,pg~fa83673053168348: Delete: sql-bench/Results/select-pg-Linux_2.4.2_64GB_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-select-pg_fast-Linux_2.0.36_i686-cmp-mysql,pg,solid~79f7792e1422b43f: Delete: sql-bench/Results/select-pg_fast-Linux_2.0.36_i686-cmp-mysql,pg,solid BitKeeper/deleted/.del-select-pg_fast-Linux_2.4.2_64GB_SMP_i686-cmp-mysql,pg~4a06e51b297d5570: Delete: sql-bench/Results/select-pg_fast-Linux_2.4.2_64GB_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-select-solid-Linux_2.0.36_i686-cmp-mysql,pg,solid~987c920c779705cf: Delete: sql-bench/Results/select-solid-Linux_2.0.36_i686-cmp-mysql,pg,solid BitKeeper/deleted/.del-transactions-mysql-Linux_2.4.16_64GB_SMP_i686~3cf318d85adcc5cb: Delete: sql-bench/Results/transactions-mysql-Linux_2.4.16_64GB_SMP_i686 BitKeeper/deleted/.del-transactions-mysql-Linux_2.4.4_SMP_alpha~3c3606d8f979f51: Delete: sql-bench/Results/transactions-mysql-Linux_2.4.4_SMP_alpha BitKeeper/deleted/.del-wisconsin-Adabas-Linux_2.0.35_i686-cmp-adabas,mysql~8489f0f6c0c7d18c: Delete: sql-bench/Results/wisconsin-Adabas-Linux_2.0.35_i686-cmp-adabas,mysql BitKeeper/deleted/.del-wisconsin-frontbase-Linux_2.2.14_my_SMP_i686-cmp-frontbase,mysql~d1d359e3c9dda9db: Delete: sql-bench/Results/wisconsin-frontbase-Linux_2.2.14_my_SMP_i686-cmp-frontbase,mysql BitKeeper/deleted/.del-wisconsin-msql-Linux_2.2.10_i686-cmp-msql,mysql~d1dc6e639d4779e1: Delete: sql-bench/Results/wisconsin-msql-Linux_2.2.10_i686-cmp-msql,mysql BitKeeper/deleted/.del-wisconsin-mysql-HP_UX_B.10.20_9000_778~718acc72754fba97: Delete: sql-bench/Results/wisconsin-mysql-HP_UX_B.10.20_9000_778 BitKeeper/deleted/.del-wisconsin-mysql-Linux_2.0.35_i686-cmp-adabas,mysql~e89ae8dfa5378f09: Delete: sql-bench/Results/wisconsin-mysql-Linux_2.0.35_i686-cmp-adabas,mysql BitKeeper/deleted/.del-wisconsin-mysql-Linux_2.0.36_i686-cmp-mysql,pg,solid~acc67b004dc75f98: Delete: sql-bench/Results/wisconsin-mysql-Linux_2.0.36_i686-cmp-mysql,pg,solid BitKeeper/deleted/.del-wisconsin-mysql-Linux_2.2.10_i686-cmp-msql,mysql~fc6765479b4b64cd: Delete: sql-bench/Results/wisconsin-mysql-Linux_2.2.10_i686-cmp-msql,mysql BitKeeper/deleted/.del-wisconsin-mysql-Linux_2.2.16_SMP_alpha~8f9745c884aa92f4: Delete: sql-bench/Results/wisconsin-mysql-Linux_2.2.16_SMP_alpha BitKeeper/deleted/.del-wisconsin-mysql-Linux_2.2.1_i686-cmp-adabas,mysql~9c79427e739c735d: Delete: sql-bench/Results/wisconsin-mysql-Linux_2.2.1_i686-cmp-adabas,mysql BitKeeper/deleted/.del-wisconsin-mysql-Linux_2.4.0_64GB_SMP_i686~7a02185b13c0b44e: Delete: sql-bench/Results/wisconsin-mysql-Linux_2.4.0_64GB_SMP_i686 BitKeeper/deleted/.del-wisconsin-mysql-Linux_2.4.16_64GB_SMP_i686~e32f769c6188dd2: Delete: sql-bench/Results/wisconsin-mysql-Linux_2.4.16_64GB_SMP_i686 BitKeeper/deleted/.del-wisconsin-mysql-Linux_2.4.4_SMP_alpha~8b2f917fc876fc7a: Delete: sql-bench/Results/wisconsin-mysql-Linux_2.4.4_SMP_alpha BitKeeper/deleted/.del-wisconsin-mysql-NT_4.0~283629367e086581: Delete: sql-bench/Results/wisconsin-mysql-NT_4.0 BitKeeper/deleted/.del-wisconsin-mysql-SunOS_5.5.1_sun4u~379705afa2e12378: Delete: sql-bench/Results/wisconsin-mysql-SunOS_5.5.1_sun4u BitKeeper/deleted/.del-wisconsin-mysql-SunOS_5.7_sun4m~580e8050e43e0005: Delete: sql-bench/Results/wisconsin-mysql-SunOS_5.7_sun4m BitKeeper/deleted/.del-wisconsin-mysql-SunOS_5.7_sun4u~f27927f8c64ea8ad: Delete: sql-bench/Results/wisconsin-mysql-SunOS_5.7_sun4u BitKeeper/deleted/.del-wisconsin-mysql-SunOS_5.8_sun4u~c6dc13908e90176f: Delete: sql-bench/Results/wisconsin-mysql-SunOS_5.8_sun4u BitKeeper/deleted/.del-wisconsin-mysql-win98~795461eba3514b47: Delete: sql-bench/Results/wisconsin-mysql-win98 BitKeeper/deleted/.del-wisconsin-mysql_fast-Linux_2.2.10_i686-cmp-msql,mysql~488787578358cc35: Delete: sql-bench/Results/wisconsin-mysql_fast-Linux_2.2.10_i686-cmp-msql,mysql BitKeeper/deleted/.del-wisconsin-mysql_odbc-win98~5bbc39935723fc64: Delete: sql-bench/Results/wisconsin-mysql_odbc-win98 BitKeeper/deleted/.del-wisconsin-oracle-Linux_2.0.36_i686-cmp-mysql,oracle~6daa8be9afd8d66b: Delete: sql-bench/Results/wisconsin-oracle-Linux_2.0.36_i686-cmp-mysql,oracle BitKeeper/deleted/.del-wisconsin-oracle_fast-Linux_2.0.36_i686-cmp-mysql,oracle~1778869029501916: Delete: sql-bench/Results/wisconsin-oracle_fast-Linux_2.0.36_i686-cmp-mysql,oracle BitKeeper/deleted/.del-wisconsin-pg-Linux_2.0.36_i686-cmp-mysql,pg,solid~c031bfc63e5e5f2e: Delete: sql-bench/Results/wisconsin-pg-Linux_2.0.36_i686-cmp-mysql,pg,solid BitKeeper/deleted/.del-wisconsin-pg-Linux_2.4.2_64GB_SMP_i686-cmp-mysql,pg~604f493a45201ad9: Delete: sql-bench/Results/wisconsin-pg-Linux_2.4.2_64GB_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-wisconsin-pg_fast-Linux_2.0.36_i686-cmp-mysql,pg,solid~ffdea7edff6f4fbe: Delete: sql-bench/Results/wisconsin-pg_fast-Linux_2.0.36_i686-cmp-mysql,pg,solid BitKeeper/deleted/.del-wisconsin-pg_fast-Linux_2.4.2_64GB_SMP_i686-cmp-mysql,pg~ebdeb628338b7b51: Delete: sql-bench/Results/wisconsin-pg_fast-Linux_2.4.2_64GB_SMP_i686-cmp-mysql,pg BitKeeper/deleted/.del-wisconsin-solid-Linux_2.0.36_i686-cmp-mysql,pg,solid~f1c97174bd9c7f51: Delete: sql-bench/Results/wisconsin-solid-Linux_2.0.36_i686-cmp-mysql,pg,solid BitKeeper/deleted/.del-.cvsignore~ed869f4c40f3d576: Delete: sql-bench/.cvsignore BitKeeper/deleted/.del-ChangeLog~c7abb5abd266ca5b: Delete: sql-bench/ChangeLog BitKeeper/deleted/.del-Makefile.am~7b07da85b2e9375: Delete: sql-bench/Makefile.am BitKeeper/deleted/.del-README~b1aa0c1bf9f5eb5e: Delete: sql-bench/README BitKeeper/deleted/.del-TODO~cac6d7a63c426ae5: Delete: sql-bench/TODO BitKeeper/deleted/.del-as3ap.sh~f54eebbd8d34c9b6: Delete: sql-bench/as3ap.sh BitKeeper/deleted/.del-bench-count-distinct.sh~a92f174271a831d7: Delete: sql-bench/bench-count-distinct.sh BitKeeper/deleted/.del-bench-init.pl.sh~db41ef36a289736c: Delete: sql-bench/bench-init.pl.sh BitKeeper/deleted/.del-compare-results.sh~a9e26e2644c694b3: Delete: sql-bench/compare-results.sh BitKeeper/deleted/.del-copy-db.sh~e8116afb93144ccd: Delete: sql-bench/copy-db.sh BitKeeper/deleted/.del-crash-me.sh~2fa881d0b40339c8: Delete: sql-bench/crash-me.sh BitKeeper/deleted/.del-example.bat~22d0170bccf0f030: Delete: sql-bench/example.bat BitKeeper/deleted/.del-graph-compare-results.sh~7e4e28b3591b4542: Delete: sql-bench/graph-compare-results.sh BitKeeper/deleted/.del-innotest1.sh~aa36bce09ca783c7: Delete: sql-bench/innotest1.sh BitKeeper/deleted/.del-innotest1a.sh~c64f4610ae1e26fe: Delete: sql-bench/innotest1a.sh BitKeeper/deleted/.del-innotest1b.sh~aafd0819ae84da7b: Delete: sql-bench/innotest1b.sh BitKeeper/deleted/.del-innotest2.sh~9c14df528285603: Delete: sql-bench/innotest2.sh BitKeeper/deleted/.del-innotest2a.sh~e01d016a7cafdc0b: Delete: sql-bench/innotest2a.sh BitKeeper/deleted/.del-innotest2b.sh~7b99ece835e8dff3: Delete: sql-bench/innotest2b.sh BitKeeper/deleted/.del-print-limit-table~b8e808031daa3758: Delete: sql-bench/print-limit-table BitKeeper/deleted/.del-pwd.bat~9b64050849abf51: Delete: sql-bench/pwd.bat BitKeeper/deleted/.del-run-all-tests.sh~41d6da1cf211ee95: Delete: sql-bench/run-all-tests.sh BitKeeper/deleted/.del-server-cfg.sh~556b3a2b6a11dcce: Delete: sql-bench/server-cfg.sh BitKeeper/deleted/.del-test-ATIS.sh~e8ebff7086c95773: Delete: sql-bench/test-ATIS.sh BitKeeper/deleted/.del-test-alter-table.sh~eba6cfa9972fcced: Delete: sql-bench/test-alter-table.sh BitKeeper/deleted/.del-test-big-tables.sh~5b1b0c5fb623565a: Delete: sql-bench/test-big-tables.sh BitKeeper/deleted/.del-test-connect.sh~382a728c949ee075: Delete: sql-bench/test-connect.sh BitKeeper/deleted/.del-test-create.sh~f9a1ea38c191b17a: Delete: sql-bench/test-create.sh BitKeeper/deleted/.del-test-insert.sh~893bfac9dedb79a7: Delete: sql-bench/test-insert.sh BitKeeper/deleted/.del-test-select.sh~6d5cc770acf11be6: Delete: sql-bench/test-select.sh BitKeeper/deleted/.del-test-transactions.sh~c1c892f10c40caf: Delete: sql-bench/test-transactions.sh BitKeeper/deleted/.del-test-wisconsin.sh~c0b86821b5f95f26: Delete: sql-bench/test-wisconsin.sh BitKeeper/deleted/.del-Adabas.cfg~343ed4e7f8b02111: Delete: sql-bench/limits/Adabas.cfg BitKeeper/deleted/.del-Informix.cfg~b94188e1ececb51b: Delete: sql-bench/limits/Informix.cfg BitKeeper/deleted/.del-uname.bat~a6d933d2ee9314c: Delete: sql-bench/uname.bat BitKeeper/deleted/.del-access.cfg~5239ea3655b7bba0: Delete: sql-bench/limits/access.cfg BitKeeper/deleted/.del-access_odbc.cfg~34b4cf0eda56c4b1: Delete: sql-bench/limits/access_odbc.cfg BitKeeper/deleted/.del-db2.cfg~711099b4d7906959: Delete: sql-bench/limits/db2.cfg BitKeeper/deleted/.del-empress.cfg~1f97f34d6560a499: Delete: sql-bench/limits/empress.cfg BitKeeper/deleted/.del-frontbase.cfg~71369e9c002696e: Delete: sql-bench/limits/frontbase.cfg BitKeeper/deleted/.del-interbase-dialect1.cfg~659206b5b9a11036: Delete: sql-bench/limits/interbase-dialect1.cfg BitKeeper/deleted/.del-interbase-dialect3.cfg~46277bdfc74c667a: Delete: sql-bench/limits/interbase-dialect3.cfg BitKeeper/deleted/.del-interbase-superserver.cfg~22501198689243b0: Delete: sql-bench/limits/interbase-superserver.cfg BitKeeper/deleted/.del-interbase.cfg~c6951a0376cc6ff3: Delete: sql-bench/limits/interbase.cfg BitKeeper/deleted/.del-mimer.cfg~234e6c1c3c47b612: Delete: sql-bench/limits/mimer.cfg BitKeeper/deleted/.del-ms-sql.cfg~1907964264d2786a: Delete: sql-bench/limits/ms-sql.cfg BitKeeper/deleted/.del-ms-sql65.cfg~6b9bc3c460dbee05: Delete: sql-bench/limits/ms-sql65.cfg BitKeeper/deleted/.del-msql.cfg~52710b12932cceb9: Delete: sql-bench/limits/msql.cfg BitKeeper/deleted/.del-mysql-3.22.cfg~e706f26a161175cd: Delete: sql-bench/limits/mysql-3.22.cfg BitKeeper/deleted/.del-mysql-3.23.cfg~3cf9d6be54b77a3c: Delete: sql-bench/limits/mysql-3.23.cfg BitKeeper/deleted/.del-mysql-4.0.cfg~6c9d63c85b5ef574: Delete: sql-bench/limits/mysql-4.0.cfg BitKeeper/deleted/.del-mysql-4.1.cfg~b6c5e74aefc99e3c: Delete: sql-bench/limits/mysql-4.1.cfg BitKeeper/deleted/.del-mysql.cfg~9cab20a8771b93cf: Delete: sql-bench/limits/mysql.cfg BitKeeper/deleted/.del-oracle.cfg~affab21af8f438fd: Delete: sql-bench/limits/oracle.cfg BitKeeper/deleted/.del-pg.cfg~db59cf39a5d417be: Delete: sql-bench/limits/pg.cfg BitKeeper/deleted/.del-solid-nt4.cfg~cca779f0c9e29d31: Delete: sql-bench/limits/solid-nt4.cfg BitKeeper/deleted/.del-solid.cfg~5ae0e4342eadb0fb: Delete: sql-bench/limits/solid.cfg BitKeeper/deleted/.del-sybase.cfg~c4636b12767b3f14: Delete: sql-bench/limits/sybase.cfg BitKeeper/deleted/.del-test-alpha-ccc~1d7b807aec2c6bf9: Delete: BUILD/test-alpha-ccc Makefile.am: @bench_dirs@ removed, just list mysql-test directly VC++Files/copy_mysql_files.bat: Deal with sql-bench being removed configure.in: Deal with sql-bench being removed mysql-test/mysql-test-run.pl: Allow directory of mysql-bench to be specified with a new --benchdir option, and default to looking adjacent to the source tree. scripts/make_binary_distribution.sh: Deal with sql-bench being removed scripts/make_win_src_distribution.sh: Deal with sql-bench being removed scripts/mysql_install_db.sh: Deal with sql-bench being removed support-files/mysql.spec.sh: Deal with sql-bench being removed --- mysql-test/mysql-test-run.pl | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'mysql-test') diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl index b5ab324577f..530189613d6 100755 --- a/mysql-test/mysql-test-run.pl +++ b/mysql-test/mysql-test-run.pl @@ -502,7 +502,9 @@ sub initial_setup () { chomp($glob_cygwin_shell); } $glob_basedir= dirname($glob_mysql_test_dir); - $glob_mysql_bench_dir= "$glob_basedir/mysql-bench"; # FIXME make configurable + # Expect mysql-bench to be located adjacent to the source tree, by default + $glob_mysql_bench_dir= "$glob_basedir/../mysql-bench" + unless defined $glob_mysql_bench_dir; # needs to be same length to test logging (FIXME what???) $path_slave_load_tmpdir= "../../var/tmp"; @@ -664,6 +666,7 @@ sub command_line_setup () { # Directories 'tmpdir=s' => \$opt_tmpdir, 'vardir=s' => \$opt_vardir, + 'benchdir=s' => \$glob_mysql_bench_dir, # Misc 'comment=s' => \$opt_comment, @@ -1682,8 +1685,8 @@ sub run_benchmarks ($) { mtr_add_arg($args, "--create-options=TYPE=ndb"); } - my $benchdir= "$glob_basedir/sql-bench"; - chdir($benchdir); # FIXME check error + chdir($glob_mysql_bench_dir) + or mtr_error("Couldn't chdir to '$glob_mysql_bench_dir': $!"); # FIXME write shorter.... -- cgit v1.2.1 From fa813ba5c92cac199ccdd7a2df6c50a8ef50d304 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 13 Apr 2006 12:36:14 -0700 Subject: Don't remove mysql-test/std_data/*.pem in 'make clean' mysql-test/Makefile.am: Don't clean *.pem files --- mysql-test/Makefile.am | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'mysql-test') diff --git a/mysql-test/Makefile.am b/mysql-test/Makefile.am index dcf2b49adfc..8ddf7668844 100644 --- a/mysql-test/Makefile.am +++ b/mysql-test/Makefile.am @@ -27,9 +27,10 @@ EXTRA_DIST = $(EXTRA_SCRIPTS) GENSCRIPTS = mysql-test-run install_test_db PRESCRIPTS = mysql-test-run.pl test_SCRIPTS = $(GENSCRIPTS) $(PRESCRIPTS) -test_DATA = std_data/client-key.pem std_data/client-cert.pem std_data/cacert.pem \ - std_data/server-cert.pem std_data/server-key.pem -CLEANFILES = $(GENSCRIPTS) $(test_DATA) +test_DATA = std_data/client-key.pem std_data/client-cert.pem \ + std_data/cacert.pem std_data/server-cert.pem \ + std_data/server-key.pem +CLEANFILES = $(GENSCRIPTS) INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include -I.. -- cgit v1.2.1 From be57935a6f53f4aba67d7c1d704f4c5fb2e8484a Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 13 Apr 2006 23:26:02 +0300 Subject: update --- mysql-test/t/disabled.def | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'mysql-test') diff --git a/mysql-test/t/disabled.def b/mysql-test/t/disabled.def index e07c5357572..c0827e09990 100644 --- a/mysql-test/t/disabled.def +++ b/mysql-test/t/disabled.def @@ -9,9 +9,10 @@ # Do not use any TAB characters for whitespace. # ############################################################################## -events_bugs : BUG#17619 2006-02-21 andrey Test case unstable (race conditions) -events_stress : BUG#17619 2006-02-21 andrey Test case unstable -events : BUG#17619 2006-02-21 andrey Test case unstable +events_bugs : BUG#17619 2006-02-21 andrey Race conditions +events_stress : BUG#17619 2006-02-21 andrey Race conditions +events : BUG#17619 2006-02-21 andrey Race conditions +events_scheduling : BUG#18958 2006-04-13 andrey Test case unstable events_logs_tests : BUG#18953 2006-04-12 kent Test is randomly failing ndb_autodiscover : BUG#18952 2006-02-16 jmiller Needs to be fixed w.r.t binlog ndb_autodiscover2 : BUG#18952 2006-02-16 jmiller Needs to be fixed w.r.t binlog -- cgit v1.2.1 From 9bcc5e23947363a2798fd26f28cf6f097c6a0ba1 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 14 Apr 2006 11:39:36 -0400 Subject: Hand-merged test. --- mysql-test/r/innodb.result | 181 ++++++++++++++++++++++++++++----------------- mysql-test/t/innodb.test | 54 ++++++++++++++ 2 files changed, 169 insertions(+), 66 deletions(-) (limited to 'mysql-test') diff --git a/mysql-test/r/innodb.result b/mysql-test/r/innodb.result index 9a190557211..25e92516be8 100644 --- a/mysql-test/r/innodb.result +++ b/mysql-test/r/innodb.result @@ -234,7 +234,7 @@ n after commit commit; insert into t1 values (5); insert into t1 values (4); -ERROR 23000: Duplicate entry '4' for key 1 +ERROR 23000: Duplicate entry '4' for key 'PRIMARY' commit; select n, "after commit" from t1; n after commit @@ -243,7 +243,7 @@ n after commit set autocommit=1; insert into t1 values (6); insert into t1 values (4); -ERROR 23000: Duplicate entry '4' for key 1 +ERROR 23000: Duplicate entry '4' for key 'PRIMARY' select n from t1; n 4 @@ -318,7 +318,7 @@ drop table t1; CREATE TABLE t1 (id char(8) not null primary key, val int not null) engine=innodb; insert into t1 values ('pippo', 12); insert into t1 values ('pippo', 12); -ERROR 23000: Duplicate entry 'pippo' for key 1 +ERROR 23000: Duplicate entry 'pippo' for key 'PRIMARY' delete from t1; delete from t1 where id = 'pippo'; select * from t1; @@ -482,9 +482,9 @@ UNIQUE ggid (ggid) insert into t1 (ggid,passwd) values ('test1','xxx'); insert into t1 (ggid,passwd) values ('test2','yyy'); insert into t1 (ggid,passwd) values ('test2','this will fail'); -ERROR 23000: Duplicate entry 'test2' for key 2 +ERROR 23000: Duplicate entry 'test2' for key 'ggid' insert into t1 (ggid,id) values ('this will fail',1); -ERROR 23000: Duplicate entry '1' for key 1 +ERROR 23000: Duplicate entry '1' for key 'PRIMARY' select * from t1 where ggid='test1'; id ggid email passwd 1 test1 xxx @@ -497,7 +497,7 @@ id ggid email passwd replace into t1 (ggid,id) values ('this will work',1); replace into t1 (ggid,passwd) values ('test2','this will work'); update t1 set id=100,ggid='test2' where id=1; -ERROR 23000: Duplicate entry 'test2' for key 2 +ERROR 23000: Duplicate entry 'test2' for key 'ggid' select * from t1; id ggid email passwd 1 this will work @@ -816,7 +816,7 @@ create table t1 (id int NOT NULL,id2 int NOT NULL,id3 int NOT NULL,dummy1 char(3 insert into t1 values (0,0,0,'ABCDEFGHIJ'),(2,2,2,'BCDEFGHIJK'),(1,1,1,'CDEFGHIJKL'); LOCK TABLES t1 WRITE; insert into t1 values (99,1,2,'D'),(1,1,2,'D'); -ERROR 23000: Duplicate entry '1-1' for key 1 +ERROR 23000: Duplicate entry '1-1' for key 'PRIMARY' select id from t1; id 0 @@ -834,7 +834,7 @@ insert into t1 values (0,0,0,'ABCDEFGHIJ'),(2,2,2,'BCDEFGHIJK'),(1,1,1,'CDEFGHIJ LOCK TABLES t1 WRITE; begin; insert into t1 values (99,1,2,'D'),(1,1,2,'D'); -ERROR 23000: Duplicate entry '1-1' for key 1 +ERROR 23000: Duplicate entry '1-1' for key 'PRIMARY' select id from t1; id 0 @@ -856,7 +856,7 @@ create table t1 (a char(20), index (a(5))) engine=innodb; show create table t1; Table Create Table t1 CREATE TABLE `t1` ( - `a` char(20) default NULL, + `a` char(20) DEFAULT NULL, KEY `a` (`a`(5)) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 drop table t1; @@ -1587,9 +1587,9 @@ create table t2 (id int(11) not null auto_increment, id2 int(11) not null, const show create table t2; Table Create Table t2 CREATE TABLE `t2` ( - `id` int(11) NOT NULL auto_increment, + `id` int(11) NOT NULL AUTO_INCREMENT, `id2` int(11) NOT NULL, - PRIMARY KEY (`id`), + PRIMARY KEY (`id`), KEY `id` (`id`,`id2`), CONSTRAINT `t1_id_fk` FOREIGN KEY (`id`) REFERENCES `t1` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 @@ -1598,7 +1598,7 @@ create table t2 (id int(11) not null auto_increment, id2 int(11) not null, const show create table t2; Table Create Table t2 CREATE TABLE `t2` ( - `id` int(11) NOT NULL auto_increment, + `id` int(11) NOT NULL AUTO_INCREMENT, `id2` int(11) NOT NULL, KEY `t1_id_fk` (`id`), CONSTRAINT `t1_id_fk` FOREIGN KEY (`id`) REFERENCES `t1` (`id`) @@ -1607,7 +1607,7 @@ alter table t2 add index id_test (id), add index id_test2 (id,id2); show create table t2; Table Create Table t2 CREATE TABLE `t2` ( - `id` int(11) NOT NULL auto_increment, + `id` int(11) NOT NULL AUTO_INCREMENT, `id2` int(11) NOT NULL, KEY `id_test` (`id`), KEY `id_test2` (`id`,`id2`), @@ -1615,14 +1615,14 @@ t2 CREATE TABLE `t2` ( ) ENGINE=InnoDB DEFAULT CHARSET=latin1 drop table t2; create table t2 (id int(11) not null, id2 int(11) not null, constraint t1_id_fk foreign key (id2,id) references t1 (id)) engine = innodb; -ERROR HY000: Can't create table './test/t2' (errno: 150) +ERROR HY000: Can't create table 'test.t2' (errno: 150) create table t2 (a int auto_increment primary key, b int, index(b), foreign key (b) references t1(id), unique(b)) engine=innodb; show create table t2; Table Create Table t2 CREATE TABLE `t2` ( - `a` int(11) NOT NULL auto_increment, - `b` int(11) default NULL, - PRIMARY KEY (`a`), + `a` int(11) NOT NULL AUTO_INCREMENT, + `b` int(11) DEFAULT NULL, + PRIMARY KEY (`a`), UNIQUE KEY `b_2` (`b`), KEY `b` (`b`), CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`b`) REFERENCES `t1` (`id`) @@ -1632,9 +1632,9 @@ create table t2 (a int auto_increment primary key, b int, foreign key (b) refere show create table t2; Table Create Table t2 CREATE TABLE `t2` ( - `a` int(11) NOT NULL auto_increment, - `b` int(11) default NULL, - PRIMARY KEY (`a`), + `a` int(11) NOT NULL AUTO_INCREMENT, + `b` int(11) DEFAULT NULL, + PRIMARY KEY (`a`), UNIQUE KEY `b` (`b`), CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`b`) REFERENCES `t1` (`id`), CONSTRAINT `t2_ibfk_2` FOREIGN KEY (`b`) REFERENCES `t1` (`id`) @@ -1821,7 +1821,7 @@ Variable_name Value innodb_sync_spin_loops 20 show variables like "innodb_thread_concurrency"; Variable_name Value -innodb_thread_concurrency 8 +innodb_thread_concurrency 20 set global innodb_thread_concurrency=1001; show variables like "innodb_thread_concurrency"; Variable_name Value @@ -1829,7 +1829,7 @@ innodb_thread_concurrency 1000 set global innodb_thread_concurrency=0; show variables like "innodb_thread_concurrency"; Variable_name Value -innodb_thread_concurrency 0 +innodb_thread_concurrency 1 set global innodb_thread_concurrency=16; show variables like "innodb_thread_concurrency"; Variable_name Value @@ -1881,40 +1881,40 @@ concat('*',v,'*',c,'*',t,'*') show create table t1; Table Create Table t1 CREATE TABLE `t1` ( - `v` varchar(10) default NULL, - `c` char(10) default NULL, + `v` varchar(10) DEFAULT NULL, + `c` char(10) DEFAULT NULL, `t` text ) ENGINE=InnoDB DEFAULT CHARSET=latin1 create table t2 like t1; show create table t2; Table Create Table t2 CREATE TABLE `t2` ( - `v` varchar(10) default NULL, - `c` char(10) default NULL, + `v` varchar(10) DEFAULT NULL, + `c` char(10) DEFAULT NULL, `t` text ) ENGINE=InnoDB DEFAULT CHARSET=latin1 create table t3 select * from t1; show create table t3; Table Create Table t3 CREATE TABLE `t3` ( - `v` varchar(10) default NULL, - `c` char(10) default NULL, + `v` varchar(10) DEFAULT NULL, + `c` char(10) DEFAULT NULL, `t` text ) ENGINE=InnoDB DEFAULT CHARSET=latin1 alter table t1 modify c varchar(10); show create table t1; Table Create Table t1 CREATE TABLE `t1` ( - `v` varchar(10) default NULL, - `c` varchar(10) default NULL, + `v` varchar(10) DEFAULT NULL, + `c` varchar(10) DEFAULT NULL, `t` text ) ENGINE=InnoDB DEFAULT CHARSET=latin1 alter table t1 modify v char(10); show create table t1; Table Create Table t1 CREATE TABLE `t1` ( - `v` char(10) default NULL, - `c` varchar(10) default NULL, + `v` char(10) DEFAULT NULL, + `c` varchar(10) DEFAULT NULL, `t` text ) ENGINE=InnoDB DEFAULT CHARSET=latin1 alter table t1 modify t varchar(10); @@ -1923,9 +1923,9 @@ Note 1265 Data truncated for column 't' at row 2 show create table t1; Table Create Table t1 CREATE TABLE `t1` ( - `v` char(10) default NULL, - `c` varchar(10) default NULL, - `t` varchar(10) default NULL + `v` char(10) DEFAULT NULL, + `c` varchar(10) DEFAULT NULL, + `t` varchar(10) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 select concat('*',v,'*',c,'*',t,'*') from t1; concat('*',v,'*',c,'*',t,'*') @@ -1936,8 +1936,8 @@ create table t1 (v varchar(10), c char(10), t text, key(v), key(c), key(t(10))); show create table t1; Table Create Table t1 CREATE TABLE `t1` ( - `v` varchar(10) default NULL, - `c` char(10) default NULL, + `v` varchar(10) DEFAULT NULL, + `c` char(10) DEFAULT NULL, `t` text, KEY `v` (`v`), KEY `c` (`c`), @@ -2002,7 +2002,7 @@ explain select count(*) from t1 where v between 'a' and 'a ' and v between 'a ' id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 ref v v 13 const # Using where; Using index alter table t1 add unique(v); -ERROR 23000: Duplicate entry '{ ' for key 1 +ERROR 23000: Duplicate entry '{ ' for key 'v_2' alter table t1 add key(v); select concat('*',v,'*',c,'*',t,'*') as qq from t1 where v='a'; qq @@ -2155,8 +2155,8 @@ alter table t1 modify v varchar(300), drop key v, drop key v_2, add key v (v); show create table t1; Table Create Table t1 CREATE TABLE `t1` ( - `v` varchar(300) default NULL, - `c` char(10) default NULL, + `v` varchar(300) DEFAULT NULL, + `c` char(10) DEFAULT NULL, `t` text, KEY `c` (`c`), KEY `t` (`t`(10)), @@ -2235,8 +2235,8 @@ alter table t1 drop key v, add key v (v(30)); show create table t1; Table Create Table t1 CREATE TABLE `t1` ( - `v` varchar(300) default NULL, - `c` char(10) default NULL, + `v` varchar(300) DEFAULT NULL, + `c` char(10) DEFAULT NULL, `t` text, KEY `c` (`c`), KEY `t` (`t`(10)), @@ -2315,8 +2315,8 @@ alter table t1 modify v varchar(600), drop key v, add key v (v); show create table t1; Table Create Table t1 CREATE TABLE `t1` ( - `v` varchar(600) default NULL, - `c` char(10) default NULL, + `v` varchar(600) DEFAULT NULL, + `c` char(10) DEFAULT NULL, `t` text, KEY `c` (`c`), KEY `t` (`t`(10)), @@ -2362,16 +2362,16 @@ drop table t1; create table t1 (a char(10), unique (a)); insert into t1 values ('a '); insert into t1 values ('a '); -ERROR 23000: Duplicate entry 'a' for key 1 +ERROR 23000: Duplicate entry 'a' for key 'a' alter table t1 modify a varchar(10); insert into t1 values ('a '),('a '),('a '),('a '); -ERROR 23000: Duplicate entry 'a ' for key 1 +ERROR 23000: Duplicate entry 'a ' for key 'a' insert into t1 values ('a '); -ERROR 23000: Duplicate entry 'a ' for key 1 +ERROR 23000: Duplicate entry 'a ' for key 'a' insert into t1 values ('a '); -ERROR 23000: Duplicate entry 'a ' for key 1 +ERROR 23000: Duplicate entry 'a ' for key 'a' insert into t1 values ('a '); -ERROR 23000: Duplicate entry 'a ' for key 1 +ERROR 23000: Duplicate entry 'a ' for key 'a' update t1 set a='a ' where a like 'a%'; select concat(a,'.') from t1; concat(a,'.') @@ -2393,8 +2393,8 @@ create table t1 (v varchar(10), c char(10), t text, key(v(5)), key(c(5)), key(t( show create table t1; Table Create Table t1 CREATE TABLE `t1` ( - `v` varchar(10) default NULL, - `c` char(10) default NULL, + `v` varchar(10) DEFAULT NULL, + `c` char(10) DEFAULT NULL, `t` text, KEY `v` (`v`(5)), KEY `c` (`c`(5)), @@ -2405,15 +2405,15 @@ create table t1 (v char(10) character set utf8); show create table t1; Table Create Table t1 CREATE TABLE `t1` ( - `v` char(10) character set utf8 default NULL + `v` char(10) CHARACTER SET utf8 DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 drop table t1; create table t1 (v varchar(10), c char(10)) row_format=fixed; show create table t1; Table Create Table t1 CREATE TABLE `t1` ( - `v` varchar(10) default NULL, - `c` char(10) default NULL + `v` varchar(10) DEFAULT NULL, + `c` char(10) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=FIXED insert into t1 values('a','a'),('a ','a '); select concat('*',v,'*',c,'*') from t1; @@ -2455,7 +2455,7 @@ Note 1246 Converting column 'v' from VARCHAR to TEXT show create table t1; Table Create Table t1 CREATE TABLE `t1` ( - `v` mediumtext character set utf8 + `v` mediumtext CHARACTER SET utf8 ) ENGINE=InnoDB DEFAULT CHARSET=latin1 drop table t1; set storage_engine=MyISAM; @@ -2494,7 +2494,7 @@ key (rowid), unique(val)) engine=innodb; replace into t1 (val) values ('1'),('2'); replace into t1 (val) values ('1'),('2'); insert into t1 (val) values ('1'),('2'); -ERROR 23000: Duplicate entry '1' for key 2 +ERROR 23000: Duplicate entry '1' for key 'val' select * from t1; rowid val 3 1 @@ -2504,7 +2504,7 @@ create table t1 (a int not null auto_increment primary key, val int) engine=Inno insert into t1 (val) values (1); update t1 set a=2 where a=1; insert into t1 (val) values (1); -ERROR 23000: Duplicate entry '2' for key 1 +ERROR 23000: Duplicate entry '2' for key 'PRIMARY' select * from t1; a val 2 1 @@ -2582,8 +2582,8 @@ character set = latin1 engine = innodb; show create table t9; Table Create Table t9 CREATE TABLE `t9` ( - `col1` varchar(512) default NULL, - `col2` varchar(512) default NULL, + `col1` varchar(512) DEFAULT NULL, + `col2` varchar(512) DEFAULT NULL, KEY `col1` (`col1`,`col2`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 drop table t1, t2, t3, t4, t5, t6, t7, t8, t9; @@ -2606,7 +2606,7 @@ Warning 1071 Specified key was too long; max key length is 767 bytes show create table t1; Table Create Table t1 CREATE TABLE `t1` ( - `col1` varchar(768) default NULL, + `col1` varchar(768) DEFAULT NULL, KEY `col1` (`col1`(767)) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 drop table t1, t2, t3, t4; @@ -2885,13 +2885,13 @@ commit; set foreign_key_checks=0; create table t2 (a int primary key, b int, foreign key (b) references t1(a)) engine = innodb; create table t1(a char(10) primary key, b varchar(20)) engine = innodb; -ERROR HY000: Can't create table './test/t1.frm' (errno: 150) +ERROR HY000: Can't create table 'test.t1' (errno: 150) set foreign_key_checks=1; drop table t2; set foreign_key_checks=0; create table t1(a varchar(10) primary key) engine = innodb DEFAULT CHARSET=latin1; create table t2 (a varchar(10), foreign key (a) references t1(a)) engine = innodb DEFAULT CHARSET=utf8; -ERROR HY000: Can't create table './test/t2.frm' (errno: 150) +ERROR HY000: Can't create table 'test.t2' (errno: 150) set foreign_key_checks=1; drop table t1; set foreign_key_checks=0; @@ -2962,13 +2962,13 @@ create table t3 (s1 varchar(2) binary,primary key (s1)) engine=innodb; create table t4 (s1 char(2) binary,primary key (s1)) engine=innodb; insert into t1 values (0x41),(0x4120),(0x4100); insert into t2 values (0x41),(0x4120),(0x4100); -ERROR 23000: Duplicate entry 'A' for key 1 +ERROR 23000: Duplicate entry 'A' for key 'PRIMARY' insert into t2 values (0x41),(0x4120); insert into t3 values (0x41),(0x4120),(0x4100); -ERROR 23000: Duplicate entry 'A ' for key 1 +ERROR 23000: Duplicate entry 'A ' for key 'PRIMARY' insert into t3 values (0x41),(0x4100); insert into t4 values (0x41),(0x4120),(0x4100); -ERROR 23000: Duplicate entry 'A' for key 1 +ERROR 23000: Duplicate entry 'A' for key 'PRIMARY' insert into t4 values (0x41),(0x4100); select hex(s1) from t1; hex(s1) @@ -3170,7 +3170,7 @@ ALTER TABLE t2 DROP FOREIGN KEY t2_ibfk_0; SHOW CREATE TABLE t2; Table Create Table t2 CREATE TABLE `t2` ( - `a` int(11) default NULL, + `a` int(11) DEFAULT NULL, KEY `t2_ibfk_0` (`a`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 DROP TABLE t2,t1; @@ -3232,6 +3232,55 @@ drop trigger t2t; drop trigger t3t; drop trigger t4t; drop table t1, t2, t3, t4, t5; +CREATE TABLE t1 ( +field1 varchar(8) NOT NULL DEFAULT '', +field2 varchar(8) NOT NULL DEFAULT '', +PRIMARY KEY (field1, field2) +) ENGINE=InnoDB; +CREATE TABLE t2 ( +field1 varchar(8) NOT NULL DEFAULT '' PRIMARY KEY, +FOREIGN KEY (field1) REFERENCES t1 (field1) +ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB; +INSERT INTO t1 VALUES ('old', 'somevalu'); +INSERT INTO t1 VALUES ('other', 'anyvalue'); +INSERT INTO t2 VALUES ('old'); +INSERT INTO t2 VALUES ('other'); +UPDATE t1 SET field1 = 'other' WHERE field2 = 'somevalu'; +ERROR 23000: Upholding foreign key constraints for table 't1', entry 'other-somevalu', key 1 would lead to a duplicate entry +DROP TABLE t2; +DROP TABLE t1; +create table t1 ( +c1 bigint not null, +c2 bigint not null, +primary key (c1), +unique key (c2) +) engine=innodb; +create table t2 ( +c1 bigint not null, +primary key (c1) +) engine=innodb; +alter table t1 add constraint c2_fk foreign key (c2) +references t2(c1) on delete cascade; +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `c1` bigint(20) NOT NULL, + `c2` bigint(20) NOT NULL, + PRIMARY KEY (`c1`), + UNIQUE KEY `c2` (`c2`), + CONSTRAINT `c2_fk` FOREIGN KEY (`c2`) REFERENCES `t2` (`c1`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +alter table t1 drop foreign key c2_fk; +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `c1` bigint(20) NOT NULL, + `c2` bigint(20) NOT NULL, + PRIMARY KEY (`c1`), + UNIQUE KEY `c2` (`c2`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 +drop table t1, t2; create table t1(a date) engine=innodb; create table t2(a date, key(a)) engine=innodb; insert into t1 values('2005-10-01'); diff --git a/mysql-test/t/innodb.test b/mysql-test/t/innodb.test index b0835cd8419..63349adfd59 100644 --- a/mysql-test/t/innodb.test +++ b/mysql-test/t/innodb.test @@ -2128,6 +2128,60 @@ connection default; disconnect a; disconnect b; +# +# Test that cascading updates leading to duplicate keys give the correct +# error message (bug #9680) +# + +CREATE TABLE t1 ( + field1 varchar(8) NOT NULL DEFAULT '', + field2 varchar(8) NOT NULL DEFAULT '', + PRIMARY KEY (field1, field2) +) ENGINE=InnoDB; + +CREATE TABLE t2 ( + field1 varchar(8) NOT NULL DEFAULT '' PRIMARY KEY, + FOREIGN KEY (field1) REFERENCES t1 (field1) + ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB; + +INSERT INTO t1 VALUES ('old', 'somevalu'); +INSERT INTO t1 VALUES ('other', 'anyvalue'); + +INSERT INTO t2 VALUES ('old'); +INSERT INTO t2 VALUES ('other'); + +--error ER_FOREIGN_DUPLICATE_KEY +UPDATE t1 SET field1 = 'other' WHERE field2 = 'somevalu'; + +DROP TABLE t2; +DROP TABLE t1; + +# +# Bug#18477 - MySQL/InnoDB Ignoring Foreign Keys in ALTER TABLE +# +create table t1 ( + c1 bigint not null, + c2 bigint not null, + primary key (c1), + unique key (c2) +) engine=innodb; +# +create table t2 ( + c1 bigint not null, + primary key (c1) +) engine=innodb; +# +alter table t1 add constraint c2_fk foreign key (c2) + references t2(c1) on delete cascade; +show create table t1; +# +alter table t1 drop foreign key c2_fk; +show create table t1; +# +drop table t1, t2; + + # # Bug #14360: problem with intervals # -- cgit v1.2.1 From ffd9a08e9f152b4082eea01a2b21dd6b74bf16df Mon Sep 17 00:00:00 2001 From: unknown Date: Sun, 16 Apr 2006 21:55:02 -0700 Subject: Fixed a few pieces around support for data directory. mysql-test/r/archive.result: Adding test case for data directory support in create table. mysql-test/t/archive.test: Added test for "data directory" support in archive. sql/ha_archive.cc: Updated comments, added printable bits for support of "data directory" sql/ha_archive.h: Added real_path to share (will come in handy in later code) --- mysql-test/r/archive.result | 7 +++++++ mysql-test/t/archive.test | 3 +++ 2 files changed, 10 insertions(+) (limited to 'mysql-test') diff --git a/mysql-test/r/archive.result b/mysql-test/r/archive.result index 0be99e071cd..09813458069 100644 --- a/mysql-test/r/archive.result +++ b/mysql-test/r/archive.result @@ -13809,4 +13809,11 @@ alter table t1 add unique key (i, v); select * from t1 where i between 2 and 4 and v in ('def','3r4f','lmn'); i v 4 3r4f +alter table t1 data directory="$MYSQLTEST_VARDIR/tmp"; +select * from t1; +i v +1 def +2 abc +4 3r4f +5 lmn drop table t1, t2, t4, t5; diff --git a/mysql-test/t/archive.test b/mysql-test/t/archive.test index 535402c2e13..7e091991475 100644 --- a/mysql-test/t/archive.test +++ b/mysql-test/t/archive.test @@ -1486,6 +1486,9 @@ select * from t1; alter table t1 add unique key (i, v); select * from t1 where i between 2 and 4 and v in ('def','3r4f','lmn'); +alter table t1 data directory="$MYSQLTEST_VARDIR/tmp"; +select * from t1; + # # Cleanup, test is over # -- cgit v1.2.1 From 8ef1b6a3a78975fd74752148b07df1572885e2bb Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 17 Apr 2006 20:24:41 +0200 Subject: ndb - bug#16796 storage/ndb/src/ndbapi/NdbBlob.cpp: set part id from main table op (may not be complete fix) storage/ndb/src/ndbapi/NdbOperationSearch.cpp: log partition id set/get --- mysql-test/r/ndb_blob_partition.result | 104 +++++++++++++++++++++++++++++++++ mysql-test/t/ndb_blob_partition.test | 93 +++++++++++++++++++++++++++++ 2 files changed, 197 insertions(+) create mode 100644 mysql-test/r/ndb_blob_partition.result create mode 100644 mysql-test/t/ndb_blob_partition.test (limited to 'mysql-test') diff --git a/mysql-test/r/ndb_blob_partition.result b/mysql-test/r/ndb_blob_partition.result new file mode 100644 index 00000000000..b08a91f0cdd --- /dev/null +++ b/mysql-test/r/ndb_blob_partition.result @@ -0,0 +1,104 @@ +drop table if exists t1; +create table t1 ( +a mediumint not null, +b text not null, +c int not null, +d longblob, +primary key using hash (a,c), +unique key (c) +) +engine=ndb +partition by range (c) +partitions 3 +( partition p1 values less than (200), +partition p2 values less than (300), +partition p3 values less than (400)); +insert into t1 values (1, @v1, 101, @v2); +insert into t1 values (1, @v2, 102, @v3); +insert into t1 values (1, @v3, 103, @v4); +insert into t1 values (2, @v4, 201, @v5); +insert into t1 values (2, @v5, 202, @v6); +insert into t1 values (2, @v6, 203, @v7); +insert into t1 values (3, @v7, 301, @v8); +insert into t1 values (3, @v8, 302, @v9); +insert into t1 values (3, @v9, 303, @v1); +select a, sha1(b), c, sha1(d) from t1 order by a; +a sha1(b) c sha1(d) +1 1d42dd9090cf78314a06665d4ea938c35cc760f4 101 10d3c783026b310218d10b7188da96a2401648c6 +1 10d3c783026b310218d10b7188da96a2401648c6 102 a33549d9844092289a58ac348dd59f09fc28406a +1 a33549d9844092289a58ac348dd59f09fc28406a 103 daa61c6de36a0526f0d47dc29d6b9de7e6d2630c +2 daa61c6de36a0526f0d47dc29d6b9de7e6d2630c 201 70fc9a7d08beebc522258bfb02000a30c77a8f1d +2 70fc9a7d08beebc522258bfb02000a30c77a8f1d 202 090565c580809efed3d369481a4bbb168b20713e +2 090565c580809efed3d369481a4bbb168b20713e 203 1e0070bec426871a46291de27b9bd6e4255ab4e5 +3 1e0070bec426871a46291de27b9bd6e4255ab4e5 301 acbaba01bc2e682f015f40e79d9cbe475db3002e +3 acbaba01bc2e682f015f40e79d9cbe475db3002e 302 9ee30d99162574f79c66ae95cdf132dcf9cbc259 +3 9ee30d99162574f79c66ae95cdf132dcf9cbc259 303 1d42dd9090cf78314a06665d4ea938c35cc760f4 +select a, sha1(b), c, sha1(d) from t1 where a = 1 and c = 101; +a sha1(b) c sha1(d) +1 1d42dd9090cf78314a06665d4ea938c35cc760f4 101 10d3c783026b310218d10b7188da96a2401648c6 +select a, sha1(b), c, sha1(d) from t1 where a = 2 and c = 201; +a sha1(b) c sha1(d) +2 daa61c6de36a0526f0d47dc29d6b9de7e6d2630c 201 70fc9a7d08beebc522258bfb02000a30c77a8f1d +select a, sha1(b), c, sha1(d) from t1 where a = 3 and c = 301; +a sha1(b) c sha1(d) +3 1e0070bec426871a46291de27b9bd6e4255ab4e5 301 acbaba01bc2e682f015f40e79d9cbe475db3002e +update t1 set b = @v3, d = @v4 where a = 1 and c = 102; +update t1 set b = @v6, d = @v7 where a = 2 and c = 202; +update t1 set b = @v9, d = @v1 where a = 3 and c = 302; +select a, sha1(b), c, sha1(d) from t1 order by a; +a sha1(b) c sha1(d) +1 1d42dd9090cf78314a06665d4ea938c35cc760f4 101 10d3c783026b310218d10b7188da96a2401648c6 +1 a33549d9844092289a58ac348dd59f09fc28406a 102 daa61c6de36a0526f0d47dc29d6b9de7e6d2630c +1 a33549d9844092289a58ac348dd59f09fc28406a 103 daa61c6de36a0526f0d47dc29d6b9de7e6d2630c +2 daa61c6de36a0526f0d47dc29d6b9de7e6d2630c 201 70fc9a7d08beebc522258bfb02000a30c77a8f1d +2 090565c580809efed3d369481a4bbb168b20713e 202 1e0070bec426871a46291de27b9bd6e4255ab4e5 +2 090565c580809efed3d369481a4bbb168b20713e 203 1e0070bec426871a46291de27b9bd6e4255ab4e5 +3 1e0070bec426871a46291de27b9bd6e4255ab4e5 301 acbaba01bc2e682f015f40e79d9cbe475db3002e +3 9ee30d99162574f79c66ae95cdf132dcf9cbc259 302 1d42dd9090cf78314a06665d4ea938c35cc760f4 +3 9ee30d99162574f79c66ae95cdf132dcf9cbc259 303 1d42dd9090cf78314a06665d4ea938c35cc760f4 +update t1 set b = @v4, d = @v5 where c = 103; +update t1 set b = @v7, d = @v8 where c = 203; +update t1 set b = @v1, d = @v2 where c = 303; +select a, sha1(b), c, sha1(d) from t1 order by a; +a sha1(b) c sha1(d) +1 1d42dd9090cf78314a06665d4ea938c35cc760f4 101 10d3c783026b310218d10b7188da96a2401648c6 +1 a33549d9844092289a58ac348dd59f09fc28406a 102 daa61c6de36a0526f0d47dc29d6b9de7e6d2630c +1 daa61c6de36a0526f0d47dc29d6b9de7e6d2630c 103 70fc9a7d08beebc522258bfb02000a30c77a8f1d +2 daa61c6de36a0526f0d47dc29d6b9de7e6d2630c 201 70fc9a7d08beebc522258bfb02000a30c77a8f1d +2 090565c580809efed3d369481a4bbb168b20713e 202 1e0070bec426871a46291de27b9bd6e4255ab4e5 +2 1e0070bec426871a46291de27b9bd6e4255ab4e5 203 acbaba01bc2e682f015f40e79d9cbe475db3002e +3 1e0070bec426871a46291de27b9bd6e4255ab4e5 301 acbaba01bc2e682f015f40e79d9cbe475db3002e +3 9ee30d99162574f79c66ae95cdf132dcf9cbc259 302 1d42dd9090cf78314a06665d4ea938c35cc760f4 +3 1d42dd9090cf78314a06665d4ea938c35cc760f4 303 10d3c783026b310218d10b7188da96a2401648c6 +update t1 set b = @v5, d = @v6; +select a, sha1(b), c, sha1(d) from t1 order by a; +a sha1(b) c sha1(d) +1 70fc9a7d08beebc522258bfb02000a30c77a8f1d 101 090565c580809efed3d369481a4bbb168b20713e +1 70fc9a7d08beebc522258bfb02000a30c77a8f1d 102 090565c580809efed3d369481a4bbb168b20713e +1 70fc9a7d08beebc522258bfb02000a30c77a8f1d 103 090565c580809efed3d369481a4bbb168b20713e +2 70fc9a7d08beebc522258bfb02000a30c77a8f1d 201 090565c580809efed3d369481a4bbb168b20713e +2 70fc9a7d08beebc522258bfb02000a30c77a8f1d 202 090565c580809efed3d369481a4bbb168b20713e +2 70fc9a7d08beebc522258bfb02000a30c77a8f1d 203 090565c580809efed3d369481a4bbb168b20713e +3 70fc9a7d08beebc522258bfb02000a30c77a8f1d 301 090565c580809efed3d369481a4bbb168b20713e +3 70fc9a7d08beebc522258bfb02000a30c77a8f1d 302 090565c580809efed3d369481a4bbb168b20713e +3 70fc9a7d08beebc522258bfb02000a30c77a8f1d 303 090565c580809efed3d369481a4bbb168b20713e +update t1 set b = @v1, d = @v2 where 100 < c and c < 200; +update t1 set b = @v4, d = @v5 where 200 < c and c < 300; +update t1 set b = @v7, d = @v8 where 300 < c and c < 400; +select a, sha1(b), c, sha1(d) from t1 order by a; +a sha1(b) c sha1(d) +1 1d42dd9090cf78314a06665d4ea938c35cc760f4 101 10d3c783026b310218d10b7188da96a2401648c6 +1 1d42dd9090cf78314a06665d4ea938c35cc760f4 102 10d3c783026b310218d10b7188da96a2401648c6 +1 1d42dd9090cf78314a06665d4ea938c35cc760f4 103 10d3c783026b310218d10b7188da96a2401648c6 +2 daa61c6de36a0526f0d47dc29d6b9de7e6d2630c 201 70fc9a7d08beebc522258bfb02000a30c77a8f1d +2 daa61c6de36a0526f0d47dc29d6b9de7e6d2630c 202 70fc9a7d08beebc522258bfb02000a30c77a8f1d +2 daa61c6de36a0526f0d47dc29d6b9de7e6d2630c 203 70fc9a7d08beebc522258bfb02000a30c77a8f1d +3 1e0070bec426871a46291de27b9bd6e4255ab4e5 301 acbaba01bc2e682f015f40e79d9cbe475db3002e +3 1e0070bec426871a46291de27b9bd6e4255ab4e5 302 acbaba01bc2e682f015f40e79d9cbe475db3002e +3 1e0070bec426871a46291de27b9bd6e4255ab4e5 303 acbaba01bc2e682f015f40e79d9cbe475db3002e +delete from t1 where a = 1 and c = 101; +delete from t1 where c = 102; +delete from t1; +select a, sha1(b), c, sha1(d) from t1 order by a; +a sha1(b) c sha1(d) +drop table t1; diff --git a/mysql-test/t/ndb_blob_partition.test b/mysql-test/t/ndb_blob_partition.test new file mode 100644 index 00000000000..a3948cc9491 --- /dev/null +++ b/mysql-test/t/ndb_blob_partition.test @@ -0,0 +1,93 @@ +--source include/have_ndb.inc +-- source include/not_embedded.inc + +--disable_warnings +drop table if exists t1; +--enable_warnings + +# +# Minimal NDB blobs test with range partitions. +# + +create table t1 ( + a mediumint not null, + b text not null, + c int not null, + d longblob, + primary key using hash (a,c), + unique key (c) +) + engine=ndb + partition by range (c) + partitions 3 + ( partition p1 values less than (200), + partition p2 values less than (300), + partition p3 values less than (400)); + +--disable_query_log +sleep 1; + +# length 61 +set @s0 = 'rggurloniukyehuxdbfkkyzlceixzrehqhvxvxbpwizzvjzpucqmzrhzxzfau'; +set @s1 = 'ykyymbzqgqlcjhlhmyqelfoaaohvtbekvifukdtnvcrrjveevfakxarxexomz'; +set @s2 = 'dbnfqyzgtqxalcrwtfsqabknvtfcbpoonxsjiqvmhnfikxxhcgoexlkoezvah'; + +set @v1 = repeat(@s0, 100); -- 1d42dd9090cf78314a06665d4ea938c35cc760f4 +set @v2 = repeat(@s1, 200); -- 10d3c783026b310218d10b7188da96a2401648c6 +set @v3 = repeat(@s2, 300); -- a33549d9844092289a58ac348dd59f09fc28406a +set @v4 = repeat(@s0, 400); -- daa61c6de36a0526f0d47dc29d6b9de7e6d2630c +set @v5 = repeat(@s1, 500); -- 70fc9a7d08beebc522258bfb02000a30c77a8f1d +set @v6 = repeat(@s2, 600); -- 090565c580809efed3d369481a4bbb168b20713e +set @v7 = repeat(@s0, 700); -- 1e0070bec426871a46291de27b9bd6e4255ab4e5 +set @v8 = repeat(@s1, 800); -- acbaba01bc2e682f015f40e79d9cbe475db3002e +set @v9 = repeat(@s2, 900); -- 9ee30d99162574f79c66ae95cdf132dcf9cbc259 +--enable_query_log + +# -- insert -- +insert into t1 values (1, @v1, 101, @v2); +insert into t1 values (1, @v2, 102, @v3); +insert into t1 values (1, @v3, 103, @v4); +insert into t1 values (2, @v4, 201, @v5); +insert into t1 values (2, @v5, 202, @v6); +insert into t1 values (2, @v6, 203, @v7); +insert into t1 values (3, @v7, 301, @v8); +insert into t1 values (3, @v8, 302, @v9); +insert into t1 values (3, @v9, 303, @v1); +select a, sha1(b), c, sha1(d) from t1 order by a; + +# -- pk read -- +select a, sha1(b), c, sha1(d) from t1 where a = 1 and c = 101; +select a, sha1(b), c, sha1(d) from t1 where a = 2 and c = 201; +select a, sha1(b), c, sha1(d) from t1 where a = 3 and c = 301; + +# -- pk update -- +update t1 set b = @v3, d = @v4 where a = 1 and c = 102; +update t1 set b = @v6, d = @v7 where a = 2 and c = 202; +update t1 set b = @v9, d = @v1 where a = 3 and c = 302; +select a, sha1(b), c, sha1(d) from t1 order by a; + +# -- hash index update -- +update t1 set b = @v4, d = @v5 where c = 103; +update t1 set b = @v7, d = @v8 where c = 203; +update t1 set b = @v1, d = @v2 where c = 303; +select a, sha1(b), c, sha1(d) from t1 order by a; + +# -- full scan update -- +update t1 set b = @v5, d = @v6; +select a, sha1(b), c, sha1(d) from t1 order by a; + +# -- range scan update +update t1 set b = @v1, d = @v2 where 100 < c and c < 200; +update t1 set b = @v4, d = @v5 where 200 < c and c < 300; +update t1 set b = @v7, d = @v8 where 300 < c and c < 400; +select a, sha1(b), c, sha1(d) from t1 order by a; + +# -- delete -- +delete from t1 where a = 1 and c = 101; +delete from t1 where c = 102; +# delete from t1 where c < 300; # XXX coredump +delete from t1; +select a, sha1(b), c, sha1(d) from t1 order by a; + +# -- clean up -- +drop table t1; -- cgit v1.2.1 From b1fe06dcc1bd31070a8bd20b6f677c42f7d35e89 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 17 Apr 2006 18:56:58 -0400 Subject: BUG#18752 Fixed forgotten merge fix mysql-test/r/partition.result: Fixed forgotten merge fix --- mysql-test/r/partition.result | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) (limited to 'mysql-test') diff --git a/mysql-test/r/partition.result b/mysql-test/r/partition.result index 4983ad1817e..0da071374ea 100644 --- a/mysql-test/r/partition.result +++ b/mysql-test/r/partition.result @@ -839,19 +839,6 @@ SHOW TABLE STATUS; Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment t1 MyISAM 10 Dynamic 0 0 0 0 0 0 NULL NULL NULL NULL latin1_swedish_ci NULL partitioned DROP TABLE t1; -CREATE TABLE t1 (a int) -PARTITION BY LIST (a) -(PARTITION p0 VALUES IN (NULL)); -SHOW CREATE TABLE t1; -Table Create Table -t1 CREATE TABLE `t1` ( - `a` int(11) DEFAULT NULL -) ENGINE=MyISAM DEFAULT CHARSET=latin1 PARTITION BY LIST (a) (PARTITION p0 VALUES IN (NULL) ENGINE = MyISAM) -DROP TABLE t1; -CREATE TABLE t1 (a int) -PARTITION BY RANGE(a) -(PARTITION p0 VALUES LESS THAN (NULL)); -ERROR 42000: Not allowed to use NULL value in VALUES LESS THAN near '))' at line 3 create table t1 (a int) partition by list (a) (partition `s1 s2` values in (0)); @@ -878,7 +865,10 @@ t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 PARTITION BY LIST (a) (PARTITION p0 VALUES IN (NULL) ENGINE = MyISAM) DROP TABLE t1; ->>>>>>> +CREATE TABLE t1 (a int) +PARTITION BY RANGE(a) +(PARTITION p0 VALUES LESS THAN (NULL)); +ERROR 42000: Not allowed to use NULL value in VALUES LESS THAN near '))' at line 3 create table t1 (s1 int auto_increment primary key) partition by list (s1) (partition p1 values in (1), -- cgit v1.2.1 From 16526255fb1f79b1843f41068088b0e5cca54b44 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 17 Apr 2006 18:57:01 -0400 Subject: Fixing a merge from a few days ago. Without a flush this test is nondeterministic for "row" binlog-format. mysql-test/r/innodb.result: Without a flush this test is nondeterministic for "row" binlog-format. mysql-test/t/innodb.test: Without a flush this test is nondeterministic for "row" binlog-format. --- mysql-test/r/innodb.result | 7 ++++--- mysql-test/t/innodb.test | 1 + 2 files changed, 5 insertions(+), 3 deletions(-) (limited to 'mysql-test') diff --git a/mysql-test/r/innodb.result b/mysql-test/r/innodb.result index 25e92516be8..04e280fad3e 100644 --- a/mysql-test/r/innodb.result +++ b/mysql-test/r/innodb.result @@ -1640,16 +1640,17 @@ t2 CREATE TABLE `t2` ( CONSTRAINT `t2_ibfk_2` FOREIGN KEY (`b`) REFERENCES `t1` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 drop table t2, t1; +flush status; show status like "binlog_cache_use"; Variable_name Value -Binlog_cache_use 155 +Binlog_cache_use 0 show status like "binlog_cache_disk_use"; Variable_name Value Binlog_cache_disk_use 0 create table t1 (a int) engine=innodb; show status like "binlog_cache_use"; Variable_name Value -Binlog_cache_use 156 +Binlog_cache_use 1 show status like "binlog_cache_disk_use"; Variable_name Value Binlog_cache_disk_use 1 @@ -1658,7 +1659,7 @@ delete from t1; commit; show status like "binlog_cache_use"; Variable_name Value -Binlog_cache_use 157 +Binlog_cache_use 2 show status like "binlog_cache_disk_use"; Variable_name Value Binlog_cache_disk_use 1 diff --git a/mysql-test/t/innodb.test b/mysql-test/t/innodb.test index 63349adfd59..18b47c39a10 100644 --- a/mysql-test/t/innodb.test +++ b/mysql-test/t/innodb.test @@ -1146,6 +1146,7 @@ drop table t2, t1; # Actually this test has nothing to do with innodb per se, it just requires # transactional table. # +flush status; show status like "binlog_cache_use"; show status like "binlog_cache_disk_use"; -- cgit v1.2.1 From ff559c4f493ec2b19b46c23765c0e30474067c46 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 18 Apr 2006 00:30:55 -0400 Subject: BUG#19158 Fixing rpl_row_log_innodb test for pushbuild. mysql-test/extra/rpl_tests/rpl_log.test: Sleep to avoid race condition on pushbuild test machine --- mysql-test/extra/rpl_tests/rpl_log.test | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'mysql-test') diff --git a/mysql-test/extra/rpl_tests/rpl_log.test b/mysql-test/extra/rpl_tests/rpl_log.test index 0c638281ecb..116bdd1028e 100644 --- a/mysql-test/extra/rpl_tests/rpl_log.test +++ b/mysql-test/extra/rpl_tests/rpl_log.test @@ -77,6 +77,11 @@ connection slave; # to go into the relay log (the master always sends a fake one when replication # starts). start slave; +# +# This is timing out in pushbuild and should be changed to use +# wait_slave_status.inc +# +sleep 2; sync_with_master; flush logs; stop slave; -- cgit v1.2.1 From 7686883c333b6bf6d10dbc5e4e5162e7bbf22495 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 18 Apr 2006 12:16:27 +0200 Subject: Updated result file --- mysql-test/r/ndb_basic.result | 7 ------- 1 file changed, 7 deletions(-) (limited to 'mysql-test') diff --git a/mysql-test/r/ndb_basic.result b/mysql-test/r/ndb_basic.result index 9477caf97ab..4a1f5f587df 100644 --- a/mysql-test/r/ndb_basic.result +++ b/mysql-test/r/ndb_basic.result @@ -6,13 +6,6 @@ attr1 INT NOT NULL, attr2 INT, attr3 VARCHAR(10) ) ENGINE=ndbcluster; -drop table t1; -CREATE TABLE t1 ( -pk1 INT NOT NULL PRIMARY KEY, -attr1 INT NOT NULL, -attr2 INT, -attr3 VARCHAR(10) -) ENGINE=ndbcluster; SHOW INDEX FROM t1; Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment t1 0 PRIMARY 1 pk1 A 0 NULL NULL BTREE -- cgit v1.2.1 From ce088e8c903a879bc34528e02281c581e6e4c89e Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 19 Apr 2006 10:39:57 +0300 Subject: Fix compilation failure when compiling with BUILD/compile-pentium-debug-max (Problem with embedded server and ndb) Fix broken mysql-test-run.sh Removed memory leak in ha_example.cc libmysqld/Makefile.am: Fix compiler failure (libmysqld.a was empty) Reason was that 'cd' did an echo that confused 'ar' mysql-test/mysql-test-run.pl: Make the port number in a nice range mysql-test/mysql-test-run.sh: Remove deprication message until speed of mysql-test-run.pl is comparable to mysql-test-run.sh Fix code that jimw broke in his last change storage/example/ha_example.cc: Removed memory leak (example_done_func was not called) --- mysql-test/mysql-test-run.pl | 8 ++++---- mysql-test/mysql-test-run.sh | 18 +++++++----------- 2 files changed, 11 insertions(+), 15 deletions(-) (limited to 'mysql-test') diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl index 530189613d6..40b3954b533 100755 --- a/mysql-test/mysql-test-run.pl +++ b/mysql-test/mysql-test-run.pl @@ -532,10 +532,10 @@ sub command_line_setup () { my $opt_master_myport= 9306; my $opt_slave_myport= 9308; - $opt_ndbcluster_port= 9350; - $opt_ndbcluster_port_slave= 9358; - my $im_port= 9310; - my $im_mysqld1_port= 9312; + $opt_ndbcluster_port= 9310; + $opt_ndbcluster_port_slave= 9311; + my $im_port= 9312; + my $im_mysqld1_port= 9313; my $im_mysqld2_port= 9314; # diff --git a/mysql-test/mysql-test-run.sh b/mysql-test/mysql-test-run.sh index cb6fb0af0e8..aad71f89ef2 100644 --- a/mysql-test/mysql-test-run.sh +++ b/mysql-test/mysql-test-run.sh @@ -7,17 +7,11 @@ # List of failed cases (--force) backported from 4.1 by Joerg # :-) - -echo "##################################################"; -echo "This script is deprecated and will soon be removed"; -echo "Use mysql-test-run.pl instead"; -echo "Now sleeping 20 seconds..."; -echo "##################################################"; -sleep 20; -echo "continuing"; -echo; - - +#echo "##################################################"; +#echo "This script is deprecated and will soon be removed"; +#echo "Use mysql-test-run.pl instead"; +#echo "##################################################"; +#echo #++ # Access Definitions @@ -250,6 +244,7 @@ MASTER_MYPORT=9306 SLAVE_RUNNING=0 SLAVE_MYHOST=127.0.0.1 SLAVE_MYPORT=9308 # leave room for 2 masters for cluster tests +MYSQL_MANAGER_LOG=$MYSQL_TEST_DIR/var/log/manager.log NDBCLUSTER_PORT=9350 NDBCLUSTER_PORT_SLAVE=9358 @@ -1196,6 +1191,7 @@ abort_if_failed() launch_in_background() { + shift echo $@ | /bin/sh >> $CUR_MYERR 2>&1 & sleep 2 #hack return -- cgit v1.2.1 From 580313b79024d00dde15c2b59e5fe4ff9aac9e82 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 19 Apr 2006 11:20:11 +0300 Subject: Only run test with row based logging --- mysql-test/t/rpl_ndb_delete_nowhere.test | 1 + mysql-test/t/rpl_ndb_insert_ignore.test | 1 + mysql-test/t/rpl_ndb_multi_update3.test | 1 + 3 files changed, 3 insertions(+) (limited to 'mysql-test') diff --git a/mysql-test/t/rpl_ndb_delete_nowhere.test b/mysql-test/t/rpl_ndb_delete_nowhere.test index 7c8c16339cb..92ceddf7f5c 100644 --- a/mysql-test/t/rpl_ndb_delete_nowhere.test +++ b/mysql-test/t/rpl_ndb_delete_nowhere.test @@ -3,5 +3,6 @@ # Share test code between engine tests # ######################################### --source include/have_ndb.inc +-- source include/have_binlog_format_row.inc let $engine_type=NDB; -- source extra/rpl_tests/rpl_delete_no_where.test diff --git a/mysql-test/t/rpl_ndb_insert_ignore.test b/mysql-test/t/rpl_ndb_insert_ignore.test index fbebd99a44c..17acb5983f4 100644 --- a/mysql-test/t/rpl_ndb_insert_ignore.test +++ b/mysql-test/t/rpl_ndb_insert_ignore.test @@ -2,6 +2,7 @@ # Wrapper for rpl_insert_ignore.test# ##################################### -- source include/have_ndb.inc +-- source include/have_binlog_format_row.inc let $engine_type=NDB; let $engine_type2=myisam; -- source extra/rpl_tests/rpl_insert_ignore.test diff --git a/mysql-test/t/rpl_ndb_multi_update3.test b/mysql-test/t/rpl_ndb_multi_update3.test index 78f9f0fbc8d..008e2143987 100644 --- a/mysql-test/t/rpl_ndb_multi_update3.test +++ b/mysql-test/t/rpl_ndb_multi_update3.test @@ -3,5 +3,6 @@ # to reuse test code between engine runs # ############################################################ -- source include/have_ndb.inc +-- source include/have_binlog_format_row.inc let $engine_type=NDB; -- source extra/rpl_tests/rpl_multi_update3.test -- cgit v1.2.1 From 8f1723b071daf73c4954c884c14db50b39e25cd0 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 19 Apr 2006 12:21:33 +0300 Subject: Fixed timeing problem by ignoring failures and results from first select after table definition change mysql-test/r/ndb_alter_table2.result: Fixed timeing problem by ignoring failures and results from first select after table definition changethe mysql-test/r/ndb_alter_table_stm.result: Fixed timeing problem by ignoring failures and results from first select after table definition changethe --- mysql-test/r/ndb_alter_table2.result | 1 - mysql-test/r/ndb_alter_table_stm.result | 1 + mysql-test/t/ndb_alter_table2.test | 3 +++ mysql-test/t/ndb_alter_table_stm.test | 6 ++++++ 4 files changed, 10 insertions(+), 1 deletion(-) (limited to 'mysql-test') diff --git a/mysql-test/r/ndb_alter_table2.result b/mysql-test/r/ndb_alter_table2.result index 0d2e2289f91..3783c76447c 100644 --- a/mysql-test/r/ndb_alter_table2.result +++ b/mysql-test/r/ndb_alter_table2.result @@ -28,7 +28,6 @@ b INT NOT NULL, c INT NOT NULL ) ENGINE=ndbcluster; select * from t1; -a b c select * from t1; a b c select * from t1; diff --git a/mysql-test/r/ndb_alter_table_stm.result b/mysql-test/r/ndb_alter_table_stm.result index 9c1d09a8970..7cb7b990e2c 100644 --- a/mysql-test/r/ndb_alter_table_stm.result +++ b/mysql-test/r/ndb_alter_table_stm.result @@ -8,6 +8,7 @@ a b c 2 two two alter table t1 drop index c; select * from t1 where c = 'two'; +select * from t1 where c = 'two'; a b c 2 two two drop table t1; diff --git a/mysql-test/t/ndb_alter_table2.test b/mysql-test/t/ndb_alter_table2.test index 4464f37a030..afe6e44f698 100644 --- a/mysql-test/t/ndb_alter_table2.test +++ b/mysql-test/t/ndb_alter_table2.test @@ -72,7 +72,10 @@ CREATE TABLE t1 ( connection server1; +--disable_result_log +--error 0,1412 select * from t1; +--enable_result_log select * from t1; select * from t1; select * from t1; diff --git a/mysql-test/t/ndb_alter_table_stm.test b/mysql-test/t/ndb_alter_table_stm.test index 2c52b542b12..bf162dd0d50 100644 --- a/mysql-test/t/ndb_alter_table_stm.test +++ b/mysql-test/t/ndb_alter_table_stm.test @@ -17,6 +17,12 @@ select * from t1 where c = 'two'; connection server1; alter table t1 drop index c; connection server2; + +--disable_result_log +--error 0,1412 +select * from t1 where c = 'two'; +--enable_result_log + select * from t1 where c = 'two'; connection server1; drop table t1; -- cgit v1.2.1 From d3836805b8a9ece6b0a5d87a9a8f2fbe31d8485a Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 19 Apr 2006 15:29:49 +0200 Subject: Bug#16993 (ALTER TABLE ZEROFILL AUTO_INCREMENT not replicated correctly): This is not a bug. Enabling disabled test and adding comment. mysql-test/extra/rpl_tests/rpl_sv_relay_space.test: Adding comment about test. mysql-test/r/rpl_ndb_relay_space.result: Result change. mysql-test/r/rpl_relay_space_innodb.result: Result change. mysql-test/r/rpl_relay_space_myisam.result: Result change. mysql-test/t/disabled.def: Enabling test --- mysql-test/extra/rpl_tests/rpl_sv_relay_space.test | 22 ++++++++++++---------- mysql-test/r/rpl_ndb_relay_space.result | 8 ++++---- mysql-test/r/rpl_relay_space_innodb.result | 8 ++++---- mysql-test/r/rpl_relay_space_myisam.result | 8 ++++---- mysql-test/t/disabled.def | 2 +- 5 files changed, 25 insertions(+), 23 deletions(-) (limited to 'mysql-test') diff --git a/mysql-test/extra/rpl_tests/rpl_sv_relay_space.test b/mysql-test/extra/rpl_tests/rpl_sv_relay_space.test index 57b74c80b58..3b6fe7a0ef4 100644 --- a/mysql-test/extra/rpl_tests/rpl_sv_relay_space.test +++ b/mysql-test/extra/rpl_tests/rpl_sv_relay_space.test @@ -14,20 +14,22 @@ source include/master-slave.inc; # SHOW VARIABLES LIKE 'relay_log_space_limit'; +# Matz says: I have no idea what this is supposed to test, but it has +# potential for generating different results with some storage engines +# that process rows in an order not dependent on the insertion order. +# For instance, I would assume that distributed storage engines (like +# NDB) could process rows based on locality. + eval CREATE TABLE t1 (name varchar(64), age smallint(3))ENGINE=$engine_type; -INSERT INTO t1 SET name='Andy', age=31; -INSERT t1 SET name='Jacob', age=2; -INSERT into t1 SET name='Caleb', age=1; +INSERT INTO t1 SET name='Andy', age=31; +INSERT INTO t1 SET name='Jacob', age=2; +INSERT INTO t1 SET name='Caleb', age=1; ALTER TABLE t1 ADD id int(8) ZEROFILL AUTO_INCREMENT PRIMARY KEY; SELECT * FROM t1 ORDER BY id; -save_master_pos; -connection slave; -sync_with_master; +sync_slave_with_master; SELECT * FROM t1 ORDER BY id; connection master; -drop table t1; -save_master_pos; -connection slave; -sync_with_master; +DROP TABLE t1; +sync_slave_with_master; # End of 4.1 tests diff --git a/mysql-test/r/rpl_ndb_relay_space.result b/mysql-test/r/rpl_ndb_relay_space.result index 1e25b7fe8c1..930a8cae927 100644 --- a/mysql-test/r/rpl_ndb_relay_space.result +++ b/mysql-test/r/rpl_ndb_relay_space.result @@ -8,9 +8,9 @@ SHOW VARIABLES LIKE 'relay_log_space_limit'; Variable_name Value relay_log_space_limit 0 CREATE TABLE t1 (name varchar(64), age smallint(3))ENGINE=NDB; -INSERT INTO t1 SET name='Andy', age=31; -INSERT t1 SET name='Jacob', age=2; -INSERT into t1 SET name='Caleb', age=1; +INSERT INTO t1 SET name='Andy', age=31; +INSERT INTO t1 SET name='Jacob', age=2; +INSERT INTO t1 SET name='Caleb', age=1; ALTER TABLE t1 ADD id int(8) ZEROFILL AUTO_INCREMENT PRIMARY KEY; SELECT * FROM t1 ORDER BY id; name age id @@ -22,4 +22,4 @@ name age id Andy 31 00000001 Caleb 1 00000002 Jacob 2 00000003 -drop table t1; +DROP TABLE t1; diff --git a/mysql-test/r/rpl_relay_space_innodb.result b/mysql-test/r/rpl_relay_space_innodb.result index 80d8c48c241..54aac2eca35 100644 --- a/mysql-test/r/rpl_relay_space_innodb.result +++ b/mysql-test/r/rpl_relay_space_innodb.result @@ -8,9 +8,9 @@ SHOW VARIABLES LIKE 'relay_log_space_limit'; Variable_name Value relay_log_space_limit 0 CREATE TABLE t1 (name varchar(64), age smallint(3))ENGINE=InnoDB; -INSERT INTO t1 SET name='Andy', age=31; -INSERT t1 SET name='Jacob', age=2; -INSERT into t1 SET name='Caleb', age=1; +INSERT INTO t1 SET name='Andy', age=31; +INSERT INTO t1 SET name='Jacob', age=2; +INSERT INTO t1 SET name='Caleb', age=1; ALTER TABLE t1 ADD id int(8) ZEROFILL AUTO_INCREMENT PRIMARY KEY; SELECT * FROM t1 ORDER BY id; name age id @@ -22,4 +22,4 @@ name age id Andy 31 00000001 Jacob 2 00000002 Caleb 1 00000003 -drop table t1; +DROP TABLE t1; diff --git a/mysql-test/r/rpl_relay_space_myisam.result b/mysql-test/r/rpl_relay_space_myisam.result index 02bff7ae881..e8d2d63e46e 100644 --- a/mysql-test/r/rpl_relay_space_myisam.result +++ b/mysql-test/r/rpl_relay_space_myisam.result @@ -8,9 +8,9 @@ SHOW VARIABLES LIKE 'relay_log_space_limit'; Variable_name Value relay_log_space_limit 0 CREATE TABLE t1 (name varchar(64), age smallint(3))ENGINE=MyISAM; -INSERT INTO t1 SET name='Andy', age=31; -INSERT t1 SET name='Jacob', age=2; -INSERT into t1 SET name='Caleb', age=1; +INSERT INTO t1 SET name='Andy', age=31; +INSERT INTO t1 SET name='Jacob', age=2; +INSERT INTO t1 SET name='Caleb', age=1; ALTER TABLE t1 ADD id int(8) ZEROFILL AUTO_INCREMENT PRIMARY KEY; SELECT * FROM t1 ORDER BY id; name age id @@ -22,4 +22,4 @@ name age id Andy 31 00000001 Jacob 2 00000002 Caleb 1 00000003 -drop table t1; +DROP TABLE t1; diff --git a/mysql-test/t/disabled.def b/mysql-test/t/disabled.def index 068be7d8d1d..0558e701344 100644 --- a/mysql-test/t/disabled.def +++ b/mysql-test/t/disabled.def @@ -28,7 +28,7 @@ rpl_ndb_ddl : result file needs update + test needs to checked rpl_ndb_innodb2ndb : BUG#18094 2006-03-16 mats Slave caches invalid table definition after atlters causes select failure rpl_ndb_log : BUG#18947 2006-03-21 tomas CRBR: order in binlog of create table and insert (on different table) not determ rpl_ndb_myisam2ndb : BUG#18094 2006-03-16 mats Slave caches invalid table definition after atlters causes select failure -rpl_ndb_relay_space : BUG#16993 2006-02-16 jmiller RBR: ALTER TABLE ZEROFILL AUTO_INCREMENT is not replicated correctly +#rpl_ndb_relay_space : BUG#16993 2006-02-16 jmiller RBR: ALTER TABLE ZEROFILL AUTO_INCREMENT is not replicated correctly rpl_switch_stm_row_mixed : BUG#18590 2006-03-28 brian #rpl_row_basic_7ndb : BUG#17400 2006-04-09 brian Cluster Replication: delete & update of rows in table without pk fails on slave. rpl_row_blob_innodb : BUG#18980 2006-04-10 kent Test fails randomly -- cgit v1.2.1 From 310eeeb388631568d50baa2ef712042998fa6dc3 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 19 Apr 2006 19:53:17 +0200 Subject: Disabling test that fails. There is already a bug for the failure. mysql-test/t/disabled.def: Disabling failing test. --- mysql-test/t/disabled.def | 1 + 1 file changed, 1 insertion(+) (limited to 'mysql-test') diff --git a/mysql-test/t/disabled.def b/mysql-test/t/disabled.def index 0558e701344..2a9feec91c1 100644 --- a/mysql-test/t/disabled.def +++ b/mysql-test/t/disabled.def @@ -48,6 +48,7 @@ udf : BUG#18564 2006-03-27 ian (Permission by Brian) #ndb_load : BUG#17233 2006-02-16 jmiller failed load data from infile causes mysqld dbug_assert, binlog not flushed #rpl_ndb_basic : BUG#18592 2006-03-28 brian rpl_ndb_basic failure #rpl_ndb_dd_advance : BUG#18924 2006-04-09 brian rpl_ndb_dd_advance failure +rpl_ndb_dd_partitions : BUG#18094 2006-04-19 mats Slave caches invalid table definition... #rpl_ndb_dd_basic : BUG#18569 2006-03-28 brian rpl_ndb_dd_basic failure #rpl_ndb_insert_ignore : BUG#18567 2006-03-28 brian rpl_ndb_insert_ignore failure #rpl_ndb_multi_update2 : BUG#18928 2006-04-09 brian rpl_ndb_multi_update2 failed -- cgit v1.2.1 From 55717e1312e94fc5f6dad22a922c1529bb71f385 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 19 Apr 2006 14:09:49 -0700 Subject: Turn on test timing in mysql-test-run.pl by default, and clean up usage docs. mysql-test/mysql-test-run.pl: Turn on test timing by default, but make it so it can be turned off with --notimer. Also clean up the mysql-test-run.pl usage information a little bit, and add --benchdir to it. --- mysql-test/mysql-test-run.pl | 50 +++++++++++++++++++++++++------------------- 1 file changed, 28 insertions(+), 22 deletions(-) (limited to 'mysql-test') diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl index 40b3954b533..a9a1d46079c 100755 --- a/mysql-test/mysql-test-run.pl +++ b/mysql-test/mysql-test-run.pl @@ -284,7 +284,7 @@ our $opt_start_from; our $opt_strace_client; -our $opt_timer; +our $opt_timer= 1; our $opt_user; our $opt_user_test; @@ -682,7 +682,7 @@ sub command_line_setup () { 'socket=s' => \$opt_socket, 'start-dirty' => \$opt_start_dirty, 'start-and-exit' => \$opt_start_and_exit, - 'timer' => \$opt_timer, + 'timer!' => \$opt_timer, 'unified-diff|udiff' => \$opt_udiff, 'user-test=s' => \$opt_user_test, 'user=s' => \$opt_user, @@ -3595,15 +3595,17 @@ Options to control what engine/variation to run compress Use the compressed protocol between client and server ssl Use ssl protocol between client and server skip-ssl Dont start server with support for ssl connections - bench Run the benchmark suite FIXME - small-bench FIXME + bench Run the benchmark suite + small-bench Run the benchmarks with --small-tests --small-tables Options to control directories to use - vardir=DIR The directory where files generated from the test run - is stored(default: ./var). Specifying a ramdisk or tmpfs - will speed up tests. + benchdir=DIR The directory where the benchmark suite is stored + (default: ../../mysql-bench) tmpdir=DIR The directory where temporary files are stored (default: ./var/tmp). + vardir=DIR The directory where files generated from the test run + is stored (default: ./var). Specifying a ramdisk or + tmpfs will speed up tests. Options to control what test suites or cases to run @@ -3618,8 +3620,9 @@ Options to control what test suites or cases to run skip-rpl Skip the replication test cases. skip-im Don't start IM, and skip the IM test cases skip-test=PREFIX Skip test cases which name are prefixed with PREFIX - big-test Pass "--big-test" to mysqltest which will set the environment - variable BIG_TEST, which can be checked from test cases. + big-test Pass "--big-test" to mysqltest which will set the + environment variable BIG_TEST, which can be checked + from test cases. Options that specify ports @@ -3645,25 +3648,29 @@ Options to run test on running server Options for debugging the product - gdb Start the mysqld(s) in gdb - manual-gdb Let user manually start mysqld in gdb, before running test(s) - manual-debug Let user manually start mysqld in debugger, before running test(s) + client-ddd Start mysqltest client in ddd + client-debugger=NAME Start mysqltest in the selected debugger client-gdb Start mysqltest client in gdb ddd Start mysqld in ddd - client-ddd Start mysqltest client in ddd + debug Dump trace output for all servers and client programs debugger=NAME Start mysqld in the selected debugger - client-debugger=NAME Start mysqltest in the selected debugger - strace-client FIXME + gdb Start the mysqld(s) in gdb + manual-debug Let user manually start mysqld in debugger, before + running test(s) + manual-gdb Let user manually start mysqld in gdb, before running + test(s) master-binary=PATH Specify the master "mysqld" to use slave-binary=PATH Specify the slave "mysqld" to use + strace-client Create strace output for mysqltest client Options for coverage, profiling etc gcov FIXME gprof FIXME - valgrind Run the "mysqltest" and "mysqld" executables using valgrind - valgrind-all Same as "valgrind" but will also add "verbose" and "--show-reachable" - flags to valgrind + valgrind Run the "mysqltest" and "mysqld" executables using + valgrind + valgrind-all Same as "valgrind" but will also add "verbose" and + "--show-reachable" flags to valgrind valgrind-mysqltest Run the "mysqltest" executable with valgrind valgrind-mysqld Run the "mysqld" executable with valgrind valgrind-options=ARGS Extra options to give valgrind @@ -3672,10 +3679,10 @@ Options for coverage, profiling etc Misc options comment=STR Write STR to the output + notimer Don't show test case execution time script-debug Debug this script itself - timer Show test case execution time - start-and-exit Only initiate and start the "mysqld" servers, use the startup - settings for the specified test case if any + start-and-exit Only initiate and start the "mysqld" servers, use + the startup settings for the specified test case if any start-dirty Only start the "mysqld" servers without initiation fast Don't try to cleanup from earlier runs reorder Reorder tests to get less server restarts @@ -3690,7 +3697,6 @@ Deprecated options Options not yet described, or that I want to look into more - debug local local-master netware -- cgit v1.2.1 From cb26bc4f9280305adb523db8f761323a522770c2 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 20 Apr 2006 08:56:47 +0200 Subject: Bug#16993 (ALTER TABLE ADD col AUTO_INCREMENT does not replicate): Removed rpl_ndb_relay_space test since it does not make sense (in its current form) for NDB. BitKeeper/deleted/.del-rpl_ndb_relay_space.test~55e5e4b13d3936d0: Delete: mysql-test/t/rpl_ndb_relay_space.test BitKeeper/deleted/.del-rpl_ndb_relay_space.result~a44835cdd2210d18: Delete: mysql-test/r/rpl_ndb_relay_space.result --- mysql-test/r/rpl_ndb_relay_space.result | 25 ------------------------- mysql-test/t/rpl_ndb_relay_space.test | 21 --------------------- 2 files changed, 46 deletions(-) delete mode 100644 mysql-test/r/rpl_ndb_relay_space.result delete mode 100644 mysql-test/t/rpl_ndb_relay_space.test (limited to 'mysql-test') diff --git a/mysql-test/r/rpl_ndb_relay_space.result b/mysql-test/r/rpl_ndb_relay_space.result deleted file mode 100644 index 930a8cae927..00000000000 --- a/mysql-test/r/rpl_ndb_relay_space.result +++ /dev/null @@ -1,25 +0,0 @@ -stop slave; -drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; -reset master; -reset slave; -drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; -start slave; -SHOW VARIABLES LIKE 'relay_log_space_limit'; -Variable_name Value -relay_log_space_limit 0 -CREATE TABLE t1 (name varchar(64), age smallint(3))ENGINE=NDB; -INSERT INTO t1 SET name='Andy', age=31; -INSERT INTO t1 SET name='Jacob', age=2; -INSERT INTO t1 SET name='Caleb', age=1; -ALTER TABLE t1 ADD id int(8) ZEROFILL AUTO_INCREMENT PRIMARY KEY; -SELECT * FROM t1 ORDER BY id; -name age id -Andy 31 00000001 -Caleb 1 00000002 -Jacob 2 00000003 -SELECT * FROM t1 ORDER BY id; -name age id -Andy 31 00000001 -Caleb 1 00000002 -Jacob 2 00000003 -DROP TABLE t1; diff --git a/mysql-test/t/rpl_ndb_relay_space.test b/mysql-test/t/rpl_ndb_relay_space.test deleted file mode 100644 index 0484d807996..00000000000 --- a/mysql-test/t/rpl_ndb_relay_space.test +++ /dev/null @@ -1,21 +0,0 @@ -################################### -# Wrapper rpl_sv_relay_space.test # -# This test has to be wrapped as # -# It tests ndb, innodb and MyISAM.# -# By Wrapping we are saving some # -# space and making the test more # -# Maintainable by only having one # -# test file and reusing the code # -# In Addition, INNODB has to have # -# Option files during this test # -# to force innodb on the slave # -# else the test will fail # -################################### -#Change Author: JBM # -#Change Date: 2006-02-03 # -#Change: Added Comments # -################################### ---source include/have_ndb.inc -let $engine_type=NDB; --- source extra/rpl_tests/rpl_sv_relay_space.test - -- cgit v1.2.1 From 0f5350abb31678501c7a4fa43b4276621233affb Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 20 Apr 2006 13:32:41 +0200 Subject: Fix for bug#19196: Attempt to create index on usupported field type gives wrong error code: updated with new expected error codes --- mysql-test/r/ndb_bitfield.result | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'mysql-test') diff --git a/mysql-test/r/ndb_bitfield.result b/mysql-test/r/ndb_bitfield.result index 13fd31d7e88..9a8c571cfba 100644 --- a/mysql-test/r/ndb_bitfield.result +++ b/mysql-test/r/ndb_bitfield.result @@ -201,21 +201,21 @@ create table t1 ( pk1 bit(9) not null primary key, b int ) engine=ndbcluster; -ERROR HY000: Can't create table 'test.t1' (errno: 140) +ERROR HY000: Can't create table 'test.t1' (errno: 906) show warnings; Level Code Message -Error 1296 Got error 739 'Unsupported primary key length' from NDB -Error 1005 Can't create table 'test.t1' (errno: 140) +Error 1296 Got error 906 'Unsupported attribute type in index' from NDB +Error 1005 Can't create table 'test.t1' (errno: 906) create table t1 ( pk1 int not null primary key, b bit(9), key(b) ) engine=ndbcluster; -ERROR HY000: Can't create table 'test.t1' (errno: 140) +ERROR HY000: Can't create table 'test.t1' (errno: 906) show warnings; Level Code Message -Error 1296 Got error 743 'Unsupported character set in table or index' from NDB -Error 1005 Can't create table 'test.t1' (errno: 140) +Error 1296 Got error 906 'Unsupported attribute type in index' from NDB +Error 1005 Can't create table 'test.t1' (errno: 906) create table t1 ( pk1 int primary key, b bit(32) not null -- cgit v1.2.1