-
Notifications
You must be signed in to change notification settings - Fork 3
Delete redundant joins by substitution equi-join keys for their mirror to render one side pruneable #450
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
Delete redundant joins by substitution equi-join keys for their mirror to render one side pruneable #450
Changes from 177 commits
Commits
Show all changes
188 commits
Select commit
Hold shift + click to select a range
9ac45d2
moving error classes/utilities to common module
knassre-bodo 8728487
Changed more errors to be PyDough exceptions
knassre-bodo 675421c
Added error builder class and integrated for term not found errors
knassre-bodo 097b8a0
Minor refactor to term_not_found error usage [RUN CI]
knassre-bodo 18ba964
WIP
knassre-bodo 684b5d7
WIP improvements on projection pullup
knassre-bodo cc004ec
Fixing filter/join cases
knassre-bodo de7d4e6
Bugfixes, testing for correctness [RUN CI]
knassre-bodo e6dea43
Merge branch 'main' into kian/projection_pullup
knassre-bodo 3827276
Finished dealing with JOIN pull-up
knassre-bodo 1fff8ea
Fixed pullup bugs
knassre-bodo 07136d2
Pullup with LIMIT [RUN CI]
knassre-bodo 922d356
Resolving conflicts
knassre-bodo a678974
Resolving conflicts
knassre-bodo 602f292
Merge branch 'main' into kian/projection_pullup
knassre-bodo d7ec696
Adding extra round of bubbling
knassre-bodo d88cdb5
Compressing limit into root
knassre-bodo 665a9dd
Restoring filter modifications
knassre-bodo d1fe25b
Started aggregation project pullup
knassre-bodo 0892581
Added SUM(1)->COUNT() optimization
knassre-bodo a69d764
Cleanup merge projects
knassre-bodo 13d9844
Added some adjacent aggregaiton merging
knassre-bodo c497127
Added min/min, max/max, anything/anything cases
knassre-bodo f74fc5c
Adding more aggregation simplification and comments
knassre-bodo d260428
Added more aggregation simplification + tests
knassre-bodo 856e1a9
Adjusting parameters of optimization
knassre-bodo c4298cb
Pulled out common logic from filter/join/limit and added comments
knassre-bodo 5e9f09d
Added remaining comments
knassre-bodo c45b4f2
[RUN CI]
knassre-bodo 6a7bc49
Resolving conflicts [RUN CI]
knassre-bodo 416fbad
Added PageRank tests and fixed bugs found along the way
knassre-bodo b121c31
Started adding comments
knassre-bodo 05f7147
Started adding comments
knassre-bodo 2697b10
Added comments
knassre-bodo 94726ff
Fixing c4 test and refactoring the PageRank impl to be simpler & more…
knassre-bodo e21cf57
Merge branch 'main' into kian/projection_pullup
knassre-bodo 44fdd33
[RUN CI]
knassre-bodo a53500d
Merge branch 'main' into kian/pagerank
knassre-bodo b5d90f2
[RUN CI]
knassre-bodo 0128758
Added tests e/f, deleted relational/sql tests for graphs other than a/c
knassre-bodo c9a5fe1
Adjusted how the skips are handled
knassre-bodo d6ed6c6
Adding larger graph & dense graph tests [RUN CI]
knassre-bodo ebf5339
Changing test h to be a higher number of iterations [RUN CI]
knassre-bodo 19d8fe5
Merge branch 'main' into kian/error_handler
knassre-bodo 80a9ca0
Moved around more errors, got rid of redundant ones, and fixed a cros…
knassre-bodo e812143
Overhaul test_qualify_error
knassre-bodo 993553f
Moving more errors
knassre-bodo 85e7c8f
Minor adjustment to how pagerank was written
knassre-bodo 0508822
Initial revisions
knassre-bodo f59f457
Added set up for simplification
knassre-bodo b34f6ca
Added first simplification rules
knassre-bodo 7884341
Improved null handling for aggregations
knassre-bodo b281c8a
Added more simplification rules
knassre-bodo 78f6e78
More >0 filter improvements
knassre-bodo e8a54b8
Added IFF and KEEP_IF rules
knassre-bodo 40805f7
Resolving conflicts with base branch [RUN CI]
knassre-bodo 6121806
resolving conflicts with base branch
knassre-bodo b8a7f77
Added more simplification patterns and tests
knassre-bodo bc5f383
Minor refactoring
knassre-bodo a828aa9
Fixing double-TPCH error handling
knassre-bodo 2914f9b
overhauling some of the function call creation and error handling
knassre-bodo 9f0961d
Moved function mismatch errors to use min edit distance
knassre-bodo 2e30300
Adjusting tuning of min edit distance errors
knassre-bodo 75c3b7c
Messing with function handling, VARIANCE name, error tuning
knassre-bodo b94e76d
WIP
knassre-bodo 58cb511
Conflict WIP
knassre-bodo 7347536
Merge branch 'kian/simplify' into kian/error_handler
knassre-bodo 19a0fb8
Resolving conflicts and fixing UDF tests
knassre-bodo bf69fe8
Moved window errors
knassre-bodo c5fdfef
Updating helper [RUN CI]
knassre-bodo 716782f
Merge branch 'kian/projection_pullup' into kian/pagerank
knassre-bodo 60be207
[RUN CI]
knassre-bodo 689a4b0
[RUN CI]
knassre-bodo 7dced8e
Merge branch 'kian/simplify' into kian/error_handler
knassre-bodo ade8f35
Adding more simplification patterns and tests
knassre-bodo 3d9167e
[RUN CI]
knassre-bodo 3d17cad
Update pydough/conversion/projection_pullup.py
knassre-bodo df2e401
Final revisions/documentation [RUN CI]
knassre-bodo e1ae265
Resolving conflicts
knassre-bodo 6f27a23
Resolving conflicts [RUN CI]
knassre-bodo 2bbf925
Resolving conflicts before parent merged into main
knassre-bodo 1005fde
Resolving conflicts [RUN cI]
knassre-bodo d8b2fa8
Merge branch 'kian/simplify' into kian/error_handler
knassre-bodo ce7e035
Completed refactor of how simplification predicates work to use a Pre…
knassre-bodo e6c9fbe
Refactoring to use shuttles & visitors for simplification
knassre-bodo 94375ce
Fixing comments
knassre-bodo 4914784
[RUN CI]
knassre-bodo 8f0fbd3
Merge branch 'main' into kian/simplify
knassre-bodo f150cd5
Adding docstrings
knassre-bodo 8d0fc6b
Revisions
knassre-bodo 22a94ab
Stack cleanup
knassre-bodo a971676
Adding additional shuttle framework
knassre-bodo 9c6caa2
[RUN CI]
knassre-bodo ffb58b3
Merge branch 'kian/simplify' into kian/error_handler
knassre-bodo 95e59d1
[RUN CI]
knassre-bodo 604a7a6
Merge branch 'main' into kian/simplify
knassre-bodo b63c5d4
Added more simplfication patterns to tests
knassre-bodo 02c24bd
Revisions
knassre-bodo 2c65773
Apply suggestions from code review
knassre-bodo cc12363
edit
knassre-bodo 5f19dcd
Merge remote-tracking branch 'origin/kian/simplify' into kian/simplify
knassre-bodo 6ec13f1
[RUN CI]
knassre-bodo 9344c9a
Fixing SQL test [RUN CI]
knassre-bodo 0e7f48e
Resolving conflicts
knassre-bodo 75ee111
Merge branch 'main' into kian/error_handler
knassre-bodo 59850bd
[RUN CI]
knassre-bodo 5ab03d7
Merge branch 'main' into kian/error_handler
knassre-bodo f460cda
Revision
knassre-bodo 315993d
Merge branch 'main' into kian/error_handler
knassre-bodo 0fa39c7
Removing dead comment
knassre-bodo 4247700
Resolving conflicts
knassre-bodo b27b96f
Resolving merge conflicts [RUN CI]
knassre-bodo 4d899b8
Adding more comments/docstrings
knassre-bodo e8fd112
Initial implementation buggy WIP
knassre-bodo 7587597
resolving conflicts [RUN CI]
knassre-bodo 484decf
Merge branch 'kian/error_handler' into kian/join_aggregate_transpose
knassre-bodo 7bf3268
WIP fixing column handling triple_partition + other bugs
knassre-bodo cb96cdb
Resolving conflicts [RUN CI]
knassre-bodo 63682a4
WIP
knassre-bodo a34ec87
Adding reverse cardinality support
knassre-bodo 65697e8
Added reverse cardinality based column pruning [RUN CI] [RUN MYSQL]
knassre-bodo 8f7fbbe
Fixing bug [RUN CI]
knassre-bodo d797c43
Adjusting aggregation splitting to account for reverse cardinality [R…
knassre-bodo 3041ac9
Stop printing cardinalities in plan files for semi/anti joins
knassre-bodo efa1335
Revisions and documentation [RUN CI] [RUN MYSQL]
knassre-bodo 48e5d3d
Resolving conflicts
knassre-bodo b4e3318
Minor revisions
knassre-bodo 091a353
Adjusting edge case for correlation extraction affecting cardinality
knassre-bodo 29dd27d
Resolving conficts
knassre-bodo 6d4e268
Resolving conflicts
knassre-bodo d903c9d
temporary reversion as setup is being adjusted
knassre-bodo f130bc3
WIP
knassre-bodo 57bb56e
Resolving conflicts
knassre-bodo 401c1bc
Resolving conflicts
knassre-bodo e148c2e
Resolving conflicts
knassre-bodo b987f30
Resolving conflicts
knassre-bodo d674b0d
Adjusting reverse cardinality edge case
knassre-bodo 4206914
WIP transpose logic
knassre-bodo 2d22b2a
Fixing key rename bug
knassre-bodo a9ac04c
Need to fix multi partition access
knassre-bodo a5c6160
WIP revision phase
knassre-bodo 4ad8255
Fixing join bug
knassre-bodo ee93d51
Adding back the join key switch
knassre-bodo bd036f7
Removing plural case due to logical flaw
knassre-bodo 7d8ac06
[RUN CI]
knassre-bodo 036230a
Patch to make common_prefix_al faster due to sqlite issues [RUN CI]
knassre-bodo 712d045
Minor updates to the defog graph
knassre-bodo 1b43fbd
Adding start of the LEFT case, minus COUNT(*)
knassre-bodo 88e74b2
Adding COUNT(*) left case, WIP
knassre-bodo 473cc24
Identified bug in left join case: need to aggregate on LHS key
knassre-bodo ff71831
Revision to left case handling [RUN CI]
knassre-bodo def9109
Changing dealership adv3
knassre-bodo 3274831
Merge branch 'main' into kian/join_aggregate_transpose
knassre-bodo 0bae74c
Updating academia tests
knassre-bodo b7fa6e4
Updating left join merge rule
knassre-bodo 6a11435
Fixing bug with the COUNT left case
knassre-bodo 8991a3e
Teeing up CASE -> NULLIF rewrite
knassre-bodo eb17fe6
Coalesce nullif rewrite WIP
knassre-bodo cbc5408
Updating plans, still need to fix common_prefix_y
knassre-bodo f7091d8
Fixing common_prefix_y [RUN CI]
knassre-bodo 2da07fe
Additional revisions and comments [RUN CI]
knassre-bodo 0842267
Rewriting SUM(NULLIF(x, 0)) to SUM(x) [RUN CI]
knassre-bodo 115a926
Adding pullup before re-doing aggregation removal [RUN CI]
knassre-bodo 1d24b15
[RUN CI]
knassre-bodo 11e6006
Merge branch 'main' into kian/join_aggregate_transpose
knassre-bodo 0f9f098
Initial commit: tested prototype implementation to optimize queries v…
knassre-bodo fd026b2
Moving around usage location of join key substitution
knassre-bodo d91d799
Adding subset enhancement, and more tests of edge cases
knassre-bodo 6b4313f
Updating plan files
knassre-bodo d439434
Moved around join key substitution invocation
knassre-bodo 844eb3d
WIP singular/reverse revisions
knassre-bodo a13bb6a
Fixing bug with the substitution going right-to-left
knassre-bodo 84264cc
[RUN CI]
knassre-bodo 0a65503
Removing dead file
knassre-bodo 7bbc1f3
Merge branch 'main' into kian/join_aggregate_transpose
knassre-bodo 27696b8
Merge branch 'kian/join_aggregate_transpose' into kian/join_key_subst…
knassre-bodo 2cdf361
[RUN CI]
knassre-bodo 34d6abb
Merge branch 'main' into kian/join_aggregate_transpose
knassre-bodo 9133bcb
Simplification revisions [RUN CI]
knassre-bodo 4964df7
Resolving conflicts
knassre-bodo f9c07fe
Resolving conflicts
knassre-bodo 586d7e0
adding comments
knassre-bodo 25f5904
Update pydough/conversion/join_key_substitution.py
knassre-bodo b86c5dc
[RUN CI]
knassre-bodo 1bca6af
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] 07e6ab8
[RUN CI]
knassre-bodo 766604d
Adding many-net-filter tests
knassre-bodo a538bb2
[RUN CI]
knassre-bodo File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
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
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.
why this change?
Uh oh!
There was an error while loading. Please reload this page.
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.
This was a bug in the previous version that I happened to notice. This function is checking if a hybrid tree is singular with regards to its parent context, which mis true if the current level is singular + all levels above it are also singular.