ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/public/ibx/trunk/runtime/IBDatabase.pas
(Generate patch)

Comparing ibx/trunk/runtime/IBDatabase.pas (file contents):
Revision 62 by tony, Wed Apr 12 09:19:59 2017 UTC vs.
Revision 80 by tony, Mon Jan 1 11:31:07 2018 UTC

# Line 1597 | Line 1597 | begin
1597    case Action of
1598      TARollback, TACommit:
1599      begin
1600 <      DoBeforeTransactionEnd;
1600 >      try
1601 >        DoBeforeTransactionEnd;
1602 >      except on E: EIBInterBaseError do
1603 >        begin
1604 >          if not Force then
1605 >            raise;
1606 >        end;
1607 >      end;
1608 >
1609        for i := 0 to FSQLObjects.Count - 1 do if FSQLObjects[i] <> nil then
1610 +      try
1611          SQLObjects[i].DoBeforeTransactionEnd(Action);
1612 +      except on E: EIBInterBaseError do
1613 +        begin
1614 +          if not Force then
1615 +              raise;
1616 +          end;
1617 +      end;
1618 +
1619        if InTransaction then
1620        begin
1621          if (Action = TARollback) then
# Line 1616 | Line 1632 | begin
1632            end;
1633          end;
1634  
1635 <        for i := 0 to FSQLObjects.Count - 1 do if FSQLObjects[i] <> nil then
1636 <          SQLObjects[i].DoAfterTransactionEnd;
1637 <        DoAfterTransactionEnd;
1635 >          for i := 0 to FSQLObjects.Count - 1 do if FSQLObjects[i] <> nil then
1636 >          try
1637 >            SQLObjects[i].DoAfterTransactionEnd;
1638 >          except on E: EIBInterBaseError do
1639 >            begin
1640 >              if not Force then
1641 >                raise;
1642 >            end;
1643 >          end;
1644 >        try
1645 >          DoAfterTransactionEnd;
1646 >        except on E: EIBInterBaseError do
1647 >          begin
1648 >            if not Force then
1649 >              raise;
1650 >          end;
1651 >        end;
1652        end;
1653      end;
1654      TACommitRetaining:

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines