Skip to content

Also optimize orderBy for singleton array#477

Merged
kevin-dp merged 3 commits intomainfrom
kevin/fix-orderBy-singleton-column
Sep 1, 2025
Merged

Also optimize orderBy for singleton array#477
kevin-dp merged 3 commits intomainfrom
kevin/fix-orderBy-singleton-column

Conversation

@kevin-dp
Copy link
Copy Markdown
Contributor

@kevin-dp kevin-dp commented Sep 1, 2025

We optimize orderBy clauses that order by a single column. However, there was a bug that caused orderBy(row => row.column) to be optimized but orderBy(row => [row.column]) not to be optimized. This PR reproduces the bug with a unit test and fixes it.

Here is the failed run that reproduces the bug: https://github.com/TanStack/db/actions/runs/17374029210/job/49316177928?pr=477

@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented Sep 1, 2025

🦋 Changeset detected

Latest commit: 97ab296

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

This PR includes changesets to release 8 packages
Name Type
@tanstack/db Patch
@tanstack/electric-db-collection Patch
@tanstack/query-db-collection Patch
@tanstack/react-db Patch
@tanstack/solid-db Patch
@tanstack/svelte-db Patch
@tanstack/trailbase-db-collection Patch
@tanstack/vue-db Patch

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

@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@477

@tanstack/db-ivm

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

@tanstack/electric-db-collection

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

@tanstack/query-db-collection

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

@tanstack/react-db

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

@tanstack/solid-db

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

@tanstack/svelte-db

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

@tanstack/trailbase-db-collection

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

@tanstack/vue-db

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

commit: 97ab296

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Sep 1, 2025

Size Change: +41 B (+0.06%)

Total Size: 64.7 kB

Filename Size Change
./packages/db/dist/esm/query/builder/index.js 3.83 kB +41 B (+1.08%)
ℹ️ 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/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/joins.js 2.36 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

@kevin-dp kevin-dp requested a review from samwillis September 1, 2025 10:59
Copy link
Copy Markdown
Collaborator

@samwillis samwillis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

@kevin-dp kevin-dp merged commit eb8fd18 into main Sep 1, 2025
6 checks passed
@kevin-dp kevin-dp deleted the kevin/fix-orderBy-singleton-column branch September 1, 2025 15:04
@github-actions github-actions Bot mentioned this pull request Sep 1, 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