浏览代码

+ removed obsolete deleted-flag

git-svn-id: trunk@3126 -
joost 19 年之前
父节点
当前提交
9d984de6b4
共有 1 个文件被更改,包括 2 次插入23 次删除
  1. 2 23
      fcl/db/bufdataset.inc

+ 2 - 23
fcl/db/bufdataset.inc

@@ -50,7 +50,6 @@ end;
 function TBufDataset.AllocRecordBuffer: PChar;
 begin
   result := AllocMem(FRecordsize + sizeof(TBufBookmark));
-  result^ := #1; // this 'deletes' the record
 end;
 
 procedure TBufDataset.FreeRecordBuffer(var Buffer: PChar);
@@ -102,36 +101,18 @@ begin
     FCurrentRecBuf := FLastRecBuf;
 end;
 
-procedure unSetDeleted(NullMask : pbyte); //inline;
-begin
-  NullMask[0] := NullMask[0] and not 1;
-end;
-
-procedure SetDeleted(NullMask : pbyte); //inline;
-begin
-  NullMask[0] := NullMask[0] or 1;
-end;
-
-function GetDeleted(NullMask : pbyte) : boolean; //inline;
-begin
-  result := (NullMask[0] and 1) = 1;
-end;
-
 procedure unSetFieldIsNull(NullMask : pbyte;x : longint); //inline;
 begin
-  inc(x);
   NullMask[x div 8] := (NullMask[x div 8]) and not (1 shl (x mod 8));
 end;
 
 procedure SetFieldIsNull(NullMask : pbyte;x : longint); //inline;
 begin
-  inc(x);
   NullMask[x div 8] := (NullMask[x div 8]) or (1 shl (x mod 8));
 end;
 
 function GetFieldIsNull(NullMask : pbyte;x : longint) : boolean; //inline;
 begin
-  inc(x);
   result := ord(NullMask[x div 8]) and (1 shl (x mod 8)) > 0
 end;
 
@@ -327,7 +308,7 @@ begin
     else
       begin
       CurrBuff := ActiveBuffer;
-      if not assigned(CurrBuff) or GetDeleted(pbyte(CurrBuff)) then
+      if not assigned(CurrBuff) then
         begin
         result := false;
         exit;
@@ -388,7 +369,6 @@ var RecToDelete : PBufRecLinkItem;
 
 begin
   GetBookmarkData(ActiveBuffer,@RecToDelete);
-  SetDeleted(pbyte(ActiveBuffer));
 
   if RecToDelete <> FFirstRecBuf then RecToDelete^.prior^.next := RecToDelete^.next
   else FFirstRecBuf := RecToDelete^.next;
@@ -561,7 +541,7 @@ procedure TBufDataset.CalcRecordSize;
 var x : longint;
 
 begin
-  FNullmaskSize := 1+((FieldDefs.count) div 8);
+  FNullmaskSize := 1+((FieldDefs.count-1) div 8);
   FRecordSize := FNullmaskSize;
   SetLength(FFieldBufPositions,FieldDefs.count);
   for x := 0 to FieldDefs.count-1 do
@@ -583,7 +563,6 @@ begin
   FillChar(Buffer^, FRecordSize, #0);
 
   fillchar(Buffer^,FNullmaskSize,255);
-  unSetDeleted(pbyte(Buffer));
 end;
 
 procedure TBufDataset.SetRecNo(Value: Longint);