node.addSelector(sourceColumn.selectorName());
return new FullTextSearch(sourceColumn.selectorName(), sourceColumn.getPropertyName(),
search.fullTextSearchExpression(), search.getFullTextSearchExpression());
}
if (constraint instanceof SetCriteria) {
SetCriteria set = (SetCriteria)constraint;
DynamicOperand oldLeft = set.leftOperand();
Set<SelectorName> selectorNames = oldLeft.selectorNames();
if (selectorNames.size() == 1 && !selectorNames.contains(mapping.getOriginalName())) return set;
DynamicOperand newLeft = replaceViewReferences(context, oldLeft, mapping, node);
if (newLeft == oldLeft) return set;
return new SetCriteria(newLeft, set.rightOperands());
}
if (constraint instanceof Between) {
Between between = (Between)constraint;
DynamicOperand lhs = between.getOperand();
StaticOperand lower = between.getLowerBound(); // Current only a literal; therefore, no reference to selector