Skip to content

Handle pushed down predicates in Electric collection - #618

Merged
samwillis merged 5 commits into
query-driven-syncfrom
kevin/pred-pushdown-to-sync-electric-coll
Nov 5, 2025
Merged

Handle pushed down predicates in Electric collection#618
samwillis merged 5 commits into
query-driven-syncfrom
kevin/pred-pushdown-to-sync-electric-coll

Conversation

@kevin-dp

@kevin-dpkevin-dp commented Oct 1, 2025

Copy link
Copy Markdown
Contributor

stacked on #669


This PR is a follow up on #617 and modifies the Electric collection to handle predicates that are being pushed down to the Electric collection.

@changeset-bot

changeset-botBot commented Oct 1, 2025

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 80284c2

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 2 packages
NameType
@tanstack/electric-db-collectionPatch
@tanstack/db-example-react-todoPatch

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

@kevin-dp
kevin-dpforce-pushed the kevin/pred-pushdown-to-sync-db branch from aa2e623 to 2ae236fCompareOctober 6, 2025 12:17
@kevin-dp
kevin-dpforce-pushed the kevin/pred-pushdown-to-sync-electric-coll branch from d66c54e to 71cef08CompareOctober 6, 2025 13:57
@pkg-pr-new

pkg-pr-newBot commented Oct 6, 2025

Copy link
Copy Markdown
More templates

@tanstack/angular-db

npm i https://pkg.pr.new/@tanstack/angular-db@618

@tanstack/db

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

@tanstack/db-ivm

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

@tanstack/electric-db-collection

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

@tanstack/offline-transactions

npm i https://pkg.pr.new/@tanstack/offline-transactions@618

@tanstack/powersync-db-collection

npm i https://pkg.pr.new/@tanstack/powersync-db-collection@618

@tanstack/query-db-collection

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

@tanstack/react-db

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

@tanstack/rxdb-db-collection

npm i https://pkg.pr.new/@tanstack/rxdb-db-collection@618

@tanstack/solid-db

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

@tanstack/svelte-db

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

@tanstack/trailbase-db-collection

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

@tanstack/vue-db

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

commit: 80284c2

@github-actions

github-actionsBot commented Oct 6, 2025

Copy link
Copy Markdown
Contributor

Size Change: 0 B

Total Size: 83 kB

ℹ️ View Unchanged
FilenameSize
./packages/db/dist/esm/collection/change-events.js1.34 kB
./packages/db/dist/esm/collection/changes.js977 B
./packages/db/dist/esm/collection/events.js388 B
./packages/db/dist/esm/collection/index.js3.12 kB
./packages/db/dist/esm/collection/indexes.js1.1 kB
./packages/db/dist/esm/collection/lifecycle.js1.67 kB
./packages/db/dist/esm/collection/mutations.js2.26 kB
./packages/db/dist/esm/collection/state.js3.43 kB
./packages/db/dist/esm/collection/subscription.js2.42 kB
./packages/db/dist/esm/collection/sync.js2.02 kB
./packages/db/dist/esm/deferred.js207 B
./packages/db/dist/esm/errors.js3.9 kB
./packages/db/dist/esm/event-emitter.js748 B
./packages/db/dist/esm/index.js2.49 kB
./packages/db/dist/esm/indexes/auto-index.js731 B
./packages/db/dist/esm/indexes/base-index.js766 B
./packages/db/dist/esm/indexes/btree-index.js1.87 kB
./packages/db/dist/esm/indexes/lazy-index.js1.1 kB
./packages/db/dist/esm/indexes/reverse-index.js513 B
./packages/db/dist/esm/local-only.js837 B
./packages/db/dist/esm/local-storage.js2.08 kB
./packages/db/dist/esm/optimistic-action.js359 B
./packages/db/dist/esm/paced-mutations.js496 B
./packages/db/dist/esm/proxy.js3.22 kB
./packages/db/dist/esm/query/builder/functions.js606 B
./packages/db/dist/esm/query/builder/index.js3.85 kB
./packages/db/dist/esm/query/builder/ref-proxy.js917 B
./packages/db/dist/esm/query/compiler/evaluators.js1.26 kB
./packages/db/dist/esm/query/compiler/expressions.js674 B
./packages/db/dist/esm/query/compiler/group-by.js1.78 kB
./packages/db/dist/esm/query/compiler/index.js1.95 kB
./packages/db/dist/esm/query/compiler/joins.js2 kB
./packages/db/dist/esm/query/compiler/order-by.js1.17 kB
./packages/db/dist/esm/query/compiler/select.js1.07 kB
./packages/db/dist/esm/query/ir.js673 B
./packages/db/dist/esm/query/live-query-collection.js360 B
./packages/db/dist/esm/query/live/collection-config-builder.js5 kB
./packages/db/dist/esm/query/live/collection-registry.js214 B
./packages/db/dist/esm/query/live/collection-subscriber.js1.77 kB
./packages/db/dist/esm/query/optimizer.js2.6 kB
./packages/db/dist/esm/query/predicate-utils.js2.88 kB
./packages/db/dist/esm/query/subset-dedupe.js921 B
./packages/db/dist/esm/scheduler.js1.21 kB
./packages/db/dist/esm/SortedMap.js1.18 kB
./packages/db/dist/esm/strategies/debounceStrategy.js237 B
./packages/db/dist/esm/strategies/queueStrategy.js418 B
./packages/db/dist/esm/strategies/throttleStrategy.js236 B
./packages/db/dist/esm/transactions.js2.9 kB
./packages/db/dist/esm/utils.js881 B
./packages/db/dist/esm/utils/browser-polyfills.js304 B
./packages/db/dist/esm/utils/btree.js5.61 kB
./packages/db/dist/esm/utils/comparison.js660 B
./packages/db/dist/esm/utils/index-optimization.js1.49 kB
./packages/db/dist/esm/utils/type-guards.js157 B

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

