> I wonder how it comes, that the 2nd and 3rd values are correct but
> not the first and nor the ctor for double value 1.1.

Hello Tommi,

These bugs were caused by undetected integer overflows, and
incorrect arithmetic logic.

I tweaked the code to detect the integer overflows.  In these
test cases it appears to be possible to come up with the
correct result after changing some of the logic to avoid
integer overflows, and detecting the integer overflows in
intermediate calculations.

I fixed the arithmetic logic errors that affected these
test cases, now it seems to work (with these test cases
and in some other tests):

% ./tonum
1.1     1.1
% 

% sqlcmd 'oracle:;user=username;passwd=password' 'select * from t1
order by c2' 1       1.23456789
2       1.235
3       3.14159
%

In tntdb/src/oracle/number.cpp:

- the memset parameters were in the incorrect order
- changed some variable names to use camel case.

I have sent you a copy of this email with the diffs.
Thanks for testing and integrating this, sorry about the
bugs.

Thanks, Mark

--

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Tntnet-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tntnet-general

Reply via email to