summaryrefslogtreecommitdiff
path: root/sql/item_cmpfunc.cc
diff options
context:
space:
mode:
authorOleksandr Byelkin <sanja@mariadb.com>2020-10-29 15:16:53 +0100
committerOleksandr Byelkin <sanja@mariadb.com>2020-10-29 15:16:53 +0100
commit2e5450af052040848042c6eae4f03efa23c5f8fc (patch)
tree0f2d695372c7aae8fc5ea63cf78f57475c297de2 /sql/item_cmpfunc.cc
parent17cf27f5b61aace463c3ae52df54c2363d2d4ca8 (diff)
parentd6302c9a47615019a3bca5304d3f61c587d826b8 (diff)
downloadmariadb-git-2e5450af052040848042c6eae4f03efa23c5f8fc.tar.gz
Merge branch '10.1' into 10.2
Diffstat (limited to 'sql/item_cmpfunc.cc')
-rw-r--r--sql/item_cmpfunc.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/sql/item_cmpfunc.cc b/sql/item_cmpfunc.cc
index d3a59e5b4f0..2a0972216f8 100644
--- a/sql/item_cmpfunc.cc
+++ b/sql/item_cmpfunc.cc
@@ -891,6 +891,8 @@ int Arg_comparator::compare_decimal()
{
if (set_null)
owner->null_value= 0;
+ my_decimal_round_if_needed(E_DEC_FATAL_ERROR, val1, (*a)->decimals, 0);
+ my_decimal_round_if_needed(E_DEC_FATAL_ERROR, val2, (*b)->decimals, 0);
return my_decimal_cmp(val1, val2);
}
}
@@ -915,7 +917,9 @@ int Arg_comparator::compare_e_decimal()
my_decimal *val2= (*b)->val_decimal(&decimal2);
if ((*a)->null_value || (*b)->null_value)
return MY_TEST((*a)->null_value && (*b)->null_value);
- return MY_TEST(my_decimal_cmp(val1, val2) == 0);
+ my_decimal_round_if_needed(E_DEC_FATAL_ERROR, val1, (*a)->decimals, 0);
+ my_decimal_round_if_needed(E_DEC_FATAL_ERROR, val2, (*b)->decimals, 0);
+ return my_decimal_cmp(val1, val2) == 0;
}