>>Or Just turn buffering on for table1 and do a tablerevert() within a begin/end transaction so that no changes get saved back to the table.
>
>I'm not sure TABLEREVERT() would be any faster than recall all.
It should be much faster, since it simply involves throwing out the local buffers; no changes have actually been written to the table. If the deletions are really written to the table, then you have to actually rewrite the records to remove the deletion mark.