'ADD a WHERE clause from a node filter.
Devs: `flt` **can** be set from an untrusted source.'

def add_clause_from_filter(self, flt, mode='node'):

    (clauses, params) = ([], {})
    for subflt in self._split_filter_or(flt):
        if subflt:
            (subclause, subparams) = self._add_clause_from_filter(subflt, mode=mode)
            clauses.append(subclause)
            params.update(subparams)
    return self.add_clause(('WHERE    %s' % '    OR    '.join((('(%s)' % clause) for clause in clauses))), **params)
