Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
UDF's second rate citizen in Rushmore ?
Message
From
06/09/2006 13:27:04
 
 
To
06/09/2006 13:02:23
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Miscellaneous
Thread ID:
01151219
Message ID:
01151427
Views:
52
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
Previous
Reply
Map
View

Click here to load this message in the networking platform