mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-09-20 08:40:50 +00:00
Check if query_info can be removed when building filter dag.
This commit is contained in:
parent
07c828ece9
commit
001596ea0e
@ -1318,12 +1318,11 @@ ReadFromMergeTree::AnalysisResultPtr ReadFromMergeTree::selectRangesToRead(
|
||||
}
|
||||
|
||||
static ActionsDAGPtr buildFilterDAG(
|
||||
const ContextPtr & context,
|
||||
const ContextPtr & /* context */,
|
||||
const PrewhereInfoPtr & prewhere_info,
|
||||
const ActionDAGNodes & added_filter_nodes,
|
||||
const SelectQueryInfo & query_info)
|
||||
const SelectQueryInfo & /* query_info */)
|
||||
{
|
||||
const auto & settings = context->getSettingsRef();
|
||||
ActionsDAG::NodeRawConstPtrs nodes;
|
||||
|
||||
if (prewhere_info)
|
||||
@ -1343,19 +1342,7 @@ static ActionsDAGPtr buildFilterDAG(
|
||||
for (const auto & node : added_filter_nodes.nodes)
|
||||
nodes.push_back(node);
|
||||
|
||||
std::unordered_map<std::string, ColumnWithTypeAndName> node_name_to_input_node_column;
|
||||
|
||||
if (settings.allow_experimental_analyzer && query_info.planner_context)
|
||||
{
|
||||
const auto & table_expression_data = query_info.planner_context->getTableExpressionDataOrThrow(query_info.table_expression);
|
||||
for (const auto & [column_identifier, column_name] : table_expression_data.getColumnIdentifierToColumnName())
|
||||
{
|
||||
const auto & column = table_expression_data.getColumnOrThrow(column_name);
|
||||
node_name_to_input_node_column.emplace(column_identifier, ColumnWithTypeAndName(column.type, column_name));
|
||||
}
|
||||
}
|
||||
|
||||
return ActionsDAG::buildFilterActionsDAG(nodes, node_name_to_input_node_column);
|
||||
return ActionsDAG::buildFilterActionsDAG(nodes);
|
||||
}
|
||||
|
||||
static void buildIndexes(
|
||||
|
@ -506,8 +506,7 @@ Pipe ReadFromSystemNumbersStep::makePipe()
|
||||
|
||||
ActionsDAGPtr ReadFromSystemNumbersStep::buildFilterDAG()
|
||||
{
|
||||
std::unordered_map<std::string, ColumnWithTypeAndName> node_name_to_input_node_column;
|
||||
return ActionsDAG::buildFilterActionsDAG(filter_nodes.nodes, node_name_to_input_node_column);
|
||||
return ActionsDAG::buildFilterActionsDAG(filter_nodes.nodes);
|
||||
}
|
||||
|
||||
void ReadFromSystemNumbersStep::checkLimits(size_t rows)
|
||||
|
@ -18,11 +18,7 @@ protected:
|
||||
|
||||
void setKeyConditionImpl(const ActionsDAG::NodeRawConstPtrs & nodes, ContextPtr context, const Block & keys)
|
||||
{
|
||||
std::unordered_map<std::string, DB::ColumnWithTypeAndName> node_name_to_input_column;
|
||||
for (const auto & column : keys.getColumnsWithTypeAndName())
|
||||
node_name_to_input_column.insert({column.name, column});
|
||||
|
||||
auto filter_actions_dag = ActionsDAG::buildFilterActionsDAG(nodes, node_name_to_input_column);
|
||||
auto filter_actions_dag = ActionsDAG::buildFilterActionsDAG(nodes);
|
||||
key_condition = std::make_shared<const KeyCondition>(
|
||||
filter_actions_dag,
|
||||
context,
|
||||
|
Loading…
Reference in New Issue
Block a user