Although all my Sqlite3 databases depend on integer division truncation
and would break with your proposed change I agree that 5/2 should equal 
2.5 in order to be more consistant with other databases. I can migrate 
my databases to use round(). But might it be possible to create a 
backwards compatibilty pragma to preserve the old integer division 
truncation behavior? Or perhaps a compile-time option? 

How do intend to treat 5/2 if passed to an Sqlite function expecting
an integer argument?  An error? 2? 3? I would vote that it would be 
treated as 2 in such a case.

--- [EMAIL PROTECTED] wrote:

> I am proposing to make the changes outlined below in SQLite
> version 3.3.0 and I am wondering if these changes will cause
> any severe hardship.
> 
> Two changes working together:
> 
>   (1) Floating point values are *always* converted into 
>       integers if it is possible to do so without loss
>       of information.
> 
>   (2) Division of two integers returns a floating point
>       value if necessary to preserve the fractional part
>       of the result.
> 
> The effect of change (1) is to combine the integer affinity
> and the numeric affinity column types into a single type.
> The new type is called numeric affinity, but it works like
> integer affinity.  Change (2) resolves Ralf Junker's
> division paradox.
> 
> The only code that I can think of that this change might
> break is cases where the user is depending on the division
> of two integers returning an integer result.  Such code
> will need to be modified to use the "round()" function
> to obtain the same result.  I am thinking that such code
> should be very uncommon and that this change will have
> minimal impact.  Nevertheless, the impact is non-zero so
> I will increment the minor version number as part of this
> change.
> 
> If you can think of any other adverse impact that this
> change might have, please let me know.
> --
> D. Richard Hipp <[EMAIL PROTECTED]>
> 
> 



                
__________________________________ 
Yahoo! FareChase: Search multiple travel sites in one click.
http://farechase.yahoo.com

Reply via email to