mirror of
https://github.com/revng/revng
synced 2026-06-21 14:07:57 +00:00
2663a8beb3
Before this commit the `invalidate` code did invalidate all the objects but left all the rows in `dependencies` that were paired to the produced objects except the invalidated paths. In this commit the logic is changed to be done in 3 steps: 1. SELECT all the objects that need to be invalidated, write down their rowid 2. Delete all the rows in `dependencies` that were produced in conjunction to the objects from (1) 3. Remove the objects from the table, returning invalidation data This guarantees that the database does not accumulate invalidation data over time due to invalidations.