MCPcopy Create free account
hub / github.com/ClickHouse/ClickHouse / validateFilters

Function validateFilters

src/Analyzer/ValidationUtils.cpp:68–90  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

66}
67
68void validateFilters(const QueryTreeNodePtr & query_node)
69{
70 const auto & query_node_typed = query_node->as<QueryNode &>();
71 if (query_node_typed.hasPrewhere())
72 {
73 validateFilter(query_node_typed.getPrewhere(), "PREWHERE", query_node);
74
75 assertNoFunctionNodes(query_node_typed.getPrewhere(),
76 "arrayJoin",
77 ErrorCodes::ILLEGAL_PREWHERE,
78 "ARRAY JOIN",
79 "in PREWHERE");
80 }
81
82 if (query_node_typed.hasWhere())
83 validateFilter(query_node_typed.getWhere(), "WHERE", query_node);
84
85 if (query_node_typed.hasHaving())
86 validateFilter(query_node_typed.getHaving(), "HAVING", query_node);
87
88 if (query_node_typed.hasQualify())
89 validateFilter(query_node_typed.getQualify(), "QUALIFY", query_node);
90}
91
92static bool areColumnSourcesEqual(const QueryTreeNodePtr & lhs, const QueryTreeNodePtr & rhs)
93{

Callers 1

resolveQueryMethod · 0.85

Calls 6

validateFilterFunction · 0.85
assertNoFunctionNodesFunction · 0.85
hasPrewhereMethod · 0.45
hasWhereMethod · 0.45
hasHavingMethod · 0.45
hasQualifyMethod · 0.45

Tested by

no test coverage detected