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";
void * MemCalloc(size_t nmemb, size_t size)
void DbgOutput(unsigned int mask, const char *format,...)
int MsgLog(int status,...)
void DbStringFree(char *string)
int DbFetchRow(DB_RESULT result, DB_ROW *row)
struct db_result * DB_RESULT
const char * DbErrmsg(DB_HANDLE handle)
int DbExecuteSql(DB_HANDLE handle, const char *stmt_str, DB_RESULT *result)
void DbFreeRow(DB_ROW row)
void DbFreeResult(DB_RESULT result)
int DbBeginTransaction(void)
void * MemMalloc(size_t size)
int DbString(DB_ROW row, int field_index, char **result)
int DbExecuteSqlNoResult(DB_HANDLE handle, const char *stmt_str)