Page 1 of 1

Using DeferredBlobRead property causes data loss

Posted: Mon 16 Nov 2015 11:30
by andy_bri
I have a problem with DeferredBlobRead property of TUniQuery.
a) I open Firebird table via TUniQuery.
TUniQuery has DeferredBlobRead set to True.
Table contains some text blob fields, which are not displayed on my form.
b) I change value of one field and save record.
All blob fields data are lost!
It appeared probably in version 6.2.7 or 6.2.6.
It is a huge problem for us, because we use DeferredBlobRead on some hundreds forms and many our customers are losing their import information! How to resolve the problem?

Re: Using DeferredBlobRead property causes data loss

Posted: Wed 18 Nov 2015 09:20
by ViktorV
Unfortunately, we can't reproduce the issue. To investigate this behavior of UniDAC, please send to viktorv*devart*com a small sample to demonstrate the issue, including a script for creation and filling in the test database object.

Re: Using DeferredBlobRead property causes data loss

Posted: Wed 03 Feb 2016 12:28
by steina
Hi I have the same problem. All blob fields data will be lost!

The settings:

FetchAll := false
CacheBlobs := false
DeferredBlobRead := true

Re: Using DeferredBlobRead property causes data loss

Posted: Wed 03 Feb 2016 14:01
by andy_bri
In my application the problem appears in one case: when the record is re-read (method Refresh is called).
I found all places, where Refresh is called, and I directly read Blob fields there.
For example I wrote something like this:

var
S: string;
begin
CUSTOMER.Refresh;
S := CUSTOMER['NOTES'];
end;

This code causes NOTES blob data to be loaded and information is not lost after post.
Of course the best solution would be removing the error by Devart, but I hope this will help for now.

Re: Using DeferredBlobRead property causes data loss

Posted: Mon 15 Feb 2016 14:12
by ViktorV
Thank you for the information. We have reproduced the problem and investigation is in progress. We will inform you when we have any results.