feat(database): roll an SObject's rows read and written into one bar - #958
Merged
lcottercertinia merged 1 commit intoAug 25, 2026
Merged
Conversation
Query rows and DML rows are separate limits, so an SObject both read and written was split across two bars and whole in neither. rowBudgets now rolls the two budgets up per SObject, and the section shows them as one bar: hue for which way an object leans, hover for the split. Held out of the Database view until the section scrolling work.
lcottercertinia
approved these changes
Aug 25, 2026
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.
📝 PR Overview
Query rows and DML rows are separate governor limits, so the Row budget section drew them as two bars. An SObject that a transaction both reads and writes was split across the two and whole in neither, so its real weight on the database was never on screen.
rowBudgetsnow also rolls the two budgets up per SObject, and the section shows that roll-up as one bar: hue says which way an object leans, hover gives the read and written split.🛠️ Changes made
rowBudgetsreturnsobjects, every SObject once withrowsRead,rowsWrittenand the two summed — biggest first, so the heaviest object leads.FROMparse, againstsObjectType), so the merge folds case.🧩 Type of change (check all applicable)
🔗 Related Issues
related #61
✅ Tests added?
Service tests cover the roll-up order, the one-limit case, the case fold, the unknown label and the search. Component tests cover the segments, their read and written detail, and the section staying out when the service brings nothing together.
📚 Docs updated?
🧪badge — see RELEASING.md)database-rowsis still commented out ofdetailSections.ts, so this reaches no user yet. The CHANGELOG and help site entries come with the PR that puts the section on screen.