From: Tor Didriksen Date: January 14 2011 3:19pm Subject: bzr commit into mysql-5.5 branch (tor.didriksen:3249) Bug#59498 List-Archive: http://lists.mysql.com/commits/128807 X-Bug: 59498 Message-Id: <20110114151935.8957D3784@atum07.norway.sun.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============7878552234057771773==" --===============7878552234057771773== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///export/home/didrik/repo/5.5/ based on revid:nirbhay.choubey@stripped 3249 Tor Didriksen 2011-01-14 Bug #59498 div function broken in mysql-trunk @ mysql-test/r/func_math.result New test case. @ mysql-test/t/func_math.test New test case. @ sql/item_func.cc Check for null before converting value to my_decimal. 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:05:14 +0000 +++ b/mysql-test/r/func_math.result 2011-01-14 14:03:37 +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:05:14 +0000 +++ b/mysql-test/t/func_math.test 2011-01-14 14:03:37 +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:05:14 +0000 +++ b/sql/item_func.cc 2011-01-14 14:03:37 +0000 @@ -1582,10 +1582,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, --===============7878552234057771773== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/tor.didriksen@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: tor.didriksen@stripped\ # 5zz3do0b12fxup3d # target_branch: file:///export/home/didrik/repo/5.5/ # testament_sha1: 7d93f45e183b00c59fdce6e62da9d78dc84d3451 # timestamp: 2011-01-14 16:19:34 +0100 # base_revision_id: nirbhay.choubey@stripped\ # p1054vg2ise9hggu # # Begin bundle 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 j/F3JFOFCQDw8mTA --===============7878552234057771773==--