|
|||
|
On 18/07/2012 03:19, Ethan Furman wrote:
> MRAB wrote: >> On 17/07/2012 23:57, Ethan Furman wrote: >>> In Foxpro if you do a >>> >>> GOTO 7 >>> >>> with deleted off and record 7 is deleted, the record pointer doesn't >>> move (at least in version 6). >>> >>> I don't like that. >>> >>> I see four other options: >>> >>> 0) don't move the pointer (listed for completeness) >>> 1) go to that record anyway >>> 2) go to the next undeleted record >>> 3) go to the seventh undeleted record (possibly the least practical) >>> 4) raise an exception >>> >>> Any opinions? >>> >> What happens when you 'delete' a record? Does it disappear immediately, >> or is it merely marked for deletion? > > Marked for deletion. > >> If it is marked for deletion, can it be unmarked? Will a marked record >> be removed when the file is closed, or does the file need to be >> explicitly purged/compacted? > > Yes, it can be unmarked. No, the table must be explicitly packed. > >> If it is merely marked, then I think the best option is 1, or possibly >> 4 if the file is compacted when closed. > > There is a use_deleted setting that controls whether deleted records are > accessed or skipped. Skipping is fine when looping, not so fine when > going directly to a particular record. > If use_deleted is false, does that mean that deleted records are hidden, or just that when iterating through the records the deleted ones aren't yielded? |
|
|
||||
|
||||
|
|
![]() |
| Thread Tools | |
| Display Modes | |
|
|