[tracker] Use property functions instead of OPTIONAL in tracker-search queries.
- From: Carlos Garnacho <carlosg src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [tracker] Use property functions instead of OPTIONAL in tracker-search queries.
- Date: Thu, 4 Feb 2010 11:08:09 +0000 (UTC)
commit 19c2b89fdbc74329b8177ac1f56f7149730474bc
Author: Carlos Garnacho <carlos lanedo com>
Date: Thu Feb 4 12:04:08 2010 +0100
Use property functions instead of OPTIONAL in tracker-search queries.
This performs quite faster with the current DB backend.
src/tracker-utils/tracker-search.c | 60 +++++++----------------------------
1 files changed, 12 insertions(+), 48 deletions(-)
---
diff --git a/src/tracker-utils/tracker-search.c b/src/tracker-utils/tracker-search.c
index 32625fb..b0d9643 100644
--- a/src/tracker-utils/tracker-search.c
+++ b/src/tracker-utils/tracker-search.c
@@ -235,13 +235,10 @@ get_document_files (TrackerClient *client,
fts = get_fts_string (search_terms, use_or_operator);
if (fts) {
- query = g_strdup_printf ("SELECT ?document ?uri "
+ query = g_strdup_printf ("SELECT ?document nie:url(?document) "
"WHERE { "
" ?document a nfo:Document ."
" ?document fts:match \"%s\" . "
- " OPTIONAL { "
- " ?document nie:url ?uri "
- " } "
"} "
"ORDER BY ASC(?document) "
"OFFSET %d "
@@ -250,12 +247,9 @@ get_document_files (TrackerClient *client,
search_offset,
search_limit);
} else {
- query = g_strdup_printf ("SELECT ?document ?uri "
+ query = g_strdup_printf ("SELECT ?document nie:url(?document) "
"WHERE { "
" ?document a nfo:Document . "
- " OPTIONAL { "
- " ?document nie:url ?uri "
- " } "
"} "
"ORDER BY ASC(?document) "
"OFFSET %d "
@@ -285,13 +279,10 @@ get_video_files (TrackerClient *client,
fts = get_fts_string (search_terms, use_or_operator);
if (fts) {
- query = g_strdup_printf ("SELECT ?video ?uri "
+ query = g_strdup_printf ("SELECT ?video nie:url(?video) "
"WHERE { "
" ?video a nfo:Video ."
" ?video fts:match \"%s\" . "
- " OPTIONAL { "
- " ?video nie:url ?uri "
- " } "
"} "
"ORDER BY ASC(?video) "
"OFFSET %d "
@@ -300,12 +291,9 @@ get_video_files (TrackerClient *client,
search_offset,
search_limit);
} else {
- query = g_strdup_printf ("SELECT ?video ?uri "
+ query = g_strdup_printf ("SELECT ?video nie:url(?video) "
"WHERE { "
" ?video a nfo:Video . "
- " OPTIONAL { "
- " ?video nie:url ?uri "
- " } "
"} "
"ORDER BY ASC(?video) "
"OFFSET %d "
@@ -335,13 +323,10 @@ get_image_files (TrackerClient *client,
fts = get_fts_string (search_terms, use_or_operator);
if (fts) {
- query = g_strdup_printf ("SELECT ?image ?uri "
+ query = g_strdup_printf ("SELECT ?image nie:url(?image) "
"WHERE { "
" ?image a nfo:Image ."
" ?image fts:match \"%s\" . "
- " OPTIONAL { "
- " ?image nie:url ?uri "
- " } "
"} "
"ORDER BY ASC(?image) "
"OFFSET %d "
@@ -350,12 +335,9 @@ get_image_files (TrackerClient *client,
search_offset,
search_limit);
} else {
- query = g_strdup_printf ("SELECT ?image ?uri "
+ query = g_strdup_printf ("SELECT ?image nie:url(?image) "
"WHERE { "
" ?image a nfo:Image . "
- " OPTIONAL { "
- " ?image nie:url ?uri "
- " } "
"} "
"ORDER BY ASC(?image) "
"OFFSET %d "
@@ -385,13 +367,10 @@ get_music_files (TrackerClient *client,
fts = get_fts_string (search_terms, use_or_operator);
if (fts) {
- query = g_strdup_printf ("SELECT ?song ?uri "
+ query = g_strdup_printf ("SELECT ?song nie:url(?song) "
"WHERE { "
" ?song a nmm:MusicPiece . "
" ?song fts:match \"%s\" . "
- " OPTIONAL { "
- " ?song nie:url ?uri "
- " } "
"} "
"ORDER BY ASC(?song) "
"OFFSET %d "
@@ -400,12 +379,9 @@ get_music_files (TrackerClient *client,
search_offset,
search_limit);
} else {
- query = g_strdup_printf ("SELECT ?song ?uri "
+ query = g_strdup_printf ("SELECT ?song nie:url(?song) "
"WHERE { "
" ?song a nmm:MusicPiece . "
- " OPTIONAL { "
- " ?song nie:url ?uri "
- " } "
"} "
"ORDER BY ASC(?song) "
"OFFSET %d "
@@ -631,13 +607,10 @@ get_files (TrackerClient *client,
fts = get_fts_string (search_terms, use_or_operator);
if (fts) {
- query = g_strdup_printf ("SELECT ?u ?uri "
+ query = g_strdup_printf ("SELECT ?u nie:url(?u) "
"WHERE { "
" ?u a nie:InformationElement ."
" ?u fts:match \"%s\" . "
- " OPTIONAL { "
- " ?u nie:url ?uri "
- " } "
"} "
"ORDER BY ASC(?u) "
"OFFSET %d "
@@ -646,12 +619,9 @@ get_files (TrackerClient *client,
search_offset,
search_limit);
} else {
- query = g_strdup_printf ("SELECT ?u ?uri "
+ query = g_strdup_printf ("SELECT ?u nie:url(?u) "
"WHERE { "
" ?u a nie:InformationElement . "
- " OPTIONAL { "
- " ?u nie:url ?uri "
- " } "
"} "
"ORDER BY ASC(?u) "
"OFFSET %d "
@@ -681,13 +651,10 @@ get_folders (TrackerClient *client,
fts = get_fts_string (search_terms, use_or_operator);
if (fts) {
- query = g_strdup_printf ("SELECT ?u ?uri "
+ query = g_strdup_printf ("SELECT ?u nie:url(?u) "
"WHERE { "
" ?u a nfo:Folder ."
" ?u fts:match \"%s\" "
- " OPTIONAL { "
- " ?u nie:url ?uri "
- " } "
"} "
"ORDER BY ASC(?u) "
"OFFSET %d "
@@ -696,12 +663,9 @@ get_folders (TrackerClient *client,
search_offset,
search_limit);
} else {
- query = g_strdup_printf ("SELECT ?u ?uri "
+ query = g_strdup_printf ("SELECT ?u nie:url(?u) "
"WHERE { "
" ?u a nfo:Folder . "
- " OPTIONAL { "
- " ?u nie:url ?uri "
- " } "
"} "
"ORDER BY ASC(?u) "
"OFFSET %d "
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]