#define SEARCH_QUERY SEARCH_QUERY_BASE("")
#define SEARCH_RECURSIVE_QUERY SEARCH_QUERY_BASE("FILTER (STRSTARTS (?url, CONCAT (~location, '/')))")
-#define SEARCH_LOCATION_QUERY SEARCH_QUERY_BASE("?urn nfo:belongsToContainer/nie:isStoredAs/nie:url ~location")
struct _GtkSearchEngineTracker3
{
TrackerSparqlConnection *sparql_conn;
TrackerSparqlStatement *search_query;
TrackerSparqlStatement *search_recursive_query;
- TrackerSparqlStatement *search_location_query;
GCancellable *cancellable;
guint idle_id;
GtkQuery *query;
g_clear_handle_id (&engine->idle_id, g_source_remove);
g_clear_object (&engine->search_query);
- g_clear_object (&engine->search_location_query);
+ g_clear_object (&engine->search_recursive_query);
+
if (engine->sparql_conn != NULL)
{
tracker_sparql_connection_close (engine->sparql_conn);
const char *search_text;
char *match;
GFile *location;
- gboolean recursive;
tracker = GTK_SEARCH_ENGINE_TRACKER3 (engine);
tracker->query_pending = TRUE;
search_text = gtk_query_get_text (tracker->query);
location = gtk_query_get_location (tracker->query);
- recursive = TRUE;
if (location)
{
char *location_uri = g_file_get_uri (location);
- if (recursive)
- {
- g_debug ("Recursive search query in location: %s", location_uri);
- statement = tracker->search_recursive_query;
- }
- else
- {
- g_debug ("Search query in location: %s", location_uri);
- statement = tracker->search_location_query;
- }
+ g_debug ("Recursive search query in location: %s", location_uri);
+ statement = tracker->search_recursive_query;
tracker_sparql_statement_bind_string (statement,
"location",
if (!engine->search_recursive_query)
return FALSE;
- engine->search_location_query =
- tracker_sparql_connection_query_statement (engine->sparql_conn,
- SEARCH_LOCATION_QUERY,
- cancellable,
- error);
- if (!engine->search_location_query)
- return FALSE;
-
return TRUE;
}