This is an automated email from the ASF dual-hosted git repository.

panxiaolei pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new a46941c684 [Fix](multi-catalog) Fix switch-case fall-through issue in 
multi-catalog module. (#16931)
a46941c684 is described below

commit a46941c684a7dc3610ce09eafb9130bc764ca8a6
Author: Qi Chen <kaka11.c...@gmail.com>
AuthorDate: Mon Feb 20 21:35:41 2023 +0800

    [Fix](multi-catalog) Fix switch-case fall-through issue in multi-catalog 
module. (#16931)
    
    Fix switch-case fall-through issue in multi-catalog module.
---
 be/src/vec/exec/format/csv/csv_reader.cpp                        | 6 ++++++
 .../vec/exec/format/file_reader/new_plain_binary_line_reader.cpp | 2 ++
 be/src/vec/exec/format/json/new_json_reader.cpp                  | 2 ++
 be/src/vec/exec/format/orc/vorc_reader.cpp                       | 3 +++
 be/src/vec/exec/format/parquet/byte_array_dict_decoder.cpp       | 1 +
 be/src/vec/exec/format/parquet/byte_array_plain_decoder.cpp      | 1 +
 be/src/vec/exec/format/parquet/decoder.cpp                       | 9 ++++++---
 be/src/vec/exec/format/parquet/fix_length_dict_decoder.hpp       | 2 ++
 be/src/vec/exec/format/parquet/fix_length_plain_decoder.cpp      | 1 +
 be/src/vec/exec/format/parquet/parquet_pred_cmp.h                | 6 ++++++
 be/src/vec/exec/format/parquet/schema_desc.cpp                   | 7 +++++++
 be/src/vec/exec/format/parquet/vparquet_column_chunk_reader.cpp  | 2 ++
 12 files changed, 39 insertions(+), 3 deletions(-)

diff --git a/be/src/vec/exec/format/csv/csv_reader.cpp 
b/be/src/vec/exec/format/csv/csv_reader.cpp
index cbd8954207..f4cb13e85d 100644
--- a/be/src/vec/exec/format/csv/csv_reader.cpp
+++ b/be/src/vec/exec/format/csv/csv_reader.cpp
@@ -155,10 +155,15 @@ Status CsvReader::init_reader(bool is_load) {
 
     switch (_file_format_type) {
     case TFileFormatType::FORMAT_CSV_PLAIN:
+        [[fallthrough]];
     case TFileFormatType::FORMAT_CSV_GZ:
+        [[fallthrough]];
     case TFileFormatType::FORMAT_CSV_BZ2:
+        [[fallthrough]];
     case TFileFormatType::FORMAT_CSV_LZ4FRAME:
+        [[fallthrough]];
     case TFileFormatType::FORMAT_CSV_LZOP:
+        [[fallthrough]];
     case TFileFormatType::FORMAT_CSV_DEFLATE:
         _line_reader.reset(new NewPlainTextLineReader(_profile, _file_reader, 
_decompressor.get(),
                                                       _size, _line_delimiter,
@@ -298,6 +303,7 @@ Status CsvReader::_create_decompressor() {
     } else {
         switch (_file_format_type) {
         case TFileFormatType::FORMAT_PROTO:
+            [[fallthrough]];
         case TFileFormatType::FORMAT_CSV_PLAIN:
             compress_type = CompressType::UNCOMPRESSED;
             break;
diff --git 
a/be/src/vec/exec/format/file_reader/new_plain_binary_line_reader.cpp 
b/be/src/vec/exec/format/file_reader/new_plain_binary_line_reader.cpp
index ca80428c38..493fad180a 100644
--- a/be/src/vec/exec/format/file_reader/new_plain_binary_line_reader.cpp
+++ b/be/src/vec/exec/format/file_reader/new_plain_binary_line_reader.cpp
@@ -40,7 +40,9 @@ Status NewPlainBinaryLineReader::read_line(const uint8_t** 
ptr, size_t* size, bo
     size_t read_size = 0;
     switch (_file_type) {
     case TFileType::FILE_LOCAL:
+        [[fallthrough]];
     case TFileType::FILE_HDFS:
+        [[fallthrough]];
     case TFileType::FILE_S3: {
         size_t file_size = _file_reader->size();
         file_buf.reset(new uint8_t[file_size]);
diff --git a/be/src/vec/exec/format/json/new_json_reader.cpp 
b/be/src/vec/exec/format/json/new_json_reader.cpp
index ce6d371658..f321a43d9c 100644
--- a/be/src/vec/exec/format/json/new_json_reader.cpp
+++ b/be/src/vec/exec/format/json/new_json_reader.cpp
@@ -988,7 +988,9 @@ std::string NewJsonReader::_print_json_value(const 
rapidjson::Value& value) {
 Status NewJsonReader::_read_one_message(std::unique_ptr<uint8_t[]>* file_buf, 
size_t* read_size) {
     switch (_params.file_type) {
     case TFileType::FILE_LOCAL:
+        [[fallthrough]];
     case TFileType::FILE_HDFS:
+        [[fallthrough]];
     case TFileType::FILE_S3: {
         size_t file_size = _file_reader->size();
         file_buf->reset(new uint8_t[file_size]);
diff --git a/be/src/vec/exec/format/orc/vorc_reader.cpp 
b/be/src/vec/exec/format/orc/vorc_reader.cpp
index 6710642834..8662f52ebf 100644
--- a/be/src/vec/exec/format/orc/vorc_reader.cpp
+++ b/be/src/vec/exec/format/orc/vorc_reader.cpp
@@ -331,8 +331,11 @@ static std::tuple<bool, orc::Literal> 
convert_to_orc_literal(const orc::Type* ty
         case orc::TypeKind::DOUBLE:
             return std::make_tuple(true, orc::Literal(*((double*)value)));
         case orc::TypeKind::STRING:
+            [[fallthrough]];
         case orc::TypeKind::BINARY:
+            [[fallthrough]];
         case orc::TypeKind::CHAR:
+            [[fallthrough]];
         case orc::TypeKind::VARCHAR: {
             StringRef* string_value = (StringRef*)value;
             return std::make_tuple(true, orc::Literal(string_value->data, 
string_value->size));
diff --git a/be/src/vec/exec/format/parquet/byte_array_dict_decoder.cpp 
b/be/src/vec/exec/format/parquet/byte_array_dict_decoder.cpp
index c30d74b19d..e5a86c5061 100644
--- a/be/src/vec/exec/format/parquet/byte_array_dict_decoder.cpp
+++ b/be/src/vec/exec/format/parquet/byte_array_dict_decoder.cpp
@@ -81,6 +81,7 @@ Status ByteArrayDictDecoder::decode_values(MutableColumnPtr& 
doris_column, DataT
     TypeIndex logical_type = remove_nullable(data_type)->get_type_id();
     switch (logical_type) {
     case TypeIndex::String:
+        [[fallthrough]];
     case TypeIndex::FixedString: {
         size_t dict_index = 0;
 
diff --git a/be/src/vec/exec/format/parquet/byte_array_plain_decoder.cpp 
b/be/src/vec/exec/format/parquet/byte_array_plain_decoder.cpp
index aac4fcb4a2..acc977dbe5 100644
--- a/be/src/vec/exec/format/parquet/byte_array_plain_decoder.cpp
+++ b/be/src/vec/exec/format/parquet/byte_array_plain_decoder.cpp
@@ -42,6 +42,7 @@ Status ByteArrayPlainDecoder::decode_values(MutableColumnPtr& 
doris_column, Data
     TypeIndex logical_type = remove_nullable(data_type)->get_type_id();
     switch (logical_type) {
     case TypeIndex::String:
+        [[fallthrough]];
     case TypeIndex::FixedString: {
         ColumnSelectVector::DataReadType read_type;
         while (size_t run_length = select_vector.get_next_run(&read_type)) {
diff --git a/be/src/vec/exec/format/parquet/decoder.cpp 
b/be/src/vec/exec/format/parquet/decoder.cpp
index 41313cf327..1e9d1eff9d 100644
--- a/be/src/vec/exec/format/parquet/decoder.cpp
+++ b/be/src/vec/exec/format/parquet/decoder.cpp
@@ -41,10 +41,15 @@ Status Decoder::get_decoder(tparquet::Type::type type, 
tparquet::Encoding::type
             decoder.reset(new ByteArrayPlainDecoder());
             break;
         case tparquet::Type::INT32:
+            [[fallthrough]];
         case tparquet::Type::INT64:
+            [[fallthrough]];
         case tparquet::Type::INT96:
+            [[fallthrough]];
         case tparquet::Type::FLOAT:
+            [[fallthrough]];
         case tparquet::Type::DOUBLE:
+            [[fallthrough]];
         case tparquet::Type::FIXED_LEN_BYTE_ARRAY:
             decoder.reset(new FixLengthPlainDecoder(type));
             break;
@@ -56,9 +61,7 @@ Status Decoder::get_decoder(tparquet::Type::type type, 
tparquet::Encoding::type
     case tparquet::Encoding::RLE_DICTIONARY:
         switch (type) {
         case tparquet::Type::BOOLEAN:
-            if (encoding != tparquet::Encoding::PLAIN) {
-                return Status::InternalError("Bool type can't has dictionary 
page");
-            }
+            return Status::InternalError("Bool type can't has dictionary 
page");
         case tparquet::Type::BYTE_ARRAY:
             decoder.reset(new ByteArrayDictDecoder());
             break;
diff --git a/be/src/vec/exec/format/parquet/fix_length_dict_decoder.hpp 
b/be/src/vec/exec/format/parquet/fix_length_dict_decoder.hpp
index 8df7a864ac..e581a65d10 100644
--- a/be/src/vec/exec/format/parquet/fix_length_dict_decoder.hpp
+++ b/be/src/vec/exec/format/parquet/fix_length_dict_decoder.hpp
@@ -125,6 +125,7 @@ public:
             }
             break;
         case TypeIndex::String:
+            [[fallthrough]];
         case TypeIndex::FixedString:
             break;
         default:
@@ -405,6 +406,7 @@ public:
             }
             break;
         case TypeIndex::String:
+            [[fallthrough]];
         case TypeIndex::FixedString:
             if (_physical_type == tparquet::Type::FIXED_LEN_BYTE_ARRAY) {
                 return _decode_string(doris_column, select_vector);
diff --git a/be/src/vec/exec/format/parquet/fix_length_plain_decoder.cpp 
b/be/src/vec/exec/format/parquet/fix_length_plain_decoder.cpp
index 0bf505f230..e50fcc627b 100644
--- a/be/src/vec/exec/format/parquet/fix_length_plain_decoder.cpp
+++ b/be/src/vec/exec/format/parquet/fix_length_plain_decoder.cpp
@@ -109,6 +109,7 @@ Status 
FixLengthPlainDecoder::decode_values(MutableColumnPtr& doris_column, Data
         }
         break;
     case TypeIndex::String:
+        [[fallthrough]];
     case TypeIndex::FixedString:
         if (_physical_type == tparquet::Type::FIXED_LEN_BYTE_ARRAY) {
             return _decode_string(doris_column, select_vector);
diff --git a/be/src/vec/exec/format/parquet/parquet_pred_cmp.h 
b/be/src/vec/exec/format/parquet/parquet_pred_cmp.h
index 8dc3bd6b32..d3a01734cf 100644
--- a/be/src/vec/exec/format/parquet/parquet_pred_cmp.h
+++ b/be/src/vec/exec/format/parquet/parquet_pred_cmp.h
@@ -139,7 +139,9 @@ private:
             FOR_REINTERPRET_TYPES(DISPATCH)
 #undef DISPATCH
         case TYPE_VARCHAR:
+            [[fallthrough]];
         case TYPE_CHAR:
+            [[fallthrough]];
         case TYPE_STRING:
             if constexpr (std::is_same_v<CppType, StringRef>) {
                 min_value = StringRef(encoded_min);
@@ -180,7 +182,9 @@ private:
             }
             break;
         case TYPE_DECIMAL32:
+            [[fallthrough]];
         case TYPE_DECIMAL64:
+            [[fallthrough]];
         case TYPE_DECIMAL128I:
             if constexpr (std::is_same_v<CppType, int32_t> || 
std::is_same_v<CppType, int64_t> ||
                           std::is_same_v<CppType, __int128_t>) {
@@ -213,6 +217,7 @@ private:
             }
             break;
         case TYPE_DATE:
+            [[fallthrough]];
         case TYPE_DATEV2:
             if (physical_type == tparquet::Type::INT32) {
                 int64_t min_date_value =
@@ -231,6 +236,7 @@ private:
             }
             break;
         case TYPE_DATETIME:
+            [[fallthrough]];
         case TYPE_DATETIMEV2:
             if (physical_type == tparquet::Type::INT96) {
                 ParquetInt96 datetime96_min =
diff --git a/be/src/vec/exec/format/parquet/schema_desc.cpp 
b/be/src/vec/exec/format/parquet/schema_desc.cpp
index e1a5225ff8..70af1ddbba 100644
--- a/be/src/vec/exec/format/parquet/schema_desc.cpp
+++ b/be/src/vec/exec/format/parquet/schema_desc.cpp
@@ -190,6 +190,7 @@ TypeDescriptor FieldDescriptor::get_doris_type(const 
tparquet::SchemaElement& ph
             type = TypeDescriptor(TYPE_DOUBLE);
             break;
         case tparquet::Type::BYTE_ARRAY:
+            [[fallthrough]];
         case tparquet::Type::FIXED_LEN_BYTE_ARRAY:
             type = TypeDescriptor(TYPE_STRING);
             break;
@@ -245,10 +246,12 @@ TypeDescriptor 
FieldDescriptor::convert_to_doris_type(tparquet::ConvertedType::t
         type = TypeDescriptor(TYPE_DATEV2);
         break;
     case tparquet::ConvertedType::type::TIME_MILLIS:
+        [[fallthrough]];
     case tparquet::ConvertedType::type::TIME_MICROS:
         type = TypeDescriptor(TYPE_TIMEV2);
         break;
     case tparquet::ConvertedType::type::TIMESTAMP_MILLIS:
+        [[fallthrough]];
     case tparquet::ConvertedType::type::TIMESTAMP_MICROS:
         type = TypeDescriptor(TYPE_DATETIMEV2);
         break;
@@ -256,15 +259,19 @@ TypeDescriptor 
FieldDescriptor::convert_to_doris_type(tparquet::ConvertedType::t
         type = TypeDescriptor(TYPE_TINYINT);
         break;
     case tparquet::ConvertedType::type::UINT_8:
+        [[fallthrough]];
     case tparquet::ConvertedType::type::INT_16:
         type = TypeDescriptor(TYPE_SMALLINT);
         break;
     case tparquet::ConvertedType::type::UINT_16:
+        [[fallthrough]];
     case tparquet::ConvertedType::type::INT_32:
         type = TypeDescriptor(TYPE_INT);
         break;
     case tparquet::ConvertedType::type::UINT_32:
+        [[fallthrough]];
     case tparquet::ConvertedType::type::UINT_64:
+        [[fallthrough]];
     case tparquet::ConvertedType::type::INT_64:
         type = TypeDescriptor(TYPE_BIGINT);
         break;
diff --git a/be/src/vec/exec/format/parquet/vparquet_column_chunk_reader.cpp 
b/be/src/vec/exec/format/parquet/vparquet_column_chunk_reader.cpp
index e1c2c0af64..2bfe74628d 100644
--- a/be/src/vec/exec/format/parquet/vparquet_column_chunk_reader.cpp
+++ b/be/src/vec/exec/format/parquet/vparquet_column_chunk_reader.cpp
@@ -232,9 +232,11 @@ Status ColumnChunkReader::decode_values(MutableColumnPtr& 
doris_column, DataType
 int32_t ColumnChunkReader::_get_type_length() {
     switch (_field_schema->physical_type) {
     case tparquet::Type::INT32:
+        [[fallthrough]];
     case tparquet::Type::FLOAT:
         return 4;
     case tparquet::Type::INT64:
+        [[fallthrough]];
     case tparquet::Type::DOUBLE:
         return 8;
     case tparquet::Type::INT96:


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to