Mryange commented on code in PR #63678:
URL: https://github.com/apache/doris/pull/63678#discussion_r3332063321
##########
be/src/core/column/column_array.h:
##########
@@ -195,32 +196,35 @@ class ColumnArray final : public COWHelper<IColumn,
ColumnArray> {
IColumn& get_data() { return *data; }
const IColumn& get_data() const { return *data; }
- IColumn& get_offsets_column() { return *offsets; }
- const IColumn& get_offsets_column() const { return *offsets; }
+ ColumnOffsets& get_offsets_column() { return *offsets; }
+ const ColumnOffsets& get_offsets_column() const { return *offsets; }
- Offsets64& ALWAYS_INLINE get_offsets() {
- return assert_cast<ColumnOffsets&,
TypeCheckOnRelease::DISABLE>(*offsets).get_data();
- }
+ Offsets64& ALWAYS_INLINE get_offsets() { return offsets->get_data(); }
- const Offsets64& ALWAYS_INLINE get_offsets() const {
- return assert_cast<const ColumnOffsets&,
TypeCheckOnRelease::DISABLE>(*offsets).get_data();
- }
+ const Offsets64& ALWAYS_INLINE get_offsets() const { return
offsets->get_data(); }
bool has_equal_offsets(const ColumnArray& other) const;
const ColumnPtr& get_data_ptr() const { return data; }
ColumnPtr& get_data_ptr() { return data; }
- const ColumnPtr& get_offsets_ptr() const { return offsets; }
- ColumnPtr& get_offsets_ptr() { return offsets; }
+ const ColumnOffsets::Ptr& get_offsets_ptr() const {
+ return static_cast<const ColumnOffsets::Ptr&>(offsets);
Review Comment:
这个chameleon_ptr 和 Ptr不是同一个类型。
```C++
template <typename T>
class chameleon_ptr {
private:
immutable_ptr<T> value;
operator const immutable_ptr<T>&() const { return value; }
operator immutable_ptr<T>&() { return value; }
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]