[Exec](join) Support column string64 to avoid join failed in string size overflow the uint32#33511
[Exec](join) Support column string64 to avoid join failed in string size overflow the uint32#33511HappenLee merged 10 commits intoapache:masterfrom
Conversation
|
Thank you for your contribution to Apache Doris. Since 2024-03-18, the Document has been moved to doris-website. |
|
run buildall |
|
clang-tidy review says "All clean, LGTM! 👍" |
|
TeamCity be ut coverage result: |
|
run buildall |
| void sort_column(const ColumnString64& column, EqualFlags& flags, IColumn::Permutation& perms, | ||
| EqualRange& range, bool last_column) const { |
There was a problem hiding this comment.
warning: method 'sort_column' can be made static [readability-convert-member-functions-to-static]
| void sort_column(const ColumnString64& column, EqualFlags& flags, IColumn::Permutation& perms, | |
| EqualRange& range, bool last_column) const { | |
| static void sort_column(const ColumnString64& column, EqualFlags& flags, IColumn::Permutation& perms, | |
| EqualRange& range, bool last_column) { |
|
run buildall |
| for (size_t i = 0; i < length; ++i) | ||
| cur_offsets[old_size + i] = src_offsets[start + i] - nested_offset + prev_max_offset; |
There was a problem hiding this comment.
warning: statement should be inside braces [readability-braces-around-statements]
| for (size_t i = 0; i < length; ++i) | |
| cur_offsets[old_size + i] = src_offsets[start + i] - nested_offset + prev_max_offset; | |
| for (size_t i = 0; i < length; ++i) { | |
| cur_offsets[old_size + i] = src_offsets[start + i] - nested_offset + prev_max_offset; | |
| } |
| } | ||
| } | ||
|
|
||
| void ColumnMap::insert_range_from_ignore_overflow(const IColumn& src, size_t start, size_t length) { |
There was a problem hiding this comment.
warning: method 'insert_range_from_ignore_overflow' can be made static [readability-convert-member-functions-to-static]
be/src/vec/columns/column_map.h:104:
- void insert_range_from_ignore_overflow(const IColumn& src, size_t start,
+ static void insert_range_from_ignore_overflow(const IColumn& src, size_t start,| } | ||
| } | ||
|
|
||
| void ColumnStruct::insert_range_from_ignore_overflow(const IColumn& src, size_t start, |
There was a problem hiding this comment.
warning: method 'insert_range_from_ignore_overflow' can be made static [readability-convert-member-functions-to-static]
be/src/vec/columns/column_struct.h:147:
- void insert_range_from_ignore_overflow(const IColumn& src, size_t start,
+ static void insert_range_from_ignore_overflow(const IColumn& src, size_t start,|
run buildall |
|
TeamCity be ut coverage result: |
|
run buildall |
|
run buildall |
|
TeamCity be ut coverage result: |
|
run buildall |
|
TeamCity be ut coverage result: |
|
run buildall |
|
run buildall |
|
run buildall |
|
TeamCity be ut coverage result: |
|
run buildall |
|
PR approved by at least one committer and no changes requested. |
|
PR approved by anyone and no changes requested. |
|
TeamCity be ut coverage result: |
…ize overflow the uint32 (apache#33511)
This is imported by #33511. wrongly used ColumnStr<T> (); which violate C++20 standard(see https://wg21.cmeerw.net/cwg/issue2237) but still supported by clang up until now(see llvm/llvm-project#58112)
This is imported by #33511. wrongly used ColumnStr<T> (); which violate C++20 standard(see https://wg21.cmeerw.net/cwg/issue2237) but still supported by clang up until now(see llvm/llvm-project#58112)
Proposed changes
Before:
join right table column string over uint32
string column Length is too LargeAfter:
get the right result, but may exec slowly
Further comments
If this is a relatively large or complex change, kick off the discussion at dev@doris.apache.org by explaining why you chose the solution you did and what alternatives you considered, etc...