SVN commit 759457 by staniek:

KexiDB

fix the bug #146818: handling expressions containing 
binary operators like *, /, -, + where both arguments are of 
floating-point type (with single or double precision). 
Previously the result was marked as boolean, now it is 
floating-point.

CCMAIL:[EMAIL PROTECTED]
CCMAIL:kexi@kde.org



 M  +2 -6      expression.cpp  


--- branches/koffice/1.6/koffice/kexi/kexidb/expression.cpp #759456:759457
@@ -400,14 +400,10 @@
        if (ltInt && rtInt)
                return KexiDB::maximumForIntegerTypes(lt, rt);
 
-       if (Field::isFPNumericType(lt) && rtInt)
+       if (Field::isFPNumericType(lt) && (rtInt || lt==rt))
                return lt;
-       if (Field::isFPNumericType(rt) && ltInt)
+       if (Field::isFPNumericType(rt) && (ltInt || lt==rt))
                return rt;
-       if ((lt==Field::Double || lt==Field::Float) && rtInt)
-               return lt;
-       if ((rt==Field::Double || rt==Field::Float) && ltInt)
-               return rt;
 
        return Field::Boolean;
 }
_______________________________________________
Kexi mailing list
Kexi@kde.org
https://mail.kde.org/mailman/listinfo/kexi

Reply via email to