From 3dba0fe5b2d57938dd9d4af1b093774619ca11ef Mon Sep 17 00:00:00 2001 From: michael Date: Thu, 19 Sep 2019 08:39:35 +0000 Subject: [PATCH] Call CurrentIndexBuf only once git-svn-id: trunk@43038 - --- packages/fcl-db/src/base/bufdataset.pas | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/packages/fcl-db/src/base/bufdataset.pas b/packages/fcl-db/src/base/bufdataset.pas index 73f5d43ec1..9e58565caf 100644 --- a/packages/fcl-db/src/base/bufdataset.pas +++ b/packages/fcl-db/src/base/bufdataset.pas @@ -2168,7 +2168,12 @@ begin FD:=InternalAddIndex(SDefaultIndex,'',[],'',''); FD.IndexType:=itDefault; FD.FDiscardOnClose:=True; - end; + end +// Not sure about this. For the moment we leave it in comment +{ else if FD.BufferIndex=Nil then + InternalCreateIndex(FD)} + ; + FCurrentIndexDef:=FD; // Custom index if not IsUniDirectional then @@ -2179,7 +2184,11 @@ begin FC:=InternalAddIndex(SCustomIndex,'',[],'',''); FC.IndexType:=itCustom; FC.FDiscardOnClose:=True; - end; + end + // Not sure about this. For the moment we leave it in comment +{ else if FD.BufferIndex=Nil then + InternalCreateIndex(FD)} + ; end; BookmarkSize:=CurrentIndexBuf.BookmarkSize; end; @@ -2379,6 +2388,7 @@ function TCustomBufDataset.getnextpacket : integer; var i : integer; pb : TRecordBuffer; + T : TBufIndex; begin if FAllPacketsFetched then @@ -2386,8 +2396,8 @@ begin result := 0; exit; end; - - CurrentIndexBuf.BeginUpdate; + T:=CurrentIndexBuf; + T.BeginUpdate; i := 0; pb := DefaultBufferIndex.SpareBuffer; @@ -2401,7 +2411,7 @@ begin inc(i); end; - CurrentIndexBuf.EndUpdate; + T.EndUpdate; FBRecordCount := FBRecordCount + i; result := i; end;