[tracker/wip/carlosg/serialize-api] libtracker-data: Do not forward cursor variable names separately
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tracker/wip/carlosg/serialize-api] libtracker-data: Do not forward cursor variable names separately
- Date: Sun, 30 Jan 2022 16:27:06 +0000 (UTC)
commit b8785b9145af2f1919f2526d16be1b1df2d690ab
Author: Carlos Garnacho <carlosg gnome org>
Date: Sat Jan 29 22:07:07 2022 +0100
libtracker-data: Do not forward cursor variable names separately
These are already forwarded correctly via the AS keyword in SQL, we do
not need to forward these names separately, and can fetch them from the
sqlite3_stmt instead.
src/libtracker-data/tracker-db-interface-sqlite.c | 40 +++--------------------
src/libtracker-data/tracker-db-interface.h | 2 --
src/libtracker-data/tracker-sparql.c | 12 +------
3 files changed, 6 insertions(+), 48 deletions(-)
---
diff --git a/src/libtracker-data/tracker-db-interface-sqlite.c
b/src/libtracker-data/tracker-db-interface-sqlite.c
index 31f7d9f68..92c407257 100644
--- a/src/libtracker-data/tracker-db-interface-sqlite.c
+++ b/src/libtracker-data/tracker-db-interface-sqlite.c
@@ -117,8 +117,6 @@ struct TrackerDBCursor {
gboolean finished;
TrackerPropertyType *types;
guint n_types;
- gchar **variable_names;
- guint n_variable_names;
};
struct TrackerDBCursorClass {
@@ -145,9 +143,7 @@ static TrackerDBStatement *tracker_db_statement_sqlite_new (TrackerDBIn
static void tracker_db_statement_sqlite_reset (TrackerDBStatement *stmt);
static TrackerDBCursor *tracker_db_cursor_sqlite_new (TrackerDBStatement *ref_stmt,
TrackerPropertyType *types,
- guint n_types,
- const gchar * const *variable_names,
- guint
n_variable_names);
+ guint n_types);
static gboolean tracker_db_cursor_get_boolean (TrackerSparqlCursor *cursor,
guint column);
static gboolean db_cursor_iter_next (TrackerDBCursor *cursor,
@@ -3129,7 +3125,6 @@ static void
tracker_db_cursor_finalize (GObject *object)
{
TrackerDBCursor *cursor;
- guint i;
cursor = TRACKER_DB_CURSOR (object);
@@ -3137,11 +3132,6 @@ tracker_db_cursor_finalize (GObject *object)
g_free (cursor->types);
- for (i = 0; i < cursor->n_variable_names; i++) {
- g_free (cursor->variable_names[i]);
- }
- g_free (cursor->variable_names);
-
G_OBJECT_CLASS (tracker_db_cursor_parent_class)->finalize (object);
}
@@ -3231,9 +3221,7 @@ tracker_db_cursor_class_init (TrackerDBCursorClass *class)
static TrackerDBCursor *
tracker_db_cursor_sqlite_new (TrackerDBStatement *ref_stmt,
TrackerPropertyType *types,
- guint n_types,
- const gchar * const *variable_names,
- guint n_variable_names)
+ guint n_types)
{
TrackerDBCursor *cursor;
TrackerDBInterface *iface;
@@ -3274,16 +3262,6 @@ tracker_db_cursor_sqlite_new (TrackerDBStatement *ref_stmt,
}
}
- if (variable_names) {
- guint i;
-
- cursor->variable_names = g_new (gchar *, n_variable_names);
- cursor->n_variable_names = n_variable_names;
- for (i = 0; i < n_variable_names; i++) {
- cursor->variable_names[i] = g_strdup (variable_names[i]);
- }
- }
-
return cursor;
}
@@ -3637,13 +3615,7 @@ tracker_db_cursor_get_variable_name (TrackerDBCursor *cursor,
iface = cursor->ref_stmt->db_interface;
tracker_db_interface_lock (iface);
-
- if (column < cursor->n_variable_names) {
- result = cursor->variable_names[column];
- } else {
- result = sqlite3_column_name (cursor->stmt, column);
- }
-
+ result = sqlite3_column_name (cursor->stmt, column);
tracker_db_interface_unlock (iface);
return result;
@@ -3693,21 +3665,19 @@ tracker_db_statement_start_cursor (TrackerDBStatement *stmt,
g_return_val_if_fail (TRACKER_IS_DB_STATEMENT (stmt), NULL);
g_return_val_if_fail (!stmt->stmt_is_used, NULL);
- return tracker_db_cursor_sqlite_new (stmt, NULL, 0, NULL, 0);
+ return tracker_db_cursor_sqlite_new (stmt, NULL, 0);
}
TrackerDBCursor *
tracker_db_statement_start_sparql_cursor (TrackerDBStatement *stmt,
TrackerPropertyType *types,
guint n_types,
- const gchar * const *variable_names,
- guint n_variable_names,
GError **error)
{
g_return_val_if_fail (TRACKER_IS_DB_STATEMENT (stmt), NULL);
g_return_val_if_fail (!stmt->stmt_is_used, NULL);
- return tracker_db_cursor_sqlite_new (stmt, types, n_types, variable_names, n_variable_names);
+ return tracker_db_cursor_sqlite_new (stmt, types, n_types);
}
static void
diff --git a/src/libtracker-data/tracker-db-interface.h b/src/libtracker-data/tracker-db-interface.h
index ca651126d..83e0e9438 100644
--- a/src/libtracker-data/tracker-db-interface.h
+++ b/src/libtracker-data/tracker-db-interface.h
@@ -145,8 +145,6 @@ TrackerDBCursor * tracker_db_statement_start_cursor (TrackerDBS
TrackerDBCursor * tracker_db_statement_start_sparql_cursor (TrackerDBStatement *stmt,
TrackerPropertyType *types,
guint n_types,
- const gchar * const
*variable_names,
- guint
n_variable_names,
GError **error);
/* Functions to deal with a cursor */
diff --git a/src/libtracker-data/tracker-sparql.c b/src/libtracker-data/tracker-sparql.c
index 225554dc8..ca9e4b528 100644
--- a/src/libtracker-data/tracker-sparql.c
+++ b/src/libtracker-data/tracker-sparql.c
@@ -174,7 +174,6 @@ struct _TrackerSparql
GHashTable *prefix_map;
GList *filter_clauses;
- GPtrArray *var_names;
GArray *var_types;
GHashTable *cached_bindings;
@@ -243,7 +242,6 @@ tracker_sparql_finalize (GObject *object)
g_ptr_array_unref (sparql->named_graphs);
g_ptr_array_unref (sparql->anon_graphs);
- g_ptr_array_unref (sparql->var_names);
g_array_unref (sparql->var_types);
g_free (sparql->base);
@@ -2792,7 +2790,6 @@ tracker_sparql_add_select_var (TrackerSparql *sparql,
{
if (sparql->current_state->select_context == sparql->context) {
/* Topmost select context */
- g_ptr_array_add (sparql->var_names, g_strdup (name));
g_array_append_val (sparql->var_types, type);
} else {
TrackerContext *parent;
@@ -4648,7 +4645,6 @@ get_solution_for_pattern (TrackerSparql *sparql,
return NULL;
cursor = tracker_db_statement_start_sparql_cursor (stmt,
- NULL, 0,
NULL, 0,
error);
g_object_unref (stmt);
@@ -9738,7 +9734,6 @@ tracker_sparql_init (TrackerSparql *sparql)
g_free, g_object_unref);
sparql->parameters = g_hash_table_new_full (g_str_hash, g_str_equal,
g_free, g_object_unref);
- sparql->var_names = g_ptr_array_new_with_free_func (g_free);
sparql->var_types = g_array_new (FALSE, FALSE, sizeof (TrackerPropertyType));
sparql->anon_graphs = g_ptr_array_new_with_free_func (g_free);
sparql->named_graphs = g_ptr_array_new_with_free_func (g_free);
@@ -9931,7 +9926,6 @@ tracker_sparql_reset_state (TrackerSparql *sparql)
g_clear_object (&sparql->context);
g_list_free (sparql->filter_clauses);
sparql->filter_clauses = NULL;
- g_ptr_array_set_size (sparql->var_names, 0);
g_array_set_size (sparql->var_types, 0);
g_hash_table_remove_all (sparql->cached_bindings);
g_hash_table_remove_all (sparql->parameters);
@@ -9948,8 +9942,7 @@ tracker_sparql_execute_cursor (TrackerSparql *sparql,
TrackerDBInterface *iface = NULL;
TrackerDBCursor *cursor = NULL;
TrackerPropertyType *types;
- const gchar * const *names;
- guint n_types, n_names;
+ guint n_types;
g_mutex_lock (&sparql->mutex);
@@ -9999,12 +9992,9 @@ tracker_sparql_execute_cursor (TrackerSparql *sparql,
types = (TrackerPropertyType *) sparql->var_types->data;
n_types = sparql->var_types->len;
- names = (const gchar * const *) sparql->var_names->pdata;
- n_names = sparql->var_names->len;
cursor = tracker_db_statement_start_sparql_cursor (stmt,
types, n_types,
- names, n_names,
error);
g_object_unref (stmt);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]