mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-27 05:32:28 +02:00
* fcl-db: tests: adjust TTestDBBasics.TestSupportIntegerFields to reflect that Oracle does not map integer fields to ftInteger but to ftFMTBCD
git-svn-id: trunk@27987 -
This commit is contained in:
parent
244f65525b
commit
4d92b003a7
@ -20,6 +20,9 @@ type
|
||||
|
||||
TTestDBBasics = class(TDBBasicsTestCase)
|
||||
private
|
||||
procedure SetupFieldDefinitionDataset(AFieldType: TFieldType;
|
||||
var ADS: TDataset; var AFld: TField);
|
||||
// Sets up dataset and verifies field type and data size match expected values
|
||||
procedure TestfieldDefinition(AFieldType : TFieldType;ADatasize : integer;var ADS : TDataset; var AFld: TField);
|
||||
procedure TestcalculatedField_OnCalcfields(DataSet: TDataSet);
|
||||
|
||||
@ -2409,16 +2412,25 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TTestDBBasics.TestfieldDefinition(AFieldType : TFieldType;ADatasize : integer;var ADS : TDataset; var AFld: TField);
|
||||
|
||||
var i : byte;
|
||||
|
||||
procedure TTestDBBasics.SetupFieldDefinitionDataset(AFieldType: TFieldType;
|
||||
var ADS: TDataset; var AFld: TField);
|
||||
begin
|
||||
ADS := DBConnector.GetFieldDataset;
|
||||
ADS.Open;
|
||||
|
||||
AFld := ADS.FindField('F'+FieldTypeNames[AfieldType]);
|
||||
{$ifdef fpc}
|
||||
if not assigned (AFld) then
|
||||
Ignore('Fields of the type ' + FieldTypeNames[AfieldType] + ' are not supported by this type of dataset');
|
||||
{$endif fpc}
|
||||
end;
|
||||
|
||||
procedure TTestDBBasics.TestfieldDefinition(AFieldType : TFieldType;ADatasize : integer;var ADS : TDataset; var AFld: TField);
|
||||
|
||||
var i : byte;
|
||||
|
||||
begin
|
||||
SetupFieldDefinitionDataset(AFieldType,ADS, AFld);
|
||||
{$ifdef fpc}
|
||||
if not assigned (AFld) then
|
||||
Ignore('Fields of the type ' + FieldTypeNames[AfieldType] + ' are not supported by this type of dataset');
|
||||
@ -2442,7 +2454,17 @@ begin
|
||||
Ignore('TDBF: only Visual Foxpro and DBase7 support full integer range.');
|
||||
end;
|
||||
|
||||
TestfieldDefinition(ftInteger,4,ds,Fld);
|
||||
if (uppercase(dbconnectorname)='SQL') and
|
||||
(uppercase(dbconnectorparams)='ORACLE') then
|
||||
begin
|
||||
// Oracle: NUMERIC fields that map to ftFMTBCD are used; these do not map to ftInteger
|
||||
// We still want to run the value tests below, so set up things manually:
|
||||
SetupFieldDefinitionDataset(ftInteger,DS,Fld);
|
||||
end
|
||||
else
|
||||
begin
|
||||
TestfieldDefinition(ftInteger,4,ds,Fld);
|
||||
end;
|
||||
|
||||
for i := 0 to testValuesCount-1 do
|
||||
begin
|
||||
|
Loading…
Reference in New Issue
Block a user