Page 1 of 1

TUniScript doesn't use Transaction that was set in property Transaction and starts new Transaction

Posted: Sun 12 Sep 2021 18:12
by VadimMescheryakov
TUniScript doesn't use Transaction that was set in property Transaction and starts new transaction with default params. It's very important - Firebird 3 needs to have wait in transaction for changing metadata.

procedure TForm12.Button2Click(Sender: TObject); begin UniScript1.Transaction := UniTransaction1;
UniTransaction1.SpecificOptions.Values['Params'] := 'write;wait;rec_version;read_committed';
UniConnection1.Connect;
UniTransaction1.StartTransaction;
try
UniScript1.Execute;
finally
UniTransaction1.Commit;
end;
UniConnection1.Disconnect;
end;

I see in SQLMonitor the two transaction. The First transaction is with my params, The Second transaction is with default params

How can I set transaction params for TUniScript?
Image

Re: TUniScript doesn't use Transaction that was set in property Transaction and starts new Transaction

Posted: Tue 14 Sep 2021 14:27
by ViktorV
Hi Vadim,

Thanks for your reply.

Thank you for the information. At the moment our team is investigating it however I want to assure you that as soon as we have any results, we will immediately let you know.
Feel free to reply to this email if you have any additional questions or need any kind of additional instructions.

Best regards,
Viktor

Re: TUniScript doesn't use Transaction that was set in property Transaction and starts new Transaction

Posted: Thu 14 Oct 2021 13:07
by VadimMescheryakov
Hi
Is any hope what you will fix this issue?
Thanks

Re: TUniScript doesn't use Transaction that was set in property Transaction and starts new Transaction

Posted: Thu 21 Oct 2021 15:18
by ViktorV
Kindly note that how it is specified in the https://www.devart.com/unidac/docs/using-interbase.htm there is a property called AutoDLL - for the resolution is should be set to False.
However, we have found out that it doesn't work as it is intended to.
We have already fixed this unfortunate situation on our end. Now the AutoDLL property will be set to be False and you will get the required behavior for your task. The additional transaction won't be created either.
This fix will be added to the next build of our product and will be available to all clients.