ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/public/ibx/branches/udr/client/FBTransaction.pas
(Generate patch)

Comparing ibx/branches/udr/client/FBTransaction.pas (file contents):
Revision 370 by tony, Wed Jan 5 14:59:15 2022 UTC vs.
Revision 371 by tony, Wed Jan 5 15:21:22 2022 UTC

# Line 88 | Line 88 | type
88      FAttachments: array of IAttachment; {Keep reference to attachment - ensures
89                                            attachment cannot be freed before transaction}
90      FTransactionName: AnsiString;
91 +    FForeignHandle: boolean;
92      procedure CheckHandle;
93      function GetActivityIntf(att: IAttachment): IActivityMonitor; virtual; abstract;
94      function GetJournalIntf(Attachment: IAttachment): IJournallingHook;
# Line 313 | Line 314 | var i: integer;
314      intf: IUnknown;
315      user: ITransactionUser;
316   begin
317 <  if InTransaction then
317 >  if InTransaction and not FForeignHandle then
318    begin
319      for i := 0 to InterfaceCount - 1 do
320      begin
# Line 342 | Line 343 | var i: integer;
343   begin
344    if not GetInTransaction then Exit;
345  
346 +  if FForeignHandle then
347 +    IBError(ibxeTransactionNotOwned,[nil]);
348 +
349    SetLength(TransactionEndNeeded,Length(FAttachments));
350    TransactionID := GetTransactionID;
351    for i := 0 to Length(FAttachments) - 1 do
# Line 424 | Line 428 | var i: integer;
428   begin
429    if not GetInTransaction then Exit;
430  
431 +  if FForeignHandle then
432 +    IBError(ibxeTransactionNotOwned,[nil]);
433 +
434    SetLength(TransactionEndNeeded,Length(FAttachments));
435    TransactionID := GetTransactionID;
436    for i := 0 to Length(FAttachments) - 1 do

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines