diff -r ce9c6ae03c2d -r fb5c0e60a615 entity.py --- a/entity.py Wed Feb 08 14:17:09 2012 +0100 +++ b/entity.py Wed Feb 08 14:22:48 2012 +0100 @@ -481,7 +481,9 @@ assert eschema.has_relation(attr, role), '%s %s not found on %s' % (attr, role, eschema) rschema = eschema.subjrels[attr] if role == 'subject' else eschema.objrels[attr] if not rschema.final and isinstance(value, (tuple, list, set, frozenset)): - if len(value) == 1: + if len(value) == 0: + continue # avoid crash with empty IN clause + elif len(value) == 1: value = iter(value).next() else: # prepare IN clause