Skip to content

Fix chained join validation bug#475

Closed
samwillis wants to merge 2 commits intomainfrom
cursor/fix-chained-join-validation-bug-59fb
Closed

Fix chained join validation bug#475
samwillis wants to merge 2 commits intomainfrom
cursor/fix-chained-join-validation-bug-59fb

Conversation

@samwillis
Copy link
Copy Markdown
Collaborator

Fix query builder validation to allow chained joins where subsequent joins reference previously joined collections.

The analyzeJoinExpressions function incorrectly assumed that join conditions must always reference the original base table and the newly joined table. This prevented valid chained join scenarios where a join condition correctly referenced a table introduced by a previous join. The fix updates the validation to consider all currently available table aliases for the "main" side of a join.


Open in Cursor Open in Web

@cursor
Copy link
Copy Markdown

cursor Bot commented Sep 1, 2025

Cursor Agent can help with this pull request. Just @cursor in comments and I'll start working on changes in this branch.
Learn more about Cursor Agents

@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented Sep 1, 2025

⚠️ No Changeset found

Latest commit: abdd8fc

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new Bot commented Sep 1, 2025

More templates

@tanstack/db

npm i https://pkg.pr.new/@tanstack/db@475

@tanstack/db-ivm

npm i https://pkg.pr.new/@tanstack/db-ivm@475

@tanstack/electric-db-collection

npm i https://pkg.pr.new/@tanstack/electric-db-collection@475

@tanstack/query-db-collection

npm i https://pkg.pr.new/@tanstack/query-db-collection@475

@tanstack/react-db

npm i https://pkg.pr.new/@tanstack/react-db@475

@tanstack/solid-db

npm i https://pkg.pr.new/@tanstack/solid-db@475

@tanstack/svelte-db

npm i https://pkg.pr.new/@tanstack/svelte-db@475

@tanstack/trailbase-db-collection

npm i https://pkg.pr.new/@tanstack/trailbase-db-collection@475

@tanstack/vue-db

npm i https://pkg.pr.new/@tanstack/vue-db@475

commit: dd8ebc2

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Sep 1, 2025

Size Change: +140 B (+0.22%)

Total Size: 64.8 kB

Filename Size Change
./packages/db/dist/esm/query/compiler/joins.js 2.5 kB +140 B (+5.93%) 🔍
ℹ️ View Unchanged
Filename Size
./packages/db/dist/esm/change-events.js 1.13 kB
./packages/db/dist/esm/collection.js 10.4 kB
./packages/db/dist/esm/deferred.js 230 B
./packages/db/dist/esm/errors.js 3 kB
./packages/db/dist/esm/index.js 1.52 kB
./packages/db/dist/esm/indexes/auto-index.js 745 B
./packages/db/dist/esm/indexes/base-index.js 605 B
./packages/db/dist/esm/indexes/btree-index.js 1.74 kB
./packages/db/dist/esm/indexes/lazy-index.js 1.25 kB
./packages/db/dist/esm/local-only.js 827 B
./packages/db/dist/esm/local-storage.js 2.03 kB
./packages/db/dist/esm/optimistic-action.js 294 B
./packages/db/dist/esm/proxy.js 3.87 kB
./packages/db/dist/esm/query/builder/functions.js 575 B
./packages/db/dist/esm/query/builder/index.js 3.79 kB
./packages/db/dist/esm/query/builder/ref-proxy.js 890 B
./packages/db/dist/esm/query/compiler/evaluators.js 1.48 kB
./packages/db/dist/esm/query/compiler/expressions.js 631 B
./packages/db/dist/esm/query/compiler/group-by.js 2.06 kB
./packages/db/dist/esm/query/compiler/index.js 2.15 kB
./packages/db/dist/esm/query/compiler/order-by.js 1.17 kB
./packages/db/dist/esm/query/compiler/select.js 655 B
./packages/db/dist/esm/query/ir.js 466 B
./packages/db/dist/esm/query/live-query-collection.js 333 B
./packages/db/dist/esm/query/live/collection-config-builder.js 2.56 kB
./packages/db/dist/esm/query/live/collection-subscriber.js 2.4 kB
./packages/db/dist/esm/query/optimizer.js 2.63 kB
./packages/db/dist/esm/SortedMap.js 1.24 kB
./packages/db/dist/esm/transactions.js 2.29 kB
./packages/db/dist/esm/utils.js 943 B
./packages/db/dist/esm/utils/btree.js 6.02 kB
./packages/db/dist/esm/utils/comparison.js 718 B
./packages/db/dist/esm/utils/index-optimization.js 1.62 kB

compressed-size-action::db-package-size

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Sep 1, 2025

Size Change: 0 B

Total Size: 1.16 kB

ℹ️ View Unchanged
Filename Size
./packages/react-db/dist/esm/index.js 152 B
./packages/react-db/dist/esm/useLiveQuery.js 1.01 kB

compressed-size-action::react-db-package-size

- Move chained joins test to join type test structure
- Add chained joins test for all join types (inner, left, right, full)
- Add incremental update testing for middle and latter collections
- Verify live query updates work correctly with chained joins
- Test both autoIndex off and eager modes
@samwillis samwillis mentioned this pull request Sep 8, 2025
@samwillis
Copy link
Copy Markdown
Collaborator Author

replaced by #511

@samwillis samwillis closed this Sep 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants