fcl-db: bufdataset: formatting (cosmetic, char-case, ordering of methods)

git-svn-id: trunk@26816 -
This commit is contained in:
lacak 2014-02-19 11:43:52 +00:00
parent c83f4c5ddc
commit 58687847db

View File

@ -74,7 +74,7 @@ type
PBufBookmark = ^TBufBookmark; PBufBookmark = ^TBufBookmark;
TBufBookmark = record TBufBookmark = record
BookmarkData : PBufRecLinkItem; BookmarkData : PBufRecLinkItem;
BookmarkInt : integer; BookmarkInt : integer; // was used by TArrayBufIndex
BookmarkFlag : TBookmarkFlag; BookmarkFlag : TBookmarkFlag;
end; end;
@ -473,31 +473,32 @@ type
FBlobBuffers : array of PBlobBuffer; FBlobBuffers : array of PBlobBuffer;
FUpdateBlobBuffers: array of PBlobBuffer; FUpdateBlobBuffers: array of PBlobBuffer;
procedure FetchAll;
procedure ProcessFieldsToCompareStruct(const AFields, ADescFields, ACInsFields: TList; procedure ProcessFieldsToCompareStruct(const AFields, ADescFields, ACInsFields: TList;
const AIndexOptions: TIndexOptions; const ALocateOptions: TLocateOptions; out ACompareStruct: TDBCompareStruct); const AIndexOptions: TIndexOptions; const ALocateOptions: TLocateOptions; out ACompareStruct: TDBCompareStruct);
function BufferOffset: integer; function BufferOffset: integer;
function GetIndexDefs : TIndexDefs;
function GetCurrentBuffer: TRecordBuffer;
procedure CalcRecordSize;
function GetIndexFieldNames: String;
function GetIndexName: String;
function GetBufUniDirectional: boolean;
function GetPacketReader(const Format: TDataPacketFormat; const AStream: TStream): TDataPacketReader;
function LoadBuffer(Buffer : TRecordBuffer): TGetResult;
function GetFieldSize(FieldDef : TFieldDef) : longint; function GetFieldSize(FieldDef : TFieldDef) : longint;
procedure CalcRecordSize;
function IntAllocRecordBuffer: TRecordBuffer;
procedure IntLoadFieldDefsFromFile;
procedure IntLoadRecordsFromFile;
function GetCurrentBuffer: TRecordBuffer;
procedure CurrentRecordToBuffer(Buffer: TRecordBuffer);
function LoadBuffer(Buffer : TRecordBuffer): TGetResult;
procedure FetchAll;
function GetRecordUpdateBuffer(const ABookmark : TBufBookmark; IncludePrior : boolean = false; AFindNext : boolean = false) : boolean; function GetRecordUpdateBuffer(const ABookmark : TBufBookmark; IncludePrior : boolean = false; AFindNext : boolean = false) : boolean;
function GetRecordUpdateBufferCached(const ABookmark : TBufBookmark; IncludePrior : boolean = false) : boolean; function GetRecordUpdateBufferCached(const ABookmark : TBufBookmark; IncludePrior : boolean = false) : boolean;
function GetActiveRecordUpdateBuffer : boolean; function GetActiveRecordUpdateBuffer : boolean;
procedure ParseFilter(const AFilter: string);
function GetPacketReader(const Format: TDataPacketFormat; const AStream: TStream): TDataPacketReader;
function GetIndexDefs : TIndexDefs;
function GetIndexFieldNames: String;
function GetIndexName: String;
function GetBufUniDirectional: boolean;
procedure SetIndexFieldNames(const AValue: String); procedure SetIndexFieldNames(const AValue: String);
procedure SetIndexName(AValue: String); procedure SetIndexName(AValue: String);
procedure SetMaxIndexesCount(const AValue: Integer); procedure SetMaxIndexesCount(const AValue: Integer);
procedure SetPacketRecords(aValue : integer); procedure SetPacketRecords(aValue : integer);
function IntAllocRecordBuffer: TRecordBuffer;
procedure ParseFilter(const AFilter: string);
procedure IntLoadFielddefsFromFile;
procedure IntLoadRecordsFromFile;
procedure CurrentRecordToBuffer(Buffer: TRecordBuffer);
procedure SetBufUniDirectional(const AValue: boolean); procedure SetBufUniDirectional(const AValue: boolean);
// indexes handling // indexes handling
procedure InitDefaultIndexes; procedure InitDefaultIndexes;
@ -505,9 +506,7 @@ type
procedure BuildIndexes; procedure BuildIndexes;
procedure RemoveRecordFromIndexes(const ABookmark : TBufBookmark); procedure RemoveRecordFromIndexes(const ABookmark : TBufBookmark);
protected protected
function GetNewBlobBuffer : PBlobBuffer; // abstract & virtual methods of TDataset
function GetNewWriteBlobBuffer : PBlobBuffer;
procedure FreeBlobBuffer(var ABlobBuffer: PBlobBuffer);
procedure UpdateIndexDefs; override; procedure UpdateIndexDefs; override;
procedure SetRecNo(Value: Longint); override; procedure SetRecNo(Value: Longint); override;
function GetRecNo: Longint; override; function GetRecNo: Longint; override;
@ -521,10 +520,7 @@ type
procedure DoBeforeClose; override; procedure DoBeforeClose; override;
procedure InternalOpen; override; procedure InternalOpen; override;
procedure InternalClose; override; procedure InternalClose; override;
function getnextpacket : integer;
function GetRecordSize: Word; override; function GetRecordSize: Word; override;
procedure InternalAddIndex(const AName, AFields : string; AOptions : TIndexOptions; const ADescFields: string;
const ACaseInsFields: string); virtual;
procedure InternalPost; override; procedure InternalPost; override;
procedure InternalCancel; Override; procedure InternalCancel; Override;
procedure InternalDelete; override; procedure InternalDelete; override;
@ -544,14 +540,21 @@ type
procedure SetFiltered(Value: Boolean); override; {virtual;} procedure SetFiltered(Value: Boolean); override; {virtual;}
procedure InternalRefresh; override; procedure InternalRefresh; override;
procedure DataEvent(Event: TDataEvent; Info: Ptrint); override; procedure DataEvent(Event: TDataEvent; Info: Ptrint); override;
// virtual or methods, which can be used by descendants
function GetNewBlobBuffer : PBlobBuffer;
function GetNewWriteBlobBuffer : PBlobBuffer;
procedure FreeBlobBuffer(var ABlobBuffer: PBlobBuffer);
procedure InternalAddIndex(const AName, AFields : string; AOptions : TIndexOptions; const ADescFields: string;
const ACaseInsFields: string); virtual;
procedure BeforeRefreshOpenCursor; virtual; procedure BeforeRefreshOpenCursor; virtual;
procedure DoFilterRecord(out Acceptable: Boolean); virtual; procedure DoFilterRecord(out Acceptable: Boolean); virtual;
procedure SetReadOnly(AValue: Boolean); virtual; procedure SetReadOnly(AValue: Boolean); virtual;
{abstracts, must be overidden by descendents} function IsReadFromPacket : Boolean;
function getnextpacket : integer;
// abstracts, must be overidden by descendents
function Fetch : boolean; virtual; function Fetch : boolean; virtual;
function LoadField(FieldDef : TFieldDef;buffer : pointer; out CreateBlob : boolean) : boolean; virtual; function LoadField(FieldDef : TFieldDef;buffer : pointer; out CreateBlob : boolean) : boolean; virtual;
procedure LoadBlobIntoBuffer(FieldDef: TFieldDef;ABlobBuf: PBufBlobField); virtual; abstract; procedure LoadBlobIntoBuffer(FieldDef: TFieldDef;ABlobBuf: PBufBlobField); virtual; abstract;
function IsReadFromPacket : Boolean;
public public
constructor Create(AOwner: TComponent); override; constructor Create(AOwner: TComponent); override;
function GetFieldData(Field: TField; Buffer: Pointer; function GetFieldData(Field: TField; Buffer: Pointer;
@ -1605,7 +1608,7 @@ end;
function TCustomBufDataset.GetRecord(Buffer: TRecordBuffer; GetMode: TGetMode; DoCheck: Boolean): TGetResult; function TCustomBufDataset.GetRecord(Buffer: TRecordBuffer; GetMode: TGetMode; DoCheck: Boolean): TGetResult;
var Acceptable : Boolean; var Acceptable : Boolean;
SaveState : TDataSetState; SavedState : TDataSetState;
begin begin
Result := grOK; Result := grOK;
@ -1633,17 +1636,17 @@ begin
if Filtered then if Filtered then
begin begin
FFilterBuffer := Buffer; FFilterBuffer := Buffer;
SaveState := SetTempState(dsFilter); SavedState := SetTempState(dsFilter);
DoFilterRecord(Acceptable); DoFilterRecord(Acceptable);
if (GetMode = gmCurrent) and not Acceptable then if (GetMode = gmCurrent) and not Acceptable then
begin begin
Acceptable := True; Acceptable := True;
Result := grError; Result := grError;
end; end;
RestoreState(SaveState); RestoreState(SavedState);
end; end;
end end
else if (Result = grError) and doCheck then else if (Result = grError) and DoCheck then
DatabaseError('No record'); DatabaseError('No record');
until Acceptable; until Acceptable;
end; end;
@ -2550,9 +2553,9 @@ var
begin begin
CheckBrowseMode; CheckBrowseMode;
if value > RecordCount then if Value > RecordCount then
begin begin
repeat until (getnextpacket < FPacketRecords) or (value <= RecordCount) or (FPacketRecords = -1); repeat until (getnextpacket < FPacketRecords) or (Value <= RecordCount) or (FPacketRecords = -1);
if value > RecordCount then if value > RecordCount then
begin begin
DatabaseError(SNoSuchRecord,self); DatabaseError(SNoSuchRecord,self);
@ -2560,22 +2563,22 @@ begin
end; end;
end; end;
TmpRecBuffer := (FCurrentIndex as TDoubleLinkedBufIndex).FFirstRecBuf; TmpRecBuffer := (FCurrentIndex as TDoubleLinkedBufIndex).FFirstRecBuf;
for recnr := 1 to value-1 do for recnr := 1 to Value-1 do
TmpRecBuffer := TmpRecBuffer[FCurrentIndex.IndNr].next; TmpRecBuffer := TmpRecBuffer[FCurrentIndex.IndNr].next;
GotoBookmark(@TmpRecBuffer); GotoBookmark(@TmpRecBuffer);
end; end;
function TCustomBufDataset.GetRecNo: Longint; function TCustomBufDataset.GetRecNo: Longint;
Var abuf : TRecordBuffer; Var CurrBuff : TRecordBuffer;
begin begin
abuf := GetCurrentBuffer; CurrBuff := GetCurrentBuffer;
// If abuf isn't assigned, the recordset probably isn't opened. // If CurrBuff isn't assigned, the recordset probably isn't opened.
if assigned(abuf) and (FBRecordCount>0) and (State <> dsInsert) then if assigned(CurrBuff) and (FBRecordCount>0) and (State <> dsInsert) then
Result:=FCurrentIndex.GetRecNo(PBufBookmark(abuf+FRecordSize)) Result:=FCurrentIndex.GetRecNo(PBufBookmark(CurrBuff+FRecordSize))
else else
result := 0; Result := 0;
end; end;
function TCustomBufDataset.IsCursorOpen: Boolean; function TCustomBufDataset.IsCursorOpen: Boolean;
@ -2819,7 +2822,7 @@ procedure TCustomBufDataset.GetDatasetPacket(AWriter: TDataPacketReader);
end; end;
var ScrollResult : TGetResult; var ScrollResult : TGetResult;
StoreDSState : TDataSetState; SavedState : TDataSetState;
ABookMark : PBufBookmark; ABookMark : PBufBookmark;
ATBookmark : TBufBookmark; ATBookmark : TBufBookmark;
RowState : TRowState; RowState : TRowState;
@ -2831,7 +2834,7 @@ begin
ABookMark:=@ATBookmark; ABookMark:=@ATBookmark;
FDatasetReader.StoreFieldDefs(FAutoIncValue); FDatasetReader.StoreFieldDefs(FAutoIncValue);
StoreDSState:=SetTempState(dsFilter); SavedState:=SetTempState(dsFilter);
ScrollResult:=FCurrentIndex.ScrollFirst; ScrollResult:=FCurrentIndex.ScrollFirst;
while ScrollResult=grOK do while ScrollResult=grOK do
begin begin
@ -2855,7 +2858,7 @@ begin
FCurrentIndex.StoreSpareRecIntoBookmark(ABookmark); FCurrentIndex.StoreSpareRecIntoBookmark(ABookmark);
HandleUpdateBuffersFromRecord(True,ABookmark^,RowState); HandleUpdateBuffersFromRecord(True,ABookmark^,RowState);
RestoreState(StoreDSState); RestoreState(SavedState);
FDatasetReader.FinalizeStoreRecords; FDatasetReader.FinalizeStoreRecords;
finally finally
@ -2972,7 +2975,7 @@ end;
procedure TCustomBufDataset.IntLoadRecordsFromFile; procedure TCustomBufDataset.IntLoadRecordsFromFile;
var StoreState : TDataSetState; var SavedState : TDataSetState;
AddRecordBuffer : boolean; AddRecordBuffer : boolean;
ARowState : TRowState; ARowState : TRowState;
AUpdOrder : integer; AUpdOrder : integer;
@ -2981,7 +2984,7 @@ var StoreState : TDataSetState;
begin begin
CheckBiDirectional; CheckBiDirectional;
FDatasetReader.InitLoadRecords; FDatasetReader.InitLoadRecords;
StoreState:=SetTempState(dsFilter); SavedState:=SetTempState(dsFilter);
while FDatasetReader.GetCurrentRecord do while FDatasetReader.GetCurrentRecord do
begin begin
@ -3069,7 +3072,7 @@ begin
FDatasetReader.GotoNextRecord; FDatasetReader.GotoNextRecord;
end; end;
RestoreState(StoreState); RestoreState(SavedState);
FIndexes[0].SetToFirstRecord; FIndexes[0].SetToFirstRecord;
FAllPacketsFetched:=True; FAllPacketsFetched:=True;
if assigned(FFileStream) then if assigned(FFileStream) then
@ -3197,7 +3200,7 @@ var CurrLinkItem : PBufRecLinkItem;
bm : TBufBookmark; bm : TBufBookmark;
SearchFields : TList; SearchFields : TList;
DBCompareStruct : TDBCompareStruct; DBCompareStruct : TDBCompareStruct;
StoreDSState : TDataSetState; SavedState : TDataSetState;
FilterRecord : TRecordBuffer; FilterRecord : TRecordBuffer;
FiltAcceptable : boolean; FiltAcceptable : boolean;
@ -3218,7 +3221,7 @@ begin
end; end;
// Set the filter buffer // Set the filter buffer
StoreDSState:=SetTempState(dsFilter); SavedState:=SetTempState(dsFilter);
FFilterBuffer:=FCurrentIndex.SpareBuffer; FFilterBuffer:=FCurrentIndex.SpareBuffer;
SetFieldValues(KeyFields,KeyValues); SetFieldValues(KeyFields,KeyValues);
FilterRecord:=IntAllocRecordBuffer; FilterRecord:=IntAllocRecordBuffer;
@ -3252,7 +3255,7 @@ begin
getnextpacket; getnextpacket;
end; end;
RestoreState(StoreDSState); RestoreState(SavedState);
FreeRecordBuffer(FilterRecord); FreeRecordBuffer(FilterRecord);
// If a match is found, jump to the found record // If a match is found, jump to the found record