This is an automated email from the ASF dual-hosted git repository.
morningman 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 a813ad56ad [fix](multi-catalog) key and value columns of map are
normal column type (#18160)
a813ad56ad is described below
commit a813ad56ad0fbf7d8388df25b0cb12efc52bff49
Author: Ashin Gau <[email protected]>
AuthorDate: Tue Mar 28 23:11:40 2023 +0800
[fix](multi-catalog) key and value columns of map are normal column type
(#18160)
PR(#17330) has changed the column type of kay and value from array to
normal column, but orc&parquet reader still cast to array column, resulting in
cast error.
---
be/src/vec/exec/format/orc/vorc_reader.cpp | 6 ++----
be/src/vec/exec/format/parquet/vparquet_column_reader.cpp | 6 ++----
2 files changed, 4 insertions(+), 8 deletions(-)
diff --git a/be/src/vec/exec/format/orc/vorc_reader.cpp
b/be/src/vec/exec/format/orc/vorc_reader.cpp
index a0c2e04768..bde965f3b1 100644
--- a/be/src/vec/exec/format/orc/vorc_reader.cpp
+++ b/be/src/vec/exec/format/orc/vorc_reader.cpp
@@ -805,10 +805,8 @@ Status OrcReader::_orc_column_to_doris_column(const
std::string& col_name,
->get_value_type());
const orc::Type* orc_key_type = orc_column_type->getSubtype(0);
const orc::Type* orc_value_type = orc_column_type->getSubtype(1);
- const ColumnPtr& doris_key_column =
- typeid_cast<const
ColumnArray*>(doris_map.get_keys_ptr().get())->get_data_ptr();
- const ColumnPtr& doris_value_column =
- typeid_cast<const
ColumnArray*>(doris_map.get_values_ptr().get())->get_data_ptr();
+ const ColumnPtr& doris_key_column = doris_map.get_keys_ptr();
+ const ColumnPtr& doris_value_column = doris_map.get_values_ptr();
RETURN_IF_ERROR(_orc_column_to_doris_column(col_name,
doris_key_column, doris_key_type,
orc_key_type,
orc_map->keys.get(),
element_size));
diff --git a/be/src/vec/exec/format/parquet/vparquet_column_reader.cpp
b/be/src/vec/exec/format/parquet/vparquet_column_reader.cpp
index 86ce6e30e4..02bb4e1d70 100644
--- a/be/src/vec/exec/format/parquet/vparquet_column_reader.cpp
+++ b/be/src/vec/exec/format/parquet/vparquet_column_reader.cpp
@@ -580,10 +580,8 @@ Status MapColumnReader::read_column_data(ColumnPtr&
doris_column, DataTypePtr& t
reinterpret_cast<const
DataTypeMap*>(remove_nullable(type).get())->get_key_type());
DataTypePtr& value_type = const_cast<DataTypePtr&>(
reinterpret_cast<const
DataTypeMap*>(remove_nullable(type).get())->get_value_type());
- ColumnPtr& key_column =
-
typeid_cast<ColumnArray*>(map.get_keys_ptr()->assume_mutable().get())->get_data_ptr();
- ColumnPtr& value_column =
-
typeid_cast<ColumnArray*>(map.get_values_ptr()->assume_mutable().get())->get_data_ptr();
+ ColumnPtr& key_column = map.get_keys_ptr();
+ ColumnPtr& value_column = map.get_values_ptr();
size_t key_rows = 0;
size_t value_rows = 0;
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]