mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-09-24 18:50:49 +00:00
minor fix (remove logic dependent on partial_merge_join setting)
This commit is contained in:
parent
74a5227ac4
commit
f748427ffd
@ -50,6 +50,7 @@
|
|||||||
#include <Interpreters/JoinToSubqueryTransformVisitor.h>
|
#include <Interpreters/JoinToSubqueryTransformVisitor.h>
|
||||||
#include <Interpreters/CrossToInnerJoinVisitor.h>
|
#include <Interpreters/CrossToInnerJoinVisitor.h>
|
||||||
#include <Interpreters/AnalyzedJoin.h>
|
#include <Interpreters/AnalyzedJoin.h>
|
||||||
|
#include <Interpreters/Join.h>
|
||||||
|
|
||||||
#include <Storages/MergeTree/MergeTreeData.h>
|
#include <Storages/MergeTree/MergeTreeData.h>
|
||||||
#include <Storages/MergeTree/MergeTreeWhereOptimizer.h>
|
#include <Storages/MergeTree/MergeTreeWhereOptimizer.h>
|
||||||
@ -862,6 +863,7 @@ void InterpreterSelectQuery::executeImpl(TPipeline & pipeline, const BlockInputS
|
|||||||
if (expressions.hasJoin())
|
if (expressions.hasJoin())
|
||||||
{
|
{
|
||||||
Block header_before_join;
|
Block header_before_join;
|
||||||
|
JoinPtr join = expressions.before_join->getTableJoinAlgo();
|
||||||
|
|
||||||
if constexpr (pipeline_with_processors)
|
if constexpr (pipeline_with_processors)
|
||||||
{
|
{
|
||||||
@ -879,10 +881,11 @@ void InterpreterSelectQuery::executeImpl(TPipeline & pipeline, const BlockInputS
|
|||||||
{
|
{
|
||||||
bool on_totals = type == QueryPipeline::StreamType::Totals;
|
bool on_totals = type == QueryPipeline::StreamType::Totals;
|
||||||
std::shared_ptr<IProcessor> ret;
|
std::shared_ptr<IProcessor> ret;
|
||||||
if (settings.partial_merge_join)
|
if (!join || typeid_cast<Join *>(join.get()))
|
||||||
ret = std::make_shared<InflatingExpressionTransform>(header, expressions.before_join, on_totals, default_totals);
|
|
||||||
else
|
|
||||||
ret = std::make_shared<ExpressionTransform>(header, expressions.before_join, on_totals, default_totals);
|
ret = std::make_shared<ExpressionTransform>(header, expressions.before_join, on_totals, default_totals);
|
||||||
|
else
|
||||||
|
ret = std::make_shared<InflatingExpressionTransform>(header, expressions.before_join, on_totals, default_totals);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -894,7 +897,7 @@ void InterpreterSelectQuery::executeImpl(TPipeline & pipeline, const BlockInputS
|
|||||||
stream = std::make_shared<InflatingExpressionBlockInputStream>(stream, expressions.before_join);
|
stream = std::make_shared<InflatingExpressionBlockInputStream>(stream, expressions.before_join);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (JoinPtr join = expressions.before_join->getTableJoinAlgo())
|
if (join)
|
||||||
{
|
{
|
||||||
Block join_result_sample = ExpressionBlockInputStream(
|
Block join_result_sample = ExpressionBlockInputStream(
|
||||||
std::make_shared<OneBlockInputStream>(header_before_join), expressions.before_join).getHeader();
|
std::make_shared<OneBlockInputStream>(header_before_join), expressions.before_join).getHeader();
|
||||||
|
Loading…
Reference in New Issue
Block a user