Icon View Incident Report

Serious Serious
Reported By: Ralf Bieber
Reported On: 10/2/2009
For: Version 4.29 Build 1
# 3076 Tables with Invalid NULL Flag for BLOB Field Causes Exception with Remote Sessions and CopyOnAppend

Table with Memofield and CopyAppend=true can raise an "Invalid BLOB offset" exception if there is corruption. The repair functionality does not correct the problem.

Base: Memofield is linked with a TDBMemo Component and the value of 
the Memofield is NULL

An exception is created, with inserting a record in a table: 
DBCtrls: TDBMemo.LoadMemo ==>Lines.Text := FDataLink.Field.AsString

It works without an error, if the Memofield have a value.



Comments Comments
The problem was caused by the fix in incident report #3040. Since 4.28 and the redesign of the BLOB storage, DBISAM is stricter now about whether the NULL flag in the actual record matches the size of the BLOB field, whereas previously it would always use the size to determine if a BLOB field was "empty". If you experience this problem, repairing the table with 4.29 Build 2 or higher will correct the problem.


Resolution Resolution
Fixed Problem on 10/17/2009 in version 4.29 build 2


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 ODBC Trial
DBISAM VCL Client-Server
DBISAM VCL Client-Server with Source
DBISAM VCL Standard
DBISAM VCL Standard with Source
DBISAM VCL Trial

Image