From 41c1708ee79a3d860b4dbb5f98c1475f18eb71de Mon Sep 17 00:00:00 2001 From: JeanArhancet Date: Sat, 21 Sep 2024 16:08:31 +0200 Subject: [PATCH] fix: cmp integer/float --- core/types.rs | 2 +- testing/scalar-functions.test | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) 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) } {}