in java/ws-server/src/main/java/com/epam/deltix/tbwg/webapp/utils/qql/SelectBuilder.java [290:325]
private SelectBuilder set(boolean in, String... values) throws WrongTypeException {
ArrayList<Object> parsed = new ArrayList<>();
DataType type = fields.get(name);
boolean hasNull = false;
for (String v : values) {
if (v == null) {
hasNull = true;
} else {
parsed.add(parseValue(type, v));
}
}
StringBuilder sb = new StringBuilder();
sb.append('(');
if (in) {
sb.append(name).append(" in ");
} else {
sb.append(name).append(" not in ");
}
if (type instanceof VarcharDataType) {
appendStringSet(parsed, sb);
} else {
appendSet(parsed, sb);
}
if (hasNull) {
if (in) {
sb.append(" or ").append(name);
sb.append(" = null");
} else {
sb.append(" and ").append(name);
sb.append(" != null");
}
}
sb.append(')');
options.add(sb.toString());
return SelectBuilder.this;
}