Interbase.Wirecompression and threads

Discussion of open issues, suggestions and bugs regarding UniDAC (Universal Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
FredS
Posts: 272
Joined: Mon 10 Nov 2014 17:52

Interbase.Wirecompression and threads

Post by FredS » Tue 07 Dec 2021 17:00

In FB4 we get a new field (MON$WIRE_COMPRESSED) in MON$ATTACHMENTS and it shows the three connections for my PID, two of them without Compression..

Code: Select all

MON$REMOTE_PID  MON$WIRE_COMPRESSED
2284			true
2284			false
2284			false
When I execute one of those connections threaded and fire this SQL inside the Execute procedure I get False..

Code: Select all

cWireCompSQL = 'SELECT RDB$GET_CONTEXT(''SYSTEM'', ''WIRE_COMPRESSED'') wire_comp FROM rdb$database';
These connections are created by passing in the 'ConnectionString' of the main TUniConnection yet aren't being compressed.. how come?

ViktorV
Devart Team
Posts: 3168
Joined: Wed 30 Jul 2014 07:16

Re: Interbase.Wirecompression and threads

Post by ViktorV » Wed 08 Dec 2021 18:41

In order to perform this task in current version of UniDAC you need to use InterBase.Params option for each instance of TUniConnection component. For example:

Code: Select all

Con.SpecificOptions.Values['InterBase.Params'] := 'WireCompression=true'; 
Please keep in mind that this property is not used in ConnectString. However, as we mentioned before, the WireCompression option for the Connection component is finally added and will be used in ConnectString option. This change will be included in the new UniDAC build, which we plan to release this week.

Post Reply