We need a way to identify de-referenced elements, blobs, and chars. John would like it to be 2-phased:
A background daemon to identify de-referenced elements. This is run BEFORE a backup or export is done. Elements should just be logically deleted (moved to the transaction/audit table like an explicit delete). Chars and blobs should just have an row attribute set. SQL will need to change to filter these out (so we don't revive deleted objects into zombies).
A process to purge these objects. This process can be (optionally) scheduled to run AFTER a backup or export is done or run manually or run when disk usage is beyond a given threshold.
We need a way to identify de-referenced elements, blobs, and chars. John would like it to be 2-phased: