Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
NOFILTER on SELECT is implicit ?
Message
 
 
To
17/07/2003 11:17:54
General information
Forum:
Visual FoxPro
Category:
Other
Miscellaneous
Thread ID:
00811089
Message ID:
00811117
Views:
14
Hi Fabio,

I get the same result in VFP6 and VFP8 - NOFILTER cursor. That exactly what it should be because VFP will create filtered cursor only if filter condition is fully optimizable. If you add SYS(3054,11) before query, you'll see that query is only partialy optimaziable because there's no index on DELETED(). Add INDEX ON DELETED() TAG DELETED ADDITIVE to your code and you'll get filtered cursor in both VFP version.
Most likely you had SET DELETE OFF in VFP6 when you tested it.

>Hi,
>
>run this code in VFP6SP5,VFP7SP,VFP8.
>
>
>CREATE CURSOR TEST (n I)
>nCycle=100000
>FOR I=1 TO m.nCycle
>INSERT INTO TEST (n) VALUES (RAND()*m.nCycle)
>NEXT
>INDEX ON n TAG nix
>? RECCOUNT()
>SELECT * FROM TEST WHERE n>100 INTO CURSOR Filtered
>? RECCOUNT(),_TALLY,FILTER()
>
>
>On VFP6SP5 Filtered is a filtered cursor of test,
>then any changed on TEST is see on Filtered.
>
>On VFP7SP,VFP8 Filtered is a table cursor,
>like if you use NOFILTER clause,
>and changed on TEST is not see on Filtered,
>then any old program can change result randomly.
>
>Is it a new behaviour of VFP7 and VFP8 ?
>
>I can't found documentation on this.
>
>Never surprise, it is normal for VFPT change function without document it.
>
>Fabio
--sb--
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform