From 5a6161dea42f73a241dd7068eb6b6b5a2562b74d Mon Sep 17 00:00:00 2001 From: "holyfoot/hf@mysql.com/hfmain.(none)" <> Date: Fri, 30 Nov 2007 19:16:13 +0400 Subject: Bug #26921 Problem in mysql_insert_id() Embedded C API function. client library only sets mysql->insert_id when query returned no recordset. So the embedded library should behave the same way --- tests/mysql_client_test.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'tests') diff --git a/tests/mysql_client_test.c b/tests/mysql_client_test.c index 29935a4924d..eb255e7881c 100644 --- a/tests/mysql_client_test.c +++ b/tests/mysql_client_test.c @@ -15358,6 +15358,8 @@ static void test_bug21206() 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() { @@ -15370,6 +15372,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"); @@ -15386,6 +15390,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; } -- cgit v1.2.1