As Uncle Ted says, you have to test with your typical dataset to determine when 
a query has more overhead than using VFP's native functionality. Leaving aside 
the use of "select *", another matter of personal taste 😊, when your table has 
a relatively small number of rows and columns I'd agree. There's very little 
overhead to another call to the database. But with larger, wider datasets that 
may not be true. If I've selected 300 rows from a million row table, I'd be 
willing to be that SET FILTER on the resulting in memory cursor is more 
performant than going back to the database, particularly if my filtering 
queries are not as optimizable. 

There are also other considerations to be taken into account such as how the 
cursor is being used. For example, grids are not real happy when you mess with 
the datasource. 

The joy of VFP is the wide assortment of tools available. Using just SQL to 
solve every data related process is like using a screwdriver to hammer a nail. 
You can do it but there might be a better tool in the toolbox. 😊

--

rk

-----Original Message-----
From: ProfoxTech <[email protected]> On Behalf Of Koen Piller
Sent: Thursday, May 16, 2019 1:26 AM
To: [email protected]
Subject: Re: Filtering Oddity

Richard,
what you describe is a matter of personal taste.
There is no overhaed in building a cursor with select * from myData where
unpaid<>0 into cursor curUnpaid  vs set fillter to unpaid <> 0 in myData.
I, personaly, would prefer #1 in the enduser environment environment# 2 in my 
development environment - version(2)#0 vs version(2)=0.
There is also no need to call a select() statement an overhead.
Regards,
Koen



Op do 16 mei 2019 om 00:23 schreef Richard Kaye <[email protected]>:

> And here's a use case where SET FILTER can be quite useful in a 
> production application. Let's say you have a form that displays 
> account receivable transactions for a customer (invoices, payments, 
> adjustments, etc.). You want to be able to display only open (i.e. 
> unpaid) transactions or transactions related to a specific invoice. 
> The primary query has returned all the rows I need to display for that 
> customer. SET FILTER handles that quickly and simply without the 
> overhead of running another query against the main database.
>
> --
>
> rk
>
> -----Original Message-----
> From: ProfoxTech <[email protected]> On Behalf Of Gene 
> Wirchenko
> Sent: Wednesday, May 15, 2019 2:55 PM
> To: [email protected]
> Subject: RE: Filtering Oddity
>
> At 11:41 2019-05-15, Richard Kaye <[email protected]> wrote:
> >Gene and Woody's point is that XBASE tools are quite useful for us 
> >when developing/testing, not that they are necessarily preferable for 
> >production code.
>
>       Exactly.
>
>       One advantage that is particularly nice is that they are often 
> short, simple, and fast.  When I am chasing a bug or working on an 
> idea, I prefer being able to get done what I want done fast.  The 
> protections that one might well want for an app are often not relevant.
>
> [snip]
>
> Sincerely,
>
> Gene Wirchenko
>
>
[excessive quoting removed by server]

_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: https://leafe.com/archives This message: 
https://leafe.com/archives/byMID/CACUu1SuZCHFmVGNj1gWXBN5y=f31pgct4owkp3s4mmp54fh...@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.

Report [OT] Abuse: 
http://leafe.com/reportAbuse/CACUu1SuZCHFmVGNj1gWXBN5y=f31pgct4owkp3s4mmp54fh...@mail.gmail.com

_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: https://leafe.com/archives
This message: 
https://leafe.com/archives/byMID/bn6pr10mb145855c6e55c7b04a7253619d2...@bn6pr10mb1458.namprd10.prod.outlook.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.

Reply via email to