keep residual where clause in join predicate pushdown#442
Conversation
🦋 Changeset detectedLatest commit: ccf7974 The changes in this PR will be included in the next version bump. This PR includes changesets to release 8 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
More templates
@tanstack/db
@tanstack/db-ivm
@tanstack/electric-db-collection
@tanstack/query-db-collection
@tanstack/react-db
@tanstack/solid-db
@tanstack/svelte-db
@tanstack/trailbase-db-collection
@tanstack/vue-db
commit: |
|
Size Change: +379 B (+0.61%) Total Size: 62.9 kB
ℹ️ View Unchanged
|
|
Size Change: 0 B Total Size: 1.16 kB ℹ️ View Unchanged
|
There was a problem hiding this comment.
Tests in this file were wrong...
There was a problem hiding this comment.
Tests added here fail before we then fix the optimiser
There was a problem hiding this comment.
Even though this is testing the internal of the ir and optimiser i think it's important to check we add the residual flag correctly.
kevin-dp
left a comment
There was a problem hiding this comment.
Reviewed the changes and everything seems fine. I'm wondering why we needs two versions of the split function though.
This modifies the optimiser to keep a residual copy of the where clause in place when pushing a predicate down into a left/right/full join ensuring that the semantics of the query are maintained.
The residual where close is marked as such in the IR so that it is not repeatedly pushed down during the recursive optimisation.