From: Tor Didriksen Date: January 14 2011 2:03pm Subject: bzr commit into mysql-5.5 branch (tor.didriksen:3248) Bug#59498 List-Archive: http://lists.mysql.com/commits/128769 X-Bug: 59498 Message-Id: <20110114140340.5E1AA3784@atum07.norway.sun.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============2770018521911234705==" --===============2770018521911234705== 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:guilhem.bichot@stripped 3248 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, --===============2770018521911234705== 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\ # wt4g7sam76x6t6l4 # target_branch: file:///export/home/didrik/repo/5.5/ # testament_sha1: fa8db5c5d2feb32f1a19b9515702227e46ad55db # timestamp: 2011-01-14 15:03:40 +0100 # base_revision_id: guilhem.bichot@stripped\ # 1m5ypayccbxpjyzl # # Begin bundle IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWQYPQSwAAzdfgFAQWXP//14F Dgq////wYAaPvdlibrScN97ZvduVns17sMJKI0KeKbRMaYBTE2o00ANNAADakmowmyBPJNKfokMn qPUGgAAAcwCaYBMhgACYJgAAAkSIykz0Rqan6pptQ9T0htRoaBoBk0AiklPIyap+TJpPJTBH6kzR qD0QAAaCSQmQTRgkYaaApkPUNDQBkA8dbBU5map+Se0cw4dkX7AVkJbjaZyXfmc1rqa0OIbvORAS nzKYuhXlNXZNLSAnAXrxXiWdLGbFeKsTDM23919Q7p1+A4DFrjeRuacV5jtwDCa1HDStShc65/s8 NRNjePgyZwfxMiuCzxguNsL1nNpT1KJcs0QYS24jDB3lw5OOBPgeZMElUuCsF5gFWC7F9g9i5ilv bO9azBeWtbIVo9Ajg7a+kstV6HoCQjchSHXWNEa+NRy4VpK5lFzhzPbBaowNqKlm4orgBgECc66B fomngIZHMuUzNN2gvvnRWBimsDL8lDXfiWdbqFQhrnZjrv4VUAHxhdkuQ3dE7gBsAlOBYFNMs8Yt tuKKeCgRZeBDQrJWGC7LFGxGFpLfNP1w8/LFdhioZHFX8FnfkP0/CteJZligWrTOhAm3ElZehyhE lm3F6ms9qvRWlROl4mLyR54LWb1/VWn43XrMYBuk9Z1AQy2REQ3bnFUJb0rTbtyNFlUN5QqGhMmJ iSpYnohqFddntIJazrC7iuJjFOkQG7GXPYUIt6Kv99wirp2NvV9i0ajn/btmWSMCTDmLdFQuipE7 vJ0WwXkoTXTOpXKqRKJAeOGYkKkhb3Zan1XMSkOhTg5D6QjpzuMIsn3aCsRzV4jdUrUKonvEZ3BY xla4t0iMy4rCvDiw4Zq+e94pOU07aqVkXnahdCWNTaMWyrghqJ7FaoRpUaCmu+p6mYxKC442qNRs 4JilRa1VmkU1z04MilpqxlFix4jLHRjKtSoy/GkoNdZKRi6N1V2EKL6yCQXRe0XKKOAnPRfQVbnI OOl+w5CXnDbK2dG/JCkmsxbk/R9lv4hcqppFFqbG2+2x0wOJ9h+x3HfSgzuI7/6G3lb4hmPJGC2J rYxdAh9HVyU4ZG3MYxA5n+XQpsu6HIjzLePggKH1OCYdq+AHCE5BMXlo11IegMioGZjHxZnvtO7x 3TvkZKWPG2AoJtB2rgnKty8FKtgDKYGqlDSZk1SvMjjkNQPuMCoRoJyKuCc5p11MS6VG+pMmAulC BSgU15Ohn46Yrdu3cW2WBUmyeo9WqpJyjE0rV5LZXeL0BeOPi0gFlzg357HFjaQCcxr1j0pod36j Gr34MCJjS6scYjBbFYsrMGyCjFFJ3aYiFRXrOgUytW2Xayc/K5vNJS7seZpZUzjd96Li4WsBkLcH emRftjjHnLlkERDNQhdRyT4GhIz3K/PpJnixNgGbh4LSRRhNvX4uW9MXOqy0biYPxJm1GvWvhKTK h52np1Cc7veiFlt9jqnCx4b8UaGXpAyaOPczjX63ctTutbD0OF24TyzFmp/ZMG5pVqRkzJQFQVCm jf9753PqgWcV0SuwyC6lCqqvRV6lYrFO9zXDw6R40u9pc1bbewiA1jEQ6Ah4CTszCmveuTyIwbaA tQDLQMJmU3AxYFWTwRjx8NIBnXVREPeipLodohplYEDVTP6cxKQTw+K1rSHTeNcC1THUmpKCa3rz KSuEnRZpLBqoptVmcKtKzwmkOJ2nI03tTvw4vJLluels5Xe3Mz1CFiHVKZP1qrF8kCBkG+Ta3+m5 6wdT784jd0wwB7lIKKA7VXumk71aNguCttQaqa1FQTjh0cJevkpKnfE6HwT+l3DENNARV1q0uzA2 YWOi+5wdRVoNRxJKifuqS6oVleC4ASS6NcdyGPVAU+81alzoiIrvRDOtVVgCYmh5LDYdbaaw3Wkd Qjq1CacnQ0ZjBEVYJh1GYYE5KYZd7qRriua8jezf4uaaG8yCGXhcOxqjW1yS/E9VzzbE8Po5ObUB 12pAh5mWXnKKW0exx8iIPEl1Bm2B2N/hiPze2RubW984nte1rcWufnEyed5nJybVrZ2zVEGa6Iri 4eeUeETqjbBLDMjZ/xdyRThQkAYPQSw= --===============2770018521911234705==--