diff --git a/dbms/src/DataStreams/SquashingBlockInputStream.cpp b/dbms/src/DataStreams/SquashingBlockInputStream.cpp index 9c5cb8a87ccd2110c84c9dc1e777c1c12ae83ad4..12f6f23583f49512c38b9397d3e9d0c666dfeed7 100644 --- a/dbms/src/DataStreams/SquashingBlockInputStream.cpp +++ b/dbms/src/DataStreams/SquashingBlockInputStream.cpp @@ -5,8 +5,8 @@ namespace DB { SquashingBlockInputStream::SquashingBlockInputStream( - const BlockInputStreamPtr & src, size_t min_block_size_rows, size_t min_block_size_bytes) - : header(src->getHeader()), transform(min_block_size_rows, min_block_size_bytes, true) + const BlockInputStreamPtr & src, size_t min_block_size_rows, size_t min_block_size_bytes, bool reserve_memory) + : header(src->getHeader()), transform(min_block_size_rows, min_block_size_bytes, reserve_memory) { children.emplace_back(src); } diff --git a/dbms/src/DataStreams/SquashingBlockInputStream.h b/dbms/src/DataStreams/SquashingBlockInputStream.h index 062696ca40b6813ce2b6530a4cf2c79715d0b181..c2732d520cc758e8de4aa0b41d4d4aaa0eeecc2b 100644 --- a/dbms/src/DataStreams/SquashingBlockInputStream.h +++ b/dbms/src/DataStreams/SquashingBlockInputStream.h @@ -12,7 +12,8 @@ namespace DB class SquashingBlockInputStream : public IBlockInputStream { public: - SquashingBlockInputStream(const BlockInputStreamPtr & src, size_t min_block_size_rows, size_t min_block_size_bytes); + SquashingBlockInputStream(const BlockInputStreamPtr & src, size_t min_block_size_rows, size_t min_block_size_bytes, + bool reserve_memory = false); String getName() const override { return "Squashing"; } diff --git a/dbms/src/Interpreters/InterpreterSelectQuery.cpp b/dbms/src/Interpreters/InterpreterSelectQuery.cpp index 55f4edc819ffc825efc6998f649f865576b70330..253234678bb44cd7c5958645144c6cd0c6b6135d 100644 --- a/dbms/src/Interpreters/InterpreterSelectQuery.cpp +++ b/dbms/src/Interpreters/InterpreterSelectQuery.cpp @@ -1122,7 +1122,7 @@ void InterpreterSelectQuery::executeImpl(TPipeline & pipeline, const BlockInputS { if (size_t rows_in_block = settings.partial_merge_join_rows_in_left_blocks) for (auto & stream : pipeline.streams) - stream = std::make_shared(stream, rows_in_block, 0); + stream = std::make_shared(stream, rows_in_block, 0, true); } }