Icon View Incident Report

Serious Serious
Reported By: John Stevenson
Reported On: 12/13/1999
For: Version 1.19 Build 1
# 507 Restructuring is Causing Blob Fields to Get Changed to Binary Fields

The following is my restructure routine. The BLOBS (3 of them) are definitely being changed to Binary when I restructure.

procedure RestructureUniTable;
var
   TableToRestructure: TDBISAMTable;
begin
   TableToRestructure:=TDBISAMTable.Create(Application);
   try
     with TableToRestructure do begin
       DatabaseName := ggDatabaseName;
       TableName:='d07.dat';                // uni
       Exclusive:=True;
       with RestructureFieldDefs do begin
         Clear;
         Add('uid',ftAutoInc,0,False,'','','','',1);
         Add('lastopened',ftDateTime,0,False,'','','','',2);
         Add('lastclosed',ftDateTime,0,False,'','','','',3);
         Add('lastinvoice',ftString,16,False,'','','','',4);
         Add('lastreceipt',ftString,16,False,'','','','',5);
         Add('eofy',ftDate,0,False,'','','','',6);
         Add('eofyDone',ftDateTime,0,False,'','','',
'Date and time EOFY last done',7);
         Add('udd',ftString,25,False,'','','','User Defined passworD',8);
         Add('notes',ftBlob,0,False,'','','','company notes',9);
         Add('lastChequeNumber',ftInteger,0,False,'','','','',10);
         Add('lastClientsUID',ftInteger,0,False,'','','','',11);
         Add('lastSuppsUID',ftInteger,0,False,'','','','',12);
         Add('lastStockUID',ftInteger,0,False,'','','','',13);
         Add('lastGLuid',ftInteger,0,False,'','','','',14);
         Add('lastClientsIDX',ftString,20,False,'','','','',15);
         Add('lastSuppsIDX',ftString,20,False,'','','','',16);
         Add('lastStockIDX',ftString,20,False,'','','','',17);
         Add('lastGLidx',ftString,20,False,'','','','',18);
         Add('notesAreOpen',ftBoolean,0,False,'','','','',19);
         Add('useTax',ftBoolean,0,False,'True','','','',20);
         Add('taxName',ftString,5,False,'GST','','','',21);
         Add('taxRate',ftFloat,0,False,'10','','','',22);
         Add('invoiceEntryType',ftString,9,False,'Popular','','','',23);
         Add('invoiceCompanyNameHeader',ftBlob,0,False,'','','',
'RTF company name details',24);
         Add('invoiceConditions',ftBlob,0,False,'','','',
'Terms and conditions to go on invoice.',25);
         Add('invoiceShowDeliverTo',ftBoolean,0,False,'','','',
'Show Ship to / Deliver to on invoice?',26);
         Add('invoiceShipChargeHeading',ftString,20,False,'','','',
'eg. Delivery charges',27);
         Add('invoiceRemitChequeTo',ftString,250,False,'','','',
'eg. Ace Chemicals  PO Box 2 Bexley',28);
       end;
       with RestructureIndexDefs do begin
         Clear;
         Add('','uid',[ixPrimary,ixUnique],icNone);
       end;
       RestructureTable(0,0,1,0,False,'','uni (universal) database',256,
True);
     end;  // with TableToRestructure
   finally
     TableToRestructure.Free;
   end;
end;  // RestructureUniTable



Comments Comments and Workarounds
The fields were still BLOBs, but they were being identified in DBSYS as Binary fields. The Binary option has been removed from DBSYS since it was a duplicate of the regular BLOB type.


Resolution Resolution
Fixed Problem on 12/15/1999 in version 1.20 build 1
Image