[tracker/sam/fts-by-default] Remove no-FTS codepaths



commit 6e5a6ff70f0dac6f969c4ba8eb675da60aec9e52
Author: Sam Thursfield <sam afuera me uk>
Date:   Sun Mar 8 19:09:54 2020 +0100

    Remove no-FTS codepaths
    
    For historical reasons we have a codepath to build without full-text
    search support, mostly useful on systems where the SQLite FTS5 module
    is not available. This module is not difficult to build so in Tracker
    3.0 we'll require it.

 config.h.meson.in                                 |  3 -
 meson.build                                       | 97 ++++++++++-------------
 meson_options.txt                                 |  2 -
 src/libtracker-data/meson.build                   |  4 +-
 src/libtracker-data/tracker-data-manager.c        | 24 ------
 src/libtracker-data/tracker-data-update.c         | 71 -----------------
 src/libtracker-data/tracker-db-interface-sqlite.c | 10 ---
 src/libtracker-data/tracker-db-interface-sqlite.h |  2 -
 src/libtracker-data/tracker-db-manager.c          |  4 -
 tests/meson.build                                 |  7 +-
 10 files changed, 44 insertions(+), 180 deletions(-)
---
diff --git a/config.h.meson.in b/config.h.meson.in
index 8c7f99937..79b7e328f 100644
--- a/config.h.meson.in
+++ b/config.h.meson.in
@@ -78,9 +78,6 @@
 /* Define to 1 if you have the `strnlen' function. */
 #mesondefine HAVE_STRNLEN
 
-/* Define to 0 if tracker FTS is not compiled */
-#mesondefine HAVE_TRACKER_FTS
-
 /* Define if we have UPOWER */
 #mesondefine HAVE_UPOWER
 
diff --git a/meson.build b/meson.build
index fbfb88d7a..0374797f3 100644
--- a/meson.build
+++ b/meson.build
@@ -65,8 +65,6 @@ add_project_arguments(['-D', 'TRACKER_COMPILATION'],
                       ['-D', 'G_LOG_DOMAIN="Tracker"'],
                       language: 'vala')
 
-enable_fts = get_option('fts')
-
 network_manager = dependency('libnm', required: get_option('network_manager'))
 have_network_manager = network_manager.found()
 
@@ -77,63 +75,54 @@ have_network_manager = network_manager.found()
 libstemmer = cc.find_library('stemmer', required: get_option('stemmer'))
 have_libstemmer = libstemmer.found()
 
-##################################################################
-# Check for tracker-fts, allow disabling FTS support
-##################################################################
-
-if enable_fts
-  if meson.is_cross_build() and not meson.has_exe_wrapper()
-    sqlite3_fts5 = meson.get_cross_property('sqlite3_has_fts5')
-       if sqlite3_fts5 == ''
-         error('Please assign an appropriate value for sqlite3_has_fts5 in the [properties] section of your 
crossfile')
-    elif sqlite3_fts5 == 'true'
-         sqlite3_has_builtin_fts5 = true
-    elif sqlite3_fts5 == 'false'
-         sqlite3_has_builtin_fts5 = false
-    else
-               error('Invalid value of sqlite3_has_fts5 property, use \'true\' or \'false\'')
-    endif
+if meson.is_cross_build() and not meson.has_exe_wrapper()
+  sqlite3_fts5 = meson.get_cross_property('sqlite3_has_fts5')
+  if sqlite3_fts5 == ''
+    error('Please assign an appropriate value for sqlite3_has_fts5 in the [properties] section of your 
crossfile')
+  elif sqlite3_fts5 == 'true'
+    sqlite3_has_builtin_fts5 = true
+  elif sqlite3_fts5 == 'false'
+    sqlite3_has_builtin_fts5 = false
   else
-    sqlite3_builtin_fts5_test = '''
-      #include <sqlite3.h>
-
-      int main (int argc, char *argv[]) {
-        sqlite3 *db;
-        int rc;
-        rc = sqlite3_open(":memory:", &db);
-        if (rc!=SQLITE_OK) return -1;
-        rc = sqlite3_exec(db, "create table a(text)", 0, 0, 0);
-        if (rc!=SQLITE_OK) return -1;
-        rc = sqlite3_exec(db, "create virtual table t using fts5(content='a',text)", 0, 0, 0);
-        if (rc!=SQLITE_OK) return -1;
-      }
-    '''
-
-    result = cc.run(sqlite3_builtin_fts5_test,
-      name: 'sqlite3 has builtin FTS5 module',
-      dependencies: sqlite)
-
-    if not result.compiled()
-      error('Failed to compile SQLite FTS test.')
-    endif
-
-    if result.returncode() == 0
-      sqlite3_has_builtin_fts5 = true
-    else
-      sqlite3_has_builtin_fts5 = false
-    endif
+    error('Invalid value of sqlite3_has_fts5 property, use \'true\' or \'false\'')
+  endif
+else
+  sqlite3_builtin_fts5_test = '''
+    #include <sqlite3.h>
+
+    int main (int argc, char *argv[]) {
+      sqlite3 *db;
+      int rc;
+      rc = sqlite3_open(":memory:", &db);
+      if (rc!=SQLITE_OK) return -1;
+      rc = sqlite3_exec(db, "create table a(text)", 0, 0, 0);
+      if (rc!=SQLITE_OK) return -1;
+      rc = sqlite3_exec(db, "create virtual table t using fts5(content='a',text)", 0, 0, 0);
+      if (rc!=SQLITE_OK) return -1;
+    }
+  '''
+
+  result = cc.run(sqlite3_builtin_fts5_test,
+    name: 'sqlite3 has builtin FTS5 module',
+    dependencies: sqlite)
+
+  if not result.compiled()
+    error('Failed to compile SQLite FTS test.')
   endif
 
-  if sqlite3_has_builtin_fts5
-    message('Using sqlite3 builtin FTS module')
-  elif sqlite.version().version_compare('>= 3.20.0')
-    error('FTS support was enabled but SQLite doesn\'t have the FTS module built in')
+  if result.returncode() == 0
+    sqlite3_has_builtin_fts5 = true
   else
-    message('sqlite3 is older than version 3.20.0, using FTS module that is bundled with Tracker')
+    sqlite3_has_builtin_fts5 = false
   endif
+endif
 
+if sqlite3_has_builtin_fts5
+  message('Using sqlite3 builtin FTS module')
+elif sqlite.version().version_compare('>= 3.20.0')
+  error('FTS support was enabled but SQLite doesn\'t have the FTS module built in')
 else
-  sqlite3_has_builtin_fts5 = false
+  message('sqlite3 is older than version 3.20.0, using FTS module that is bundled with Tracker')
 endif
 
 ##################################################################
@@ -196,7 +185,6 @@ endif
 conf = configuration_data()
 
 # Config that goes in config.h
-conf.set10('HAVE_TRACKER_FTS', enable_fts)
 
 conf.set('HAVE_BUILTIN_FTS', sqlite3_has_builtin_fts5)
 conf.set('HAVE_LIBICU', unicode_library_name == 'icu')
@@ -316,8 +304,7 @@ summary = [
   '\nFeature Support:',
   '    Support for network status detection:   ' + have_network_manager.to_string(),
   '    Unicode support library:                ' + unicode_library_name,
-  '    Build with SQLite FTS support:          @0@ (built-in FTS: @1@)'.format(
-     get_option('fts'), sqlite3_has_builtin_fts5),
+  '    Use external FTS module:                ' + (not sqlite3_has_builtin_fts5).to_string(),
   '    Build with Stemming support:            ' + have_libstemmer.to_string(),
 ]
 
diff --git a/meson_options.txt b/meson_options.txt
index e29aaaa84..04ecfb953 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -1,7 +1,5 @@
 option('docs', type: 'boolean', value: false, yield: true,
        description: 'Generate API documentation with gtk-doc')
-option('fts', type: 'boolean', value: true,
-       description: 'Enable the Tracker full-text search feature')
 option('man', type: 'boolean', value: true, yield: true,
        description: 'Install man pages')
 option('override_sqlite_version_check', type: 'boolean', value: false,
diff --git a/src/libtracker-data/meson.build b/src/libtracker-data/meson.build
index d93fa1122..58e38f607 100644
--- a/src/libtracker-data/meson.build
+++ b/src/libtracker-data/meson.build
@@ -33,9 +33,7 @@ tracker_data_dependencies = [
     tracker_common_dep, gvdb_dep, sqlite,
 ]
 
-if get_option('fts')
-    tracker_data_dependencies += tracker_fts_dep
-endif
+tracker_data_dependencies += tracker_fts_dep
 
 libtracker_data = library('tracker-data',
     'tracker-class.c',
diff --git a/src/libtracker-data/tracker-data-manager.c b/src/libtracker-data/tracker-data-manager.c
index e479b44bd..a0bc8e863 100644
--- a/src/libtracker-data/tracker-data-manager.c
+++ b/src/libtracker-data/tracker-data-manager.c
@@ -30,9 +30,7 @@
 
 #include <glib/gstdio.h>
 
-#if HAVE_TRACKER_FTS
 #include <libtracker-fts/tracker-fts.h>
-#endif
 
 #include <libtracker-common/tracker-locale.h>
 
@@ -130,12 +128,10 @@ enum {
        N_PROPS
 };
 
-#if HAVE_TRACKER_FTS
 static gboolean tracker_data_manager_fts_changed (TrackerDataManager *manager);
 static void tracker_data_manager_update_fts (TrackerDataManager *manager,
                                              TrackerDBInterface *iface,
                                             const gchar        *database);
-#endif
 
 static void tracker_data_manager_initable_iface_init (GInitableIface *iface);
 
@@ -3771,7 +3767,6 @@ load_ontologies_gvdb (TrackerDataManager  *manager,
        g_free (filename);
 }
 
-#if HAVE_TRACKER_FTS
 static gboolean
 tracker_data_manager_fts_changed (TrackerDataManager *manager)
 {
@@ -3898,7 +3893,6 @@ tracker_data_manager_update_fts (TrackerDataManager *manager,
        g_hash_table_unref (fts_properties);
        g_hash_table_unref (multivalued);
 }
-#endif
 
 GFile *
 tracker_data_manager_get_cache_location (TrackerDataManager *manager)
@@ -3987,15 +3981,11 @@ tracker_data_manager_initialize_iface (TrackerDataManager  *data_manager,
                                return FALSE;
                        }
 
-#if HAVE_TRACKER_FTS
                        tracker_data_manager_init_fts (data_manager, iface, value, FALSE);
-#endif
                }
        }
 
-#if HAVE_TRACKER_FTS
        tracker_data_manager_init_fts (data_manager, iface, "main", FALSE);
-#endif
 
        return TRUE;
 }
@@ -4247,9 +4237,7 @@ tracker_data_manager_initable_init (GInitable     *initable,
                        return FALSE;
                }
 
-#if HAVE_TRACKER_FTS
                tracker_data_manager_init_fts (manager, iface, "main", TRUE);
-#endif
 
                tracker_data_manager_initialize_iface (manager, iface, &internal_error);
                if (internal_error) {
@@ -4582,14 +4570,12 @@ tracker_data_manager_initable_init (GInitable     *initable,
 
                        if (!ontology_error) {
                                /* Perform ALTER-TABLE and CREATE-TABLE calls for all that are is_new */
-#if HAVE_TRACKER_FTS
                                gboolean update_fts;
 
                                update_fts = tracker_data_manager_fts_changed (manager);
 
                                if (update_fts)
                                        tracker_db_interface_sqlite_fts_delete_table (iface, "main");
-#endif
 
                                tracker_data_ontology_setup_db (manager, iface, "main", TRUE,
                                                                &ontology_error);
@@ -4603,34 +4589,28 @@ tracker_data_manager_initable_init (GInitable     *initable,
                                        g_hash_table_iter_init (&iter, graphs);
 
                                        while (g_hash_table_iter_next (&iter, &value, NULL)) {
-#if HAVE_TRACKER_FTS
                                                if (update_fts)
                                                        tracker_db_interface_sqlite_fts_delete_table (iface, 
value);
-#endif
 
                                                tracker_data_ontology_setup_db (manager, iface, value, TRUE,
                                                                                &ontology_error);
                                                if (ontology_error)
                                                        break;
 
-#if HAVE_TRACKER_FTS
                                                if (update_fts) {
                                                        tracker_data_manager_update_fts (manager, iface, 
value);
                                                } else {
                                                        tracker_data_manager_init_fts (manager, iface, value, 
FALSE);
                                                }
-#endif
                                        }
                                }
 
                                if (!ontology_error) {
-#if HAVE_TRACKER_FTS
                                        if (update_fts) {
                                                tracker_data_manager_update_fts (manager, iface, "main");
                                        } else {
                                                tracker_data_manager_init_fts (manager, iface, "main", FALSE);
                                        }
-#endif
                                }
 
                                if (!ontology_error) {
@@ -4739,11 +4719,9 @@ skip_ontology_check:
 
                tracker_db_manager_set_current_locale (manager->db_manager);
 
-#if HAVE_TRACKER_FTS
                rebuild_fts_tokens (manager, iface);
        } else if (!read_only && tracker_db_manager_get_tokenizer_changed (manager->db_manager)) {
                rebuild_fts_tokens (manager, iface);
-#endif
        }
 
        if (!read_only) {
@@ -4975,9 +4953,7 @@ tracker_data_manager_create_graph (TrackerDataManager  *manager,
                                             FALSE, error))
                goto detach;
 
-#if HAVE_TRACKER_FTS
        tracker_data_manager_init_fts (manager, iface, name, TRUE);
-#endif
 
        id = tracker_data_ensure_graph (manager->data_update, name, error);
        if (id == 0)
diff --git a/src/libtracker-data/tracker-data-update.c b/src/libtracker-data/tracker-data-update.c
index e9b9f4ec1..64ebee694 100644
--- a/src/libtracker-data/tracker-data-update.c
+++ b/src/libtracker-data/tracker-data-update.c
@@ -54,9 +54,7 @@ struct _TrackerDataUpdateBuffer {
        /* string -> TrackerDataUpdateBufferGraph */
        GPtrArray *graphs;
 
-#if HAVE_TRACKER_FTS
        gboolean fts_ever_updated;
-#endif
 };
 
 struct _TrackerDataUpdateBufferGraph {
@@ -80,9 +78,7 @@ struct _TrackerDataUpdateBufferResource {
        /* TrackerClass */
        GPtrArray *types;
 
-#if HAVE_TRACKER_FTS
        gboolean fts_updated;
-#endif
 };
 
 struct _TrackerDataUpdateBufferProperty {
@@ -90,9 +86,7 @@ struct _TrackerDataUpdateBufferProperty {
        GValue value;
        guint date_time : 1;
 
-#if HAVE_TRACKER_FTS
        guint fts : 1;
-#endif
 };
 
 struct _TrackerDataUpdateBufferTable {
@@ -599,9 +593,7 @@ cache_insert_value (TrackerData *data,
 
        g_value_init (&property.value, G_VALUE_TYPE (value));
        g_value_copy (value, &property.value);
-#if HAVE_TRACKER_FTS
        property.fts = fts;
-#endif
        property.date_time = date_time;
 
        table = cache_ensure_table (data, table_name, multiple_values);
@@ -635,9 +627,7 @@ cache_delete_value (TrackerData *data,
 
        g_value_init (&property.value, G_VALUE_TYPE (value));
        g_value_copy (value, &property.value);
-#if HAVE_TRACKER_FTS
        property.fts = fts;
-#endif
        property.date_time = date_time;
 
        table = cache_ensure_table (data, table_name, multiple_values);
@@ -963,7 +953,6 @@ tracker_data_resource_buffer_flush (TrackerData                      *data,
                }
        }
 
-#if HAVE_TRACKER_FTS
        if (resource->fts_updated) {
                TrackerProperty *prop;
                GArray *values;
@@ -1006,7 +995,6 @@ tracker_data_resource_buffer_flush (TrackerData                      *data,
                        g_ptr_array_free (text, TRUE);
                }
        }
-#endif
 }
 
 static void
@@ -1081,9 +1069,7 @@ tracker_data_update_buffer_clear (TrackerData *data)
        g_hash_table_remove_all (data->update_buffer.resource_cache);
        data->resource_buffer = NULL;
 
-#if HAVE_TRACKER_FTS
        data->update_buffer.fts_ever_updated = FALSE;
-#endif
 }
 
 static void
@@ -1369,12 +1355,10 @@ get_old_property_values (TrackerData      *data,
                          GError          **error)
 {
        GArray *old_values;
-#if HAVE_TRACKER_FTS
        const gchar *database;
 
        database = data->resource_buffer->graph->graph ?
                data->resource_buffer->graph->graph : "main";
-#endif
 
        /* read existing property values */
        old_values = g_hash_table_lookup (data->resource_buffer->predicates, property);
@@ -1388,7 +1372,6 @@ get_old_property_values (TrackerData      *data,
                        return NULL;
                }
 
-#if HAVE_TRACKER_FTS
                if (tracker_property_get_fulltext_indexed (property)) {
                        TrackerDBInterface *iface;
 
@@ -1458,9 +1441,6 @@ get_old_property_values (TrackerData      *data,
                } else {
                        old_values = get_property_values (data, property);
                }
-#else
-               old_values = get_property_values (data, property);
-#endif
        }
 
        return old_values;
@@ -1933,9 +1913,7 @@ 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) {
-#if HAVE_TRACKER_FTS
                        tracker_db_interface_sqlite_fts_delete_id (iface, database, 
data->resource_buffer->id);
-#endif
                        /* skip subclass query when deleting whole resource
                           to improve performance */
 
@@ -2199,9 +2177,7 @@ resource_buffer_switch (TrackerData  *data,
                } else {
                        resource_buffer->id = ensure_resource_id (data, resource_buffer->subject, 
&resource_buffer->create);
                }
-#if HAVE_TRACKER_FTS
                resource_buffer->fts_updated = FALSE;
-#endif
                if (resource_buffer->create) {
                        resource_buffer->types = g_ptr_array_new ();
                } else {
@@ -2655,7 +2631,6 @@ tracker_data_update_statement_with_uri (TrackerData  *data,
 
                multiple_values = tracker_property_get_multiple_values (property);
 
-#if HAVE_TRACKER_FTS
                /* This is unavoidable with FTS */
                /* This does a check_property_domain too */
                old_values = get_old_property_values (data, property, &new_error);
@@ -2672,39 +2647,6 @@ tracker_data_update_statement_with_uri (TrackerData  *data,
                        g_propagate_error (error, new_error);
                        return;
                }
-#else
-               /* We can disable correct object-id for deletes array here */
-               if (!multiple_values) {
-                       guint r;
-
-                       for (r = 0; r < data->resource_buffer->types->len; r++) {
-                               TrackerClass *m_class = g_ptr_array_index (data->resource_buffer->types, r);
-
-                               /* We only do the old_values for GraphUpdated in tracker-store.
-                                * The subject's known classes are in resource_buffer->types
-                                * since resource_buffer_switch, so we can quickly check if any
-                                * of them has tracker:notify annotated. If so, get the old
-                                * values for the old_object_id */
-
-                               if (tracker_class_get_notify (m_class)) {
-                                       /* This does a check_property_domain too */
-                                       old_values = get_old_property_values (data, property, &new_error);
-                                       domain_unchecked = FALSE;
-                                       if (!new_error) {
-                                               if (old_values->len > 0) {
-                                                       /* evel knievel cast */
-                                                       old_object_id = (gint) g_value_get_int64 
(g_value_array_get_nth (old_values, 0));
-                                               }
-                                       } else {
-                                               g_propagate_error (error, new_error);
-                                               return;
-                                       }
-
-                                       break;
-                               }
-                       }
-               }
-#endif /* HAVE_TRACKER_FTS */
 
                if (domain_unchecked && !check_property_domain (data, property)) {
                        g_set_error (error, TRACKER_SPARQL_ERROR, TRACKER_SPARQL_ERROR_CONSTRAINT,
@@ -2815,23 +2757,12 @@ tracker_data_update_statement_with_string (TrackerData  *data,
        if (!resource_buffer_switch (data, graph, subject, 0, error))
                return;
 
-#if HAVE_TRACKER_FTS
        /* This is unavoidable with FTS */
        get_old_property_values (data, property, &new_error);
        if (new_error) {
                g_propagate_error (error, new_error);
                return;
        }
-#else
-       if (!check_property_domain (data, property)) {
-               g_set_error (error, TRACKER_SPARQL_ERROR, TRACKER_SPARQL_ERROR_CONSTRAINT,
-                            "Subject `%s' is not in domain `%s' of property `%s'",
-                            data->resource_buffer->subject,
-                            tracker_class_get_name (tracker_property_get_domain (property)),
-                            tracker_property_get_name (property));
-               return;
-       }
-#endif /* HAVE_TRACKER_FTS */
 
        bytes_to_gvalue (object, tracker_property_get_data_type (property), &object_value, data, &new_error);
        if (new_error) {
@@ -3028,11 +2959,9 @@ tracker_data_commit_transaction (TrackerData  *data,
        data->in_transaction = FALSE;
        data->in_ontology_transaction = FALSE;
 
-#if HAVE_TRACKER_FTS
        if (data->update_buffer.fts_ever_updated) {
                data->update_buffer.fts_ever_updated = FALSE;
        }
-#endif
 
        tracker_db_interface_execute_query (iface, NULL, "PRAGMA cache_size = %d", 
TRACKER_DB_CACHE_SIZE_DEFAULT);
 
diff --git a/src/libtracker-data/tracker-db-interface-sqlite.c 
b/src/libtracker-data/tracker-db-interface-sqlite.c
index 3dbfcc233..b57c3a8b3 100644
--- a/src/libtracker-data/tracker-db-interface-sqlite.c
+++ b/src/libtracker-data/tracker-db-interface-sqlite.c
@@ -33,9 +33,7 @@
 #include <libtracker-sparql/tracker-sparql.h>
 #include <libtracker-sparql/tracker-private.h>
 
-#if HAVE_TRACKER_FTS
 #include <libtracker-fts/tracker-fts.h>
-#endif
 
 
 #ifdef HAVE_LIBUNISTRING
@@ -2071,7 +2069,6 @@ close_database (TrackerDBInterface *db_interface)
        }
 }
 
-#if HAVE_TRACKER_FTS
 static gchar **
 _fts_create_properties (GHashTable *properties)
 {
@@ -2099,7 +2096,6 @@ _fts_create_properties (GHashTable *properties)
 
        return (gchar **) g_ptr_array_free (cols, FALSE);
 }
-#endif
 
 void
 tracker_db_interface_sqlite_fts_init (TrackerDBInterface  *db_interface,
@@ -2108,7 +2104,6 @@ tracker_db_interface_sqlite_fts_init (TrackerDBInterface  *db_interface,
                                       GHashTable          *multivalued,
                                       gboolean             create)
 {
-#if HAVE_TRACKER_FTS
        GStrv fts_columns;
 
        tracker_fts_init_db (db_interface->db, db_interface, db_interface->flags, properties);
@@ -2137,11 +2132,8 @@ tracker_db_interface_sqlite_fts_init (TrackerDBInterface  *db_interface,
                                                              FALSE);
                g_strfreev (fts_columns);
        }
-#endif
 }
 
-#if HAVE_TRACKER_FTS
-
 void
 tracker_db_interface_sqlite_fts_delete_table (TrackerDBInterface *db_interface,
                                               const gchar        *database)
@@ -2348,8 +2340,6 @@ tracker_db_interface_sqlite_fts_rebuild_tokens (TrackerDBInterface *interface,
        tracker_fts_rebuild_tokens (interface->db, database, "fts5");
 }
 
-#endif
-
 void
 tracker_db_interface_sqlite_reset_collator (TrackerDBInterface *db_interface)
 {
diff --git a/src/libtracker-data/tracker-db-interface-sqlite.h 
b/src/libtracker-data/tracker-db-interface-sqlite.h
index 9655f1999..517dea506 100644
--- a/src/libtracker-data/tracker-db-interface-sqlite.h
+++ b/src/libtracker-data/tracker-db-interface-sqlite.h
@@ -64,7 +64,6 @@ gboolean            tracker_db_interface_sqlite_wal_checkpoint         (TrackerD
 gboolean            tracker_db_interface_init_vtabs                    (TrackerDBInterface       *interface,
                                                                         TrackerOntologies        
*ontologies);
 
-#if HAVE_TRACKER_FTS
 void                tracker_db_interface_sqlite_fts_delete_table       (TrackerDBInterface       *interface,
                                                                         const gchar              *database);
 
@@ -89,7 +88,6 @@ gboolean            tracker_db_interface_sqlite_fts_delete_id          (TrackerD
 void                tracker_db_interface_sqlite_fts_rebuild_tokens     (TrackerDBInterface       *interface,
                                                                         const gchar              *database);
 
-#endif
 
 gboolean            tracker_db_interface_attach_database               (TrackerDBInterface       
*db_interface,
                                                                         GFile                    *file,
diff --git a/src/libtracker-data/tracker-db-manager.c b/src/libtracker-data/tracker-db-manager.c
index 46bdea4a9..8292673aa 100644
--- a/src/libtracker-data/tracker-db-manager.c
+++ b/src/libtracker-data/tracker-db-manager.c
@@ -36,10 +36,6 @@
 #include <libtracker-common/tracker-common.h>
 #include <libtracker-common/tracker-parser.h>
 
-#if HAVE_TRACKER_FTS
-#include <libtracker-fts/tracker-fts.h>
-#endif
-
 #include "tracker-db-manager.h"
 #include "tracker-db-interface-sqlite.h"
 #include "tracker-db-interface.h"
diff --git a/tests/meson.build b/tests/meson.build
index 602427fba..de12a4ae6 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -5,13 +5,8 @@ subdir('common')
 subdir('gvdb')
 subdir('libtracker-common')
 subdir('libtracker-data')
-
-if enable_fts
-  subdir('libtracker-fts')
-endif
-
+subdir('libtracker-fts')
 subdir('libtracker-sparql')
-
 subdir('functional-tests')
 
 foreach t: tests


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]