GENBOX-L ArchivesArchiver > GENBOX > 2004-05 > 1084250001
From: "Tom Morris" <>
Subject: RE: [GENBOX] Undo deletions; design ideas
Date: Tue, 11 May 2004 00:33:35 -0400
I don't know what types of capabilities the Jet database has at the system
level (and I'm not a database guy), so I probably can't provide good
recommendations on this. I was recently reading about Oracle's "Automated
Undo Management" which sounds like it would be an ideal system level
capability to help in implementing this. One of the things that it allows
is SELECT qualifiers like
AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '10' MINUTE)
to get something from a table as it was 10 minutes ago.
If there's no similar system level capability, another application level
alternative to your "deleted" flag would be to copy the records to an
alternative set of shadow tables. This would save having to teach all the
different parts of the code to check for the "deleted" flag, but probably
has other drawbacks.
BTW, with my programmer hat on, I suspected that this form of Undo wasn't
implemented because it wasn't easy, but with my user hat on, features get
sorted by how useful they are, not how hard they are to implement...
> -----Original Message-----
> From: William T. Flight [mailto:]
> Sent: Thursday, April 22, 2004 1:25 PM
> Subject: RE: [GENBOX] Undo deletions; design ideas
> Hi Tom,
> I agree, having "Undo" capability for delete operations would
> be a good feature. The reason it is not currently implemented
> is that once records have been deleted in the database, there
> is no simple way to restore them.
> On possible implementation would be through the use of a
> 2-level deletion process, similar to how email is handled:
> deleting a main record would only mark the record and its
> subrecords as "deleted". The data records would remain, but
> with a special "deleted" flag set; all data access routines
> would need to be modified to skip over records with this flag
> as if they weren't there. On the Lists View, there would be a
> new group for "Deleted Records". The user could then
> "restore" a deleted main record, or choose to "permanently"
> delete it, in which case the actual deletion of the records
> would take place.
> The drawbacks to this design would include the additional
> processing overhead to check the flag, and the extra steps
> required of the user to permanently delete the main records
> that have been marked for deletion. Also, it would be
> impractical to provide this functionality for the deletion by
> the user of individual subrecords, such as identifier and
> event records.
> William T. Flight
> > -----Original Message-----
> > From: Tom Morris [mailto:]
> > Sent: Thursday, April 22, 2004 12:00 PM
> > To:
> > Subject: [GENBOX] Undo deletions
> > A more comprehensive solution might be to simply add
> > deletions to the list
> > of operations covered by Undo.
> > The whole point of Undo is to allow recovery from mistakes
> so it seems
> > backwards to exclude the most destructive actions.
> > Tom