diff options
author | unknown <holyfoot/hf@hfmain.(none)> | 2007-12-07 09:39:31 +0400 |
---|---|---|
committer | unknown <holyfoot/hf@hfmain.(none)> | 2007-12-07 09:39:31 +0400 |
commit | 24534a5f75b9a5f1d09815f5e9578d52dbef6e44 (patch) | |
tree | f72d3e03e4a5ebbc3bded247c9528b590f07026c | |
parent | 0cff138e32f6e3e59e53b5b87c070bc0806437e2 (diff) | |
parent | 0aadce40f48549870205c35cc31efdf874dfae49 (diff) | |
download | mariadb-git-24534a5f75b9a5f1d09815f5e9578d52dbef6e44.tar.gz |
Merge mysql.com:/home/hf/work/26921/my50-26921
into mysql.com:/home/hf/work/26921/my51-26921
libmysqld/lib_sql.cc:
Auto merged
tests/mysql_client_test.c:
Auto merged
-rw-r--r-- | libmysqld/lib_sql.cc | 8 | ||||
-rw-r--r-- | tests/mysql_client_test.c | 11 |
2 files changed, 16 insertions, 3 deletions
diff --git a/libmysqld/lib_sql.cc b/libmysqld/lib_sql.cc index f5bfe97a38e..72d542b123a 100644 --- a/libmysqld/lib_sql.cc +++ b/libmysqld/lib_sql.cc @@ -242,9 +242,11 @@ static my_bool emb_read_query_result(MYSQL *mysql) mysql->warning_count= res->embedded_info->warning_count; mysql->server_status= res->embedded_info->server_status; mysql->field_count= res->fields; - mysql->fields= res->embedded_info->fields_list; - mysql->affected_rows= res->embedded_info->affected_rows; - mysql->insert_id= res->embedded_info->insert_id; + if (!(mysql->fields= res->embedded_info->fields_list)) + { + mysql->affected_rows= res->embedded_info->affected_rows; + mysql->insert_id= res->embedded_info->insert_id; + } net_clear_error(&mysql->net); mysql->info= 0; diff --git a/tests/mysql_client_test.c b/tests/mysql_client_test.c index 08805c4bcc1..1ede4105056 100644 --- a/tests/mysql_client_test.c +++ b/tests/mysql_client_test.c @@ -15869,6 +15869,8 @@ static void test_status() Test that client gets updated value of insert_id on UPDATE that uses LAST_INSERT_ID(expr). + select_query added to test for bug + #26921 Problem in mysql_insert_id() Embedded C API function */ static void test_bug21726() { @@ -15881,6 +15883,8 @@ static void test_bug21726() const char *update_query= "UPDATE t1 SET i= LAST_INSERT_ID(i + 1)"; int rc; my_ulonglong insert_id; + const char *select_query= "SELECT * FROM t1"; + MYSQL_RES *result; DBUG_ENTER("test_bug21726"); myheader("test_bug21726"); @@ -15897,6 +15901,13 @@ static void test_bug21726() insert_id= mysql_insert_id(mysql); DIE_UNLESS(insert_id == 3); + rc= mysql_query(mysql, select_query); + myquery(rc); + insert_id= mysql_insert_id(mysql); + DIE_UNLESS(insert_id == 3); + result= mysql_store_result(mysql); + mysql_free_result(result); + DBUG_VOID_RETURN; } |