comparison roundup/backends/rdbms_common.py @ 6155:ba0cfc1a87c9

Fix Database.find for rev_multilink
author Ralf Schlatterbeck <rsc@runtux.com>
date Sat, 02 May 2020 22:23:53 +0200
parents ff059afae50a
children 3c52093d7490
comparison
equal deleted inserted replaced
6152:546763f4ce44 6155:ba0cfc1a87c9
2261 tn = p.table_name 2261 tn = p.table_name
2262 ln = p.linkid_name 2262 ln = p.linkid_name
2263 nn = p.nodeid_name 2263 nn = p.nodeid_name
2264 cn = '_' + self.classname 2264 cn = '_' + self.classname
2265 ret = '' 2265 ret = ''
2266 if p.rev_property and isinstance(p.rev_property, Link): 2266 dis = ''
2267 ret = 'and %s.__retired__=%s ' % (tn, a) 2267 ord = ''
2268 allvalues += (0, ) 2268 if p.rev_property:
2269 if isinstance(p.rev_property, Link):
2270 ret = 'and %s.__retired__=%s ' % (tn, a)
2271 allvalues += (0, )
2272 dis = 'distinct '
2273 ord = ' order by %s.id' % cn
2269 if type(values) is type(''): 2274 if type(values) is type(''):
2270 allvalues += (values,) 2275 allvalues += (values,)
2271 s = a 2276 s = a
2272 else: 2277 else:
2273 allvalues += tuple(values) 2278 allvalues += tuple(values)
2274 s = ','.join([a]*len(values)) 2279 s = ','.join([a]*len(values))
2275 sql.append("""select %s.id from %s, %s where %s.__retired__=%s 2280 sql.append("""select %s%s.id from %s, %s where %s.__retired__=%s
2276 %sand %s.id = %s.%s and %s.%s in (%s)"""%(cn, cn, tn, cn, 2281 %sand %s.id = %s.%s and %s.%s in (%s)%s"""%(dis, cn, cn,
2277 a, ret, cn, tn, nn, tn, ln, s)) 2282 tn, cn, a, ret, cn, tn, nn, tn, ln, s, ord))
2278 2283
2279 if not sql: 2284 if not sql:
2280 return [] 2285 return []
2281 sql = ' union '.join(sql) 2286 sql = ' union '.join(sql)
2282 self.db.sql(sql, allvalues) 2287 self.db.sql(sql, allvalues)

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