|
@@ -36,6 +36,9 @@ type
|
|
procedure NullInsertChange(ADataset: TCustomBufDataset);
|
|
procedure NullInsertChange(ADataset: TCustomBufDataset);
|
|
procedure NullEditChange(ADataset: TCustomBufDataset);
|
|
procedure NullEditChange(ADataset: TCustomBufDataset);
|
|
procedure AppendDeleteChange(ADataset: TCustomBufDataset);
|
|
procedure AppendDeleteChange(ADataset: TCustomBufDataset);
|
|
|
|
+
|
|
|
|
+ procedure TestStreamingBlobFields(AFormat: TDataPacketFormat);
|
|
|
|
+ procedure TestStreamingNullFields(AFormat: TDataPacketFormat);
|
|
protected
|
|
protected
|
|
procedure SetUp; override;
|
|
procedure SetUp; override;
|
|
procedure TearDown; override;
|
|
procedure TearDown; override;
|
|
@@ -69,8 +72,10 @@ type
|
|
procedure TestSeveralEditsXML;
|
|
procedure TestSeveralEditsXML;
|
|
procedure TestDeleteAllXML;
|
|
procedure TestDeleteAllXML;
|
|
procedure TestDeleteAllInsertXML;
|
|
procedure TestDeleteAllInsertXML;
|
|
|
|
+ procedure TestStreamingBlobFieldsBIN;
|
|
procedure TestStreamingBlobFieldsXML;
|
|
procedure TestStreamingBlobFieldsXML;
|
|
procedure TestStreamingBigBlobFieldsXML;
|
|
procedure TestStreamingBigBlobFieldsXML;
|
|
|
|
+ procedure TestStreamingNullFieldsBIN;
|
|
procedure TestStreamingNullFieldsXML;
|
|
procedure TestStreamingNullFieldsXML;
|
|
procedure TestStreamingCalculatedFieldsXML;
|
|
procedure TestStreamingCalculatedFieldsXML;
|
|
|
|
|
|
@@ -87,6 +92,7 @@ uses toolsunit, SQLDBToolsUnit, sqldb, XMLDatapacketReader;
|
|
|
|
|
|
const TestXMLFileName = 'test.xml';
|
|
const TestXMLFileName = 'test.xml';
|
|
TestBINFileName = 'test.dat';
|
|
TestBINFileName = 'test.dat';
|
|
|
|
+ TestFileNames: array[TDataPacketFormat] of string = (TestBINFileName, TestXMLFileName, TestXMLFileName, '');
|
|
|
|
|
|
procedure TTestBufDatasetStreams.CompareDatasets(ADataset1,
|
|
procedure TTestBufDatasetStreams.CompareDatasets(ADataset1,
|
|
ADataset2: TDataset);
|
|
ADataset2: TDataset);
|
|
@@ -148,10 +154,7 @@ var FileName: string;
|
|
SaveDs,
|
|
SaveDs,
|
|
LoadDs : TCustomBufDataset;
|
|
LoadDs : TCustomBufDataset;
|
|
begin
|
|
begin
|
|
- case AFormat of
|
|
|
|
- dfBinary: FileName := 'Basics.dat';
|
|
|
|
- else FileName := 'Basics.xml';
|
|
|
|
- end;
|
|
|
|
|
|
+ FileName := TestFileNames[AFormat];
|
|
|
|
|
|
SaveDs := DBConnector.GetNDataset(true,15) as TCustomBufDataset;
|
|
SaveDs := DBConnector.GetNDataset(true,15) as TCustomBufDataset;
|
|
SaveDs.Open;
|
|
SaveDs.Open;
|
|
@@ -411,10 +414,10 @@ var SaveDs: TCustomBufDataset;
|
|
begin
|
|
begin
|
|
SaveDs := DBConnector.GetNDataset(true,15) as TCustomBufDataset;
|
|
SaveDs := DBConnector.GetNDataset(true,15) as TCustomBufDataset;
|
|
SaveDs.Open;
|
|
SaveDs.Open;
|
|
- SaveDs.SaveToFile('Basics.xml',dfXML);
|
|
|
|
|
|
+ SaveDs.SaveToFile(TestXMLFileName, dfXML);
|
|
|
|
|
|
LoadDs := TCustomBufDataset.Create(nil);
|
|
LoadDs := TCustomBufDataset.Create(nil);
|
|
- LoadDs.LoadFromFile('Basics.xml');
|
|
|
|
|
|
+ LoadDs.LoadFromFile(TestXMLFileName);
|
|
CompareDatasets(SaveDs,LoadDs);
|
|
CompareDatasets(SaveDs,LoadDs);
|
|
LoadDs.Free;
|
|
LoadDs.Free;
|
|
end;
|
|
end;
|
|
@@ -459,16 +462,16 @@ begin
|
|
TestChangesXML(@DeleteAllInsertChange);
|
|
TestChangesXML(@DeleteAllInsertChange);
|
|
end;
|
|
end;
|
|
|
|
|
|
-procedure TTestBufDatasetStreams.TestStreamingBlobFieldsXML;
|
|
|
|
|
|
+procedure TTestBufDatasetStreams.TestStreamingBlobFields(AFormat: TDataPacketFormat);
|
|
var SaveDs: TCustomBufDataset;
|
|
var SaveDs: TCustomBufDataset;
|
|
LoadDs: TCustomBufDataset;
|
|
LoadDs: TCustomBufDataset;
|
|
begin
|
|
begin
|
|
SaveDs := DBConnector.GetFieldDataset as TCustomBufDataset;
|
|
SaveDs := DBConnector.GetFieldDataset as TCustomBufDataset;
|
|
SaveDs.Open;
|
|
SaveDs.Open;
|
|
- SaveDs.SaveToFile(TestXMLFileName,dfXML);
|
|
|
|
|
|
+ SaveDs.SaveToFile(TestFileNames[AFormat], AFormat);
|
|
|
|
|
|
LoadDs := TCustomBufDataset.Create(nil);
|
|
LoadDs := TCustomBufDataset.Create(nil);
|
|
- LoadDs.LoadFromFile(TestXMLFileName);
|
|
|
|
|
|
+ LoadDs.LoadFromFile(TestFileNames[AFormat]);
|
|
|
|
|
|
LoadDS.First;
|
|
LoadDS.First;
|
|
SaveDS.First;
|
|
SaveDS.First;
|
|
@@ -483,6 +486,16 @@ begin
|
|
LoadDs.Free;
|
|
LoadDs.Free;
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
+procedure TTestBufDatasetStreams.TestStreamingBlobFieldsBIN;
|
|
|
|
+begin
|
|
|
|
+ TestStreamingBlobFields(dfBinary);
|
|
|
|
+end;
|
|
|
|
+
|
|
|
|
+procedure TTestBufDatasetStreams.TestStreamingBlobFieldsXML;
|
|
|
|
+begin
|
|
|
|
+ TestStreamingBlobFields(dfXML);
|
|
|
|
+end;
|
|
|
|
+
|
|
procedure TTestBufDatasetStreams.TestStreamingBigBlobFieldsXML;
|
|
procedure TTestBufDatasetStreams.TestStreamingBigBlobFieldsXML;
|
|
var
|
|
var
|
|
SaveDs: TCustomBufDataset;
|
|
SaveDs: TCustomBufDataset;
|
|
@@ -548,7 +561,7 @@ begin
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
|
|
-procedure TTestBufDatasetStreams.TestStreamingNullFieldsXML;
|
|
|
|
|
|
+procedure TTestBufDatasetStreams.TestStreamingNullFields(AFormat: TDataPacketFormat);
|
|
var
|
|
var
|
|
SaveDs: TCustomBufDataset;
|
|
SaveDs: TCustomBufDataset;
|
|
LoadDs: TCustomBufDataset;
|
|
LoadDs: TCustomBufDataset;
|
|
@@ -569,12 +582,12 @@ begin
|
|
for i:=0 to FieldCount-1 do
|
|
for i:=0 to FieldCount-1 do
|
|
if not Fields[i].Required and not Fields[i].ReadOnly then
|
|
if not Fields[i].Required and not Fields[i].ReadOnly then
|
|
AssertTrue(Fields[i].FieldName, Fields[i].IsNull);
|
|
AssertTrue(Fields[i].FieldName, Fields[i].IsNull);
|
|
- SaveToFile(TestXMLFileName, dfXML);
|
|
|
|
|
|
+ SaveToFile(TestFileNames[AFormat], AFormat);
|
|
end;
|
|
end;
|
|
|
|
|
|
LoadDs := TCustomBufDataset.Create(nil);
|
|
LoadDs := TCustomBufDataset.Create(nil);
|
|
try
|
|
try
|
|
- LoadDs.LoadFromFile(TestXMLFileName);
|
|
|
|
|
|
+ LoadDs.LoadFromFile(TestFileNames[AFormat]);
|
|
SaveDs.First;
|
|
SaveDs.First;
|
|
while not SaveDs.EOF do
|
|
while not SaveDs.EOF do
|
|
begin
|
|
begin
|
|
@@ -588,6 +601,16 @@ begin
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
+procedure TTestBufDatasetStreams.TestStreamingNullFieldsBIN;
|
|
|
|
+begin
|
|
|
|
+ TestStreamingNullFields(dfBinary);
|
|
|
|
+end;
|
|
|
|
+
|
|
|
|
+procedure TTestBufDatasetStreams.TestStreamingNullFieldsXML;
|
|
|
|
+begin
|
|
|
|
+ TestStreamingNullFields(dfXML);
|
|
|
|
+end;
|
|
|
|
+
|
|
procedure TTestBufDatasetStreams.TestStreamingCalculatedFieldsXML;
|
|
procedure TTestBufDatasetStreams.TestStreamingCalculatedFieldsXML;
|
|
var
|
|
var
|
|
ADataset: TCustomBufDataset;
|
|
ADataset: TCustomBufDataset;
|