diff --git a/bin/osv/expression.py b/bin/osv/expression.py index 3c330aaaa1a..72fde0be88b 100644 --- a/bin/osv/expression.py +++ b/bin/osv/expression.py @@ -52,8 +52,8 @@ class expression(object): ' FROM "%s"' \ ' WHERE "%s" in (%s)' % (s, f, w, ','.join(['%s']*len(subids))), subids) - res.extend([r[0] for r in cr.fetchall()]) - return res + res += [r[0] for r in cr.fetchall() if r[0]] + return res + (res and self.__execute_recursive_in(cr, s, f, w, res) or []) def __init__(self, exp):