# HG changeset patch # User Timo Sirainen # Date 1296426473 -7200 # Node ID 5a6e44ca58256b5359d34de02d8f5cb68c927ca3 # Parent 816a6e69d4b5e7ebc51440e9d11c95c15172f5c1 lib-sql: Implemented sql_result_get_field_value_binary() for MySQL. diff -r 816a6e69d4b5 -r 5a6e44ca5825 src/lib-sql/driver-mysql.c --- a/src/lib-sql/driver-mysql.c Sun Jan 30 23:57:14 2011 +0200 +++ b/src/lib-sql/driver-mysql.c Mon Jan 31 00:27:53 2011 +0200 @@ -31,7 +31,7 @@ struct sql_result api; MYSQL_RES *result; - MYSQL_ROW row; + MYSQL_ROW row; MYSQL_FIELD *fields; unsigned int fields_count; @@ -406,12 +406,16 @@ } static const unsigned char * -driver_mysql_result_get_field_value_binary(struct sql_result *_result ATTR_UNUSED, - unsigned int idx ATTR_UNUSED, - size_t *size_r ATTR_UNUSED) +driver_mysql_result_get_field_value_binary(struct sql_result *_result, + unsigned int idx, size_t *size_r) { - /* FIXME */ - return NULL; + struct mysql_result *result = (struct mysql_result *)_result; + unsigned long *lengths; + + lengths = mysql_fetch_lengths(result->result); + + *size_r = lengths[idx]; + return (const void *)result->row[idx]; } static const char *