#At file:///export/home/didrik/repo/trunk/ based on revid:nirbhay.choubey@stripped
3511 Tor Didriksen 2011-01-14 [merge]
Merge Bug #59498 from 5.5
modified:
mysql-test/r/func_math.result
mysql-test/t/func_math.test
sql/item_func.cc
=== modified file 'mysql-test/r/func_math.result'
--- a/mysql-test/r/func_math.result 2011-01-14 09:29:11 +0000
+++ b/mysql-test/r/func_math.result 2011-01-14 15:36:19 +0000
@@ -650,3 +650,9 @@ SELECT ((@a:=@b:=1.0) div (@b:=@a:=get_f
NULL
Warnings:
Warning 1366 Incorrect decimal value: '' for column '' at row -1
+#
+# Bug #59498 div function broken in mysql-trunk
+#
+SELECT 1 div null;
+1 div null
+NULL
=== modified file 'mysql-test/t/func_math.test'
--- a/mysql-test/t/func_math.test 2011-01-14 09:29:11 +0000
+++ b/mysql-test/t/func_math.test 2011-01-14 15:36:19 +0000
@@ -495,3 +495,8 @@ DROP TABLE t1;
--echo # in do_div_mod with doubly assigned variables
--echo #
SELECT ((@a:=@b:=1.0) div (@b:=@a:=get_format(datetime, 'usa')));
+
+--echo #
+--echo # Bug #59498 div function broken in mysql-trunk
+--echo #
+SELECT 1 div null;
=== modified file 'sql/item_func.cc'
--- a/sql/item_func.cc 2011-01-14 09:29:11 +0000
+++ b/sql/item_func.cc 2011-01-14 15:36:19 +0000
@@ -1600,10 +1600,15 @@ longlong Item_func_int_div::val_int()
args[1]->result_type() != INT_RESULT)
{
my_decimal tmp;
- my_decimal val0= *args[0]->val_decimal(&tmp);
- my_decimal val1= *args[1]->val_decimal(&tmp);
- if ((null_value= (args[0]->null_value || args[1]->null_value)))
+ my_decimal *val0p= args[0]->val_decimal(&tmp);
+ if ((null_value= args[0]->null_value))
return 0;
+ my_decimal val0= *val0p;
+
+ my_decimal *val1p= args[1]->val_decimal(&tmp);
+ if ((null_value= args[1]->null_value))
+ return 0;
+ my_decimal val1= *val1p;
int err;
if ((err= my_decimal_div(E_DEC_FATAL_ERROR & ~E_DEC_DIV_ZERO, &tmp,
No bundle (reason: revision is a merge (you can force generation of a bundle with env var BZR_FORCE_BUNDLE=1)).
| Thread |
|---|
| • bzr commit into mysql-trunk branch (tor.didriksen:3511) Bug#59498 | Tor Didriksen | 14 Jan |