'Wrong DeRegisterOpenUnCachedLob beahvior'

The offical for ZeosLib 7.3 Report problems, ask for help, post proposals for the new version of Zeoslib 7.3/v8
Quick Info:
-We made two new drivers: odbc(raw and unicode version) and oledb
-GUID domain/field-defined support for FB
-extended error infos of Firebird
-performance ups are still in queue
In future some more feature will arrive, so stay tuned and don't hassitate to help
Post Reply
abonic
Junior Boarder
Junior Boarder
Posts: 28
Joined: 25.11.2016, 17:00

'Wrong DeRegisterOpenUnCachedLob beahvior'

Post by abonic »

There is a problem (which was not in the revisions from just a few days ago) with transactions and blob fields in Firebird.

When the code below is run, this is an error:
Debugger Exception Notification
---------------------------
Project Project1.exe raised exception class EAssertionFailed with message 'Wrong DeRegisterOpenUnCachedLob beahvior (D:\D\3p\zeos\src\dbc\ZDbcFirebirdInterbase.pas, line 1143)'.

Code: Select all

// create table test(id integer primary key, info blob sub_type 1);
ZQuery1.SQL.Text := 'select * from test';
ZQuery1.Open;

ZConnection1.StartTransaction;
ZConnection1.ExecuteDirect( 'delete from test' );
ZConnection1.ExecuteDirect( 'insert into test(id, info) values(1, ''x'')');
ZConnection1.Commit;

ZQuery1.Close; // => EAssertionFailed
But, if I open and close ZQuery1 inside transaction, there is no error.

Code: Select all

// this is ok
ZQuery1.SQL.Text := 'select * from test';

ZConnection1.StartTransaction;
ZQuery1.Open;

ZConnection1.ExecuteDirect( 'delete from test' );
ZConnection1.ExecuteDirect( 'insert into test(id, info) values(1, ''x'')');

ZQuery1.Close; 
ZConnection1.Commit;
There is no error in any case with sqlite or MariaDb (or Firebird with earlier Zeos revisions) .

(Firebird 3, Zeos r6516, Delphi 2009)
marsupilami
Platinum Boarder
Platinum Boarder
Posts: 1956
Joined: 17.01.2011, 14:17

Re: 'Wrong DeRegisterOpenUnCachedLob beahvior'

Post by marsupilami »

I created ticket #427 for this. A test case will be added to the test suites for this.
marsupilami
Platinum Boarder
Platinum Boarder
Posts: 1956
Joined: 17.01.2011, 14:17

Re: 'Wrong DeRegisterOpenUnCachedLob beahvior'

Post by marsupilami »

Hello abonic,

this problem should be solved in Rev. 6528. Could you please chek it?

Best regards,

Jan
abonic
Junior Boarder
Junior Boarder
Posts: 28
Joined: 25.11.2016, 17:00

Re: 'Wrong DeRegisterOpenUnCachedLob beahvior'

Post by abonic »

I don't know about rev. 6528 but in latest rev. 6530 the problem seems to be solved.
Post Reply