* Splitted TBufDataset in TCustomBufDataset and TBufDataset

git-svn-id: trunk@14855 -
This commit is contained in:
joost 2010-02-03 19:51:34 +00:00
parent 706f0b7975
commit 39224aad96
6 changed files with 209 additions and 203 deletions

View File

@ -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...

View File

@ -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

View File

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

View File

@ -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);

View File

@ -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

View File

@ -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);