From 3fd44e1510eb55d028bca3a1ee4dc0759194b508 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 13 Nov 2006 10:39:15 +0400 Subject: embedded-mode tests fixed libmysqld/examples/test-run: mysql_embedded should be run here libmysqld/lib_sql.cc: thd->real_id setup added bootstrap check added mysql-test/t/innodb.test: paths can be different in embedded server - replace_result added sql/item_func.cc: we should compare real_id-s in embedded server --- libmysqld/examples/test-run | 2 +- libmysqld/lib_sql.cc | 4 ++++ mysql-test/t/innodb.test | 3 +++ sql/item_func.cc | 4 ++++ 4 files changed, 12 insertions(+), 1 deletion(-) diff --git a/libmysqld/examples/test-run b/libmysqld/examples/test-run index c7434488259..aea5b13eaba 100755 --- a/libmysqld/examples/test-run +++ b/libmysqld/examples/test-run @@ -10,7 +10,7 @@ top_builddir=../.. mysql_test_dir=$top_builddir/mysql-test examples=$top_builddir/libmysqld/examples -mysqltest=$examples/mysqltest +mysqltest=$examples/mysqltest_embedded datadir=$mysql_test_dir/var/master-data test_data_dir=test gdb=0 diff --git a/libmysqld/lib_sql.cc b/libmysqld/lib_sql.cc index 64bc37fb40d..b8d890991df 100644 --- a/libmysqld/lib_sql.cc +++ b/libmysqld/lib_sql.cc @@ -517,6 +517,7 @@ void *create_embedded_thd(int client_flag) thd->set_time(); thd->init_for_queries(); thd->client_capabilities= client_flag; + thd->real_id= (pthread_t) thd; thd->db= NULL; thd->db_length= 0; @@ -815,6 +816,9 @@ void Protocol_simple::prepare_for_resend() DBUG_ENTER("send_data"); + if (!thd->mysql) // bootstrap file handling + DBUG_VOID_RETURN; + if (!data) { if (!(data= (MYSQL_DATA*) my_malloc(sizeof(MYSQL_DATA), diff --git a/mysql-test/t/innodb.test b/mysql-test/t/innodb.test index 3e53cadf76c..7e594c358f2 100644 --- a/mysql-test/t/innodb.test +++ b/mysql-test/t/innodb.test @@ -1299,6 +1299,7 @@ drop table test_checksum; set foreign_key_checks=0; create table t2 (a int primary key, b int, foreign key (b) references t1(a)) engine = innodb; +--replace_result \\ / $MYSQL_TEST_DIR . /var/master-data/ / -- error 1005 create table t1(a char(10) primary key, b varchar(20)) engine = innodb; set foreign_key_checks=1; @@ -1309,6 +1310,7 @@ drop table t2; set foreign_key_checks=0; create table t1(a varchar(10) primary key) engine = innodb DEFAULT CHARSET=latin1; +--replace_result \\ / $MYSQL_TEST_DIR . /var/master-data/ / -- error 1005 create table t2 (a varchar(10), foreign key (a) references t1(a)) engine = innodb DEFAULT CHARSET=utf8; set foreign_key_checks=1; @@ -1338,6 +1340,7 @@ drop table t2,t1; set foreign_key_checks=0; create table t2 (a varchar(10), foreign key (a) references t1(a)) engine = innodb DEFAULT CHARSET=latin1; create table t3(a varchar(10) primary key) engine = innodb DEFAULT CHARSET=utf8; +--replace_result \\ / $MYSQL_TEST_DIR . /var/master-data/ / -- error 1025 rename table t3 to t1; set foreign_key_checks=1; diff --git a/sql/item_func.cc b/sql/item_func.cc index fafefd460f9..db756c1c529 100644 --- a/sql/item_func.cc +++ b/sql/item_func.cc @@ -2238,7 +2238,11 @@ longlong Item_func_release_lock::val_int() } else { +#ifdef EMBEDDED_LIBRARY + if (ull->locked && pthread_equal(current_thd->real_id,ull->thread)) +#else if (ull->locked && pthread_equal(pthread_self(),ull->thread)) +#endif { result=1; // Release is ok item_user_lock_release(ull); -- cgit v1.2.1 From 4c561e00df2dfdfac13987bf3769faf531b7fb0b Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 13 Nov 2006 18:12:15 +0400 Subject: delayed.test fixed mysql-test/t/delayed.test: shouldn't be tested in embedded server --- mysql-test/t/delayed.test | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mysql-test/t/delayed.test b/mysql-test/t/delayed.test index a32eec536ea..961bcc946bf 100644 --- a/mysql-test/t/delayed.test +++ b/mysql-test/t/delayed.test @@ -1,3 +1,5 @@ +# delayed works differently in embedded server +--source include/not_embedded.inc # # test of DELAYED insert and timestamps # (Can't be tested with purify :( ) -- cgit v1.2.1