Index and REVOKE the payroll-provider tables

FeatureInitializerService
Shipped
August 14, 2026 at 12:19 AM UTC
Author
Kamo
Commit
bbf2860

What Hibernate cannot express for the new hr_timecard_payroll_* tables. Two REVOKEs. PayrollDispatch and PayrollSyncIssue refuse updates and deletes in Java through @PreUpdate/@PreRemove, but entity callbacks fire only for rows loaded into a persistence context — bulk JPQL, deleteAllInBatch() and native SQL walk straight past them. A payroll transmission attempt is a money event, and evidence about a completed sync has to survive to be evidence. Two partial indexes, which the entity cannot carry because they have predicates: the sweep's work list (orgs with syncing enabled and a sync due, a small minority of rows) and per-member sync errors (ERROR rows, outnumbered by INFO roughly by the size of the roster). Applied and verified against Yugabyte.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing