Documentation
Getting Started
Data Grid
Modeling
Business Rules
Approvals
Users, Roles & Security
Administration
Integration & API
Installation
Migrating from MDS
DBA Reference
When a row is stuck in a locked state because of a pending approval, a database administrator can clear it with the queries below.
Prefer the soft cancel in production. It preserves the audit trail.
1. Find the pending (locked) approval requests
2. Inspect the locked rows in one request
3a. Soft cancel — recommended for production
This sets the request to cancelled and marks each pending row rejected. The row unlocks on the next grid load. All history is kept.
3b. Hard delete — removes all traces
ApprovalRows and ApprovalReviews cascade-delete automatically. Use this for test or demo data only.
Impact on records
| Soft cancel | Hard delete | |
|---|---|---|
ApprovalRequests | Preserved — Status becomes cancelled | Deleted |
ApprovalRows and SnapshotData | Preserved — RowStatus becomes rejected | Cascade deleted |
ApprovalReviews (reviewer comments) | Preserved | Cascade deleted |
Live entity data (EntityRows) | Unchanged | Unchanged |
Impact on auditing
The AuditLog table is written only when an approval is successfully approved. A pending request that is cancelled or deleted before approval has no audit entry, because the changes were never promoted to live data.
| Soft cancel | Hard delete | |
|---|---|---|
| Audit log entries | None added or removed | None added or removed |
| Approval history visible | Yes — the request shows as cancelled | No — every trace is removed |
| Reviewer comments visible | Yes — kept in ApprovalReviews | No — cascade deleted |
After either operation the locked row unlocks as soon as the grid reloads. Neither operation changes live entity data.
Related
- Database Schema — the approval tables and their cascade rules
- Approval Workflows — the flow these rows belong to
- Conflict Detection — why a row locks in the first place
- Data Retention — clearing old approval requests on a schedule
- Audit Log — what the application records, and what it does not