@@ -679,8 +679,8 @@ Status ArrayColumnReader::read_column_data(ColumnPtr& doris_column, DataTypePtr&
679
679
MutableColumnPtr data_column;
680
680
NullMap* null_map_ptr = nullptr ;
681
681
if (doris_column->is_nullable ()) {
682
- auto * nullable_column = reinterpret_cast <vectorized::ColumnNullable*>(
683
- (* std::move (doris_column)). mutate () .get ());
682
+ auto mutable_column = doris_column-> assume_mutable ();
683
+ auto * nullable_column = static_cast <vectorized::ColumnNullable*>(mutable_column .get ());
684
684
null_map_ptr = &nullable_column->get_null_map_data ();
685
685
data_column = nullable_column->get_nested_column_ptr ();
686
686
} else {
@@ -730,8 +730,8 @@ Status MapColumnReader::read_column_data(ColumnPtr& doris_column, DataTypePtr& t
730
730
MutableColumnPtr data_column;
731
731
NullMap* null_map_ptr = nullptr ;
732
732
if (doris_column->is_nullable ()) {
733
- auto * nullable_column = reinterpret_cast <vectorized::ColumnNullable*>(
734
- (* std::move (doris_column)). mutate () .get ());
733
+ auto mutable_column = doris_column-> assume_mutable ();
734
+ auto * nullable_column = static_cast <vectorized::ColumnNullable*>(mutable_column .get ());
735
735
null_map_ptr = &nullable_column->get_null_map_data ();
736
736
data_column = nullable_column->get_nested_column_ptr ();
737
737
} else {
@@ -799,8 +799,8 @@ Status StructColumnReader::read_column_data(ColumnPtr& doris_column, DataTypePtr
799
799
MutableColumnPtr data_column;
800
800
NullMap* null_map_ptr = nullptr ;
801
801
if (doris_column->is_nullable ()) {
802
- auto * nullable_column = reinterpret_cast <vectorized::ColumnNullable*>(
803
- (* std::move (doris_column)). mutate () .get ());
802
+ auto mutable_column = doris_column-> assume_mutable ();
803
+ auto * nullable_column = static_cast <vectorized::ColumnNullable*>(mutable_column .get ());
804
804
null_map_ptr = &nullable_column->get_null_map_data ();
805
805
data_column = nullable_column->get_nested_column_ptr ();
806
806
} else {
@@ -880,8 +880,8 @@ Status StructColumnReader::read_column_data(ColumnPtr& doris_column, DataTypePtr
880
880
auto & doris_field = doris_struct.get_column_ptr (idx);
881
881
auto & doris_type = const_cast <DataTypePtr&>(doris_struct_type->get_element (idx));
882
882
DCHECK (doris_type->is_nullable ());
883
- auto * nullable_column = reinterpret_cast <vectorized::ColumnNullable*>(
884
- (* std::move (doris_field)). mutate () .get ());
883
+ auto mutable_column = doris_field-> assume_mutable ();
884
+ auto * nullable_column = static_cast <vectorized::ColumnNullable*>(mutable_column .get ());
885
885
nullable_column->insert_null_elements (missing_column_sz);
886
886
}
887
887
0 commit comments