diff options
author | unknown <holyfoot/hf@hfmain.(none)> | 2007-12-07 10:10:02 +0400 |
---|---|---|
committer | unknown <holyfoot/hf@hfmain.(none)> | 2007-12-07 10:10:02 +0400 |
commit | 54d5afd37132db0e9acb9fd857c92c1d094656ca (patch) | |
tree | 9289f46a5ebd5f614a4e6156e05f12b89f4c2ef6 | |
parent | f448c62558cbd74940261e4eb8e67c3347ceb235 (diff) | |
parent | 1dd429fd3e372fcbd830a33a23e36557208d63f1 (diff) | |
download | mariadb-git-54d5afd37132db0e9acb9fd857c92c1d094656ca.tar.gz |
Merge bk@192.168.21.1:mysql-5.1-opt
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 28f6d8d354f..2c4f49050b2 100644 --- a/libmysqld/lib_sql.cc +++ b/libmysqld/lib_sql.cc @@ -243,9 +243,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 409d67faf90..2f33e351620 100644 --- a/tests/mysql_client_test.c +++ b/tests/mysql_client_test.c @@ -15883,6 +15883,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() { @@ -15895,6 +15897,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"); @@ -15911,6 +15915,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; } |