diff roundup/backends/back_mysql.py @ 2534:fc6cef8ff0b3

fix MySQL backend too
author Richard Jones <richard@users.sourceforge.net>
date Sat, 03 Jul 2004 22:46:30 +0000
parents 091711fb2f8c
children 7f25486ff85e
line wrap: on
line diff
--- a/roundup/backends/back_mysql.py	Sat Jul 03 22:43:59 2004 +0000
+++ b/roundup/backends/back_mysql.py	Sat Jul 03 22:46:30 2004 +0000
@@ -559,8 +559,9 @@
                 v = ['%%'+self.db.sql_stringquote(s)+'%%' for s in v]
 
                 # now add to the where clause
-                where.append(' or '.join(["_%s._%s LIKE '%s'"%(cn, k, s)
-                    for s in v]))
+                where.append('('
+                    +' or '.join(["_%s._%s LIKE '%s'"%(cn, k, s) for s in v])
+                    +')')
                 # note: args are embedded in the query string now
             elif isinstance(propclass, Link):
                 if isinstance(v, type([])):
@@ -576,9 +577,10 @@
                     if d:
                         v = d.keys()
                         s = ','.join([a for x in v])
-                        where.append('(_%s._%s in (%s))'%(cn, k, s))
+                        l.append('(_%s._%s in (%s))'%(cn, k, s))
                         args = args + v
-                    where.append(' or '.join(l))
+                    if l:
+                        where.append('(' + ' or '.join(l) +')')
                 else:
                     if v in ('-1', None):
                         v = None

Roundup Issue Tracker: http://roundup-tracker.org/