[fpc-pascal] Decimal Precision Issue with Firebird
Michael Van Canneyt
michael at freepascal.org
Mon Jan 26 09:13:05 CET 2009
On Sun, 25 Jan 2009, Andrew Hall wrote:
> We are having problems reading decimal/numeric column types with TSQLQuery.
> It appears if the precision of a decimal/numeric is more than 4 (for instance,
> DECIMAL(12,8) or DECIMAL(18,10) or DECIMAL(10,6) TSQLQuery raises an exception
> on reading - EDatabaseError : Unknown field type : COLUMN_NAME. However, using
> the established (informal) money-types for Firebird - DECIMAL(18,4) or
> DECIMAL(10,4) are OK, and multiple other variations are OK if precision is 4
> or less.
>
> Questions:
> 1) is this a bug, or a known "feature" or limitation of the FPC Firebird
> library?
It is a limitation.
> 2) is there a workaround? We require a decimal with at least 9 decimal places
> precision (?perhaps DOUBLE PRECISION)
I think double precision is your only option at this point.
> 3) the issue with negative numerics with TSQLQuery being treated as unsigned,
> described in the bug list as fixed in FPC 231 - has this fix been moved to FPC
> 224?
I think it has, but Joost should confirm that.
Michael.
More information about the fpc-pascal
mailing list