HappenLee commented on code in PR #12573: URL: https://github.com/apache/doris/pull/12573#discussion_r970229932
########## be/src/util/block_compression.cpp: ########## @@ -586,74 +879,56 @@ class GzipBlockCompression final : public ZlibBlockCompression { }; Status get_block_compression_codec(segment_v2::CompressionTypePB type, - std::unique_ptr<BlockCompressionCodec>& codec) { - BlockCompressionCodec* ptr = nullptr; + BlockCompressionCodec** codec) { switch (type) { case segment_v2::CompressionTypePB::NO_COMPRESSION: - codec.reset(nullptr); + *codec = nullptr; return Status::OK(); case segment_v2::CompressionTypePB::SNAPPY: - ptr = new SnappyBlockCompression(); + *codec = SnappyBlockCompression::instance(); break; case segment_v2::CompressionTypePB::LZ4: - ptr = new Lz4BlockCompression(); + *codec = Lz4BlockCompression::instance(); break; case segment_v2::CompressionTypePB::LZ4F: - ptr = new Lz4fBlockCompression(); + *codec = Lz4fBlockCompression::instance(); break; case segment_v2::CompressionTypePB::ZLIB: - ptr = new ZlibBlockCompression(); + *codec = ZlibBlockCompression::instance(); break; case segment_v2::CompressionTypePB::ZSTD: - ptr = new ZstdBlockCompression(); + *codec = ZstdBlockCompression::instance(); break; default: return Status::NotFound("unknown compression type({})", type); } - if (!ptr) return Status::NotFound("Failed to create compression codec"); - - Status st = ptr->init(); - if (st.ok()) { - codec.reset(ptr); - } else { - delete ptr; - } - - return st; + return Status::OK(); } Status get_block_compression_codec(tparquet::CompressionCodec::type parquet_codec, - std::unique_ptr<BlockCompressionCodec>& codec) { - BlockCompressionCodec* ptr = nullptr; + BlockCompressionCodec** codec) { switch (parquet_codec) { case tparquet::CompressionCodec::UNCOMPRESSED: - codec.reset(nullptr); + *codec = nullptr; return Status::OK(); Review Comment: seems should break like other ? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org