Icon View Incident Report

Serious Serious
Reported By: Grzegorz Rewucki
Reported On: 3/17/2005
For: Version 4.18 Build 1
# 2001 #9217 Duplicate Key Exceptions Causing #10030 Invalid Blob Handle When Triggers Access BLOB Columns

I found problem in access blob fields from before insert/update triggers after duplicate key exception. The steps to recreate it are below along with the code:

1) run server with following code:

procedure TMainForm.ServerEngineBeforeInsertUpdateTrigger(Sender: TObject;
  TriggerSession: TDBISAMSession; TriggerDatabase: TDBISAMDatabase;
  const TableName: String; CurrentRecord: TDBISAMRecord);
  var ParamsParamGUID, ParamsBizonSearch,
      ParamsParamName, ParamsParamBody, ParamsParamDisplayBody: TField;
begin
  ParamsParamGUID   := CurrentRecord.FieldByName('ParamGUID');
  ParamsBizonSearch := CurrentRecord.FieldByName('BizonSearch');
  ParamsParamName   := CurrentRecord.FieldByName('ParamName');
  ParamsParamBody   := CurrentRecord.FieldByName('ParamBody');
  ParamsParamDisplayBody := CurrentRecord.FieldByName('ParamDisplayBody');
  if ParamsParamGUID.IsNull or (Trim(ParamsParamGUID.AsString) = '') then
    ParamsParamGUID.AsString := CreateClassID;
  ParamsParamDisplayBody.AsString := ParamsParamBody.AsString;
  ParamsBizonSearch.AsString := ParamsParamGUID.AsString + '=' + ParamsParamName.AsString;
end;

2) run DBSYS (default login and password)
3) open table Params
4) insert new record and put xx to ParamName field
5) post record
6) duplicate key error should be raised
7) re-post record without changing
8) #10030 error should be raised



Resolution Resolution
Fixed Problem on 3/22/2005 in version 4.19 build 1


Products Affected Products Affected
DBISAM VCL Client-Server
DBISAM VCL Client-Server with Source
DBISAM VCL Standard
DBISAM VCL Standard with Source

Image