> So my goal is to recover deleted rows from SQLite DB's that a particular application generates. How sqlite deletes rows is an internal implementation detail which applications cannot sensibly rely upon. If you don't want it deleted, don't delete it. If your application didn't delete it, you've no business trying to recover it, nor any guaranty (from sqlite) that you can do so. A row deleted by sqlite must be treated like a block of memory which has been passed to `free()`: any use of it after that point has undefined behaviour.