Subject | Re: [firebird-support] INDEX on Numeric Column |
---|---|
Author | Ann W. Harrison |
Post date | 2010-03-10T16:59:54Z |
Leyne, Sean wrote:
Dialect 3 introduced bigint and a different index key format for it
because the precision of bigint is larger than double. There's a
whole weeks worth of discussion about whether that matters as long
as the order of the representations is correct (i.e. if A bigint is
bigger than B also bigint, then A converted to double will be the
same as or bigger than B converted to double), and the system checks
the actual record (which it does), double for all numerics works.
At least that's my opinion.
Cheers,
Ann
> Ann,Not in the storage of scaled numbers.
>
>> First, numeric(10,3) is stored as an integer. If the value stored
>> 111.999, the stored representation is that times 10**3 or 111999.
>
> Isn't there a difference in storage between Dialect 1 and 3?
Dialect 3 introduced bigint and a different index key format for it
because the precision of bigint is larger than double. There's a
whole weeks worth of discussion about whether that matters as long
as the order of the representations is correct (i.e. if A bigint is
bigger than B also bigint, then A converted to double will be the
same as or bigger than B converted to double), and the system checks
the actual record (which it does), double for all numerics works.
At least that's my opinion.
Cheers,
Ann