| 1 | WITH RECURSIVE edges(parent,child) AS ( |
| 2 | SELECT parent_id,child_id FROM lineage |
| 3 | UNION SELECT old_id,new_id FROM replacements |
| 4 | UNION SELECT new_id,old_id FROM replacements |
| 5 | ), forgotten(id) AS ( |
| 6 | SELECT :id |
| 7 | UNION SELECT e.child FROM edges e JOIN forgotten f ON e.parent=f.id |
| 8 | ) |
| 9 | SELECT id FROM forgotten ORDER BY id |
| 10 |