Icon View Incident Report

Serious Serious
Reported By: Daniel Lundin
Reported On: 11/15/2005
For: Version 4.21 Build 11
# 2134 Table Can Raise an #8965 Error During Open with Concurrent Delete on the Last Record in the Table

One of it tasks is to check a number of tables for changes, and if detected it goes through the tables and handles the changes made. This functionality is implemented in a DLL and isolated in a separate thread (following the rules for threading). The change detection is done using a session with StrictChangeDetection set to TRUE.

When a change is detected (when a client inserts a record), the 8965 error is encountered when the server is trying to go through the table in question. The weird thing is that the 8965 error is only raised for the first record inserted in the table.

I have created a sample that can be used to reproduce the error. The sample consist of a client application that appends a record to the table "calendar" and then deletes it after have waited a second. The record is appended within a transaction. The server app is as simple as it can be, just a "DBISAMEngine-container".

I have tried to raise the error 8965 in the sample app, just as in my real app but this is the tricky part. So by accident I discovered that if you try to open the calendar table in the Database System Utility it will be encountered more frequent, when the sample apps is running.

Steps to reproduce:

1. Make sure that the table calendar.dat is empty and OK.
2. Start server.exe
3. Start client.exe
4. Open the calendar.dat table in Database System Utility. If it succeeds open the table, close it and try open it again. After a few times the 8965 error should be encountered.


Resolution Resolution
Fixed Problem on 11/20/2005 in version 4.22 build 1


Products Affected Products Affected
DBISAM Additional Software and Utilities
DBISAM ODBC Client-Server
DBISAM ODBC Client-Server with Source
DBISAM ODBC Standard
DBISAM ODBC Standard with Source
DBISAM VCL Client-Server
DBISAM VCL Client-Server with Source
DBISAM VCL Standard
DBISAM VCL Standard with Source

Image