Subject Re: [IBO] development
Author Geoff Worboys
Hans wrote:
> Since D5 doesn't seem to have a definition for soEnd,
> I replaced
> tmpRead.Seek(0, soEnd);
> with
> tmpRead.Seek(0, soFromBeginning);

> Hoping this is the same, now IBOjects using TDataPump
> is quite a bit faster.

Use: tmpRead.Seek(0, soFromEnd);
instead (the soEnd variation is for and Int64 overload, I am
pretty sure D5 should have soFromEnd).

The line is actually redundant since IBO will currently load
the entire blob as part of CreateBlobStream anyway. I
included the line mostly as a symbolic/informative "read
through to the end" instruction (ensuring the buffer in the
stream blobnode is complete)... the theory being that if
blob behaviour is altered later so that it does not read the
entire data during Create that this command should cause it
to do so.


Pleased you see an improvement too. This problem really only
hits against large blobs (only if most are well over 61440
bytes) - and even then only obvious in transfer situations like
you demonstrated. I do have a few large-blob databases... but
without a comparison it was difficult to see that the problem
existed.

--
Geoff Worboys
Telesis Computing