diff -r 6ed22ac7257c -r e5db11a399be server/ssplanner.py --- a/server/ssplanner.py Wed Apr 03 10:51:15 2013 +0200 +++ b/server/ssplanner.py Mon Apr 08 12:42:36 2013 +0200 @@ -79,7 +79,12 @@ checkread = session.read_security eschema = session.vreg.schema.eschema for rel in rqlst.where.get_nodes(Relation): - if rel.r_type == 'eid' and not rel.neged(strict=True): + # only care for 'eid' relations ... + if (rel.r_type == 'eid' + # ... that are not part of a NOT clause ... + and not rel.neged(strict=True) + # ... and where eid is specified by '=' operator. + and rel.children[1].operator == '='): lhs, rhs = rel.get_variable_parts() if isinstance(rhs, Constant): eid = typed_eid(rhs.eval(plan.args))