This is an automated email from the ASF dual-hosted git repository.
yiguolei pushed a commit to branch dev-1.1.1
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/dev-1.1.1 by this push:
new 24fe0fe01e [bugfix 1.1.1] fix use released memory bugs (#10962)
24fe0fe01e is described below
commit 24fe0fe01e6dcaf00b5c0890b29b3e39db398ade
Author: TengJianPing <[email protected]>
AuthorDate: Mon Jul 18 14:28:58 2022 +0800
[bugfix 1.1.1] fix use released memory bugs (#10962)
Merge fix of #10777 to branch dev-1.1.1.
---
be/src/vec/data_types/data_type_nullable.cpp | 6 ++++--
be/src/vec/data_types/data_type_string.cpp | 8 ++++----
2 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/be/src/vec/data_types/data_type_nullable.cpp
b/be/src/vec/data_types/data_type_nullable.cpp
index 52a7f0225f..13ea93f5c3 100644
--- a/be/src/vec/data_types/data_type_nullable.cpp
+++ b/be/src/vec/data_types/data_type_nullable.cpp
@@ -43,8 +43,9 @@ bool DataTypeNullable::only_null() const {
}
std::string DataTypeNullable::to_string(const IColumn& column, size_t row_num)
const {
+ auto ptr = column.convert_to_full_column_if_const();
const ColumnNullable& col =
- assert_cast<const
ColumnNullable&>(*column.convert_to_full_column_if_const().get());
+ assert_cast<const ColumnNullable&>(*ptr.get());
if (col.is_null_at(row_num)) {
return "\\N";
@@ -57,10 +58,11 @@ std::string DataTypeNullable::to_string(const IColumn&
column, size_t row_num) c
// <null array>: is_null1 | is_null2 | ...
// <values array>: value1 | value2 | ...>
int64_t DataTypeNullable::get_uncompressed_serialized_bytes(const IColumn&
column) const {
+ auto ptr = column.convert_to_full_column_if_const();
int64_t size = sizeof(uint32_t);
size += sizeof(bool) * column.size();
size +=
nested_data_type->get_uncompressed_serialized_bytes(assert_cast<const
ColumnNullable&>(
- *column.convert_to_full_column_if_const()).get_nested_column());
+ *ptr).get_nested_column());
return size;
}
diff --git a/be/src/vec/data_types/data_type_string.cpp
b/be/src/vec/data_types/data_type_string.cpp
index 8a63f9bf30..2b4886697b 100644
--- a/be/src/vec/data_types/data_type_string.cpp
+++ b/be/src/vec/data_types/data_type_string.cpp
@@ -52,17 +52,17 @@ static inline void read(IColumn& column, Reader&& reader) {
}
std::string DataTypeString::to_string(const IColumn& column, size_t row_num)
const {
+ auto ptr = column.convert_to_full_column_if_const();
const StringRef& s =
- assert_cast<const
ColumnString&>(*column.convert_to_full_column_if_const().get())
- .get_data_at(row_num);
+ assert_cast<const ColumnString&>(*ptr.get()).get_data_at(row_num);
return s.to_string();
}
void DataTypeString::to_string(const class doris::vectorized::IColumn &
column, size_t row_num,
class doris::vectorized::BufferWritable & ostr) const {
+ auto ptr = column.convert_to_full_column_if_const();
const StringRef& s =
- assert_cast<const
ColumnString&>(*column.convert_to_full_column_if_const().get())
- .get_data_at(row_num);
+ assert_cast<const ColumnString&>(*ptr.get()).get_data_at(row_num);
ostr.write(s.data, s.size);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]