@github-actions

github-actionsBot commented Oct 6, 2025

Copy link
Copy Markdown
Contributor

Size Change: 0 B

Total Size: 3.34 kB

ℹ️ View Unchanged
FilenameSize
./packages/react-db/dist/esm/index.js225 B
./packages/react-db/dist/esm/useLiveInfiniteQuery.js1.17 kB
./packages/react-db/dist/esm/useLiveQuery.js1.11 kB
./packages/react-db/dist/esm/useLiveSuspenseQuery.js431 B
./packages/react-db/dist/esm/usePacedMutations.js401 B

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

@kevin-dp
kevin-dpforce-pushed the kevin/pred-pushdown-to-sync-db branch from 91ea051 to 3493f6dCompareOctober 7, 2025 09:33
Base automatically changed from kevin/pred-pushdown-to-sync-db to mainOctober 7, 2025 10:17
@kevin-dp
kevin-dpforce-pushed the kevin/pred-pushdown-to-sync-electric-coll branch from 49f1f59 to dd337d8CompareOctober 7, 2025 10:20
Comment threadpackages/electric-db-collection/src/sql-compiler.ts Outdated
Comment threadpackages/electric-db-collection/tests/electric-live-query.test.ts Outdated
Comment threadpackages/electric-db-collection/src/electric.ts
Comment threadpackages/electric-db-collection/src/electric.ts
Comment threadpackages/electric-db-collection/src/electric.ts
Comment threadpackages/electric-db-collection/src/electric.ts
Comment threadpackages/electric-db-collection/tests/electric-live-query.test.ts Outdated
Comment threadpackages/electric-db-collection/tests/electric-live-query.test.ts Outdated
@samwillis
samwillisforce-pushed the kevin/pred-pushdown-to-sync-electric-coll branch from e8e12e7 to c568cafCompareOctober 14, 2025 10:16
@samwillis
samwillis changed the base branch from main to samwillis/load-more-trackingOctober 14, 2025 10:16
Comment threadpackages/electric-db-collection/src/electric.ts Outdated
Comment threadpackages/electric-db-collection/src/electric.ts Outdated
@samwillis
samwillisforce-pushed the kevin/pred-pushdown-to-sync-electric-coll branch 2 times, most recently from bc6190d to 8eab056CompareOctober 15, 2025 12:31
Base automatically changed from samwillis/load-more-tracking to mainOctober 15, 2025 17:49
@samwillis
samwillisforce-pushed the kevin/pred-pushdown-to-sync-electric-coll branch 3 times, most recently from baa4fa2 to f7211d9CompareOctober 15, 2025 19:11
@samwillis
samwillis changed the base branch from main to samwillis/predicate-utilsOctober 15, 2025 19:13
@kevin-dp
kevin-dpforce-pushed the samwillis/predicate-utils branch 2 times, most recently from a732165 to 6ee696cCompareOctober 22, 2025 09:18
@kevin-dp
kevin-dpforce-pushed the kevin/pred-pushdown-to-sync-electric-coll branch 3 times, most recently from f7211d9 to 59e396cCompareNovember 4, 2025 09:08
@samwillissamwillis moved this to Ready for review in TanStack DB 1.0.0 releaseNov 4, 2025
Base automatically changed from samwillis/predicate-utils to query-driven-syncNovember 5, 2025 11:15
samwillisand others added 3 commits November 5, 2025 14:45
Co-authored-by: Kevin De Porre <kevin@electric-sql.com>
Co-authored-by: Sam Willis <sam.willis@gmail.com>
@samwillis
samwillisforce-pushed the kevin/pred-pushdown-to-sync-electric-coll branch from e4a6188 to ffe08e9CompareNovember 5, 2025 14:45
@samwillis
samwillis merged commit cb47bea into query-driven-syncNov 5, 2025
6 checks passed
@samwillis
samwillis deleted the kevin/pred-pushdown-to-sync-electric-coll branch November 5, 2025 15:30
samwillis added a commit that referenced this pull request Nov 6, 2025
* Handle pushed down predicates in Electric collection
Co-authored-by: Kevin De Porre <kevin@electric-sql.com>
Co-authored-by: Sam Willis <sam.willis@gmail.com>
* use the subsetDuduper for electric
* Leave fixme
* fix DeduplicatedLoadSubset call
* fix tests
---------
Co-authored-by: Sam Willis <sam.willis@gmail.com>
samwillis added a commit that referenced this pull request Nov 12, 2025
* Handle pushed down predicates in Electric collection
Co-authored-by: Kevin De Porre <kevin@electric-sql.com>
Co-authored-by: Sam Willis <sam.willis@gmail.com>
* use the subsetDuduper for electric
* Leave fixme
* fix DeduplicatedLoadSubset call
* fix tests
---------
Co-authored-by: Sam Willis <sam.willis@gmail.com>
samwillis added a commit that referenced this pull request Nov 12, 2025
* Handle pushed down predicates in Electric collection
Co-authored-by: Kevin De Porre <kevin@electric-sql.com>
Co-authored-by: Sam Willis <sam.willis@gmail.com>
* use the subsetDuduper for electric
* Leave fixme
* fix DeduplicatedLoadSubset call
* fix tests
---------
Co-authored-by: Sam Willis <sam.willis@gmail.com>
@KyleAMathewsKyleAMathews moved this from Ready for review to Done in TanStack DB 1.0.0 releaseNov 13, 2025
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Development

Successfully merging this pull request may close these issues.

3 participants

@kevin-dp@samwillis@KyleAMathews