in java/clickhouse-client/src/main/java/com/epam/deltix/clickhouse/util/SelectQueryHelper.java [279:297]
public static void validateFilterNode(FilterNode<String> filterNode, Map<String, ColumnDeclaration> columnDeclarations) {
if (filterNode instanceof AndFilterDefinition) {
List<? extends FilterNode<String>> childNodes = ((AndFilterDefinition<String>) filterNode).getAnd();
checkFilterSize(childNodes, AndFilterDefinition.class.getSimpleName());
for (FilterNode<String> node : childNodes) {
validateFilterNode(node, columnDeclarations);
}
} else if (filterNode instanceof OrFilterDefinition) {
List<? extends FilterNode<String>> childNodes = ((OrFilterDefinition<String>) filterNode).getOr();
checkFilterSize(childNodes, OrFilterDefinition.class.getSimpleName());
for (FilterNode<String> node : childNodes) {
validateFilterNode(node, columnDeclarations);
}
} else if (filterNode instanceof SubqueryFilterDefinition) {
validateSubqueryFilterDefinition((SubqueryFilterDefinition<String>) filterNode, columnDeclarations);
} else if (filterNode instanceof FilterDefinition) {
validateFilterDefinition((FilterDefinition<String>) filterNode, columnDeclarations);
}
}