Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Issue: buffered data and incoherent behaviours
Message
From
01/11/2004 10:09:03
 
 
To
All
General information
Forum:
Visual FoxPro
Category:
Visual FoxPro Beta
Title:
Issue: buffered data and incoherent behaviours
Miscellaneous
Thread ID:
00956542
Message ID:
00956542
Views:
65
Previous issue Thread #954804

Bug/Issue : 6 of 27

TITLE: Issue: buffered data and incoherent behaviours

VERSION: 09.00.0000.1720 and previous

EXPECTED: Coherence.

OBSERVED: Incoherence.

Commented Repro code:
CLEAR
SET NULL ON && ON/OFF don't change the functionallity
CREATE CURSOR C1 ( F1 L NOT NULL UNIQUE)
=CURSORSETPROP("Buffering",5)
APPEND BLANK
* when a information into a Application Environment it is forced to be unknown
* and exists a tag ( NULL ) for representing this fact,
* then their value have to be NULL also if it cannot to be NULL.
* When a language support the NULL tag,
* this choice is not a option, but it is a forced rule.
* Next line show that a good developer lead exists into the VFPT,
* and it have understood this basic rule:
* Next line show this: 
*   - F1 don't support NULLs, and it's OLDVAL and CURVAL are NULL !
*   - also GETFLDSTATE() it is NULL ! ( out of documentation ),
*     then i can think that this behaviour it can to be a code's side effect:
? F1,GETFLDSTATE(-1),OLDVAL("F1"),CURVAL("F1"),OLDVAL("GETFLDSTATE(-1)")

* In-fact when VFPT have implemented the indexes engine, 
* this global rule it is lost, and a ( my old ) serious VFP bug show the face
* On next line i expected no errors ! 
* Absurd it is that 
* the search of a field within an index based on the same field gives back an error:
? KEYMATCH(OLDVAL("F1"),'C1',1)

* Now we go into the unknown world: go to the OOT() = OUT OF TABLE RECORD = EOF()
SKIP
* now no informations are knowned, and no buffered data exists,
* then i expected:
* no known info ( behaviour applied before ) => NULL
* no buffered data ( coherence rule )        => field=OLDVAL("field")
* Result: On next line I expected all NULL
? F1,GETFLDSTATE(-1),OLDVAL("F1"),CURVAL("F1"),OLDVAL("GETFLDSTATE(-1)")

* I understand that the last expected results  it opens a great problem 
* of compatibility backwards,
* but when you found a bifurcation on the road you cannot walking with a foot on one and the other on the other,
* after little you could yourselves be found in series difficulty with the pants.
* In-fact, now i continuous to put patch to the code.
USE
I suspect that this incoherence and new VFP9 support for BUFFERED data into the SQL-SELECT command can give unexpected results.
Now I do not have time in order to inquire on this.

Thanks
Fabio
Reply
Map
View

Click here to load this message in the networking platform