Trivial improvement on array join #57183
Conversation
|
This is an automated comment for commit f33f231 with description of existing statuses. It's updated for the latest CI running ❌ Click here to open a full report in a separate page Successful checks
|
|
Tests are broken |
|
Need to fix or close. |
| current.column = current.column->cut(current_row, next_row - current_row); | ||
|
|
||
| /// Reuse cut_any_col if possible to avoid unnecessary cut. | ||
| if (!is_unaligned && !is_left && current.name == *columns.begin()) |
There was a problem hiding this comment.
This change is far from trivial as the PR suggested. I'm not sure if comparing by name won't come back to bite us. In any case, this is not a "trivial" improvement. Considering cut_any_col might have been transformed by convertToFullColumnIfConst(), is it still correct?
Also found some issue while testing if this would work (but it breaks in master without the changes) -> #57243
There was a problem hiding this comment.
Yes, it is still correct.
There was a problem hiding this comment.
As long as any_array is transformed from the first array join column, comparision by name is right.
If array join column is huge, then current improvement could avoid cutting twice from array join column
There was a problem hiding this comment.
@Algunenano I'll fix the issue you mentioned before.
Changelog category (leave one):
Changelog entry (a user-readable short description of the changes that goes to CHANGELOG.md):
Trivial improvement on array join, reuse some intermediate results.