summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <konstantin@mysql.com>2004-06-06 02:27:05 +0400
committerunknown <konstantin@mysql.com>2004-06-06 02:27:05 +0400
commit5cc410bb70dca2fad9dd7452ef294e1020186dda (patch)
treec3b880ff83a1e7f214dc008d5539962f811aad06
parent780fdb02fdd148ddbdcd14055d0ddcb1b8dd5649 (diff)
downloadmariadb-git-5cc410bb70dca2fad9dd7452ef294e1020186dda.tar.gz
mysql_stmt_field_count()
include/mysql.h: mysql_stmt_field_count() declaration libmysql/libmysql.c: added mysql_stmt_field_count(): we need this function to ease use of mysql_stmt_result_metadata: if mysql_stmt_field_count() != 0 mysql_stmt_result_metadata fails only if OOM. libmysql/libmysql.def: declaration for mysql_stmt_field_count()
-rw-r--r--include/mysql.h1
-rw-r--r--libmysql/libmysql.c10
-rw-r--r--libmysql/libmysql.def1
-rw-r--r--tests/client_test.c1
4 files changed, 13 insertions, 0 deletions
diff --git a/include/mysql.h b/include/mysql.h
index d7c47667d0c..71bff833d59 100644
--- a/include/mysql.h
+++ b/include/mysql.h
@@ -710,6 +710,7 @@ void STDCALL mysql_stmt_data_seek(MYSQL_STMT *stmt, my_ulonglong offset);
my_ulonglong STDCALL mysql_stmt_num_rows(MYSQL_STMT *stmt);
my_ulonglong STDCALL mysql_stmt_affected_rows(MYSQL_STMT *stmt);
my_ulonglong STDCALL mysql_stmt_insert_id(MYSQL_STMT *stmt);
+unsigned int STDCALL mysql_stmt_field_count(MYSQL_STMT *stmt);
my_bool STDCALL mysql_commit(MYSQL * mysql);
my_bool STDCALL mysql_rollback(MYSQL * mysql);
diff --git a/libmysql/libmysql.c b/libmysql/libmysql.c
index ecedf005ae1..a68837df114 100644
--- a/libmysql/libmysql.c
+++ b/libmysql/libmysql.c
@@ -2599,6 +2599,16 @@ my_ulonglong STDCALL mysql_stmt_affected_rows(MYSQL_STMT *stmt)
/*
+ Returns the number of result columns for the most recent query
+ run on this statement.
+*/
+
+unsigned int STDCALL mysql_stmt_field_count(MYSQL_STMT *stmt)
+{
+ return stmt->field_count;
+}
+
+/*
Return last inserted id for auto_increment columns
*/
diff --git a/libmysql/libmysql.def b/libmysql/libmysql.def
index 927d46be91c..bbd5af6558d 100644
--- a/libmysql/libmysql.def
+++ b/libmysql/libmysql.def
@@ -131,3 +131,4 @@ EXPORTS
mysql_stmt_insert_id
mysql_stmt_attr_get
mysql_stmt_attr_set
+ mysql_stmt_field_count
diff --git a/tests/client_test.c b/tests/client_test.c
index 7171125176b..04549f3355c 100644
--- a/tests/client_test.c
+++ b/tests/client_test.c
@@ -6284,6 +6284,7 @@ static void test_field_misc()
result= mysql_stmt_result_metadata(stmt);
mytest(result);
+ assert(mysql_stmt_field_count(stmt) == mysql_num_fields(result));
rc= mysql_stmt_execute(stmt);
check_execute(stmt, rc);