Repository navigation
fix: Apply findMany limit in the SQL query - #117
Merged
Merged
Conversation
The version bump, the source stamps and the changelog entry are written on 'main' by `rman version`. Merging them back keeps this branch reporting the version that actually shipped, and keeps the next pull request carrying only its own work. [skip ci]
The limit was only passed to the driver as fetchRows, so findOne(), exists() and a limited findMany() made the database compute every matching row; the mysql, mariadb and mssql adapters even fetched them all before slicing. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… change release.yml skips the tests for a pull request merged from dev, so a change the push filter missed reached a release untested. The filter now covers pnpm-lock.yaml, pnpm-workspace.yaml, .rmanrc.yml, eslint.config.mjs and .prettierrc, and support/** replaces support/test/**, which matched no directory. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
All connect test files shared one schema, created once per run, so the rows a write test left behind reached the read tests that ran after it; the find-many-o2o sort tests failed on customers inserted without a country. Write tests now use test_sqb_connect_writes, and the o2o tests expect a country on every row again. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The default setup analyzed every push to main, and a release pushes to main again after the merge it releases, so each release scanned the same code two or three times. An advanced-setup workflow keeps the default setup's languages, query suite and weekly schedule, and skips pushes that touch only the version bumps, changelog, lockfile and version stamp. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
findMany({ limit })puts the limit in the SQL. The limit only reached the driver asfetchRows, sofindOne(),exists()and a limitedfindMany()made the database compute every matching row. The mysql, mariadb and mssql adapters even fetched all of them before slicing. The query now carriesLIMIT(OFFSET ... FETCHon mssql,rownumon oracle).pnpm-lock.yaml,pnpm-workspace.yaml,.rmanrc.yml,eslint.config.mjsand.prettierrc.support/test/**matched no directory and is nowsupport/**.test_sqb_connect_writes.src/constants.tsare skipped, so a release no longer re-scans the code it just merged.rman2.40.3,@azure/identity4.14.1).Release note
findOne(),exists()andfindMany({ limit })now sendLIMITto the database. The rows returned are the same as before.Test plan
rman ci,rman check,rman lintpnpm testwith every database running locally: 858 passing🤖 Generated with Claude Code