diff --git a/src/Processors/Transforms/AggregatingTransform.cpp b/src/Processors/Transforms/AggregatingTransform.cpp index 21eec6c305a..332c7aab40b 100644 --- a/src/Processors/Transforms/AggregatingTransform.cpp +++ b/src/Processors/Transforms/AggregatingTransform.cpp @@ -51,7 +51,7 @@ namespace } /// Reads chunks from file in native format. Provide chunks with aggregation info. - class SourceFromNativeStream : public ISource + class SourceFromNativeStream final : public ISource { public: explicit SourceFromNativeStream(const Block & header, TemporaryBlockStreamReaderHolder tmp_stream_) @@ -84,7 +84,7 @@ namespace /// Worker which merges buckets for two-level aggregation. /// Atomically increments bucket counter and returns merged result. -class ConvertingAggregatedToChunksWithMergingSource : public ISource +class ConvertingAggregatedToChunksWithMergingSource final : public ISource { public: static constexpr UInt32 NUM_BUCKETS = 256; @@ -143,7 +143,7 @@ private: }; /// Asks Aggregator to convert accumulated aggregation state into blocks (without merging) and pushes them to later steps. -class ConvertingAggregatedToChunksSource : public ISource +class ConvertingAggregatedToChunksSource final : public ISource { public: ConvertingAggregatedToChunksSource(AggregatingTransformParamsPtr params_, AggregatedDataVariantsPtr variant_) @@ -188,7 +188,7 @@ private: }; /// Reads chunks from GroupingAggregatedTransform (stored in ChunksToMerge structure) and outputs them. -class FlattenChunksToMergeTransform : public IProcessor +class FlattenChunksToMergeTransform final : public IProcessor { public: explicit FlattenChunksToMergeTransform(const Block & input_header, const Block & output_header) @@ -272,7 +272,7 @@ private: /// ConvertingAggregatedToChunksWithMergingSource -> /// /// Result chunks guaranteed to be sorted by bucket number. -class ConvertingAggregatedToChunksTransform : public IProcessor +class ConvertingAggregatedToChunksTransform final : public IProcessor { public: ConvertingAggregatedToChunksTransform(AggregatingTransformParamsPtr params_, ManyAggregatedDataVariantsPtr data_, size_t num_threads_) diff --git a/src/Processors/Transforms/AggregatingTransform.h b/src/Processors/Transforms/AggregatingTransform.h index d1f4290a5b2..bf423398811 100644 --- a/src/Processors/Transforms/AggregatingTransform.h +++ b/src/Processors/Transforms/AggregatingTransform.h @@ -22,7 +22,7 @@ namespace CurrentMetrics namespace DB { -class AggregatedChunkInfo : public ChunkInfoCloneable +class AggregatedChunkInfo final : public ChunkInfoCloneable { public: bool is_overflows = false; @@ -149,7 +149,7 @@ using ManyAggregatedDataPtr = std::shared_ptr; * At aggregation step, every transform uses it's own AggregatedDataVariants structure. * At merging step, all structures pass to ConvertingAggregatedToChunksTransform. */ -class AggregatingTransform : public IProcessor +class AggregatingTransform final : public IProcessor { public: AggregatingTransform(Block header, AggregatingTransformParamsPtr params_);