瀏覽代碼

* Splitted TBufDataset in TCustomBufDataset and TBufDataset

git-svn-id: trunk@14855 -
joost 15 年之前
父節點
當前提交
39224aad96

+ 113 - 107
packages/fcl-db/src/base/bufdataset.pas

@@ -24,9 +24,9 @@ interface
 uses Classes,Sysutils,db,bufdataset_parser;
 
 type
-  TBufDataset = Class;
+  TCustomBufDataset = Class;
 
-  TResolverErrorEvent = procedure(Sender: TObject; DataSet: TBufDataset; E: EUpdateError;
+  TResolverErrorEvent = procedure(Sender: TObject; DataSet: TCustomBufDataset; E: EUpdateError;
     UpdateKind: TUpdateKind; var Response: TResolverResponse) of object;
 
   { TBufBlobStream }
@@ -43,7 +43,7 @@ type
   private
     FBlobBuffer : PBlobBuffer;
     FPosition   : ptrint;
-    FDataset    : TBufDataset;
+    FDataset    : TCustomBufDataset;
   protected
     function Read(var Buffer; Count: Longint): Longint; override;
     function Write(const Buffer; Count: Longint): Longint; override;
@@ -52,7 +52,7 @@ type
     constructor Create(Field: TBlobField; Mode: TBlobStreamMode);
   end;
 
-  { TBufDataset }
+  { TCustomBufDataset }
 
   PBufRecLinkItem = ^TBufRecLinkItem;
   TBufRecLinkItem = record
@@ -108,7 +108,7 @@ type
 
   TBufIndex = class(TObject)
   private
-    FDataset : TBufDataset;
+    FDataset : TCustomBufDataset;
   protected
     function GetBookmarkSize: integer; virtual; abstract;
     function GetCurrentBuffer: Pointer; virtual; abstract;
@@ -125,7 +125,7 @@ type
     DescFields      : String;
     Options         : TIndexOptions;
     IndNr           : integer;
-    constructor Create(const ADataset : TBufDataset); virtual;
+    constructor Create(const ADataset : TCustomBufDataset); virtual;
     function ScrollBackward : TGetResult; virtual; abstract;
     function ScrollForward : TGetResult;  virtual; abstract;
     function GetCurrent : TGetResult;  virtual; abstract;
@@ -249,7 +249,7 @@ type
     FRecordArray    : array of Pointer;
     FLastRecInd     : integer;
     FNeedScroll     : Boolean;
-    constructor Create(const ADataset: TBufDataset); override;
+    constructor Create(const ADataset: TCustomBufDataset); override;
     function ScrollBackward : TGetResult; override;
     function ScrollForward : TGetResult; override;
     function GetCurrent : TGetResult; override;
@@ -312,7 +312,7 @@ type
     // Returns if there is at least one more record available in the stream
     function GetCurrentRecord : boolean; virtual; abstract;
     // Store a record from stream in the current record-buffer
-    procedure RestoreRecord(ADataset : TBufDataset); virtual; abstract;
+    procedure RestoreRecord(ADataset : TCustomBufDataset); virtual; abstract;
     // Move the stream to the next record
     procedure GotoNextRecord; virtual; abstract;
 
@@ -320,7 +320,7 @@ type
     // Save the field-definitions to a stream.
     procedure StoreFieldDefs(AFieldDefs : TFieldDefs); virtual; abstract;
     // Save a record from the current record-buffer to the stream
-    procedure StoreRecord(ADataset : TBufDataset; ARowState : TRowState; AUpdOrder : integer = 0); virtual; abstract;
+    procedure StoreRecord(ADataset : TCustomBufDataset; ARowState : TRowState; AUpdOrder : integer = 0); virtual; abstract;
     // Is called after all records are stored
     procedure FinalizeStoreRecords; virtual; abstract;
     // Checks if the provided stream is of the right format for this class
@@ -339,12 +339,12 @@ type
     function GetCurrentRecord : boolean; override;
     procedure GotoNextRecord; override;
     procedure InitLoadRecords; override;
-    procedure RestoreRecord(ADataset : TBufDataset); override;
-    procedure StoreRecord(ADataset : TBufDataset; ARowState : TRowState; AUpdOrder : integer = 0); override;
+    procedure RestoreRecord(ADataset : TCustomBufDataset); override;
+    procedure StoreRecord(ADataset : TCustomBufDataset; ARowState : TRowState; AUpdOrder : integer = 0); override;
     class function RecognizeStream(AStream : TStream) : boolean; override;
   end;
 
-  TBufDataset = class(TDBDataSet)
+  TCustomBufDataset = class(TDBDataSet)
   private
     FFileName: string;
     FFileStream     : TFileStream;
@@ -485,6 +485,12 @@ type
     property IndexFieldNames : String read GetIndexFieldNames write SetIndexFieldNames;
   end;
 
+  TBufDataset = class(TCustomBufDataset)
+  published
+    property FieldDefs;
+  end;
+
+
 procedure RegisterDatapacketReader(ADatapacketReaderClass : TDatapacketReaderClass; AFormat : TDataPacketFormat);
 
 implementation
@@ -627,10 +633,10 @@ begin
 end;
 
 { ---------------------------------------------------------------------
-    TBufDataSet
+    TCustomBufDataset
   ---------------------------------------------------------------------}
 
-constructor TBufDataset.Create(AOwner : TComponent);
+constructor TCustomBufDataset.Create(AOwner : TComponent);
 begin
   Inherited Create(AOwner);
   FMaxIndexesCount:=2;
@@ -649,13 +655,13 @@ begin
   FPacketRecords := 10;
 end;
 
-procedure TBufDataset.SetPacketRecords(aValue : integer);
+procedure TCustomBufDataset.SetPacketRecords(aValue : integer);
 begin
   if (aValue = -1) or (aValue > 0) then FPacketRecords := aValue
     else DatabaseError(SInvPacketRecordsValue);
 end;
 
-destructor TBufDataset.Destroy;
+destructor TCustomBufDataset.Destroy;
 
 Var
   I : Integer;
@@ -671,13 +677,13 @@ begin
   inherited destroy;
 end;
 
-procedure TBufDataset.FetchAll;
+procedure TCustomBufDataset.FetchAll;
 begin
   repeat
   until (getnextpacket < FPacketRecords) or (FPacketRecords = -1);
 end;
 
-procedure TBufDataset.BuildIndex(var AIndex: TBufIndex);
+procedure TCustomBufDataset.BuildIndex(var AIndex: TBufIndex);
 
 var PCurRecLinkItem : PBufRecLinkItem;
     p,l,q           : PBufRecLinkItem;
@@ -861,13 +867,13 @@ begin
   (AIndex as TDoubleLinkedBufIndex).FLastRecBuf[(AIndex as TDoubleLinkedBufIndex).IndNr].prior:=l;
 end;
 
-function TBufDataset.GetIndexDefs : TIndexDefs;
+function TCustomBufDataset.GetIndexDefs : TIndexDefs;
 
 begin
   Result := FIndexDefs;
 end;
 
-procedure TBufDataset.UpdateIndexDefs;
+procedure TCustomBufDataset.UpdateIndexDefs;
 var i : integer;
 begin
   FIndexDefs.Clear;
@@ -881,18 +887,18 @@ begin
     end;
 end;
 
-Function TBufDataset.GetCanModify: Boolean;
+Function TCustomBufDataset.GetCanModify: Boolean;
 begin
   Result:= True;
 end;
 
-function TBufDataset.intAllocRecordBuffer: PChar;
+function TCustomBufDataset.intAllocRecordBuffer: PChar;
 begin
   // Note: Only the internal buffers of TDataset provide bookmark information
   result := AllocMem(FRecordsize+sizeof(TBufRecLinkItem)*FMaxIndexesCount);
 end;
 
-function TBufDataset.AllocRecordBuffer: PChar;
+function TCustomBufDataset.AllocRecordBuffer: PChar;
 begin
   result := AllocMem(FRecordsize + BookmarkSize + CalcfieldsSize);
 // The records are initialised, or else the fields of an empty, just-opened dataset
@@ -900,18 +906,18 @@ begin
   InitRecord(result);
 end;
 
-procedure TBufDataset.FreeRecordBuffer(var Buffer: PChar);
+procedure TCustomBufDataset.FreeRecordBuffer(var Buffer: PChar);
 begin
   ReAllocMem(Buffer,0);
 end;
 
-procedure TBufDataset.ClearCalcFields(Buffer: PChar);
+procedure TCustomBufDataset.ClearCalcFields(Buffer: PChar);
 begin
   if CalcFieldsSize > 0 then
     FillByte((Buffer+RecordSize)^,CalcFieldsSize,0);
 end;
 
-procedure TBufDataset.InternalOpen;
+procedure TCustomBufDataset.InternalOpen;
 
 var IndexNr : integer;
 
@@ -944,7 +950,7 @@ begin
   if assigned(FDatasetReader) then IntLoadRecordsFromFile;
 end;
 
-procedure TBufDataset.InternalClose;
+procedure TCustomBufDataset.InternalClose;
 
 var r  : integer;
     iGetResult : TGetResult;
@@ -993,7 +999,7 @@ begin
   if assigned(FParser) then FreeAndNil(FParser);
 end;
 
-procedure TBufDataset.InternalFirst;
+procedure TCustomBufDataset.InternalFirst;
 begin
   with FCurrentIndex do
     begin
@@ -1003,7 +1009,7 @@ begin
     end;
 end;
 
-procedure TBufDataset.InternalLast;
+procedure TCustomBufDataset.InternalLast;
 begin
   FetchAll;
   with FCurrentIndex do
@@ -1040,7 +1046,7 @@ begin
   Result := pchar(FLastRecBuf);
 end;
 
-constructor TBufIndex.Create(const ADataset: TBufDataset);
+constructor TBufIndex.Create(const ADataset: TCustomBufDataset);
 begin
   inherited create;
   FDataset := ADataset;
@@ -1243,7 +1249,7 @@ begin
   if FCursOnFirstRec then FCurrentRecBuf:=FLastRecBuf;
 end;
 
-procedure TBufDataset.CurrentRecordToBuffer(Buffer: PChar);
+procedure TCustomBufDataset.CurrentRecordToBuffer(Buffer: PChar);
 var ABookMark : PBufBookmark;
 begin
   with FCurrentIndex do
@@ -1257,7 +1263,7 @@ begin
   GetCalcFields(Buffer);
 end;
 
-function TBufDataset.GetRecord(Buffer: PChar; GetMode: TGetMode; DoCheck: Boolean): TGetResult;
+function TCustomBufDataset.GetRecord(Buffer: PChar; GetMode: TGetMode; DoCheck: Boolean): TGetResult;
 
 var Acceptable : Boolean;
     SaveState : TDataSetState;
@@ -1304,14 +1310,14 @@ begin
   end;
 end;
 
-procedure TBufDataset.DoBeforeClose;
+procedure TCustomBufDataset.DoBeforeClose;
 begin
   inherited DoBeforeClose;
   if FFileName<>'' then
     SaveToFile(FFileName);
 end;
 
-function TBufDataset.GetActiveRecordUpdateBuffer : boolean;
+function TCustomBufDataset.GetActiveRecordUpdateBuffer : boolean;
 
 var ABookmark : TBufBookmark;
 
@@ -1320,7 +1326,7 @@ begin
   result := GetRecordUpdateBufferCached(ABookmark);
 end;
 
-procedure TBufDataset.ProcessFieldCompareStruct(AField: TField; var ACompareRec : TDBCompareRec);
+procedure TCustomBufDataset.ProcessFieldCompareStruct(AField: TField; var ACompareRec : TDBCompareRec);
 begin
   case AField.DataType of
     ftString, ftFixedChar : ACompareRec.Comparefunc := @DBCompareText;
@@ -1342,7 +1348,7 @@ begin
   ACompareRec.Off2:=ACompareRec.Off1;
 end;
 
-procedure TBufDataset.SetIndexFieldNames(const AValue: String);
+procedure TCustomBufDataset.SetIndexFieldNames(const AValue: String);
 begin
   if AValue<>'' then
     begin
@@ -1359,7 +1365,7 @@ begin
     SetIndexName('');
 end;
 
-procedure TBufDataset.SetIndexName(AValue: String);
+procedure TCustomBufDataset.SetIndexName(AValue: String);
 var i : integer;
 begin
   if AValue='' then AValue := 'DEFAULT_ORDER';
@@ -1373,7 +1379,7 @@ begin
       end;
 end;
 
-procedure TBufDataset.SetMaxIndexesCount(const AValue: Integer);
+procedure TCustomBufDataset.SetMaxIndexesCount(const AValue: Integer);
 begin
   CheckInactive;
   if AValue > 1 then
@@ -1382,39 +1388,39 @@ begin
     DatabaseError(SMinIndexes);
 end;
 
-procedure TBufDataset.InternalSetToRecord(Buffer: PChar);
+procedure TCustomBufDataset.InternalSetToRecord(Buffer: PChar);
 begin
   FCurrentIndex.GotoBookmark(PBufBookmark(Buffer+FRecordSize));
 end;
 
-procedure TBufDataset.SetBookmarkData(Buffer: PChar; Data: Pointer);
+procedure TCustomBufDataset.SetBookmarkData(Buffer: PChar; Data: Pointer);
 begin
   PBufBookmark(Buffer + FRecordSize)^ := PBufBookmark(Data)^;
 end;
 
-procedure TBufDataset.SetBookmarkFlag(Buffer: PChar; Value: TBookmarkFlag);
+procedure TCustomBufDataset.SetBookmarkFlag(Buffer: PChar; Value: TBookmarkFlag);
 begin
   PBufBookmark(Buffer + FRecordSize)^.BookmarkFlag := Value;
 end;
 
-procedure TBufDataset.GetBookmarkData(Buffer: PChar; Data: Pointer);
+procedure TCustomBufDataset.GetBookmarkData(Buffer: PChar; Data: Pointer);
 begin
   PBufBookmark(Data)^ := PBufBookmark(Buffer + FRecordSize)^;
 end;
 
-function TBufDataset.GetBookmarkFlag(Buffer: PChar): TBookmarkFlag;
+function TCustomBufDataset.GetBookmarkFlag(Buffer: PChar): TBookmarkFlag;
 begin
   Result := PBufBookmark(Buffer + FRecordSize)^.BookmarkFlag;
 end;
 
-procedure TBufDataset.InternalGotoBookmark(ABookmark: Pointer);
+procedure TCustomBufDataset.InternalGotoBookmark(ABookmark: Pointer);
 begin
   // note that ABookMark should be a PBufBookmark. But this way it can also be
   // a pointer to a TBufRecLinkItem
   FCurrentIndex.GotoBookmark(ABookmark);
 end;
 
-function TBufDataset.getnextpacket : integer;
+function TCustomBufDataset.getnextpacket : integer;
 
 var i : integer;
     pb : pchar;
@@ -1445,7 +1451,7 @@ begin
   result := i;
 end;
 
-function TBufDataset.GetFieldSize(FieldDef : TFieldDef) : longint;
+function TCustomBufDataset.GetFieldSize(FieldDef : TFieldDef) : longint;
 
 begin
   case FieldDef.DataType of
@@ -1482,7 +1488,7 @@ begin
 {$ENDIF}
 end;
 
-function TBufDataset.GetRecordUpdateBuffer(const ABookmark : TBufBookmark; IncludePrior : boolean = false; AFindNext : boolean = false): boolean;
+function TCustomBufDataset.GetRecordUpdateBuffer(const ABookmark : TBufBookmark; IncludePrior : boolean = false; AFindNext : boolean = false): boolean;
 
 var x        : integer;
     StartBuf : integer;
@@ -1503,7 +1509,7 @@ begin
     end;
 end;
 
-function TBufDataset.GetRecordUpdateBufferCached(const ABookmark: TBufBookmark;
+function TCustomBufDataset.GetRecordUpdateBufferCached(const ABookmark: TBufBookmark;
   IncludePrior: boolean): boolean;
 begin
   // if the current update buffer complies, immediately return true
@@ -1515,7 +1521,7 @@ begin
     Result := GetRecordUpdateBuffer(ABookmark,IncludePrior);
 end;
 
-function TBufDataset.LoadBuffer(Buffer : PChar): TGetResult;
+function TCustomBufDataset.LoadBuffer(Buffer : PChar): TGetResult;
 
 var NullMask        : pbyte;
     x               : longint;
@@ -1559,7 +1565,7 @@ begin
   Result := grOK;
 end;
 
-function TBufDataset.GetCurrentBuffer: PChar;
+function TCustomBufDataset.GetCurrentBuffer: PChar;
 begin
   if State = dsFilter then Result := FFilterBuffer
   else if state = dsCalcFields then Result := CalcBuffer
@@ -1567,13 +1573,13 @@ begin
 end;
 
 
-function TBufDataset.GetFieldData(Field: TField; Buffer: Pointer;
+function TCustomBufDataset.GetFieldData(Field: TField; Buffer: Pointer;
   NativeFormat: Boolean): Boolean;
 begin
   Result := GetFieldData(Field, Buffer);
 end;
 
-function TBufDataset.GetFieldData(Field: TField; Buffer: Pointer): Boolean;
+function TCustomBufDataset.GetFieldData(Field: TField; Buffer: Pointer): Boolean;
 
 var CurrBuff : pchar;
 
@@ -1625,13 +1631,13 @@ begin
     end;
 end;
 
-procedure TBufDataset.SetFieldData(Field: TField; Buffer: Pointer;
+procedure TCustomBufDataset.SetFieldData(Field: TField; Buffer: Pointer;
   NativeFormat: Boolean);
 begin
   SetFieldData(Field,Buffer);
 end;
 
-procedure TBufDataset.SetFieldData(Field: TField; Buffer: Pointer);
+procedure TCustomBufDataset.SetFieldData(Field: TField; Buffer: Pointer);
 
 var CurrBuff : pointer;
     NullMask : pbyte;
@@ -1668,7 +1674,7 @@ begin
     DataEvent(deFieldChange, Ptrint(Field));
 end;
 
-procedure TBufDataset.InternalDelete;
+procedure TCustomBufDataset.InternalDelete;
 var i         : Integer;
     StartInd  : Integer;
     RemRec    : pointer;
@@ -1704,13 +1710,13 @@ begin
 end;
 
 
-procedure TBufDataset.ApplyRecUpdate(UpdateKind : TUpdateKind);
+procedure TCustomBufDataset.ApplyRecUpdate(UpdateKind : TUpdateKind);
 
 begin
   raise EDatabaseError.Create(SApplyRecNotSupported);
 end;
 
-procedure TBufDataset.CancelUpdates;
+procedure TCustomBufDataset.CancelUpdates;
 var StoreRecBM     : TBufBookmark;
   procedure CancelUpdBuffer(var AUpdBuffer : TRecUpdateBuffer);
   var
@@ -1797,19 +1803,19 @@ begin
     end;
 end;
 
-procedure TBufDataset.SetOnUpdateError(const AValue: TResolverErrorEvent);
+procedure TCustomBufDataset.SetOnUpdateError(const AValue: TResolverErrorEvent);
 
 begin
   FOnUpdateError := AValue;
 end;
 
-procedure TBufDataset.ApplyUpdates; // For backwards-compatibility
+procedure TCustomBufDataset.ApplyUpdates; // For backwards-compatibility
 
 begin
   ApplyUpdates(0);
 end;
 
-procedure TBufDataset.ApplyUpdates(MaxErrors: Integer);
+procedure TCustomBufDataset.ApplyUpdates(MaxErrors: Integer);
 
 var r            : Integer;
     FailedCount  : integer;
@@ -1900,7 +1906,7 @@ begin
 end;
 
 
-procedure TBufDataset.InternalCancel;
+procedure TCustomBufDataset.InternalCancel;
 
 Var i            : integer;
 
@@ -1914,7 +1920,7 @@ begin
     end;
 end;
 
-procedure TBufDataset.InternalPost;
+procedure TCustomBufDataset.InternalPost;
 
 Var CurrBuff     : PChar;
     i            : integer;
@@ -1999,7 +2005,7 @@ begin
   move(ActiveBuffer^,FCurrentIndex.CurrentBuffer^,FRecordSize);
 end;
 
-procedure TBufDataset.CalcRecordSize;
+procedure TCustomBufDataset.CalcRecordSize;
 
 var x : longint;
 
@@ -2017,7 +2023,7 @@ begin
     end;
 end;
 
-function TBufDataset.GetIndexFieldNames: String;
+function TCustomBufDataset.GetIndexFieldNames: String;
 begin
   if FCurrentIndex<>FIndexes[1] then
     result := ''
@@ -2025,25 +2031,25 @@ begin
     result := FCurrentIndex.FieldsName;
 end;
 
-function TBufDataset.GetIndexName: String;
+function TCustomBufDataset.GetIndexName: String;
 begin
   result := FCurrentIndex.Name;
 end;
 
-function TBufDataset.GetRecordSize : Word;
+function TCustomBufDataset.GetRecordSize : Word;
 
 begin
   result := FRecordSize + BookmarkSize;
 end;
 
-function TBufDataset.GetChangeCount: integer;
+function TCustomBufDataset.GetChangeCount: integer;
 
 begin
   result := length(FUpdateBuffer);
 end;
 
 
-procedure TBufDataset.InternalInitRecord(Buffer: PChar);
+procedure TCustomBufDataset.InternalInitRecord(Buffer: PChar);
 
 begin
   FillChar(Buffer^, FRecordSize, #0);
@@ -2051,7 +2057,7 @@ begin
   fillchar(Buffer^,FNullmaskSize,255);
 end;
 
-procedure TBufDataset.SetRecNo(Value: Longint);
+procedure TCustomBufDataset.SetRecNo(Value: Longint);
 
 var
     recnr        : integer;
@@ -2074,7 +2080,7 @@ begin
   GotoBookmark(@TmpRecBuffer);
 end;
 
-function TBufDataset.GetRecNo: Longint;
+function TCustomBufDataset.GetRecNo: Longint;
 
 Var abuf            : PChar;
 
@@ -2087,19 +2093,19 @@ begin
     result := 0;
 end;
 
-function TBufDataset.IsCursorOpen: Boolean;
+function TCustomBufDataset.IsCursorOpen: Boolean;
 
 begin
   Result := FOpen;
 end;
 
-Function TBufDataset.GetRecordCount: Longint;
+Function TCustomBufDataset.GetRecordCount: Longint;
 
 begin
   Result := FBRecordCount;
 end;
 
-Function TBufDataSet.UpdateStatus: TUpdateStatus;
+Function TCustomBufDataset.UpdateStatus: TUpdateStatus;
 
 begin
   Result:=usUnmodified;
@@ -2111,7 +2117,7 @@ begin
     end;
 end;
 
-function TbufDataset.GetNewBlobBuffer : PBlobBuffer;
+function TCustomBufDataset.GetNewBlobBuffer : PBlobBuffer;
 
 var ABlobBuffer : PBlobBuffer;
 
@@ -2124,7 +2130,7 @@ begin
   result := ABlobBuffer;
 end;
 
-function TbufDataset.GetNewWriteBlobBuffer : PBlobBuffer;
+function TCustomBufDataset.GetNewWriteBlobBuffer : PBlobBuffer;
 
 var ABlobBuffer : PBlobBuffer;
 
@@ -2136,7 +2142,7 @@ begin
   result := ABlobBuffer;
 end;
 
-procedure TBufDataset.FreeBlobBuffer(var ABlobBuffer: PBlobBuffer);
+procedure TCustomBufDataset.FreeBlobBuffer(var ABlobBuffer: PBlobBuffer);
 
 begin
   if not Assigned(ABlobBuffer) then Exit;
@@ -2188,7 +2194,7 @@ constructor TBufBlobStream.Create(Field: TBlobField; Mode: TBlobStreamMode);
 var bufblob : TBufBlobField;
 
 begin
-  FDataset := Field.DataSet as TBufDataset;
+  FDataset := Field.DataSet as TCustomBufDataset;
   if mode = bmread then
     begin
     if not field.getData(@bufblob) then
@@ -2202,7 +2208,7 @@ begin
     else
       FBlobBuffer := bufblob.BlobBuffer;
     end
-  else if mode=bmWrite then with FDataSet as TBufDataset do
+  else if mode=bmWrite then with FDataSet as TCustomBufDataset do
     begin
     FBlobBuffer := GetNewWriteBlobBuffer;
     FBlobBuffer^.FieldNo := Field.FieldNo;
@@ -2213,7 +2219,7 @@ begin
     end;
 end;
 
-function TBufDataset.CreateBlobStream(Field: TField; Mode: TBlobStreamMode): TStream;
+function TCustomBufDataset.CreateBlobStream(Field: TField; Mode: TBlobStreamMode): TStream;
 
 var bufblob : TBufBlobField;
 
@@ -2241,7 +2247,7 @@ begin
     end;
 end;
 
-procedure TBufDataset.AddIndex(const AName, AFields : string; AOptions : TIndexOptions; const ADescFields: string = '';
+procedure TCustomBufDataset.AddIndex(const AName, AFields : string; AOptions : TIndexOptions; const ADescFields: string = '';
                                const ACaseInsFields: string = '');
 begin
   if AFields='' then DatabaseError(SNoIndexFieldNameGiven);
@@ -2255,7 +2261,7 @@ begin
   InternalAddIndex(AName,AFields,AOptions,ADescFields,ACaseInsFields);
 end;
 
-procedure TBufDataset.SaveToFile(AFileName: string;
+procedure TCustomBufDataset.SaveToFile(AFileName: string;
   Format: TDataPacketFormat);
 var AFileStream : TFileStream;
 begin
@@ -2268,7 +2274,7 @@ begin
   end;
 end;
 
-procedure TBufDataset.SetDatasetPacket(AReader: TDataPacketReader);
+procedure TCustomBufDataset.SetDatasetPacket(AReader: TDataPacketReader);
 begin
   FDatasetReader := AReader;
   try
@@ -2278,7 +2284,7 @@ begin
   end;
 end;
 
-procedure TBufDataset.GetDatasetPacket(AWriter: TDataPacketReader);
+procedure TCustomBufDataset.GetDatasetPacket(AWriter: TDataPacketReader);
 
   procedure StoreUpdateBuffer(AUpdBuffer : TRecUpdateBuffer; var ARowState: TRowState);
   var AThisRowState : TRowState;
@@ -2380,7 +2386,7 @@ begin
   end;
 end;
 
-procedure TBufDataset.LoadFromStream(AStream: TStream; Format: TDataPacketFormat);
+procedure TCustomBufDataset.LoadFromStream(AStream: TStream; Format: TDataPacketFormat);
 var APacketReaderReg : TDatapacketReaderRegistration;
     APacketReader : TDataPacketReader;
 begin
@@ -2400,7 +2406,7 @@ begin
   end;
 end;
 
-procedure TBufDataset.SaveToStream(AStream: TStream; Format: TDataPacketFormat);
+procedure TCustomBufDataset.SaveToStream(AStream: TStream; Format: TDataPacketFormat);
 var APacketReaderReg : TDatapacketReaderRegistration;
     APacketWriter : TDataPacketReader;
 begin
@@ -2417,7 +2423,7 @@ begin
   end;
 end;
 
-procedure TBufDataset.LoadFromFile(AFileName: string; Format: TDataPacketFormat);
+procedure TCustomBufDataset.LoadFromFile(AFileName: string; Format: TDataPacketFormat);
 var AFileStream : TFileStream;
 begin
   if AFileName='' then AFileName := FFileName;
@@ -2429,18 +2435,18 @@ begin
   end;
 end;
 
-procedure TBufDataset.CreateDataset;
+procedure TCustomBufDataset.CreateDataset;
 begin
   CheckInactive;
   CreateFields;
 end;
 
-function TBufDataset.BookmarkValid(ABookmark: TBookmark): Boolean;
+function TCustomBufDataset.BookmarkValid(ABookmark: TBookmark): Boolean;
 begin
   Result:=FCurrentIndex.BookmarkValid(ABookmark);
 end;
 
-function TBufDataset.CompareBookmarks(Bookmark1, Bookmark2: TBookmark
+function TCustomBufDataset.CompareBookmarks(Bookmark1, Bookmark2: TBookmark
   ): Longint;
 begin
   if FCurrentIndex.CompareBookmarks(Bookmark1,Bookmark2) then
@@ -2449,14 +2455,14 @@ begin
     Result := -1;
 end;
 
-procedure TBufDataset.IntLoadFielddefsFromFile;
+procedure TCustomBufDataset.IntLoadFielddefsFromFile;
 
 begin
   FDatasetReader.LoadFielddefs(FieldDefs);
   if DefaultFields then CreateFields;
 end;
 
-procedure TBufDataset.IntLoadRecordsFromFile;
+procedure TCustomBufDataset.IntLoadRecordsFromFile;
 
 var StoreState      : TDataSetState;
     AddRecordBuffer : boolean;
@@ -2563,7 +2569,7 @@ begin
     end;
 end;
 
-procedure TBufDataset.InternalAddIndex(const AName, AFields : string; AOptions : TIndexOptions; const ADescFields: string;
+procedure TCustomBufDataset.InternalAddIndex(const AName, AFields : string; AOptions : TIndexOptions; const ADescFields: string;
                                        const ACaseInsFields: string);
 var StoreIndNr : Integer;
 begin
@@ -2599,7 +2605,7 @@ begin
     FMaxIndexesCount := FIndexesCount;
 end;
 
-procedure TBufDataset.DoFilterRecord(var Acceptable: Boolean);
+procedure TCustomBufDataset.DoFilterRecord(var Acceptable: Boolean);
 begin
   Acceptable := true;
   // check user filter
@@ -2612,7 +2618,7 @@ begin
 
 end;
 
-procedure TBufDataset.SetFilterText(const Value: String);
+procedure TCustomBufDataset.SetFilterText(const Value: String);
 begin
   if Value = Filter then
     exit;
@@ -2627,7 +2633,7 @@ begin
   if IsCursorOpen and Filtered then Resync([]);
 end;
 
-procedure TBufDataset.SetFiltered(Value: Boolean); {override;}
+procedure TCustomBufDataset.SetFiltered(Value: Boolean); {override;}
 begin
   if Value = Filtered then
     exit;
@@ -2640,7 +2646,7 @@ begin
     Resync([]);
 end;
 
-procedure TBufDataset.InternalRefresh;
+procedure TCustomBufDataset.InternalRefresh;
 var StoreDefaultFields: boolean;
 begin
   StoreDefaultFields:=DefaultFields;
@@ -2653,31 +2659,31 @@ begin
   SetDefaultFields(StoreDefaultFields);
 end;
 
-procedure TBufDataset.BeforeRefreshOpenCursor;
+procedure TCustomBufDataset.BeforeRefreshOpenCursor;
 begin
   // Do nothing
 end;
 
-function TBufDataset.Fetch: boolean;
+function TCustomBufDataset.Fetch: boolean;
 begin
-  // Empty procedure to make it possible to use TBufDataset as a memory dataset
+  // Empty procedure to make it possible to use TCustomBufDataset as a memory dataset
   Result := False;
 end;
 
-function TBufDataset.LoadField(FieldDef: TFieldDef; buffer: pointer; out
+function TCustomBufDataset.LoadField(FieldDef: TFieldDef; buffer: pointer; out
   CreateBlob: boolean): boolean;
 begin
-  // Empty procedure to make it possible to use TBufDataset as a memory dataset
+  // Empty procedure to make it possible to use TCustomBufDataset as a memory dataset
   CreateBlob := False;
   Result := False;
 end;
 
-function TBufDataset.IsReadFromPacket: Boolean;
+function TCustomBufDataset.IsReadFromPacket: Boolean;
 begin
   Result := (FDatasetReader<>nil) or (FFileName<>'');
 end;
 
-procedure TBufDataset.ParseFilter(const AFilter: string);
+procedure TCustomBufDataset.ParseFilter(const AFilter: string);
 begin
   // parser created?
   if Length(AFilter) > 0 then
@@ -2728,7 +2734,7 @@ begin
     Result := ABookmark.BookmarkInt;
 end;
 
-Function TBufDataset.Locate(const KeyFields: string; const KeyValues: Variant; options: TLocateOptions) : boolean;
+Function TCustomBufDataset.Locate(const KeyFields: string; const KeyValues: Variant; options: TLocateOptions) : boolean;
 
 var CurrLinkItem    : PBufRecLinkItem;
     bm              : TBufBookmark;
@@ -2827,7 +2833,7 @@ begin
   Result := GetSpareBuffer;
 end;
 
-constructor TArrayBufIndex.Create(const ADataset: TBufDataset);
+constructor TArrayBufIndex.Create(const ADataset: TCustomBufDataset);
 begin
   Inherited create(ADataset);
   FInitialBuffers:=10000;
@@ -3108,12 +3114,12 @@ begin
 //  SetLength(AChangeLog,0);
 end;
 
-procedure TFpcBinaryDatapacketReader.RestoreRecord(ADataset: TBufDataset);
+procedure TFpcBinaryDatapacketReader.RestoreRecord(ADataset: TCustomBufDataset);
 begin
   Stream.ReadBuffer(ADataset.GetCurrentBuffer^,ADataset.FRecordSize);
 end;
 
-procedure TFpcBinaryDatapacketReader.StoreRecord(ADataset: TBufDataset;
+procedure TFpcBinaryDatapacketReader.StoreRecord(ADataset: TCustomBufDataset;
   ARowState: TRowState; AUpdOrder : integer);
 begin
   // Ugly because private members of ADataset are used...

+ 4 - 4
packages/fcl-db/src/base/xmldatapacketreader.pp

@@ -49,13 +49,13 @@ type
   public
     destructor destroy; override;
     procedure StoreFieldDefs(AFieldDefs : TFieldDefs); override;
-    procedure StoreRecord(ADataset : TBufDataset; ARowState : TRowState; AUpdOrder : integer = 0); override;
+    procedure StoreRecord(ADataset : TCustomBufDataset; ARowState : TRowState; AUpdOrder : integer = 0); override;
     procedure FinalizeStoreRecords; override;
     procedure LoadFieldDefs(AFieldDefs : TFieldDefs); override;
     procedure InitLoadRecords; override;
     function GetCurrentRecord : boolean; override;
     function GetRecordRowState(out AUpdOrder : Integer) : TRowState; override;
-    procedure RestoreRecord(ADataset : TBufDataset); override;
+    procedure RestoreRecord(ADataset : TCustomBufDataset); override;
     procedure GotoNextRecord; override;
     class function RecognizeStream(AStream : TStream) : boolean; override;
   end;
@@ -328,7 +328,7 @@ begin
     end;
 end;
 
-procedure TXMLDatapacketReader.RestoreRecord(ADataset : TBufDataset);
+procedure TXMLDatapacketReader.RestoreRecord(ADataset : TCustomBufDataset);
 var FieldNr    : integer;
     AFieldNode : TDomNode;
 begin
@@ -342,7 +342,7 @@ begin
     end;
 end;
 
-procedure TXMLDatapacketReader.StoreRecord(ADataset : TBufDataset; ARowState : TRowState; AUpdOrder : integer = 0);
+procedure TXMLDatapacketReader.StoreRecord(ADataset : TCustomBufDataset; ARowState : TRowState; AUpdOrder : integer = 0);
 var FieldNr : Integer;
     ARecordNode : TDOMElement;
 begin

+ 1 - 1
packages/fcl-db/src/sqldb/sqldb.pp

@@ -186,7 +186,7 @@ type
 
 { TCustomSQLQuery }
 
-  TCustomSQLQuery = class (Tbufdataset)
+  TCustomSQLQuery = class (TCustomBufDataset)
   private
     FCursor              : TSQLCursor;
     FUpdateable          : boolean;

+ 32 - 32
packages/fcl-db/tests/testbufdatasetstreams.pas

@@ -14,7 +14,7 @@ type
 
   { TTestBufDatasetStreams }
 
-  TUpdDatasetProc = procedure(ADataset : TBufDataset) of object;
+  TUpdDatasetProc = procedure(ADataset : TCustomBufDataset) of object;
 
   TTestBufDatasetStreams = class(TTestCase)
   private
@@ -24,14 +24,14 @@ type
     procedure TestChangesCancelUpdates(AUpdDatasetProc : TUpdDatasetProc);
     procedure TestChangesXML(AUpdDatasetProc : TUpdDatasetProc);
 
-    procedure SimpleEditChange(ADataset: TBufDataset);
-    procedure SimpleDeleteChange(ADataset: TBufDataset);
-    procedure MoreDeletesChange(ADataset: TBufDataset);
-    procedure SimpleInsertChange(ADataset: TBufDataset);
-    procedure MoreInsertsChange(ADataset: TBufDataset);
-    procedure SeveralEditsChange(ADataset: TBufDataset);
-    procedure DeleteAllChange(ADataset: TBufDataset);
-    procedure DeleteAllInsertChange(ADataset: TBufDataset);
+    procedure SimpleEditChange(ADataset: TCustomBufDataset);
+    procedure SimpleDeleteChange(ADataset: TCustomBufDataset);
+    procedure MoreDeletesChange(ADataset: TCustomBufDataset);
+    procedure SimpleInsertChange(ADataset: TCustomBufDataset);
+    procedure MoreInsertsChange(ADataset: TCustomBufDataset);
+    procedure SeveralEditsChange(ADataset: TCustomBufDataset);
+    procedure DeleteAllChange(ADataset: TCustomBufDataset);
+    procedure DeleteAllInsertChange(ADataset: TCustomBufDataset);
   protected
     procedure SetUp; override;
     procedure TearDown; override;
@@ -96,9 +96,9 @@ end;
 procedure TTestBufDatasetStreams.TestChangesApplyUpdates(
   AUpdDatasetProc: TUpdDatasetProc; Inserts : Boolean);
 var OrgDs,
-    ChangedDs : TBufDataset;
+    ChangedDs : TCustomBufDataset;
 begin
-  OrgDs := DBConnector.GetNDataset(true,15) as TBufDataset;
+  OrgDs := DBConnector.GetNDataset(true,15) as TCustomBufDataset;
   OrgDs.Open;
   AUpdDatasetProc(OrgDs);
   OrgDs.ApplyUpdates;
@@ -112,7 +112,7 @@ begin
     OrgDs.First;
     end
   else
-    ChangedDs := DBConnector.GetNDataset(true,15) as TBufDataset;
+    ChangedDs := DBConnector.GetNDataset(true,15) as TCustomBufDataset;
   ChangedDs.Open;
   CompareDatasets(OrgDs,ChangedDs);
 end;
@@ -120,28 +120,28 @@ end;
 procedure TTestBufDatasetStreams.TestChangesCancelUpdates(
   AUpdDatasetProc: TUpdDatasetProc);
 var OrgDs,
-    ChangedDs : TBufDataset;
+    ChangedDs : TCustomBufDataset;
 begin
-  OrgDs := DBConnector.GetNDataset(true,15) as TBufDataset;
+  OrgDs := DBConnector.GetNDataset(true,15) as TCustomBufDataset;
   OrgDs.Open;
   AUpdDatasetProc(OrgDs);
   OrgDs.CancelUpdates;
 
-  ChangedDs := DBConnector.GetNDataset(true,15) as TBufDataset;
+  ChangedDs := DBConnector.GetNDataset(true,15) as TCustomBufDataset;
   ChangedDs.Open;
   CompareDatasets(OrgDs,ChangedDs);
 end;
 
 procedure TTestBufDatasetStreams.TestChangesXML(AUpdDatasetProc: TUpdDatasetProc);
 var SaveDs,
-    LoadDs : TBufDataset;
+    LoadDs : TCustomBufDataset;
 begin
-  SaveDs := DBConnector.GetNDataset(true,15) as TBufDataset;
+  SaveDs := DBConnector.GetNDataset(true,15) as TCustomBufDataset;
   SaveDs.Open;
   AUpdDatasetProc(SaveDs);
   SaveDs.SaveToFile('Basics.xml',dfXML);
 
-  LoadDs := TBufDataset.Create(nil);
+  LoadDs := TCustomBufDataset.Create(nil);
   LoadDs.LoadFromFile('Basics.xml');
 
   CompareDatasets(SaveDs,LoadDs);
@@ -153,7 +153,7 @@ begin
   LoadDs.Free;
 end;
 
-procedure TTestBufDatasetStreams.SimpleEditChange(ADataset: TBufDataset);
+procedure TTestBufDatasetStreams.SimpleEditChange(ADataset: TCustomBufDataset);
 begin
   ADataset.next;
   ADataset.edit;
@@ -161,13 +161,13 @@ begin
   ADataset.Post;
 end;
 
-procedure TTestBufDatasetStreams.SimpleDeleteChange(ADataset: TBufDataset);
+procedure TTestBufDatasetStreams.SimpleDeleteChange(ADataset: TCustomBufDataset);
 begin
   ADataset.Next;
   ADataset.Delete;
 end;
 
-procedure TTestBufDatasetStreams.MoreDeletesChange(ADataset: TBufDataset);
+procedure TTestBufDatasetStreams.MoreDeletesChange(ADataset: TCustomBufDataset);
 begin
   with ADataset do
     begin
@@ -190,7 +190,7 @@ begin
     end;
 end;
 
-procedure TTestBufDatasetStreams.SimpleInsertChange(ADataset: TBufDataset);
+procedure TTestBufDatasetStreams.SimpleInsertChange(ADataset: TCustomBufDataset);
 begin
   ADataset.next;
   ADataset.insert;
@@ -199,7 +199,7 @@ begin
   ADataset.Post;
 end;
 
-procedure TTestBufDatasetStreams.MoreInsertsChange(ADataset: TBufDataset);
+procedure TTestBufDatasetStreams.MoreInsertsChange(ADataset: TCustomBufDataset);
 begin
   with ADataset do
     begin
@@ -244,7 +244,7 @@ begin
     end;
 end;
 
-procedure TTestBufDatasetStreams.SeveralEditsChange(ADataset: TBufDataset);
+procedure TTestBufDatasetStreams.SeveralEditsChange(ADataset: TCustomBufDataset);
 begin
   with ADataset do
     begin
@@ -264,13 +264,13 @@ begin
     end;
 end;
 
-procedure TTestBufDatasetStreams.DeleteAllChange(ADataset: TBufDataset);
+procedure TTestBufDatasetStreams.DeleteAllChange(ADataset: TCustomBufDataset);
 begin
   with ADataset do
     while not eof do delete;
 end;
 
-procedure TTestBufDatasetStreams.DeleteAllInsertChange(ADataset: TBufDataset);
+procedure TTestBufDatasetStreams.DeleteAllInsertChange(ADataset: TCustomBufDataset);
 begin
   DeleteAllChange(ADataset);
   with ADataset do
@@ -332,14 +332,14 @@ begin
 end;
 
 procedure TTestBufDatasetStreams.TestBasicsXML;
-var SaveDs: TBufDataset;
-    LoadDs: TBufDataset;
+var SaveDs: TCustomBufDataset;
+    LoadDs: TCustomBufDataset;
 begin
-  SaveDs := DBConnector.GetNDataset(true,15) as TBufDataset;
+  SaveDs := DBConnector.GetNDataset(true,15) as TCustomBufDataset;
   SaveDs.Open;
   SaveDs.SaveToFile('Basics.xml',dfXML);
 
-  LoadDs := TBufDataset.Create(nil);
+  LoadDs := TCustomBufDataset.Create(nil);
   LoadDs.LoadFromFile('Basics.xml');
   CompareDatasets(SaveDs,LoadDs);
   LoadDs.Free;
@@ -392,11 +392,11 @@ begin
   ds := DBConnector.GetNDataset(true,5);
 
   ds.open;
-  TBufDataset(ds).FileName:='test.dat';
+  TCustomBufDataset(ds).FileName:='test.dat';
   ds.close;
 
   LoadDs := DBConnector.GetNDataset(True,2);
-  TBufDataset(LoadDs).FileName:='test.dat';
+  TCustomBufDataset(LoadDs).FileName:='test.dat';
   LoadDs.Open;
 
   ds := DBConnector.GetNDataset(true,4);

+ 57 - 57
packages/fcl-db/tests/testdbbasics.pas

@@ -133,9 +133,9 @@ type THackDataLink=class(TdataLink);
 
 procedure TTestDBBasics.TestIsEmpty;
 begin
-  if not (DBConnector.GetNDataset(5) is TBufDataset) then
-    Ignore('This test only applies to TBufDataset and descendents.');
-  with tbufdataset(DBConnector.GetNDataset(True,1)) do
+  if not (DBConnector.GetNDataset(5) is TCustomBufDataset) then
+    Ignore('This test only applies to TCustomBufDataset and descendents.');
+  with tCustombufdataset(DBConnector.GetNDataset(True,1)) do
     begin
     open;
     delete;
@@ -544,44 +544,44 @@ end;
 
 procedure TTestDBBasics.TestSafeAsXML;
 var ds    : TDataset;
-    LoadDs: TBufDataset;
+    LoadDs: TCustomBufDataset;
 begin
   ds := DBConnector.GetNDataset(true,5);
-  if not (ds is TBufDataset) then
-    Ignore('This test only applies to TBufDataset and descendents.');
+  if not (ds is TCustomBufDataset) then
+    Ignore('This test only applies to TCustomBufDataset and descendents.');
 
   ds.open;
-  TBufDataset(ds).SaveToFile('test.xml');
+  TCustomBufDataset(ds).SaveToFile('test.xml');
   ds.close;
 
-  LoadDs := TBufDataset.Create(nil);
+  LoadDs := TCustomBufDataset.Create(nil);
   LoadDs.LoadFromFile('test.xml');
   FTestXMLDatasetDefinition(LoadDS);
 end;
 
 procedure TTestDBBasics.TestFileNameProperty;
 var ds    : TDataset;
-    LoadDs: TBufDataset;
+    LoadDs: TCustomBufDataset;
 begin
   ds := DBConnector.GetNDataset(true,5);
-  if not (ds is TBufDataset) then
-    Ignore('This test only applies to TBufDataset and descendents.');
+  if not (ds is TCustomBufDataset) then
+    Ignore('This test only applies to TCustomBufDataset and descendents.');
 
   ds.open;
-  TBufDataset(ds).FileName:='test.xml';
+  TCustomBufDataset(ds).FileName:='test.xml';
   ds.close;
 
   ds := DBConnector.GetNDataset(True,7);
-  TBufDataset(ds).FileName:='test.xml';
+  TCustomBufDataset(ds).FileName:='test.xml';
   ds.Open;
   FTestXMLDatasetDefinition(Ds);
 end;
 
 procedure TTestDBBasics.TestClientDatasetAsMemDataset;
-var ds : TBufDataset;
+var ds : TCustomBufDataset;
     i  : integer;
 begin
-  ds := TBufDataset.Create(nil);
+  ds := TCustomBufDataset.Create(nil);
   DS.FieldDefs.Add('ID',ftInteger);
   DS.FieldDefs.Add('NAME',ftString,50);
   DS.CreateDataset;
@@ -894,9 +894,9 @@ begin
     
   if TestCancelUpdate then
     begin
-    if not (ds is TBufDataset) then
-      Ignore('This test only applies to TBufDataset and descendents.');
-    with TBufDataset(ds) do
+    if not (ds is TCustomBufDataset) then
+      Ignore('This test only applies to TCustomBufDataset and descendents.');
+    with TCustomBufDataset(ds) do
       begin
       CancelUpdates;
 
@@ -963,9 +963,9 @@ begin
 
   if TestCancelUpdate then
     begin
-    if not (ds is TBufDataset) then
-      Ignore('This test only applies to TBufDataset and descendents.');
-    with TBufDataset(ds) do
+    if not (ds is TCustomBufDataset) then
+      Ignore('This test only applies to TCustomBufDataset and descendents.');
+    with TCustomBufDataset(ds) do
       begin
       CancelUpdates;
 
@@ -1087,12 +1087,12 @@ begin
 end;
 
 procedure TTestDBBasics.TestAddIndexFieldType(AFieldType: TFieldType; ActiveDS : boolean);
-var ds : TBufDataset;
+var ds : TCustomBufDataset;
     FList : TStringList;
     LastValue : Variant;
     StrValue : String;
 begin
-  ds := DBConnector.GetFieldDataset as TBufDataset;
+  ds := DBConnector.GetFieldDataset as TCustomBufDataset;
   with ds do
     begin
     
@@ -1186,12 +1186,12 @@ begin
 end;
 
 procedure TTestDBBasics.TestAddIndex;
-var ds : TBufDataset;
+var ds : TCustomBufDataset;
     AFieldType : TFieldType;
     FList : TStringList;
     i : integer;
 begin
-  ds := DBConnector.GetFieldDataset as TBufDataset;
+  ds := DBConnector.GetFieldDataset as TCustomBufDataset;
   with ds do
     begin
 
@@ -1230,12 +1230,12 @@ begin
 end;
 
 procedure TTestDBBasics.TestAddDescIndex;
-var ds : TBufDataset;
+var ds : TCustomBufDataset;
     AFieldType : TFieldType;
     FList : TStringList;
     i : integer;
 begin
-  ds := DBConnector.GetFieldDataset as TBufDataset;
+  ds := DBConnector.GetFieldDataset as TCustomBufDataset;
   with ds do
     begin
 
@@ -1274,12 +1274,12 @@ begin
 end;
 
 procedure TTestDBBasics.TestAddCaseInsIndex;
-var ds : TBufDataset;
+var ds : TCustomBufDataset;
     AFieldType : TFieldType;
     FList : TStringList;
     i : integer;
 begin
-  ds := DBConnector.GetFieldDataset as TBufDataset;
+  ds := DBConnector.GetFieldDataset as TCustomBufDataset;
   with ds do
     begin
 
@@ -1319,11 +1319,11 @@ end;
 procedure TTestDBBasics.TestInactSwitchIndex;
 // Test if the default-index is properly build when the active index is not
 // the default-index while opening then dataset
-var ds : TBufDataset;
+var ds : TCustomBufDataset;
     AFieldType : TFieldType;
     i : integer;
 begin
-  ds := DBConnector.GetFieldDataset as TBufDataset;
+  ds := DBConnector.GetFieldDataset as TCustomBufDataset;
   with ds do
     begin
 
@@ -1346,18 +1346,18 @@ begin
 end;
 
 procedure TTestDBBasics.TestAddIndexActiveDS;
-var ds   : TBufDataset;
+var ds   : TCustomBufDataset;
     I    : integer;
 begin
   TestAddIndexFieldType(ftString,true);
 end;
 
 procedure TTestDBBasics.TestAddIndexEditDS;
-var ds        : TBufDataset;
+var ds        : TCustomBufDataset;
     I         : integer;
     LastValue : String;
 begin
-  ds := DBConnector.GetNDataset(True,5) as TBufDataset;
+  ds := DBConnector.GetNDataset(True,5) as TCustomBufDataset;
   with ds do
     begin
     MaxIndexesCount:=3;
@@ -1386,12 +1386,12 @@ begin
 end;
 
 procedure TTestDBBasics.TestIndexFieldNamesAct;
-var ds : TBufDataset;
+var ds : TCustomBufDataset;
     AFieldType : TFieldType;
     FList : TStringList;
     i : integer;
 begin
-  ds := DBConnector.GetFieldDataset as TBufDataset;
+  ds := DBConnector.GetFieldDataset as TCustomBufDataset;
   with ds do
     begin
     AFieldType:=ftString;
@@ -1458,13 +1458,13 @@ end;
 
 procedure TTestDBBasics.TestIndexCurRecord;
 // Test if the currentrecord stays the same after an index change
-var ds : TBufDataset;
+var ds : TCustomBufDataset;
     AFieldType : TFieldType;
     i : integer;
     OldID : Integer;
     OldStringValue : string;
 begin
-  ds := DBConnector.GetFieldDataset as TBufDataset;
+  ds := DBConnector.GetFieldDataset as TCustomBufDataset;
   with ds do
     begin
     AFieldType:=ftString;
@@ -1505,11 +1505,11 @@ begin
 end;
 
 procedure TTestDBBasics.TestAddDblIndex;
-var ds : TBufDataset;
+var ds : TCustomBufDataset;
     LastInteger : Integer;
     LastString : string;
 begin
-  ds := DBConnector.GetFieldDataset as TBufDataset;
+  ds := DBConnector.GetFieldDataset as TCustomBufDataset;
   with ds do
     begin
 
@@ -1550,13 +1550,13 @@ begin
 end;
 
 procedure TTestDBBasics.TestIndexEditRecord;
-var ds : TBufDataset;
+var ds : TCustomBufDataset;
     AFieldType : TFieldType;
     i : integer;
     OldID : Integer;
     OldStringValue : string;
 begin
-  ds := DBConnector.GetFieldDataset as TBufDataset;
+  ds := DBConnector.GetFieldDataset as TCustomBufDataset;
   with ds do
     begin
     AFieldType:=ftString;
@@ -1584,11 +1584,11 @@ begin
 end;
 
 procedure TTestDBBasics.TestIndexFieldNames;
-var ds : TBufDataset;
+var ds : TCustomBufDataset;
     AFieldType : TFieldType;
     PrevValue : String;
 begin
-  ds := DBConnector.GetFieldDataset as TBufDataset;
+  ds := DBConnector.GetFieldDataset as TCustomBufDataset;
   with ds do
     begin
     AFieldType:=ftString;
@@ -1917,9 +1917,9 @@ end;
 procedure TTestDBBasics.TestBufDatasetCancelUpd;
 var i : byte;
 begin
-  if not (DBConnector.GetNDataset(5) is TBufDataset) then
-    Ignore('This test only applies to TBufDataset and descendents.');
-  with DBConnector.GetNDataset(5) as TBufDataset do
+  if not (DBConnector.GetNDataset(5) is TCustomBufDataset) then
+    Ignore('This test only applies to TCustomBufDataset and descendents.');
+  with DBConnector.GetNDataset(5) as TCustomBufDataset do
     begin
     open;
     next;
@@ -2032,9 +2032,9 @@ end;
 procedure TTestDBBasics.TestBufDatasetCancelUpd1;
 var i : byte;
 begin
-  if not (DBConnector.GetNDataset(5) is TBufDataset) then
-    Ignore('This test only applies to TBufDataset and descendents.');
-  with DBConnector.GetNDataset(5) as TBufDataset do
+  if not (DBConnector.GetNDataset(5) is TCustomBufDataset) then
+    Ignore('This test only applies to TCustomBufDataset and descendents.');
+  with DBConnector.GetNDataset(5) as TCustomBufDataset do
     begin
     open;
     next;
@@ -2062,11 +2062,11 @@ procedure TTestDBBasics.TestMultipleDeleteUpdateBuffer;
 var ds    : TDataset;
 begin
   ds := DBConnector.GetNDataset(true,5);
-  if not (ds is TBufDataset) then
-    Ignore('This test only applies to TBufDataset and descendents.');
+  if not (ds is TCustomBufDataset) then
+    Ignore('This test only applies to TCustomBufDataset and descendents.');
 
   ds.open;
-  with TBufDataset(ds) do
+  with TCustomBufDataset(ds) do
     begin
     AssertEquals(0,ChangeCount);
     edit;
@@ -2085,11 +2085,11 @@ begin
 end;
 
 procedure TTestDBBasics.TestDoubleDelete;
-var ds    : TBufDataset;
+var ds    : TCustomBufDataset;
 begin
-  ds := TBufDataset(DBConnector.GetNDataset(true,5));
-  if not (ds is TBufDataset) then
-    Ignore('This test only applies to TBufDataset and descendents.');
+  ds := TCustomBufDataset(DBConnector.GetNDataset(true,5));
+  if not (ds is TCustomBufDataset) then
+    Ignore('This test only applies to TCustomBufDataset and descendents.');
 
   with ds do
     begin

+ 2 - 2
packages/fcl-db/tests/testfieldtypes.pas

@@ -133,10 +133,10 @@ const
 
 
 procedure TTestFieldTypes.TestpfInUpdateFlag;
-var ds   : TBufDataset;
+var ds   : TCustomBufDataset;
     AFld1, AFld2, AFld3 : Tfield;
 begin
-  ds := (DBConnector.GetNDataset(True,5) as TBufDataset);
+  ds := (DBConnector.GetNDataset(True,5) as TCustomBufDataset);
   with ds do
     begin
     AFld1 := TIntegerField.Create(ds);