summaryrefslogtreecommitdiff
path: root/strings
diff options
context:
space:
mode:
authorunknown <gluh@mysql.com/gluh.(none)>2006-08-08 16:03:42 +0500
committerunknown <gluh@mysql.com/gluh.(none)>2006-08-08 16:03:42 +0500
commit66f6b5ba12ddfcd3c683e5a6df86b1d16751b1bf (patch)
tree475ca7e04f6aa86e1aaadb5b9381c3f76cb6cf95 /strings
parentd406c600532766fbd80484d96a910c6836e13300 (diff)
downloadmariadb-git-66f6b5ba12ddfcd3c683e5a6df86b1d16751b1bf.tar.gz
Bug#16172 DECIMAL data type processed incorrectly
issue an 'overflow warning' if result value is bigger than max possible value include/decimal.h: Bug#16172 DECIMAL data type processed incorrectly new function decimal_intg() mysql-test/r/cast.result: Bug#16172 DECIMAL data type processed incorrectly result fix mysql-test/r/type_newdecimal.result: Bug#16172 DECIMAL data type processed incorrectly test result mysql-test/r/view.result: Bug#16172 DECIMAL data type processed incorrectly result fix mysql-test/t/type_newdecimal.test: Bug#16172 DECIMAL data type processed incorrectly test case sql/item_create.cc: Bug#16172 DECIMAL data type processed incorrectly do not increase decimal part on 2(according to manual) sql/my_decimal.h: Bug#16172 DECIMAL data type processed incorrectly new function my_decimal_intg() strings/decimal.c: Bug#16172 DECIMAL data type processed incorrectly new function decimal_intg()
Diffstat (limited to 'strings')
-rw-r--r--strings/decimal.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/strings/decimal.c b/strings/decimal.c
index 736dc2e57c4..4ff2b5a693a 100644
--- a/strings/decimal.c
+++ b/strings/decimal.c
@@ -1896,6 +1896,14 @@ static int do_sub(decimal_t *from1, decimal_t *from2, decimal_t *to)
return error;
}
+int decimal_intg(decimal_t *from)
+{
+ int res;
+ dec1 *tmp_res;
+ tmp_res= remove_leading_zeroes(from, &res);
+ return res;
+}
+
int decimal_add(decimal_t *from1, decimal_t *from2, decimal_t *to)
{
if (likely(from1->sign == from2->sign))