Larry Garfield wrote:
Adding a "Deleted" column to node, comment, and various other tables means that every query against those tables would have to be modified to add "WHERE deleted=0". Between core and contrib, that's thousands of queries that would need to be updated.
Exactly, no normal module should need to concern itself with something that is "deleted". But my original suggestion was for the abstraction layer to add the "deleted=0" condition by default. So what you are suggesting shouldn't be a problem. And to repeat. There could also be a way to call db_query() that allows special code (eg. upgrade, trashbin, deep search) to over-ride the default behaviour and include the deleted rows in the result set. I can't see any downside except execution speed in the abstraction layer.