diff --git a/core/types.rs b/core/types.rs index bec50fdb6..f72e1eaf6 100644 --- a/core/types.rs +++ b/core/types.rs @@ -92,7 +92,7 @@ impl PartialOrd for OwnedValue { int_left.partial_cmp(int_right) } (OwnedValue::Integer(int_left), OwnedValue::Float(float_right)) => { - float_right.partial_cmp(&(*int_left as f64)) + (*int_left as f64).partial_cmp(float_right) } (OwnedValue::Float(float_left), OwnedValue::Integer(int_right)) => { float_left.partial_cmp(&(*int_right as f64)) diff --git a/testing/scalar-functions.test b/testing/scalar-functions.test index 79c622173..5b1ab1c90 100755 --- a/testing/scalar-functions.test +++ b/testing/scalar-functions.test @@ -295,6 +295,18 @@ do_execsql_test max-str { select max('b','a','z') } {z} +do_execsql_test min-int-float { + select min(1,5.0) +} {1} + +do_execsql_test max-int-float { + select max(1,5.0) +} {5.0} + +do_execsql_test min-float-int { + select min(5.0,1) +} {1} + do_execsql_test max-null { select max(null,null) } {}