private List<Expression> extractDisjuncts(Type type, DiscreteValues discreteValues, SymbolReference reference) { List<Expression> values = discreteValues.getValues().stream() .map(object -> literalEncoder.toExpression(object, type)) .collect(toList()); // If values is empty, then the equatableValues was either ALL or NONE, both of which should already have been checked for checkState(!values.isEmpty()); Expression predicate; if (values.size() == 1) { predicate = new ComparisonExpression(EQUAL, reference, getOnlyElement(values)); } else { predicate = new InPredicate(reference, new InListExpression(values)); } if (!discreteValues.isWhiteList()) { predicate = new NotExpression(predicate); } return ImmutableList.of(predicate); }
private List<Expression> extractDisjuncts(Type type, DiscreteValues discreteValues, SymbolReference reference) { List<Expression> values = discreteValues.getValues().stream() .map(object -> literalEncoder.toExpression(object, type)) .collect(toList()); // If values is empty, then the equatableValues was either ALL or NONE, both of which should already have been checked for checkState(!values.isEmpty()); Expression predicate; if (values.size() == 1) { predicate = new ComparisonExpression(EQUAL, reference, getOnlyElement(values)); } else { predicate = new InPredicate(reference, new InListExpression(values)); } if (!discreteValues.isWhiteList()) { predicate = new NotExpression(predicate); } return ImmutableList.of(predicate); }
}, discreteValues -> { if (discreteValues.isWhiteList()) { return ImmutableSet.copyOf(discreteValues.getValues());
String predicate = columnName + (discreteValues.isWhiteList() ? "" : " NOT") + " IN (" + values + ")"; for (Object value : discreteValues.getValues()) { bindValues.add(ValueBuffer.create(columnIndex, type, getBindValue(columnIndex, uuidColumnIndexes, value)));
if (discreteValues.isWhiteList()) { ImmutableList.Builder<Object> discreteValuesList = ImmutableList.builder(); for (Object discreteValue : discreteValues.getValues()) {