summaryrefslogtreecommitdiffstats
path: root/kexi/kexidb/expression.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kexi/kexidb/expression.cpp')
-rw-r--r--kexi/kexidb/expression.cpp8
1 files changed, 2 insertions, 6 deletions
diff --git a/kexi/kexidb/expression.cpp b/kexi/kexidb/expression.cpp
index d9a33b4c..b60cd505 100644
--- a/kexi/kexidb/expression.cpp
+++ b/kexi/kexidb/expression.cpp
@@ -400,13 +400,9 @@ Field::Type BinaryExpr::type()
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)
- return rt;
- if ((lt==Field::Double || lt==Field::Float) && rtInt)
- return lt;
- if ((rt==Field::Double || rt==Field::Float) && ltInt)
+ if (Field::isFPNumericType(rt) && (ltInt || lt==rt))
return rt;
return Field::Boolean;