From: Ole John Aske Date: December 7 2010 3:05pm Subject: bzr commit into mysql-5.1-telco-7.0-spj-scan-vs-scan branch (ole.john.aske:3390) List-Archive: http://lists.mysql.com/commits/126221 Message-Id: <20101207150507.97DE1223@fimafeng09.norway.sun.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============5694382616949720566==" --===============5694382616949720566== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///net/fimafeng09/export/home/tmp/oleja/mysql/mysql-5.1-telco-7.0-spj-scan-scan/ based on revid:ole.john.aske@stripped 3390 Ole John Aske 2010-12-07 SPJ-scan-scan: Updated cherry picked fix for bug 58490 to latest fix being reviewed modified: sql/sql_select.cc === modified file 'sql/sql_select.cc' --- a/sql/sql_select.cc 2010-12-07 11:56:10 +0000 +++ b/sql/sql_select.cc 2010-12-07 15:05:03 +0000 @@ -11661,6 +11661,16 @@ evaluate_join_record(JOIN *join, JOIN_TA } /* + Setting NESTED_LOOP_NO_MORE_ROWS (if not_exists_optimize) + also implies a 'not found' condition. However we could not + set this inside the loop above as it would prematurely + have terminated the 'first_unmatched' / 'first_unmatched->found' + calculations above. + */ + if (rc == NESTED_LOOP_NO_MORE_ROWS) + found= false; + + /* It was not just a return to lower loop level when one of the newly activated predicates is evaluated as false (See above join->return_tab= tab). @@ -11673,7 +11683,6 @@ evaluate_join_record(JOIN *join, JOIN_TA if (found) { DBUG_PRINT("info", (" found match")); - DBUG_ASSERT(rc==NESTED_LOOP_OK); /* A match from join_tab is found for the current partial join. */ rc= (*join_tab->next_select)(join, join_tab+1, 0); if (rc != NESTED_LOOP_OK && rc != NESTED_LOOP_NO_MORE_ROWS) --===============5694382616949720566== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/ole.john.aske@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: ole.john.aske@stripped\ # r5tqvnk6vhsd95jf # target_branch: file:///net/fimafeng09/export/home/tmp/oleja/mysql\ # /mysql-5.1-telco-7.0-spj-scan-scan/ # testament_sha1: 308cc8e9f748963bffc088500206a18ddd263476 # timestamp: 2010-12-07 16:05:07 +0100 # source_branch: bzr+ssh://oaske@stripped/bzrroot/server\ # /mysql-5.1-telco-7.0-spj/ # base_revision_id: ole.john.aske@stripped\ # dutxy558kxve7u2b # # Begin bundle IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWSYuLHcAAb3fgHAQUPP//3ZX 3oC////wUARWZ46GoUTmucCSSNJpgmibFMRgTAjTUPKDQZPImQaEJpT9MU1P0Ro2pA0A0MjIAAAD QQKaZT2qb0p6myj1NHpHqAGgAaGgA5piZMmjCYJiaYBMAhgjAjAJRCYjRppNGUn6Em1NMBNAZAAa aBZAY7pvPz6x1TnZG3DCX784sYcmRxGZCcEntLU15AUmCAUgO8U9uiirXu7qjMy9vMbDIKgkckTy 33KIzTWK/hw+dRt/fr1qZA5Mdq3mZ2zBLsrLKFgyKicwazVPSvPXa6eGQOYTlQLFnnx7JToI6FUk 4bTH1c8wvv0eYo7dRovRbMMscKROohI8OupnzvmmeK6MzkaYKDVOd4iJCpFSwYJ2DyDxDaQKggkI sdKxCS8LQgCdKmhlyUCKFbqmvEIK7fip1J3nXXITAMBUMJu5na2ntGkrpalMoK+AgohfQm/iKtc2 B4wVFYdEMxckTUpqYVZ2JJc5VzibL6bVCkVyMXuYEasOFS1C4V4hhH22vBaJWJs0js3hUG4KS369 pMJFpAYidhmI66NpEHGVplUMUwFkX3JWhUmVi7twkyuC7FJ1iGpNH89t7mc5VApRNCUDAMDXjc0o VWwXaNfIW28gNsiDFFN1b9dC+QjR+USkbjgx9hU9lFvvV8mEFQqaiwV5GFqNqfEr76dT5bkKgi7d 27sekPaVkx5J3M8zmRc29gUU/J4HgPIHo7qggeI64+ryUDwFLh5xZrgh2m7uUISQBqO40/Dx3Hgk bCbPvoeDuM1d2l6ibwmRRySNAardUDNVvgH3/I4G8PFpqDK7Yi9eT952yEhbrwBUuHKOzFhLtEAy RXbSJnnIxp7JhuuRzNjrpffLMllwp4UzqVYnTCaJZMMxBTK8iyj+PAMxyr9/hzrNToEkfYJK0Oa/ GHRJENVZyMlWE2I5+jHF++nLguyvEY6c+NXejifqWsK0yaep72u4MBZCz99UqIuFpWv0QjFg2g69 d6/VmxW7WXVuM1sntOoJ6/XTJ6DEuVy15XdIPB5WXUXKqtI2QN/YSwp20FlNIr6hU+YuWa86odsj k/nrtICpPWA58gwdhVXx5PvgqLYdNofqyc3DxkaY9onrRDQzEeCMg8zDqDmPwZhELWA1KcMB3Bp3 1zRDkRBg9JvywmUTugRDMMgNW24wySVwve8NeiWuaDQiBoYnYtAQA2Kalu2gmh2B6McIbYiQQysC FFNzZli+OUiFQPM4jO0RgpkN9HYpLrZ6fZIpByyOWNWpdsS5Hu+qtWyMy/mBuDXXhtOZG4oUwIPi CZfcBeCUiKPJRB5CefhQOucSR1xY5kwbReYSlb8g2BKQDbQU4Fs6DoNT3gJ/QIg8s9AdmzHUO9EG AWA4gROyEkYx9hUMVoDSWGKWUzapRU7m1zmZxm+NoXJ0iKytiPpDaHwBwzLj10OVU0LqQDrmPuXM GpfsEXoFC85RNjY4jcRwewLw8mQTBx56RSMy8/4u5IpwoSBMXFju --===============5694382616949720566==--