mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-24 05:19:37 +02:00
fcl-db/dbase:
* fixed tests TTestSpecificTDBF.TestCodePage and TestTableLevel * fixed division by zero for null length record size memos (e.g. if no memo file present) git-svn-id: trunk@24338 -
This commit is contained in:
parent
dcac328e0e
commit
12fd50c890
packages/fcl-db
@ -66,7 +66,7 @@ type
|
||||
procedure SetBlockLen(BlockLen: Integer); override;
|
||||
end;
|
||||
|
||||
{ TNullMemoFile, a kind /dev/null memofile ;-) }
|
||||
{ TNullMemoFile, a kind of /dev/null memofile ;-) }
|
||||
{ - inv: FHeaderModified == false!! (otherwise will try to write FStream) }
|
||||
{ - inv: FHeaderSize == 0 }
|
||||
{ - inv: FNeedLocks == false }
|
||||
@ -387,8 +387,9 @@ begin
|
||||
end;
|
||||
// if ((bytesBefore + Src.Size + bytesAfter + PDbtHdr(Header).BlockLen-1) div PDbtHdr(Header).BlockLen)
|
||||
// <= ((ReadSize + PDbtHdr(Header).BlockLen-1) div PDbtHdr(Header).BlockLen) then
|
||||
if ((bytesBefore + Src.Size + bytesAfter + RecordSize-1) div RecordSize)
|
||||
<= ((ReadSize + RecordSize-1) div RecordSize) then
|
||||
// If null memo is used, recordsize may be 0. Test for that.
|
||||
if (RecordSize=0) or (((bytesBefore + Src.Size + bytesAfter + RecordSize-1) div RecordSize)
|
||||
<= ((ReadSize + RecordSize-1) div RecordSize)) then
|
||||
begin
|
||||
append := false;
|
||||
end else begin
|
||||
|
@ -108,9 +108,9 @@ procedure TTestSpecificTDBF.TestTableLevel;
|
||||
var
|
||||
ds : TDBF;
|
||||
begin
|
||||
ds := TDBFAutoClean.Create(nil);
|
||||
if ((DS as TDBFAutoClean).UserRequestedTableLevel=25) then
|
||||
ignore('Foxpro (tablelevel 25) may write data out in dBase IV (tablelevel 4) format.');
|
||||
ds := TDBFAutoClean.Create(nil);
|
||||
DS.FieldDefs.Add('ID',ftInteger);
|
||||
DS.CreateTable;
|
||||
DS.Open;
|
||||
@ -422,9 +422,9 @@ var
|
||||
CorrespondingCodePage: integer;
|
||||
ds : TDBF;
|
||||
begin
|
||||
ds := TDBFAutoClean.Create(nil);
|
||||
if ((DS as TDBFAutoClean).UserRequestedTableLevel=25) then
|
||||
ignore('Foxpro (tablelevel 25) may write data out in dBase IV (tablelevel 4) format.');
|
||||
ds := TDBFAutoClean.Create(nil);
|
||||
DS.FieldDefs.Add('ID',ftInteger);
|
||||
if ((DS as TDBFAutoClean).UserRequestedTableLevel in [7,30]) then
|
||||
begin
|
||||
|
Loading…
Reference in New Issue
Block a user