--- a/web/facet.py Wed Apr 01 13:39:30 2015 +0200
+++ b/web/facet.py Mon Feb 23 09:02:41 2015 +0100
@@ -1465,15 +1465,17 @@
def add_rql_restrictions(self):
"""add restriction for this facet into the rql syntax tree"""
- self.select.set_distinct(True) # XXX
value = self._cw.form.get(self.__regid__)
if not value: # no value sent for this facet
return
+ exists = nodes.Exists()
+ self.select.add_restriction(exists)
var = self.select.make_variable()
if self.role == 'subject':
- self.select.add_relation(self.filtered_variable, self.rtype, var)
+ subj, obj = self.filtered_variable, var
else:
- self.select.add_relation(var, self.rtype, self.filtered_variable)
+ subj, obj = var, self.filtered_variable
+ exists.add_relation(subj, self.rtype, obj)
class BitFieldFacet(AttributeFacet):