Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
FIX: this bug fixing change the VFP behaviour a lot
Message
De
16/08/2005 09:37:15
 
 
Information générale
Forum:
Visual FoxPro
Catégorie:
Base de données, Tables, Vues, Index et syntaxe SQL
Versions des environnements
Visual FoxPro:
VFP 9
Divers
Thread ID:
01041266
Message ID:
01041313
Vues:
22
>Fabio,
>
>There's nothing to document. UDF in a query cannot make any assumption about what the current work area is or what current record pointer is. It's your problem if you use UDF this way not VFP.

Sergey,
While I agree that Fabio may have been too quick with calling this a bug, your argument is not valid here. The record number and workarea are not used in the expression (MOD(A,1000)#0 OR THERMO(A)).


>>On Thread #1041159 Peter post a hold VFP's issue.
>>
>>Run this on VFP9 return expected THERMO evaluation:
>>
>>* THERMO calls
>>* parsing
>>RECNO=1
>>* load data
>>RECNO=2
>>RECNO=3
>>RECNO=4
>>RECNO=8
>>
>>
>>before (VFP8,7..)
>>
>>* THERMO calls
>>* parsing
>>RECNO=8 && Bug
>>RECNO=8 && bug
>>RECNO=1
>>* load data
>>RECNO=2
>>RECNO=3
>>RECNO=4
>>RECNO=5 && Bug
>>RECNO=6 && Bug
>>RECNO=7 && Bug
>>RECNO=8
>>
>>
>>The code:
>>
>>CLEAR
>>SET ASSERTS 	OFF
>>SET CPDIALOG	OFF
>>SET DEVELOPMENT	OFF
>>SET COMPATIBLE 	 	FOXPLUS
>>SET HEADINGS		ON
>>SET STATUS BAR		OFF
>>SET NOTIFY		OFF
>>SET NOTIFY			CURSOR OFF
>>SET TEXTMERGE		NOSHOW
>>
>>SET OPTIMIZE		ON
>>
>>SET ENGINEBEHAVIOR 80
>>
>>WITH CREATEOBJECT("session")
>>	SET DATASESSION TO (.datasessionid)	&& default set
>>	
>>	SET NULLDISPLAY TO "I'm null"
>>	CREATE CURSOR myTest (A I NULL)
>>	INSERT INTO myTest VALUES (5)
>>	INSERT INTO myTest VALUES (0)
>>	INSERT INTO myTest VALUES (0)
>>	INSERT INTO myTest VALUES (null)
>>	INSERT INTO myTest VALUES (2)	&& VFP don't visit THERMO here
>>	INSERT INTO myTest VALUES (1)	&& VFP don't visit THERMO here
>>	INSERT INTO myTest VALUES (7)	&& VFP don't visit THERMO here
>>	INSERT INTO myTest VALUES (0)
>>
>>SELECT * FROM myTest;
>>	WHERE (MOD(A,1000)#0 OR THERMO(A));
>>	INTO CURSOR rrr
>>
>>ENDWITH
>>
>>PROCEDURE THERMO(vValue)
>>	? "recno()=",RECNO(),"A=",vValue
>>
>>
>>Of course in the documentation,
>>nothing of this is brought (at least me I don't find it).
>>
>>VFPT:
>>When the way of operating on the data changes,
>>it Needs to bring it in the documentation.
>>Is acceptable not to do only it when a bug removes some error produced.
Groet,
Peter de Valença

Constructive frustration is the breeding ground of genius.
If there’s no willingness to moderate for the sake of good debate, then I have no willingness to debate at all.
Let's develop superb standards that will end the holy wars.
"There are three types of people: Alphas and Betas", said the beta decisively.
If you find this message rude or offensive or stupid, please take a step away from the keyboard and try to think calmly about an eventual a possible alternative explanation of my message.
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform