-
Notifications
You must be signed in to change notification settings - Fork 276
feat: Native columnar to row conversion (Phase 2) #3266
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
Open
andygrove
wants to merge
69
commits into
apache:main
Choose a base branch
from
andygrove:native-c2r-comet-tests
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+620
−457
Open
Changes from all commits
Commits
Show all changes
69 commits
Select commit
Hold shift + click to select a range
34ea689
chore: add script to regenerate golden files for plan stability tests
andygrove 6d43d52
docs: update contributor guide to reference golden files script
andygrove ee2ffec
fix: ensure native code is built before installing
andygrove c2c8ba0
feat: add experimental native columnar to row conversion
andygrove 49a5b20
cargo fmt
andygrove e558073
cargo clippy
andygrove a44066f
docs
andygrove fd58cba
update benchmark [skip ci]
andygrove bac9164
fix: use correct element sizes in native columnar to row for array/map
andygrove 3ca5553
test: add fuzz test with nested types to native C2R suite
andygrove 7f2e64d
test: add deeply nested type tests to native C2R suite
andygrove 7afc4ba
test: add fuzz test with generateNestedSchema for native C2R
andygrove adc13a6
format
andygrove 56df742
fix: handle LargeList and improve error handling in native C2R
andygrove 461c625
fix
andygrove 8b8741c
fix: add Dictionary-encoded array support to native C2R
andygrove b8ed2e7
format
andygrove 330dbb2
clippy [skip ci]
andygrove 8231a75
test: add benchmark comparing JVM and native columnar to row conversion
andygrove f2cc61c
perf: optimize native C2R by eliminating Vec allocations for strings
andygrove 3ebcaca
perf: add fixed-width fast path for native C2R
andygrove ed72c29
test: add fixed-width-only benchmark and refactor C2R benchmark
andygrove 17d83d5
perf: optimize complex types in native C2R by eliminating intermediat…
andygrove 5f26a81
perf: add bulk copy optimization for primitive arrays in native C2R
andygrove e5b2c61
perf: add pre-downcast optimization for native C2R general path
andygrove 7743138
fix: correct array element bulk copy for Date32, Timestamp, Boolean
andygrove 9c66ef6
perf: Velox-style optimization for array/map C2R (40-52% faster)
andygrove 64c5212
perf: inline type dispatch for struct fields in native C2R
andygrove 04c49fb
perf: pre-downcast struct fields for native C2R
andygrove 47d4c50
perf: optimize general path for mixed fixed/variable-length columns
andygrove 081b3ed
revert
andygrove f696595
upmerge
andygrove 92e1abb
revert doc format change
andygrove e735434
fix: address clippy warnings and remove dead code in native C2R
andygrove ab074bd
Remove #[inline] hint from bulk_copy_range
andygrove a4d5eeb
enable native c2r by default
andygrove 01b5dd0
fix
andygrove 691fb4c
fix
andygrove 5687f79
fix
andygrove 1dc720b
Fix dictionary type mismatch in columnar_to_row conversion
andygrove 5c7da07
Merge remote-tracking branch 'origin/dev/regenerate-golden-files-scri…
andygrove 2581ea5
Add doExecuteBroadcast support to CometNativeColumnarToRowExec
andygrove 90cc9ba
update golden files
andygrove d46b56a
Add NullVector/NullArray support for native columnar-to-row conversion
andygrove 537d62e
Fix clippy warnings for Rust 1.93
andygrove 90d06d5
Merge branch 'fix-clippy-rust-1.93' into native-c2r-enabled
andygrove 46733bf
Fix dictionary-encoded decimal handling in native columnar-to-row con…
andygrove 26cfa2b
Handle NullArray in native columnar-to-row conversion
andygrove 67383ad
Add FixedSizeBinary support for native columnar-to-row conversion
andygrove 9e60ca5
Fix dictionary-encoded decimal cast to use schema type
andygrove 61b03b7
Disable native C2R when query contains native_comet scan
andygrove 4c29171
format
andygrove 4e53cc8
upmerge
andygrove ad1d2cc
update golden files
andygrove f64c6f4
fix: Handle Int32/Int64 to Decimal128 conversion in native C2R
andygrove 2a7bfdc
reimplement native_comet fallback and revert nodeName changes
andygrove 3f8991b
update golden files
andygrove 5ad33cc
fix: Fallback to JVM C2R for scans using mutable buffers
andygrove 3c41493
enable
andygrove 990b1f0
update golden files
andygrove aabc6d1
disable by default, enable in comet tests
andygrove 3cdb03c
Merge apache/main into native-c2r-comet-tests
andygrove 95327ac
refactor: Reduce duplicate code in columnar_to_row.rs
andygrove d3417b6
disable in stability suite
andygrove 993c7c6
update golden files
andygrove ee05d03
update golden files
andygrove 44581c2
lint
andygrove a585707
fix: Close ColumnarBatch after native columnar to row conversion
andygrove fa54060
fix: Remove redundant closure (clippy warning)
andygrove File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.