summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorholyfoot/hf@mysql.com/deer.(none) <>2006-11-13 10:45:22 +0400
committerholyfoot/hf@mysql.com/deer.(none) <>2006-11-13 10:45:22 +0400
commit7805cdef84f8847ed1d82b3b8d28efa481e12a72 (patch)
tree1e42eabf80f107ccb135f8a3caeb1e157d384926
parent1a8204f24258b34b7675c732f114c6d1be543c3b (diff)
parent6e0045ed203aae2ad7664641aa68f6be7a571c9c (diff)
downloadmariadb-git-7805cdef84f8847ed1d82b3b8d28efa481e12a72.tar.gz
Merge mysql.com:/home/hf/work/embt/my41-embt
into mysql.com:/home/hf/work/embt/my50-embt
-rwxr-xr-xlibmysqld/examples/test-run2
-rw-r--r--libmysqld/lib_sql.cc4
-rw-r--r--sql/item_func.cc4
3 files changed, 9 insertions, 1 deletions
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 a88c0b135db..cfa90c2abce 100644
--- a/libmysqld/lib_sql.cc
+++ b/libmysqld/lib_sql.cc
@@ -584,6 +584,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;
@@ -1028,6 +1029,9 @@ void Protocol_simple::prepare_for_resend()
MYSQL_DATA *data= thd->cur_data;
DBUG_ENTER("send_data");
+ if (!thd->mysql) // bootstrap file handling
+ DBUG_VOID_RETURN;
+
data->rows++;
if (!(cur= (MYSQL_ROWS *)alloc_root(alloc, sizeof(MYSQL_ROWS)+(field_count + 1) * sizeof(char *))))
{
diff --git a/sql/item_func.cc b/sql/item_func.cc
index e9f75a507a4..ca29fe14ab2 100644
--- a/sql/item_func.cc
+++ b/sql/item_func.cc
@@ -3347,7 +3347,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);