# HG changeset patch # User ali@juiblex.co.uk # Date 1260744154 0 # Node ID 0399d9ea8b7b3f748b2b8b7cd919636c4ff25953 # Parent e6d7c7b6bb63ff6674d9f0f6f7c8af8d28860dd9 Don't require higher levels to bookkeep query state diff -r e6d7c7b6bb63 -r 0399d9ea8b7b gmyth/gmyth/gmyth_query.c --- a/gmyth/gmyth/gmyth_query.c Sun Dec 13 21:21:32 2009 +0000 +++ b/gmyth/gmyth/gmyth_query.c Sun Dec 13 22:42:34 2009 +0000 @@ -31,7 +31,6 @@ #include #include -#include #include "gmyth_query.h" #include "gmyth_debug.h" @@ -74,10 +73,6 @@ { GMythQuery *gmyth_query = GMYTH_QUERY(object); - if (gmyth_query->conn != NULL) { - gmyth_query_disconnect(gmyth_query); - } - if (gmyth_query->backend_info) { g_object_unref(gmyth_query->backend_info); gmyth_query->backend_info = NULL; @@ -89,7 +84,7 @@ static void gmyth_query_finalize(GObject * object) { - g_signal_handlers_destroy(object); + gmyth_query_disconnect(GMYTH_QUERY(object)); G_OBJECT_CLASS(gmyth_query_parent_class)->finalize(object); } @@ -112,7 +107,7 @@ GMythBackendInfo * backend_info, guint timeout) { - assert(gmyth_query); + g_return_val_if_fail(gmyth_query != NULL, FALSE); if (gmyth_query->conn == NULL) gmyth_query->conn = mysql_init(NULL); @@ -138,7 +133,7 @@ gmyth_query_connect(GMythQuery * gmyth_query, GMythBackendInfo * backend_info) { - assert(gmyth_query); + g_return_val_if_fail(gmyth_query != NULL, FALSE); g_return_val_if_fail(backend_info != NULL, FALSE); g_return_val_if_fail(backend_info->hostname != NULL, FALSE); g_return_val_if_fail(backend_info->username != NULL, FALSE); @@ -186,6 +181,9 @@ { g_return_val_if_fail (gmyth_query != NULL, FALSE); + if (gmyth_query->conn == NULL) + return FALSE; + return (mysql_ping (gmyth_query->conn) == 0); } @@ -199,7 +197,9 @@ gmyth_query_disconnect(GMythQuery * gmyth_query) { g_return_val_if_fail(gmyth_query != NULL, FALSE); - g_return_val_if_fail(gmyth_query->conn != NULL, FALSE); + + if (gmyth_query->conn == NULL) + return TRUE; /* * TODO: Check how to return error @@ -242,15 +242,13 @@ MYSQL_RES* gmyth_query_process_statement(GMythQuery * gmyth_query, char *stmt_str) { - assert(gmyth_query); + g_return_val_if_fail(gmyth_query != NULL, NULL); gmyth_debug("[%s] Running mysql query %s", __FUNCTION__, stmt_str); - if (gmyth_query == NULL) - return NULL; - //the statement failed - if (mysql_query(gmyth_query->conn, stmt_str) != 0) { + if (gmyth_query->conn == NULL || + mysql_query(gmyth_query->conn, stmt_str) != 0) { gmyth_query_print_error(gmyth_query->conn, "Could not execute statement"); return NULL; @@ -264,17 +262,15 @@ gmyth_query_process_statement_with_increment(GMythQuery * gmyth_query, char *stmt_str, gulong * id) { - assert(gmyth_query); + g_return_val_if_fail(gmyth_query != NULL, NULL); gmyth_debug("[%s] Running mysql query %s", __FUNCTION__, stmt_str); - if (gmyth_query == NULL) - return NULL; - /* * the statement failed */ - if (mysql_query(gmyth_query->conn, stmt_str) != 0) { + if (gmyth_query->conn == NULL || + mysql_query(gmyth_query->conn, stmt_str) != 0) { gmyth_query_print_error(gmyth_query->conn, "Could not execute statement"); return NULL;