-
Notifications
You must be signed in to change notification settings - Fork 3.7k
[fix](nullable) set SlotRef's nullable to right value #59092
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
|
run buildall |
TPC-H: Total hot run time: 35380 ms |
TPC-DS: Total hot run time: 178109 ms |
6f7594e to
253b8f2
Compare
|
run buildall |
TPC-H: Total hot run time: 35355 ms |
TPC-DS: Total hot run time: 178717 ms |
ClickBench: Total hot run time: 27.28 s |
FE UT Coverage ReportIncrement line coverage |
FE Regression Coverage ReportIncrement line coverage |
253b8f2 to
7edb931
Compare
|
run buildall |
7edb931 to
1fbf973
Compare
|
run buildall |
TPC-H: Total hot run time: 35003 ms |
TPC-DS: Total hot run time: 177798 ms |
ClickBench: Total hot run time: 27.34 s |
1fbf973 to
b1ba0b4
Compare
|
run buildall |
|
PR approved by at least one committer and no changes requested. |
|
PR approved by anyone and no changes requested. |
TPC-H: Total hot run time: 35277 ms |
TPC-DS: Total hot run time: 178768 ms |
ClickBench: Total hot run time: 27.5 s |
FE Regression Coverage ReportIncrement line coverage |
What problem does this PR solve?
Related PR: #57862
Problem Summary:
This pull request refactors how constant and result expressions are handled in set operations and one-row relations, simplifies the logic for handling nullable outputs in joins and assertions, and removes some legacy or redundant code. The changes improve code clarity, maintainability, and correctness, especially around expression translation and output slot nullability.
Set Operation and Expression Handling Improvements:
setMaterializedConstExprListsandsetMaterializedResultExprLists), removing thefinalizeForSetOperationNodemethod and simplifying the logic invisitPhysicalSetOperation. This ensures expressions are translated and assigned more explicitly and consistently. [1] [2]PhysicalOneRowRelationto directly assign materialized constant expressions to theUnionNode, streamlining the process and removing unnecessary slot descriptor assignments.Nullability and Join Output Adjustments:
AssertNumRowsNodeby always generating a new tuple descriptor based on the output, removing redundant code for slot mapping and nullability, and ensuring output nullability is always set in the Thrift conversion. [1] [2] [3]Code Cleanup and Removal of Legacy Logic:
ROWID_COLin join slot descriptor creation, making the codebase more maintainable and focused.Dependency and Import Updates:
AssertNumRowsElementto support the refactored assertion handling.Release note
None
Check List (For Author)
Test
Behavior changed:
Does this need documentation?
Check List (For Reviewer who merge this PR)