View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0001327 | Database Comparer VCL | General | public | 2018-04-09 22:13 | 2019-04-18 19:46 |
Reporter | shirokov | Assigned To | barry | ||
Priority | high | Severity | major | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Summary | 0001327: The DBComparer is unable to extract Firebird 3.0 internal functions. | ||||
Description | The following function causes the Invalid typecast problem: create or alter function CASTFLOAT ( TEXT varchar(255)) returns float AS begin return cast(replace(trim(text), ',', '.') as float); when any do return null; end The problem occurs at the following code line: fData.Scale := -Integer(Scale); <<<<<< HERE See the dbcIBDatabaseExtract unit, TIBDBExtract.DecodeNumericType method: procedure TIBDBExtract.DecodeNumericType(FldType: Integer; SubType: Integer; Precision: Variant; Scale: Variant; fData: TFldData; fRdbPrecision: Boolean); else fData.Precision := 0; if (not PrecisionKnown) and (Scale < 0) then begin case fData.FldType of 7: // SmallInt (SHORT); fData.Precision := 4; 8: // Integer (LONG) fData.Precision := 9; 27: // Double precision (DOUBLE) fData.Precision := 15; 16: // Bigint fData.Precision := 18; end; fData.Scale := -Integer(Scale); <<<<<< HERE if SubType = 0 then begin fData.NumericFieldType := fData.FieldType; fData.FieldType := iftNumeric; end; end; | ||||
Tags | No tags attached. | ||||
Date Modified | Username | Field | Change |
---|---|---|---|
2018-04-09 22:13 | shirokov | New Issue | |
2018-04-09 22:13 | shirokov | Status | new => assigned |
2018-04-09 22:13 | shirokov | Assigned To | => barry |
2018-06-01 00:27 | barry | Status | assigned => resolved |
2018-06-01 00:27 | barry | Resolution | open => fixed |
2018-06-01 00:27 | barry | Note Added: 0003738 | |
2019-04-18 19:46 | barry | Status | resolved => closed |