07745947ee
## Summary - **Split the `rolesPermissions` cache query into parallel queries** to eliminate a 5-way LEFT JOIN cartesian product. A workspace with a role having 5 objectPermissions × 4 permissionFlags × 124 fieldPermissions × 5 RLP predicates × 5 RLP groups was returning 62,000 rows from just ~162 distinct records, causing 10s+ query timeouts on view updates. - **Added missing `roleId` index on `permissionFlag` table** — the only permission table without one, which was causing sequential scans on the JOIN.