[Onyx bump] Version 3.0.88: Split queries with many parameters into multiple queries to avoid too many SQL variables error#94947
Conversation
|
@ChavdaSachin Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
|
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a706ef06e9
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
🚧 mountiny has triggered a test Expensify/App build. You can view the workflow run here. |
|
🧪🧪 Use the links below to test this adhoc build on Android, iOS, and Web. Happy testing! 🧪🧪
|
@mountiny
Explanation of Change
Bumps Onyx to version 3.0.88 which includes the following fix:
too many SQL variableserror react-native-onyx#804This PR fixes an issue in Onyx with SQLite where in some cases, very large Onyx DBs with lots of keys would cause queries with
IN (...)to exceed the number of allowed parameters per query (usually more than 32,766, as per https://sqlite.org/limits.html).Fixed Issues
$ #94577 (comment)
PROPOSAL:
Tests
To reproduce this error, we must manually add some code to the app locally:
useEffectinApp/src/App.tsx
Lines 73 to 144 in 371c63d
catchblock to theclearOnyxAndResetAppfunction inApp/src/libs/actions/App.ts
Lines 879 to 933 in 371c63d
[TooManySQLVariablesDemo] Number of keys in Onyx: <number of keys in Onyx>log appears with at least more than 32,766 keys (as this is the configured limit for number of parameters/variables in a query).catch((error) => { ... })block from step 2Offline tests
None needed.
QA Steps
Same as in Tests.
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)Avatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))npm run compress-svg)Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
Before fix:
Screen.Recording.2026-06-30.at.17.27.42.mov
After fix:
after.mov