-
Notifications
You must be signed in to change notification settings - Fork 176
Let extension bundles declare scalar, aggregate, and window functions #1738
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
Open
Changes from all commits
Commits
Show all changes
26 commits
Select commit
Hold shift + click to select a range
0af2a50
feat: let extension bundles declare scalar, aggregate, and window fun…
timsaucer d47055e
docs: put each bundle-functions claim in front of its own audience
timsaucer 7ca32c6
docs: unpack the dense passages in the bundle guide
timsaucer 30d1c7a
fix: name the right culprit when one bundle claims a name twice
timsaucer fc26394
refactor: drive declared-function install off one table
timsaucer 2dc1159
docs: say what the commit order costs a bundle author
timsaucer 6216bf1
docs: pass volatility by keyword, drop a dead cross-reference
timsaucer e688948
fix: pick the collision remedy by argument position
timsaucer 659cda7
test: pin that every function-kind row names something real
timsaucer a9df02b
refactor: split the commit rule from the planner-rebinding note
timsaucer f05b808
style: spell out the pyo3 imports in the bundle example
timsaucer 6bf48e7
style: tidy wording in _resolve_declared_functions
timsaucer 5c2b6c7
test: cover function-name collisions for every kind
timsaucer ebb8943
refactor: fold the planner hooks and the commit into one Rust call
timsaucer 79668ff
refactor: resolve each function kind in a straight line
timsaucer 783b39e
refactor: register declared functions with the public methods
timsaucer 09a6f90
docs: give the transaction rule one canonical home
timsaucer e1fdff4
refactor: name the component fields in one dict, not in field metadata
timsaucer 582c253
docs: say what the collision check does not cover
timsaucer f11a99f
Merge branch 'main' into feat/bundle-functions
timsaucer 2ea2379
refactor: collapse the two collision messages into one
timsaucer ad250cb
test: pin component fields to nouns by equality, not subset
timsaucer 92c65de
docs: name the three registrations the commit step uses
timsaucer 9baf121
fix: filter planner hooks in Python, not by hasattr in Rust
timsaucer 97e6315
docs: state the equality as a rule, not as a defence of it
timsaucer 6da87f6
test: pin which check decides a planner hook is a hook
timsaucer 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
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.
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.
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 am not very familiar with datafusion code base, so please excuse me if this is something obvious.
My question is if we need to worry about the lifetime/ownership of the object coming from
__datafusion_query_planner__, I mean is it guaranteed that it is just an adapter around the current session planner?