Performance metrics - some early conclusions
Ruslan Zasukhin
sunshine at public.kherson.ua
Wed Nov 30 23:29:13 CST 2005
On 11/30/05 9:32 PM, "Ed Kleban" <Ed at Kleban.com> wrote:
> I'm afraid I still need more help connecting the dots here because I still
> don't understand why the following are true:
>
>>
>> It must copy them to be able execute UpdateRecord()
>>
>> It must because we need OLD values to update index.
>
> Presumably if I'm going to change the values in the memory buffer with
> SetBlank, I've already stored any new values I care about by having already
> performed a UpdateRecord.... or stated another way as a question:
>
> Why would I ever want to do SetBlanks without first having executed
> UpdateRecord() if I care about the current memory buffer values? Wouldn't
> it be foolish for me to do this? Or is the (undocumented) case that by
> definition and intent SetBlank always first does an UpdateRecord before
> blanking the memory buffer unless you specify forAdd so that you don't
> accidentily screw yourself by being foolish?
I have understand almost nothing.
Let me explain what I think you need:
* you are on some CURRENT record. ALWAYS.
* this means that values of THIS record are LOADED into
Table record buffer.
* Now you want update this current record.
what you do.
* Case 1
-- you just assign few fields
-- and do tbl.UpdateRecord.
this is 99% cases
when you assign field new values, Valentina copy old one into
second buffer. This old value is required to be able update index
if it exists.
* Case 2
somebody still can wish just blank this record.
so
-- tbl.SetBlank()
-- tbl.UpdateRecord()
the same: Valentina must copy old values.
This is very rare case. But it have right to live.
much more often, you do tbl.SetBlank() before you going
add record.
--
Best regards,
Ruslan Zasukhin
VP Engineering and New Technology
Paradigma Software, Inc
Valentina - Joining Worlds of Information
http://www.paradigmasoft.com
[I feel the need: the need for speed]
More information about the Valentina
mailing list