[refactor](be) Guard redundant column and typeid casts#64063
Conversation
### What problem does this PR solve?
Issue Number: close #xxx
Related PR: #xxx
Problem Summary: Add compile-time checks to reject redundant same-type typeid_cast and check_and_get_column usage. This keeps dynamic column probing available for IColumn-derived source types while making already-concrete same-type calls fail at compile time instead of silently adding unnecessary casts.
### Release note
None
### Check List (For Author)
- Test: Manual test
- sh run-be-ut.sh --clean -j 48
- Behavior changed: No
- Does this need documentation: No
|
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
|
run buildall |
|
/review |
There was a problem hiding this comment.
Reviewed the actual GitHub PR diff for PR 64063, which contains only be/src/core/column/column.h and be/src/core/typeid_cast.h. I did not find a blocking issue.
Critical checkpoint conclusions:
- Goal/test proof: the code implements compile-time rejection of redundant same-type
typeid_cast/check_and_get_columncalls. The stated testing is BE unit tests from the PR description; I did not rerun them in this review. - Scope/focus: the actual PR diff is focused on BE column/typeid cast helpers.
- Concurrency: no concurrency behavior is involved.
- Lifecycle/static initialization: no static/global lifecycle issue identified.
- Configuration: no config changes.
- Compatibility/storage format: no protocol or storage format change.
- Parallel code paths: both
typeid_castand thecheck_and_get_columnwrappers were updated consistently. - Conditional/error handling: no new runtime error path; the change is compile-time assertions.
- Test coverage: no new test file is added, but the change is primarily compile-time enforcement. Residual risk is compile breakage in less-covered call sites that intentionally used same-type probing.
- Observability: not applicable.
- Transaction/persistence/data writes: not applicable.
- FE/BE variable passing: not applicable.
- Performance: no runtime performance regression identified; static assertions do not add runtime cost.
- Other issues: no additional issue found.
User focus points: no additional focus points were provided.
BE UT Coverage ReportIncrement line coverage Increment coverage report
|
BE Regression && UT Coverage ReportIncrement line coverage Increment coverage report
|
|
run external |
TPC-H: Total hot run time: 29357 ms |
TPC-DS: Total hot run time: 169494 ms |
BE Regression && UT Coverage ReportIncrement line coverage Increment coverage report
|
|
run external |
BE Regression && UT Coverage ReportIncrement line coverage Increment coverage report
|
|
run external |
What problem does this PR solve?
Issue Number: close #xxx
Related PR: #xxx
Problem Summary: Add compile-time checks to reject redundant same-type typeid_cast and check_and_get_column usage. This keeps dynamic column probing available for IColumn-derived source types while making already-concrete same-type calls fail at compile time instead of silently adding unnecessary casts.
Release note
None
Issue Number: close #xxx
Related PR: #xxx
Problem Summary:
Release note
None
Check List (For Author)
Test
Behavior changed:
Does this need documentation?
Check List (For Reviewer who merge this PR)