Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
UDF's second rate citizen in Rushmore ?
Message
De
06/09/2006 13:27:04
 
 
À
06/09/2006 13:02:23
Information générale
Forum:
Visual FoxPro
Catégorie:
Base de données, Tables, Vues, Index et syntaxe SQL
Divers
Thread ID:
01151219
Message ID:
01151427
Vues:
57
this show the bug:
CREATE CURSOR testudfindex ( aa i )
INSERT INTO testudfindex Values(1)
INSERT INTO testudfindex Values(2)
CLEAR

SYS(3054,0)

PRIVATE lnX
lnX = 1

INDEX on lnX TAG withmem

?

SELECT * FROM testudfindex WHERE lnX  = 2 INTO ARRAY dummy
? "optimized ",_TALLY

lnX = 1
SELECT * FROM testudfindex WHERE 2 = lnX  INTO ARRAY dummy
?? "  not optimize return the same result",_TALLY

?
lnX = 1
SELECT * FROM testudfindex WHERE lnX  = FuncDet() INTO ARRAY dummy1
? "optimized ",_TALLY

lnX = 1
SELECT * FROM testudfindex WHERE FuncDet() = lnX  INTO ARRAY dummy1
?? "  not optimize return the same result",_TALLY

?
lnX = 1
SELECT * FROM testudfindex WHERE lnX  = FuncSideEffect() INTO ARRAY dummy2
? "optimized ",_TALLY

lnX = 1
SELECT * FROM testudfindex WHERE FuncSideEffect() = lnX  INTO ARRAY dummy2
?? "  not optimize return a different result",_TALLY

FUNCTION FuncDet()
RETURN lnX

FUNCTION FuncSideEffect()
lnX = lnX + 1 
RETURN lnX
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform