server/sources/rql2sql.py
branchstable
changeset 6929 e9464d975908
parent 6493 019ab5eb37ea
child 6940 1172c25655b7
equal deleted inserted replaced
6928:62b8ef1e859a 6929:e9464d975908
   414             for fnode in compnode.get_nodes(Function):
   414             for fnode in compnode.get_nodes(Function):
   415                 if fnode.descr().aggregat:
   415                 if fnode.descr().aggregat:
   416                     p = compnode.parent
   416                     p = compnode.parent
   417                     oor = None
   417                     oor = None
   418                     while not isinstance(p, Select):
   418                     while not isinstance(p, Select):
   419                         if isinstance(p, Or):
   419                         if isinstance(p, (Or, Not)):
   420                             oor = p
   420                             oor = p
   421                         p = p.parent
   421                         p = p.parent
   422                     if oor is not None:
   422                     if oor is not None:
   423                         ors.add(oor)
   423                         ors.add(oor)
   424                     break
   424                     break
   432             p = compnode.parent
   432             p = compnode.parent
   433             oor = None
   433             oor = None
   434             while not isinstance(p, Select):
   434             while not isinstance(p, Select):
   435                 if p in ors or p is None: # p is None for nodes already in fakehaving
   435                 if p in ors or p is None: # p is None for nodes already in fakehaving
   436                     break
   436                     break
   437                 if isinstance(p, Or):
   437                 if isinstance(p, (Or, Not)):
   438                     oor = p
   438                     oor = p
   439                 p = p.parent
   439                 p = p.parent
   440             else:
   440             else:
   441                 node = oor or compnode
   441                 node = oor or compnode
   442                 fakehaving.append(node)
   442                 fakehaving.append(node)