52 #define MIN(x, y) ((x) < (y) ? (x) : (y))
53 #define MAX(x, y) ((x) > (y) ? (x) : (y))
75 static int DbExecuteSqlStatement(
DB_HANDLE handle,
const char* stmt_str)
78 return mysql_query((MYSQL*) handle, stmt_str);
109 const char* errmsg = NULL;
114 if ((!handle) || (!stmt_str) || (*stmt_str ==
'\0') || (! result)) {
123 (*result)->handle = handle;
127 status = DbExecuteSqlStatement(handle, stmt_str);
132 (*result)->data = mysql_store_result((MYSQL*) handle);
133 if ((*result)->data == NULL) {
143 if (errmsg && *errmsg) {
171 (*result)->
count = mysql_field_count((MYSQL*) (*result)->handle);
207 mysql_free_result((MYSQL_RES*) result->
data);
254 rowdata = mysql_fetch_row(result->
data);
261 (*row)->result = result;
262 (*row)->
data = rowdata;
343 unsigned long *lengths;
351 if ((field_index >= 0) && (field_index < row->result->count)) {
355 lengths = mysql_fetch_lengths((MYSQL_RES*) row->
result->
data);
359 if (row->data[field_index] != NULL) {
361 *result =
MemMalloc(lengths[field_index] + 1);
362 memcpy(*result, row->data[field_index], lengths[field_index]);
363 (*result)[lengths[field_index]] = 0;
418 const char* sql =
"start transaction";
434 const char* sql =
"commit";
450 const char* sql =
"rollback";