>Just a head's up that latest VFPA introduces a new SYS(9062) function that alters VFP behavior wrt mdot.
>From
http://baiyujia.com/vfpdocuments/f_vfp9fix180.asp :
Interesting, although some areas still left in the dark: will SQL read memory variables if they are without alias in the SQL statement on settings [0,2] ? For me SQL Select fieldlist without alias was the best reason for selectedalias.field read first, as it allows SQL statements without specifying alias (with knowledge that mDot was established in dBase/fox well before SQL came along...)
Also curious why he argues/opts for
m.xxx = m.yyy
on assign... should microbench again.
In theory, on an app working mainly off memvars/objects, this sys() might give a small boost in speed, wrapping SQL with different setting might keep SQL speed, which probably is higher if current alias is first in giving value.
pls keep us updated on tests and findings
thomas
>
>
SYS(9062 [, 0 | 1 | 2])
>
> Parameters
> 0
> For the variable name without mdot, vfp will not check the field name, it will check the variable name only.
> 1
> For the variable name without mdot, vfp will check the field name first, if there is no the field name in the current work area,
> vfp will check the variable name. 1 is the startup default for Visual FoxPro Advanced.
> 2
> For the variable name without mdot, vfp will check the variable name first, if there is no the variable name, vfp will check
> the field name in the current work area.
>
>More info at the link. For people who are 100% sure of variable names versus field names and/or who use non-ambiguous code/alias prefixes, parameter 0 or 2 could provide a significant performance boost.