[tracker/wip/carlosg/forgotten-single-valued-properties: 3/3] libtracker-data: Do not delete full FTS row
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tracker/wip/carlosg/forgotten-single-valued-properties: 3/3] libtracker-data: Do not delete full FTS row
- Date: Tue, 25 May 2021 21:44:23 +0000 (UTC)
commit 8e6ca66b069a94542cb6f20b226173136cbad17f
Author: Carlos Garnacho <carlosg gnome org>
Date: Tue May 25 14:15:43 2021 +0200
libtracker-data: Do not delete full FTS row
This might be nice for an optimization, we however go over all related
classes and properties (incl. FTS) down the path, so it ends up just
being repeated work.
src/libtracker-data/tracker-data-update.c | 2 -
src/libtracker-data/tracker-db-interface-sqlite.c | 57 -----------------------
src/libtracker-data/tracker-db-interface-sqlite.h | 3 --
3 files changed, 62 deletions(-)
---
diff --git a/src/libtracker-data/tracker-data-update.c b/src/libtracker-data/tracker-data-update.c
index e7fb39676..bb7373808 100644
--- a/src/libtracker-data/tracker-data-update.c
+++ b/src/libtracker-data/tracker-data-update.c
@@ -2094,8 +2094,6 @@ cache_delete_resource_type_full (TrackerData *data,
if (!single_type) {
if (strcmp (tracker_class_get_uri (class), TRACKER_PREFIX_RDFS "Resource") == 0 &&
g_hash_table_size (data->resource_buffer->tables) == 0) {
- tracker_db_interface_sqlite_fts_delete_id (iface, database,
data->resource_buffer->id);
- data->resource_buffer->fts_updated = TRUE;
/* skip subclass query when deleting whole resource
to improve performance */
diff --git a/src/libtracker-data/tracker-db-interface-sqlite.c
b/src/libtracker-data/tracker-db-interface-sqlite.c
index fabb1d4aa..c6a50add3 100644
--- a/src/libtracker-data/tracker-db-interface-sqlite.c
+++ b/src/libtracker-data/tracker-db-interface-sqlite.c
@@ -2361,25 +2361,6 @@ tracker_db_interface_sqlite_fts_create_query (TrackerDBInterface *db_interface,
return g_string_free (insert_str, FALSE);
}
-static gchar *
-tracker_db_interface_sqlite_fts_create_delete_all_query (TrackerDBInterface *db_interface,
- const gchar *database)
-{
- GString *insert_str;
-
- insert_str = g_string_new (NULL);
- g_string_append_printf (insert_str,
- "INSERT INTO \"%s\".fts5 (fts5, rowid %s) "
- "SELECT 'delete', rowid %s FROM \"%s\".fts_view "
- "WHERE rowid = ? AND COALESCE(NULL %s) IS NOT NULL",
- database,
- db_interface->fts_properties,
- db_interface->fts_properties,
- database,
- db_interface->fts_properties);
- return g_string_free (insert_str, FALSE);
-}
-
gboolean
tracker_db_interface_sqlite_fts_update_text (TrackerDBInterface *db_interface,
const gchar *database,
@@ -2478,44 +2459,6 @@ tracker_db_interface_sqlite_fts_delete_text (TrackerDBInterface *db_interface,
return TRUE;
}
-gboolean
-tracker_db_interface_sqlite_fts_delete_id (TrackerDBInterface *db_interface,
- const gchar *database,
- int id)
-{
- TrackerDBStatement *stmt;
- GError *error = NULL;
- gchar *query;
-
- query = tracker_db_interface_sqlite_fts_create_delete_all_query (db_interface, database);
- stmt = tracker_db_interface_create_statement (db_interface,
- TRACKER_DB_STATEMENT_CACHE_TYPE_UPDATE,
- &error,
- query);
- g_free (query);
-
- if (!stmt || error) {
- if (error) {
- g_warning ("Could not create FTS delete statement: %s",
- error->message);
- g_error_free (error);
- }
- return FALSE;
- }
-
- tracker_db_statement_bind_int (stmt, 0, id);
- tracker_db_statement_execute (stmt, &error);
- g_object_unref (stmt);
-
- if (error) {
- g_warning ("Could not delete FTS content: %s", error->message);
- g_error_free (error);
- return FALSE;
- }
-
- return TRUE;
-}
-
gboolean
tracker_db_interface_sqlite_fts_rebuild_tokens (TrackerDBInterface *interface,
const gchar *database,
diff --git a/src/libtracker-data/tracker-db-interface-sqlite.h
b/src/libtracker-data/tracker-db-interface-sqlite.h
index 1499a3aca..6659fcd10 100644
--- a/src/libtracker-data/tracker-db-interface-sqlite.h
+++ b/src/libtracker-data/tracker-db-interface-sqlite.h
@@ -82,9 +82,6 @@ gboolean tracker_db_interface_sqlite_fts_delete_text (TrackerD
int rowid,
const gchar **properties,
const gchar **old_text);
-gboolean tracker_db_interface_sqlite_fts_delete_id (TrackerDBInterface *interface,
- const gchar *database,
- int rowid);
gboolean tracker_db_interface_sqlite_fts_rebuild_tokens (TrackerDBInterface *interface,
const gchar *database,
GError **error);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]