Icon View Incident Report

Serious Serious
Reported By: Romano Pittas
Reported On: 1/25/2005
For: Version 4.16 Build 1
# 1949 Restricted Transactions Mistakenly Locking All Open Tables in Database

I'm getting the error 10229 with restricted transactions in a table that is not related to other restricted transactions.

This is my test :

1) Start a first application (EXE File);
2) Start a restricted transaction for table1 and Table2;
3) Start a second application (EXE File);
4) Start a restricted transaction for table3.

On the fourth step I get the error 10229.

procedure TForm1.ShowInTransaction;
begin
if DBIsamDatabase1.InTransaction
   then Label2.caption:='InTransaction = True'
   else Label2.caption:='InTransaction = False';
end;

procedure TForm1.FormShow(Sender: TObject);
begin
DBIsamSession1.Active:=false;
Engine.TableTransLockRetryCount:=500;

DBIsamTable1.Active:=true;
DBIsamTable2.Active:=true;
DBIsamTable3.Active:=true;

TblList:=TStringList.create;
ShowIntransaction;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
TblList.Clear;
TblList.Add('Table1');
TblList.Add('Table2');

with DBIsamDatabase1 do
     begin
     if InTransaction then RollBack;
     StartTransaction(TblList);
     end;
ShowInTransaction;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
with DBIsamDatabase1 do
     if InTransaction then RollBack;
TblList.free;
end;


procedure TForm1.Button2Click(Sender: TObject);
begin
TblList.Clear;
TblList.Add('Table3');

with DBIsamDatabase1 do
     begin
     if InTransaction then RollBack;
     StartTransaction(TblList);
     end;
ShowInTransaction;
end;


procedure TForm1.Button3Click(Sender: TObject);
begin
with DBIsamDatabase1 do
     if InTransaction then RollBack;
ShowInTransaction;     
end;



Resolution Resolution
Fixed Problem on 1/26/2005 in version 4.17 build 1
Image