-
Notifications
You must be signed in to change notification settings - Fork 130
feat: add concat expression to vortex-expr #4902
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
Adds a new `concat` expression that concatenates multiple expressions of the same type into a single ChunkedArray. Each input expression becomes a chunk in the resulting ChunkedArray. Features: - Validates all child expressions have the same dtype - Returns a ChunkedArray with each child as a chunk - Comprehensive tests covering various usage patterns 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> Signed-off-by: blaginin <dima@spiraldb.com>
Signed-off-by: blaginin <dima@spiraldb.com>
CodSpeed Performance ReportMerging #4902 will degrade performances by 10.68%Comparing Summary
Benchmarks breakdown
Footnotes |
Codecov Report❌ Patch coverage is
☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
vortex-expr/src/exprs/concat.rs
Outdated
|
|
||
| vtable!(Concat); | ||
|
|
||
| /// Concatenate zero or more expressions into a single ChunkedArray. |
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.
I don't think we need to require that a chunked array is returned, just an array containing all rows of the list of arrays?
vortex-expr/src/exprs/concat.rs
Outdated
| /// lit(Scalar::from(200)), | ||
| /// lit(Scalar::from(300)), | ||
| /// ]); | ||
| /// let concatenated = example.evaluate(&Scope::new(buffer![0].into_array())).unwrap(); |
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.
Scope::empty not new
- Update documentation to say concat returns 'a single array' rather than specifically requiring ChunkedArray - Clarify that the result is a ChunkedArray implementation detail - Fix example to use Scope::empty(1) instead of Scope::new() Signed-off-by: blaginin <dima@spiraldb.com>
Signed-off-by: blaginin <dima@spiraldb.com>
Adds a new
concatexpression that concatenates multiple expressions of the same type into a single ChunkedArray. Each input expression becomes a chunk in the resulting ChunkedArray.Features:
🤖 Generated with Claude Code