diff --git a/src/Interpreters/GraceHashJoin.h b/src/Interpreters/GraceHashJoin.h index 253823b0ff0..21a260acfdc 100644 --- a/src/Interpreters/GraceHashJoin.h +++ b/src/Interpreters/GraceHashJoin.h @@ -33,8 +33,8 @@ class HashJoin; * The first bucket is joined in-memory via HashJoin::joinBlock, and the remaining buckets are written to the disk. * * 3) When the last thread reading left table block finishes, the last stage begins. - * Each @DelayedJoiningBlocksProcessor calls repeatedly @getDelayedBlocks until there are no more unfinished buckets left. - * Inside @getDelayedBlocks we select the next not processed bucket, load right table blocks from disk into in-memory HashJoin, + * Each @DelayedJoinedBlocksTransform calls repeatedly @getDelayedBlocks until there are no more unfinished buckets left. + * Inside @getDelayedBlocks we select the next unprocessed bucket, load right table blocks from disk into in-memory HashJoin, * And then join them with left table blocks. * * After joining the left table blocks, we can load non-joined rows from the right table for RIGHT/FULL JOINs. diff --git a/src/Processors/Transforms/JoiningTransform.cpp b/src/Processors/Transforms/JoiningTransform.cpp index 15cc47ff933..a9ea72743c5 100644 --- a/src/Processors/Transforms/JoiningTransform.cpp +++ b/src/Processors/Transforms/JoiningTransform.cpp @@ -415,7 +415,7 @@ IProcessor::Status DelayedJoinedBlocksTransform::prepare() { Chunk chunk; chunk.setChunkInfo(std::make_shared()); - output.pushData({.chunk = std::move(chunk), .exception = {}}); + output.push(std::move(chunk)); output.finish(); } @@ -428,7 +428,7 @@ IProcessor::Status DelayedJoinedBlocksTransform::prepare() { Chunk chunk; chunk.setChunkInfo(std::make_shared(delayed_blocks)); - output.pushData({.chunk = std::move(chunk), .exception = {}}); + output.push(std::move(chunk)); } delayed_blocks = nullptr; return Status::PortFull; diff --git a/src/Processors/Transforms/JoiningTransform.h b/src/Processors/Transforms/JoiningTransform.h index b8b5a0955de..e7edff40c56 100644 --- a/src/Processors/Transforms/JoiningTransform.h +++ b/src/Processors/Transforms/JoiningTransform.h @@ -147,7 +147,7 @@ private: class DelayedJoinedBlocksWorkerTransform : public IProcessor { public: - DelayedJoinedBlocksWorkerTransform(Block output_header); + explicit DelayedJoinedBlocksWorkerTransform(Block output_header); String getName() const override { return "DelayedJoinedBlocksWorkerTransform"; } diff --git a/tests/performance/grace_hash_join.xml b/tests/performance/grace_hash_join.xml index 2918b3998ff..8b28f9d7414 100644 --- a/tests/performance/grace_hash_join.xml +++ b/tests/performance/grace_hash_join.xml @@ -16,6 +16,6 @@ - SELECT sum(n) FROM (SELECT number * 2 AS n FROM numbers_mt(10000000)) AS lhs JOIN (SELECT number * 3 AS n FROM numbers_mt(10000000)) AS rhs USING (n) SETTINGS {settings} - SELECT sum(n) FROM (SELECT intHash64(number * 2) AS n FROM numbers_mt(10000000)) AS lhs JOIN (SELECT intHash64(number * 3) AS n FROM numbers_mt(10000000)) AS rhs USING (n) SETTINGS {settings} + SELECT sum(n) FROM (SELECT number * 2 AS n FROM numbers_mt(10000000)) AS lhs JOIN (SELECT number * 3 AS n FROM numbers_mt(10000000)) AS rhs USING (n) SETTINGS {settings} FORMAT Null + SELECT sum(n) FROM (SELECT intHash64(number * 2) AS n FROM numbers_mt(10000000)) AS lhs JOIN (SELECT intHash64(number * 3) AS n FROM numbers_mt(10000000)) AS rhs USING (n) SETTINGS {settings} FORMAT Null