perf(applications): bound correspondence reads to the current page
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
# PERF-07 · Page-scoped application correspondence
|
||||
|
||||
Base `327d99dfdacc16f72e008807ea3f27805cf0c570` on `codex/a3-ui-10`. The ordinary applications table fetched the latest correspondence group for every owned application before paging. It now queries the existing latest-message aggregate once for the current page IDs. The normal board and empty page skip that unused aggregate. Follow-up and readiness filters still evaluate their existing full candidate set before paging to preserve membership and totals.
|
||||
|
||||
The focused SQLite test records and replays the actual SQL aggregate. Each fixture contains one correspondence group per owned application, one foreign application with correspondence, and a 15-row second page. The old runtime returned 250 and 2,500 aggregate rows. The new runtime returns exactly the 15 groups belonging to the page in both fixtures. The ordinary board and empty page now issue zero correspondence aggregate commands. The existing tenant filter, ordering, latest-message logic and response shapes are unchanged.
|
||||
|
||||
| Owned applications | Before aggregate rows | After aggregate rows |
|
||||
| ---: | ---: | ---: |
|
||||
| 250 | 250 | 15 |
|
||||
| 2,500 | 2,500 | 15 |
|
||||
|
||||
**PASSED** 36 selected Release tests with pinned SDK 9.0.317 and no restore. 18 JobQueryParity, 10 ApplicationCalendar, five RulesEngineProspect and three OwnershipGuard cases. The 16 existing parity cases cover ordering, filters, board, ownership and pagination. Two expected pre-fix failures are preserved. [Native red and final test logs](../ui-modernisation/evidence/perf-job-page/)
|
||||
|
||||
These counts measure rows returned by the aggregate under a disposable SQLite fixture. MariaDB plan/rows examined, API response time and production performance remain unmeasured. No index, migration or worker configuration changed.
|
||||
Reference in New Issue
Block a user