MCPcopy Create free account
hub / github.com/apache/impala / CreateCompressor

Method CreateCompressor

be/src/util/codec.cc:86–135  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

84Codec::~Codec() {}
85
86Status Codec::CreateCompressor(MemPool* mem_pool, bool reuse, const CodecInfo& codec_info,
87 scoped_ptr<Codec>* compressor) {
88 THdfsCompression::type format = codec_info.format_;
89 switch (format) {
90 case THdfsCompression::NONE:
91 compressor->reset(nullptr);
92 return Status::OK();
93 case THdfsCompression::GZIP:
94 compressor->reset(new GzipCompressor(GzipCompressor::GZIP, mem_pool, reuse,
95 codec_info.compression_level_));
96 break;
97 case THdfsCompression::DEFAULT:
98 case THdfsCompression::ZLIB:
99 compressor->reset(new GzipCompressor(GzipCompressor::ZLIB, mem_pool, reuse,
100 codec_info.compression_level_));
101 break;
102 case THdfsCompression::DEFLATE:
103 compressor->reset(new GzipCompressor(GzipCompressor::DEFLATE, mem_pool, reuse,
104 codec_info.compression_level_));
105 break;
106 case THdfsCompression::BZIP2:
107 compressor->reset(new BzipCompressor(mem_pool, reuse,
108 codec_info.compression_level_));
109 break;
110 case THdfsCompression::SNAPPY_BLOCKED:
111 compressor->reset(new SnappyBlockCompressor(mem_pool, reuse));
112 break;
113 case THdfsCompression::SNAPPY:
114 compressor->reset(new SnappyCompressor(mem_pool, reuse));
115 break;
116 case THdfsCompression::LZ4:
117 compressor->reset(new Lz4Compressor(mem_pool, reuse,
118 codec_info.compression_level_));
119 break;
120 case THdfsCompression::ZSTD:
121 compressor->reset(new ZstandardCompressor(mem_pool, reuse,
122 codec_info.compression_level_));
123 break;
124 case THdfsCompression::LZ4_BLOCKED:
125 compressor->reset(new Lz4BlockCompressor(mem_pool, reuse,
126 codec_info.compression_level_));
127 break;
128 default: {
129 if (format == THdfsCompression::LZO) return Status(NO_LZO_MSG);
130 return Status(Substitute("Unsupported codec: $0", format));
131 }
132 }
133
134 return (*compressor)->Init();
135}
136
137Status Codec::ValidateCompressionLevel(THdfsCompression::type format,
138 int compression_level) {

Callers

nothing calls this directly

Calls 5

OKFunction · 0.85
SubstituteFunction · 0.85
StatusClass · 0.70
resetMethod · 0.65
InitMethod · 0.45

Tested by

no test coverage detected