diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2015-07-04 19:47:04 +0200 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2015-07-04 20:22:10 +0200 |
commit | ef8f130ee2691b70a3abd2eaa0448d29ac27d7cd (patch) | |
tree | 85535beef1efdfab269a25b137663db57cd1c2fd /src/libtracker-fts | |
parent | 19b55f96163118a786c1b764fefa3c863625c275 (diff) | |
download | tracker-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.c | 13 | ||||
-rw-r--r-- | src/libtracker-fts/tracker-fts.h | 3 |
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 |