[tracker] Fixes NB#157277, Not able to search for files based on a particular tag
- From: Martyn James Russell <mr src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tracker] Fixes NB#157277, Not able to search for files based on a particular tag
- Date: Thu, 18 Feb 2010 12:27:14 +0000 (UTC)
commit 1a6a7813b375efe97625f9a7f45073ae5770eee7
Author: Martyn Russell <martyn lanedo com>
Date: Thu Feb 18 12:26:08 2010 +0000
Fixes NB#157277, Not able to search for files based on a particular tag
Don't use regex matching for searching by tag name, use exact matching
src/tracker-utils/tracker-tag.c | 12 ++++++++----
1 files changed, 8 insertions(+), 4 deletions(-)
---
diff --git a/src/tracker-utils/tracker-tag.c b/src/tracker-utils/tracker-tag.c
index 8c177fa..eb8162d 100644
--- a/src/tracker-utils/tracker-tag.c
+++ b/src/tracker-utils/tracker-tag.c
@@ -148,7 +148,8 @@ get_escaped_sparql_string (const gchar *str)
static gchar *
get_fts_string (GStrv search_words,
gboolean use_or_operator,
- gboolean for_regex)
+ gboolean for_regex,
+ gboolean use_asterisk)
{
GString *fts;
gint i, len;
@@ -162,7 +163,10 @@ get_fts_string (GStrv search_words,
for (i = 0; i < len; i++) {
g_string_append (fts, search_words[i]);
- g_string_append_c (fts, '*');
+
+ if (use_asterisk) {
+ g_string_append_c (fts, '*');
+ }
if (i < len - 1) {
if (for_regex) {
@@ -313,7 +317,7 @@ get_all_tags (TrackerClient *client,
gchar *fts;
gchar *query;
- fts = get_fts_string (files, use_or_operator, TRUE);
+ fts = get_fts_string (files, use_or_operator, TRUE, FALSE);
if (fts) {
query = g_strdup_printf ("SELECT ?tag ?label COUNT(?urns) AS urns "
@@ -323,7 +327,7 @@ get_all_tags (TrackerClient *client,
" OPTIONAL {"
" ?urns nao:hasTag ?tag"
" } ."
- " FILTER regex (?label, \"%s\")"
+ " FILTER (?label = \"%s\")"
"} "
"GROUP BY ?tag "
"ORDER BY ASC(?label) "
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]