Icon View Incident Report

Serious Serious
Reported By: Yavuz Ozdemir
Reported On: 9/4/2010
For: Version 2.03 Build 21
# 3317 Locates Can Cause Dangling Read Lock

I create a table with 25.000 records. if I append new record with append/post commands, everything is OK. But I use appendrecord command, EEDBError 300 raised. I did't use any transaction command.

Error Message:
Project xxx.exe raised exception class EEDBError with messagae 'ElevateDB Error #300 Cannot lock the table XYZ in the shema Default for write access.'

The message raised in 2 minutes timeout.

icd1:='001001';
icd2:='001002';
ind:=12;
if TB2.Locate('FLD',IND,[]) then
while not TB2.Eof do
if TB2.fieldbyname('FLD').asinteger=IND then
begin
   if TB1.Locate('OLCU;ICD1;ICD2', vararrayof([TB2.fieldbyname('OLCU').asinteger,
                                               icd1,
                                               icd2]),[])=false then
      TB1.appendrecord([TB2.fieldbyname('OLCU').asinteger,icd1,icd2]);
    TB2.next
end
else break;



Comments Comments
The difference was simply due to the additional navigation caused by the AppendRecord method over the Append method. One would trigger the issue via the Locate, while the other wouldn't.


Resolution Resolution
Fixed Problem on 9/5/2010 in version 2.03 build 22


Products Affected Products Affected
ElevateDB Additional Software and Utilities
ElevateDB DAC Client-Server
ElevateDB DAC Client-Server with Source
ElevateDB DAC Standard
ElevateDB DAC Standard with Source
ElevateDB DAC Trial
ElevateDB LCL Standard with Source
ElevateDB VCL Client-Server
ElevateDB VCL Client-Server with Source
ElevateDB VCL Standard
ElevateDB VCL Standard with Source
ElevateDB VCL Trial

Image