vlc | branch: master | Francois Cartegnie <[email protected]> | Thu Sep 13 
22:39:40 2012 +0200| [5152b38091da496023b9edcd419868bbc38234fc] | committer: 
Francois Cartegnie

sql_lite: If query is not a LIKE % search use = .

Sqlite can't make use of indexes on LIKE queries.
It always results in a full table scan.

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=5152b38091da496023b9edcd419868bbc38234fc
---

 modules/media_library/sql_search.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/modules/media_library/sql_search.c 
b/modules/media_library/sql_search.c
index d69d3d1..5a0848b 100644
--- a/modules/media_library/sql_search.c
+++ b/modules/media_library/sql_search.c
@@ -887,7 +887,8 @@ case casestr:                                               
                  \
     assert( tree->comp == ML_COMP_HAS || tree->comp == ML_COMP_EQUAL          \
         || tree->comp == ML_COMP_STARTS_WITH                                  \
         || tree->comp == ML_COMP_ENDS_WITH );                                 \
-    *ppsz_where = sql_Printf( p_ml->p_sys->p_sql, "%s LIKE '%s%q%s'", fmt,    \
+    *ppsz_where = sql_Printf( p_ml->p_sys->p_sql, "%s %s '%s%q%s'", fmt,      \
+        (ML_COMP_EQUAL)?"=":"LIKE",                                           \
         tree->comp == ML_COMP_HAS                                             \
         || tree->comp == ML_COMP_STARTS_WITH? "%%" : "",                      \
             tree->value.str,                                                  \

_______________________________________________
vlc-commits mailing list
[email protected]
http://mailman.videolan.org/listinfo/vlc-commits

Reply via email to