[rygel] Revert "media-export: Try to prevent full table scan"



commit 9d86e943b7bfce911b9cac03222e7612d4a1cd57
Author: Jens Georg <mail jensge org>
Date:   Mon Jan 3 20:32:04 2011 +0100

    Revert "media-export: Try to prevent full table scan"
    
    This reverts commit a409ed3b95c89193a0266b29e3600bd9d5943ff1.

 .../rygel-media-export-media-cache.vala            |    4 ++--
 .../rygel-media-export-sql-factory.vala            |    7 +++----
 2 files changed, 5 insertions(+), 6 deletions(-)
---
diff --git a/src/plugins/media-export/rygel-media-export-media-cache.vala b/src/plugins/media-export/rygel-media-export-media-cache.vala
index cd6c7ed..554caa6 100644
--- a/src/plugins/media-export/rygel-media-export-media-cache.vala
+++ b/src/plugins/media-export/rygel-media-export-media-cache.vala
@@ -221,7 +221,7 @@ public class Rygel.MediaExport.MediaCache : Object {
                                          out uint          total_matches)
                                          throws Error {
         var args = new GLib.ValueArray (0);
-        var filter = this.translate_search_expression (expression, args, "");
+        var filter = this.translate_search_expression (expression, args);
 
         if (expression != null) {
             debug ("Original search: %s", expression.to_string ());
@@ -249,7 +249,7 @@ public class Rygel.MediaExport.MediaCache : Object {
                                          string            container_id)
                                          throws Error {
         var args = new GLib.ValueArray (0);
-        var filter = this.translate_search_expression (expression, args, "");
+        var filter = this.translate_search_expression (expression, args);
 
         if (expression != null) {
             debug ("Original search: %s", expression.to_string ());
diff --git a/src/plugins/media-export/rygel-media-export-sql-factory.vala b/src/plugins/media-export/rygel-media-export-sql-factory.vala
index 156b332..72803ed 100644
--- a/src/plugins/media-export/rygel-media-export-sql-factory.vala
+++ b/src/plugins/media-export/rygel-media-export-sql-factory.vala
@@ -121,10 +121,9 @@ internal class Rygel.MediaExport.SQLFactory : Object {
     private const string GET_OBJECTS_BY_FILTER_STRING =
     "SELECT DISTINCT " + ALL_DETAILS_STRING +
     "FROM Object o " +
+        "JOIN Closure c ON o.upnp_id = c.descendant AND c.ancestor = ? " +
         "LEFT OUTER JOIN meta_data m " +
-            "ON o.upnp_id = m.object_fk " +
-        "WHERE (o.upnp_id IN (" +
-            "SELECT descendant FROM Closure WHERE ancestor = ?)) AND (%s)" +
+            "ON o.upnp_id = m.object_fk %s" +
         "ORDER BY o.parent ASC, " +
                  "o.type_fk ASC, " +
                  "m.class ASC, " +
@@ -136,7 +135,7 @@ internal class Rygel.MediaExport.SQLFactory : Object {
     "SELECT COUNT(o.type_fk) FROM Object o " +
         "JOIN Closure c ON o.upnp_id = c.descendant AND c.ancestor = ? " +
         "LEFT OUTER JOIN meta_data m " +
-            "ON o.upnp_id = m.object_fk WHERE %s";
+            "ON o.upnp_id = m.object_fk %s";
 
     private const string CHILDREN_COUNT_STRING =
     "SELECT COUNT(upnp_id) FROM Object WHERE Object.parent = ?";



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