summaryrefslogtreecommitdiff
path: root/src/libtracker-fts
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2015-07-04 19:47:04 +0200
committerCarlos Garnacho <carlosg@gnome.org>2015-07-04 20:22:10 +0200
commitef8f130ee2691b70a3abd2eaa0448d29ac27d7cd (patch)
tree85535beef1efdfab269a25b137663db57cd1c2fd /src/libtracker-fts
parent19b55f96163118a786c1b764fefa3c863625c275 (diff)
downloadtracker-ef8f130ee2691b70a3abd2eaa0448d29ac27d7cd.tar.gz
tracker-fts: Add method to rebuild the FTS tokens
This may be useful on locale changes or tokenizer updates, as our FTS table uses external content (the fts_view view we create for that purpose), All text content is external to it, so we can safely rebuild all tokens from scratch.
Diffstat (limited to 'src/libtracker-fts')
-rw-r--r--src/libtracker-fts/tracker-fts.c13
-rw-r--r--src/libtracker-fts/tracker-fts.h3
2 files changed, 15 insertions, 1 deletions
diff --git a/src/libtracker-fts/tracker-fts.c b/src/libtracker-fts/tracker-fts.c
index dc47bae0d..a385d6cc1 100644
--- a/src/libtracker-fts/tracker-fts.c
+++ b/src/libtracker-fts/tracker-fts.c
@@ -387,3 +387,16 @@ tracker_fts_alter_table (sqlite3 *db,
return TRUE;
}
+
+void
+tracker_fts_rebuild_tokens (sqlite3 *db,
+ const gchar *table_name)
+{
+ gchar *query;
+
+ /* This special query rebuilds the tokens in the given FTS table */
+ query = g_strdup_printf ("INSERT INTO %s(%s) VALUES('rebuild')",
+ table_name, table_name);
+ sqlite3_exec(db, query, NULL, 0, NULL);
+ g_free (query);
+}
diff --git a/src/libtracker-fts/tracker-fts.h b/src/libtracker-fts/tracker-fts.h
index fb4e8044d..945338e8d 100644
--- a/src/libtracker-fts/tracker-fts.h
+++ b/src/libtracker-fts/tracker-fts.h
@@ -40,7 +40,8 @@ gboolean tracker_fts_alter_table (sqlite3 *db,
gchar *table_name,
GHashTable *tables,
GHashTable *grouped_columns);
-
+void tracker_fts_rebuild_tokens (sqlite3 *db,
+ const gchar *table_name);
G_END_DECLS