[tracker] libtracker-data: Trigger rebuild of FTS tokens on parser changes
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tracker] libtracker-data: Trigger rebuild of FTS tokens on parser changes
- Date: Sat, 4 Jul 2015 18:23:41 +0000 (UTC)
commit 6a1dd9ca1776ef1c2c328f688fa7f55e2f19b5c6
Author: Carlos Garnacho <carlosg gnome org>
Date: Sat Jul 4 20:01:19 2015 +0200
libtracker-data: Trigger rebuild of FTS tokens on parser changes
Whenever there's a change in the implementation of our tokenizers, we'll
trigger a rebuild of the FTS table. This allows for live updates to our
tokenizers without the need to redo the database from scratch.
The FTS rebuild is also triggered on locale changes.
src/libtracker-data/tracker-data-manager.c | 20 ++++++++++++++++++++
1 files changed, 20 insertions(+), 0 deletions(-)
---
diff --git a/src/libtracker-data/tracker-data-manager.c b/src/libtracker-data/tracker-data-manager.c
index abbd673..62acf61 100644
--- a/src/libtracker-data/tracker-data-manager.c
+++ b/src/libtracker-data/tracker-data-manager.c
@@ -3658,6 +3658,20 @@ ontology_get_fts_properties (gboolean only_new,
return has_new;
}
+
+static void
+rebuild_fts_tokens (TrackerDBInterface *iface,
+ gboolean creating_db)
+{
+ if (!creating_db) {
+ g_debug ("Rebuilding FTS tokens, this may take a moment...");
+ tracker_db_interface_sqlite_fts_rebuild_tokens (iface);
+ g_debug ("FTS tokens rebuilt");
+ }
+
+ /* Update the stamp file */
+ tracker_db_manager_tokenizer_update ();
+}
#endif
gboolean
@@ -4638,6 +4652,12 @@ tracker_data_manager_init (TrackerDBManagerFlags flags,
}
tracker_db_manager_set_current_locale ();
+
+#if HAVE_TRACKER_FTS
+ rebuild_fts_tokens (iface, is_first_time_index);
+ } else if (!read_only && tracker_db_manager_get_tokenizer_changed ()) {
+ rebuild_fts_tokens (iface, is_first_time_index);
+#endif
}
if (!read_only) {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]