Subject | divisions - final final, really really! |
---|---|
Author | csswa |
Post date | 2002-05-31T03:55:57Z |
'One L' gets the final word, and as usual she brings a state of zen-
like calm to this crazy, mixed-up world.
It's not a bug but the result of purer mathematical implementation.
BTW, having no further need for my $5 calculator, it now returns to
the back of the drawer. In fact I owe IBPhoenix $5. :-)
Regards,
Andrew Ferguson
-- We've got what it takes to take what you've got.
-----
D.3 regards all numbers as expressible as 64-bit integer, D.1 as 32-
bit (like MSSQL and Oracle).
Because of this, new rules apply...
In D.3 (and, I think, in D.1 columns which were created on ODS10, not
certain about that though) the result of a division between two
integers is an integer. (There is actually a mathematical
justification for this which I *think* was explained by
Claudio during the "Klapperich bug" episode). In contrast, the
result of such a division in D.1 and lower IB's (and also MSSQL and
Oracle and probably PG as well, which don't have true 64-bit integer
support) results in a single or a double, depending on the scale of
the integers involved.
like calm to this crazy, mixed-up world.
It's not a bug but the result of purer mathematical implementation.
BTW, having no further need for my $5 calculator, it now returns to
the back of the drawer. In fact I owe IBPhoenix $5. :-)
Regards,
Andrew Ferguson
-- We've got what it takes to take what you've got.
-----
>Why the behaviour difference between dialects???Because of the difference in the treatment and storage of numbers.
D.3 regards all numbers as expressible as 64-bit integer, D.1 as 32-
bit (like MSSQL and Oracle).
Because of this, new rules apply...
In D.3 (and, I think, in D.1 columns which were created on ODS10, not
certain about that though) the result of a division between two
integers is an integer. (There is actually a mathematical
justification for this which I *think* was explained by
Claudio during the "Klapperich bug" episode). In contrast, the
result of such a division in D.1 and lower IB's (and also MSSQL and
Oracle and probably PG as well, which don't have true 64-bit integer
support) results in a single or a double, depending on the scale of
the integers involved.