>Edward:
>
>You mentioned an issue with Views and the DELETED() tag. Can you enlighten me as to what issues there are?
>Thanks in advance,
>Bill
View is essentially SELECT_SQL with some additions (buffers), so as any SELECT_SQL it might be either fully or partially or not Rushmore optimizable. The criteria to be optimizable is to have index tags matching all join and filter conditions (WHERE clause) from SELECT command and (if SET DELETED ON) to have tag on DELETED(). So, if you don't have tag on DELETED() then SELECT is only partially Rushmore optimizable, that is no good from pure theoretical standpoint. However, if you create this tag then in some situation instead of improving performance it will harm it. The first step VFP Rushmore does when starting SELECT is to bring all parts of index tags matching filter and join conditions from server to client workstation. DELETED() tag may bring up too many pointers and it might be slow.
(I always feel something wrong in this part of story. Actually, no one outside MS Fox dev't team knows exactly about this, and I'm only gueesing, it's especially true for the last sentence).
So, you have a choice either having Deleted() tag or not, and you may get diiferent performance situations. Unfortunately, local view has no idea itself what's the situation now, and will always work the same way, i.e. it may work good this year and start worse next one, when e.g. tables grows up, or percenatge of deleted record changes. This is why I prefer to use SEEK/SCAN/INSERT cursors for interface purposes. They provide (in many situations) better and more predictable performance.
Edward Pikman
Independent Consultant