-
Notifications
You must be signed in to change notification settings - Fork 36
perf: Optimize st_has(z/m) using WKBBytesExecutor + Implement new WKBHeader #171
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
Merged
Merged
Changes from 29 commits
Commits
Show all changes
50 commits
Select commit
Hold shift + click to select a range
ccae8ff
Implement st_haszm using WKBBytesExecutor instead (missing one last e…
petern48 07aa206
Add note about handling last edge case
petern48 cf031fb
Minor fix to the comments
petern48 526fc3b
Fix pre-commit
petern48 a491d91
Fix cargo clippy
petern48 cf90bcf
Save progress
petern48 22a6087
Pull out dimension calculation logic into new wkb_header.rs
petern48 5c616af
Add MULTIPOINT_WITH_INFERRED_Z_DIMENSION_WKB fixture
petern48 207ecb1
Fix dimension calculation to support all collection types and add fix…
petern48 43009f8
Fix clippy and clean up
petern48 1078bdd
Remove public byte_order method since it's not needed atm
petern48 4d4e7e0
Perform all wkb_header operations lazily and cache the values as Opti…
petern48 dfd6c1a
Add python integration test benches
petern48 0ef812d
Add tests for wkb_header
petern48 075d6e6
Apply suggestion from @paleolimbot
petern48 491b3c7
Remaining clean up
petern48 7efccc0
Update to method to dimensions plural
petern48 06501e5
Rename method to try_new
petern48 1b397fd
Update fixture to be multipoint ((1 2 3)) instead of all zeros
petern48 9ce9f08
Implement refactor
petern48 617f9b8
Remove inferred dimension case
petern48 96311fa
Move logic to st_haszm
petern48 d1d4fc8
Add empty_geometry_first_coord_dimensions test
petern48 573f7c8
Add test for size
petern48 b5984dc
Add tests
petern48 8c1d2f0
Implement fix for first_xy POLYGON logic
petern48 dc49aac
clean up
petern48 89ebb4c
Rename from first_coord_dimensions to first_geom_dimensions and adjus…
petern48 bdc0fae
Update name of method in st_haszm and update some sedona_internal_err…
petern48 6b9a6ef
Merge branch 'main' into st_haszm_wkb_bytes
petern48 3c83ff9
Use SedonaGeometryError and remove sedona and datafusion common depen…
petern48 597c22e
Fix write_geometry arg after merge
petern48 55b94ef
Create and use read_u32() helper function
petern48 b77a762
Move all functions into WKbHeader as methods also rename helper to fi…
petern48 a2218a9
Catch the error instead of hiding it in first_geom_idx
petern48 b8f1cc3
Use new WkbBuffer that calculates values by consuming bytes and keepi…
petern48 4e3e525
Fix st_haszm to map sedona errors
petern48 92dd670
Fix bug, so dimensions supports EWKB and ISO WKB
petern48 e4d269a
Clean up
petern48 c25ac66
Remove parse_dimensions function and rename to read_coord
petern48 86aeb3c
Create set_offset() function to avoid creating new WkbBuffers
petern48 92759f2
Add EWKB GEOMETRYCOLLECTION w/ Z, M tests
petern48 389c34f
Delete unnecessary commented test + small match refactor
petern48 426a17a
Apply suggestion from @paleolimbot
petern48 a6902f8
Apply suggestion from @paleolimbot
petern48 4a8c070
Make incomplete_buffer tests more concise and comprehensive
petern48 99aeb4b
Merge branch 'st_haszm_wkb_bytes' of github.com:petern48/sedona-db in…
petern48 5d413de
Avoid final nested WkbBuffer::try_new() call to improve performance
petern48 2d2c8e5
Fix bug with geom collection nested inside geom collection and add ru…
petern48 9e10d6b
cleanup rust/sedona-functions/src/st_haszm.rs
petern48 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
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -24,3 +24,4 @@ pub mod point_count; | |
| pub mod transform; | ||
| pub mod types; | ||
| pub mod wkb_factory; | ||
| pub mod wkb_header; | ||
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.