I have encountered some behaviour in VFP8 that seems like an optimisation setting has changed.
When issuing a query like:
SELECT * FROM table WHERE (field = 'abc' and SomeFunction(field))
In the past, this query would test field='abc', and if not, not carry out the second test SomeFunction(field). This behaviour allows select commands to be optimised - check the quick things before checking the slow things.
However, in VFP 8 every single expression in an SQL command appears to be evaluated. In the above example the SomeFunction(field) test is always carried out, regardless of whether field = 'abc'.
Can anyone confirm that this is the case, and if so is there a setting that will return behaviour to the VFP7 standard. I have looked at SET OPTIMIZE and SET ENGINEBEHAVIOUR, and neither seems to affect the query.