List:Commits« Previous MessageNext Message »
From:Tor Didriksen Date:January 14 2011 3:36pm
Subject:bzr commit into mysql-trunk branch (tor.didriksen:3511) Bug#59498
View as plain text  
#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#59498Tor Didriksen14 Jan