Fix max_threads simple query optimization for SELECT with subqueries

Fixes: 01245_limit_infinite_sources
This commit is contained in:
Azat Khuzhin 2020-05-23 13:59:37 +03:00
parent d4804e070f
commit 0e12edb895

View File

@ -271,6 +271,11 @@ QueryPipeline InterpreterSelectWithUnionQuery::executeWithProcessors()
{
auto common_header = getCommonHeaderForUnion(headers);
main_pipeline.unitePipelines(std::move(pipelines), common_header);
// nested queries can force 1 thread (due to simplicity)
// but in case of union this cannot be done.
UInt64 max_threads = context->getSettingsRef().max_threads;
main_pipeline.setMaxThreads(std::min(nested_interpreters.size(), max_threads));
}
main_pipeline.addInterpreterContext(context);