summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorunknown <kostja@dipika.(none)>2008-02-26 13:55:46 +0300
committerunknown <kostja@dipika.(none)>2008-02-26 13:55:46 +0300
commit2967e4e1042a52bbad67009b6084282e53b4a708 (patch)
tree1470849558b2c529de457d0d5048910f34bdf32e /tests
parent98e7d709bb61e9ac7a507956a15fbe887e372066 (diff)
downloadmariadb-git-2967e4e1042a52bbad67009b6084282e53b4a708.tar.gz
Use an API instead of looking into stmt internals to fetch fields
(Test for Bug#32265) tests/mysql_client_test.c: Use an API instead of looking into stmt internals to fetch fields.
Diffstat (limited to 'tests')
-rw-r--r--tests/mysql_client_test.c22
1 files changed, 17 insertions, 5 deletions
diff --git a/tests/mysql_client_test.c b/tests/mysql_client_test.c
index d85a40f7393..23e37323fb3 100644
--- a/tests/mysql_client_test.c
+++ b/tests/mysql_client_test.c
@@ -16120,6 +16120,7 @@ static void test_bug32265()
int rc;
MYSQL_STMT *stmt;
MYSQL_FIELD *field;
+ MYSQL_RES *metadata;
DBUG_ENTER("test_bug32265");
myheader("test_bug32265");
@@ -16137,50 +16138,61 @@ static void test_bug32265()
rc= mysql_stmt_execute(stmt);
check_execute(stmt, rc);
- field= stmt->mysql->fields;
+ metadata= mysql_stmt_result_metadata(stmt);
+ field= mysql_fetch_field(metadata);
+ DIE_UNLESS(field);
DIE_UNLESS(strcmp(field->table, "t1") == 0);
DIE_UNLESS(strcmp(field->org_table, "t1") == 0);
DIE_UNLESS(strcmp(field->db, "client_test_db") == 0);
+ mysql_free_result(metadata);
mysql_stmt_close(stmt);
stmt= open_cursor("SELECT a '' FROM t1 ``");
rc= mysql_stmt_execute(stmt);
check_execute(stmt, rc);
- field= stmt->mysql->fields;
+ metadata= mysql_stmt_result_metadata(stmt);
+ field= mysql_fetch_field(metadata);
DIE_UNLESS(strcmp(field->table, "") == 0);
DIE_UNLESS(strcmp(field->org_table, "t1") == 0);
DIE_UNLESS(strcmp(field->db, "client_test_db") == 0);
+ mysql_free_result(metadata);
mysql_stmt_close(stmt);
stmt= open_cursor("SELECT a '' FROM t1 ``");
rc= mysql_stmt_execute(stmt);
check_execute(stmt, rc);
- field= stmt->mysql->fields;
+ metadata= mysql_stmt_result_metadata(stmt);
+ field= mysql_fetch_field(metadata);
DIE_UNLESS(strcmp(field->table, "") == 0);
DIE_UNLESS(strcmp(field->org_table, "t1") == 0);
DIE_UNLESS(strcmp(field->db, "client_test_db") == 0);
+ mysql_free_result(metadata);
mysql_stmt_close(stmt);
stmt= open_cursor("SELECT * FROM v1");
rc= mysql_stmt_execute(stmt);
check_execute(stmt, rc);
- field= stmt->mysql->fields;
+ metadata= mysql_stmt_result_metadata(stmt);
+ field= mysql_fetch_field(metadata);
DIE_UNLESS(strcmp(field->table, "v1") == 0);
DIE_UNLESS(strcmp(field->org_table, "t1") == 0);
DIE_UNLESS(strcmp(field->db, "client_test_db") == 0);
+ mysql_free_result(metadata);
mysql_stmt_close(stmt);
stmt= open_cursor("SELECT * FROM v1 /* SIC */ GROUP BY 1");
rc= mysql_stmt_execute(stmt);
check_execute(stmt, rc);
- field= stmt->mysql->fields;
+ metadata= mysql_stmt_result_metadata(stmt);
+ field= mysql_fetch_field(metadata);
DIE_UNLESS(strcmp(field->table, "v1") == 0);
DIE_UNLESS(strcmp(field->org_table, "t1") == 0);
DIE_UNLESS(strcmp(field->db, "client_test_db") == 0);
+ mysql_free_result(metadata);
mysql_stmt_close(stmt);
rc= mysql_query(mysql, "DROP VIEW v1");