summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2022-08-20 16:40:38 +0200
committerCarlos Garnacho <carlosg@gnome.org>2022-08-30 17:38:57 +0200
commitf2454c990c91dc5f181502dd834941df84008637 (patch)
tree241f1883a7d4d15a21f0b08628138174955f49ee
parent84edbdc89db215fcba0c635fe2c650ad50b2af4b (diff)
downloadtracker-f2454c990c91dc5f181502dd834941df84008637.tar.gz
core: Return a boolean on tracker_db_statement_execute()
Instead of having to pass a GError and looking for that to check for errors.
-rw-r--r--src/libtracker-sparql/core/tracker-db-interface-sqlite.c56
-rw-r--r--src/libtracker-sparql/core/tracker-db-interface.h2
2 files changed, 28 insertions, 30 deletions
diff --git a/src/libtracker-sparql/core/tracker-db-interface-sqlite.c b/src/libtracker-sparql/core/tracker-db-interface-sqlite.c
index ce8447b4d..2c98f153e 100644
--- a/src/libtracker-sparql/core/tracker-db-interface-sqlite.c
+++ b/src/libtracker-sparql/core/tracker-db-interface-sqlite.c
@@ -2866,32 +2866,26 @@ execute_stmt (TrackerDBInterface *interface,
return FALSE;
}
- if (!error) {
- g_warning ("Could not perform SQLite operation, error:%d->'%s'",
- sqlite3_errcode (interface->db),
- sqlite3_errmsg (interface->db));
+ if (result == SQLITE_INTERRUPT) {
+ g_set_error (error,
+ TRACKER_DB_INTERFACE_ERROR,
+ TRACKER_DB_INTERRUPTED,
+ "Interrupted");
+ } else if (result == SQLITE_CONSTRAINT) {
+ g_set_error (error,
+ TRACKER_DB_INTERFACE_ERROR,
+ TRACKER_DB_CONSTRAINT,
+ "Constraint would be broken: %s",
+ sqlite3_errmsg (interface->db));
} else {
- if (result == SQLITE_INTERRUPT) {
- g_set_error (error,
- TRACKER_DB_INTERFACE_ERROR,
- TRACKER_DB_INTERRUPTED,
- "Interrupted");
- } else if (result == SQLITE_CONSTRAINT) {
- g_set_error (error,
- TRACKER_DB_INTERFACE_ERROR,
- TRACKER_DB_CONSTRAINT,
- "Constraint would be broken: %s",
- sqlite3_errmsg (interface->db));
- } else {
- g_set_error (error,
- TRACKER_DB_INTERFACE_ERROR,
- errno != ENOSPC ? TRACKER_DB_QUERY_ERROR : TRACKER_DB_NO_SPACE,
- "%s%s%s%s",
- sqlite3_errmsg (interface->db),
- errno != 0 ? " (strerror of errno (not necessarily related): " : "",
- errno != 0 ? g_strerror (errno) : "",
- errno != 0 ? ")" : "");
- }
+ g_set_error (error,
+ TRACKER_DB_INTERFACE_ERROR,
+ errno != ENOSPC ? TRACKER_DB_QUERY_ERROR : TRACKER_DB_NO_SPACE,
+ "%s%s%s%s",
+ sqlite3_errmsg (interface->db),
+ errno != 0 ? " (strerror of errno (not necessarily related): " : "",
+ errno != 0 ? g_strerror (errno) : "",
+ errno != 0 ? ")" : "");
}
}
@@ -3640,15 +3634,19 @@ tracker_db_cursor_get_string (TrackerDBCursor *cursor,
return result;
}
-void
+gboolean
tracker_db_statement_execute (TrackerDBStatement *stmt,
GError **error)
{
- g_return_if_fail (TRACKER_IS_DB_STATEMENT (stmt));
- g_return_if_fail (!stmt->stmt_is_used);
+ gboolean retval;
+
+ g_return_val_if_fail (TRACKER_IS_DB_STATEMENT (stmt), FALSE);
+ g_return_val_if_fail (!stmt->stmt_is_used, FALSE);
- execute_stmt (stmt->db_interface, stmt->stmt, NULL, error);
+ retval = execute_stmt (stmt->db_interface, stmt->stmt, NULL, error);
tracker_db_statement_sqlite_release (stmt);
+
+ return retval;
}
GArray *
diff --git a/src/libtracker-sparql/core/tracker-db-interface.h b/src/libtracker-sparql/core/tracker-db-interface.h
index 4a040b898..db8381264 100644
--- a/src/libtracker-sparql/core/tracker-db-interface.h
+++ b/src/libtracker-sparql/core/tracker-db-interface.h
@@ -144,7 +144,7 @@ void tracker_db_statement_bind_bytes (TrackerDBS
void tracker_db_statement_bind_value (TrackerDBStatement *stmt,
int index,
const GValue *value);
-void tracker_db_statement_execute (TrackerDBStatement *stmt,
+gboolean tracker_db_statement_execute (TrackerDBStatement *stmt,
GError **error);
TrackerDBCursor * tracker_db_statement_start_cursor (TrackerDBStatement *stmt,
GError **error);