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
feat(batch): support string_agg
with and without order by clause
#3952
Conversation
Codecov Report
@@ Coverage Diff @@
## main #3952 +/- ##
==========================================
+ Coverage 73.81% 73.85% +0.04%
==========================================
Files 821 822 +1
Lines 116045 116447 +402
==========================================
+ Hits 85662 86006 +344
- Misses 30383 30441 +58
Flags with carried forward coverage won't be shown. Click here to find out more.
📣 Codecov can now indicate which changes are the most critical in Pull Requests. Learn more |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
…isingwavelabs#3952) * pass order by clause to backend * support basic string_agg without order by * handle string_agg when generating 2-phase agg * suppot order by in string_agg * convert `Vec<OrderByField>` to `Vec<OrderPair>` while building `AggStateFactory` * add StringAggState to handle string agg w/ and w/o order by seperately * little update to todo comment * make functions in `encoding_for_comparison` consistent with `sort_util` * don't care about how to store the encoded chunk in `encode_chunk` * encode order keys to speed up comparison * remove useless logs * assert that index in range before accessing element * remove unnecessary `EncodedColumn` struct * add unittests for `encode_chunk` and `encode_row` * adjust arguments order to make things consistent * add unittests for `compare_rows` and `compare_rows_in_chunk` * fix clippy check * add unittest for string agg * add e2e tests for string_agg * replace `into_value_at` with `std::mem:take` Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
I hereby agree to the terms of the Singularity Data, Inc. Contributor License Agreement.
What's changed and what's your intention?
This PR adds support for
string_agg
for batch backend. Order-by clause is supported, whileNULLS {FIRST|LAST}
is ignored for now.Checklist
./risedev check
(or alias,./risedev c
)Documentation
If your pull request contains user-facing changes, please specify the types of the changes, and create a release note. Otherwise, please feel free to remove this section.
Types of user-facing changes
Please keep the types that apply to your changes, and remove those that do not apply.
Release note
Please create a release note for your changes. In the release note, focus on the impact on users, and mention the environment or conditions where the impact may occur.
string_agg
function in batch modeRefer to a related PR or issue link (optional)
#3838