From: Mattias Jonsson Date: March 18 2011 10:03am Subject: bzr commit into mysql-5.5 branch (mattias.jonsson:3381) Bug#11867664 List-Archive: http://lists.mysql.com/commits/133277 X-Bug: 11867664 Message-Id: <201103181003.p2IA3xs5018282@acsmt356.oracle.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0223495599==" --===============0223495599== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///C:/ade/mysql-bzr/b11867664-55/ based on revid:georgi.kodinov@stripped 3381 Mattias Jonsson 2011-03-18 Bug#11867664: SERVER CRASHES ON UPDATE WITH JOIN ON PARTITIONED TABLE Regression from bug#11766232. m_last_part could be set beyond the last partition. Fixed by only setting it if within the limit. Also added check in print_error. modified: sql/ha_partition.cc === modified file 'sql/ha_partition.cc' --- a/sql/ha_partition.cc 2011-03-09 17:41:16 +0000 +++ b/sql/ha_partition.cc 2011-03-18 10:03:54 +0000 @@ -4448,7 +4448,8 @@ int ha_partition::index_read_idx_map(uch break; } } - m_last_part= part; + if (part <= m_part_spec.end_part) + m_last_part= part; } else { @@ -6391,7 +6392,14 @@ void ha_partition::print_error(int error { /* In case m_file has not been initialized, like in bug#42438 */ if (m_file) + { + if (m_last_part >= m_tot_parts) + { + DBUG_ASSERT(0); + m_last_part= 0; + } m_file[m_last_part]->print_error(error, errflag); + } else handler::print_error(error, errflag); } --===============0223495599== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/mattias.jonsson@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: mattias.jonsson@stripped\ # v8kr1liddjhn756k # target_branch: file:///C:/ade/mysql-bzr/b11867664-55/ # testament_sha1: 032d739691848078596cc41a4c37fb1acf8e0c47 # timestamp: 2011-03-18 11:04:00 +0100 # base_revision_id: georgi.kodinov@stripped\ # w01qmtuta8uv89qy # # Begin bundle IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWVjgxGYAAcPfgFQQWGP//3/3 34C////6UAQiyIY93ccDrkNCCaKeJoNTxNDRpI2SaepoZNqab0npNIw9FBlTKbEyaBNMJqekGgaA NAaAA0ACSgEyE9T1NKeyp6npAD1AAAGgADTQ5pkZDJghowmCNNGjEDTJkYAAgkkjRNPSYVPyU9Rt qMR6p7VP1TQ8o09EDQA9Q00WQGeWmjkE37h/cc86T8pRzIahNSyNWIiDm5VU8zH1vOwkQJRAZoPE UeEJmYHDTaS/U3SLRQNSlCXSwKa4+7ZR+f0eHYmirdB6IEtr43lsX5tEwod7Ipz6g1qB9dNeHJTP e4RhIAZh4VmduvE4UgjTkzicUN96sSwdwCFWV8KTaSMcs4DRZRxlnxgXsF2PK3Fwu1UswQ7gzmUW pExSMGrprAioMUVfJSdqeLS5repwFxvuEV4G/diIuK+bJkZVLhdQrA94nmOk6B8vY5kBqRwpBiCR krQHFuJSBMsFxZTKl3SAbKLmrFsoaKY0UMkfQCwOxBN4w/q6oTS+6JJAnEgQTW9AZgGWlt7VqVY9 LAZEBoM0NwjhQ2o11RSBmwvm57LG5EXf3IrIxGZMkc2Amk8rha+RQZPasjWN7hjczZVY6nYbWSMH tMmwqtC7dJWmrGfZJ7Bc5ChQ1qxbvuu5BN2Fz1Wq2nWfTCaCbDnV0R09B4QFmpX1DEm9Z0LX5ps6 so1rJ1eUltTZOHOHtTImwPANePUzto7Qa7NqC9Cc/OXTY/9mUEZF2e23j33xEAY3q7+yJH7fWGDw u8RZHc8u5OJxjVJ8NK5gUb+D3OU4jiasTIjgqFaHdnxnKQyAIKjCbCTz4IS0AYNI2B3X1Dr7oCfL h7PikcCyFUYdtmWKyYQPQcEWr/MB4ursvdanmceax1CmmzRcmOAbANxtkDfI9+OqKxiUEhRIdDWo ryP1FzM7GFpq5MoVIJ0CL9xOIuhF2896cL0GhJ+8y6pAgBOxinclimr0bZ7BN0RpMHkjhAsklO3B p5xgq0VSmzfrzpfcb9iCDWKiMrRiKSib5WTV5IDYEAaV5bCkGiTXmWvKoVvCLy1a3Y0HQZwipfUE GogwsRR38wkrEwHTlFAgYnIViHcyYhmcgaua5YCc/u7tGwtTyWMxzhS+VZuN1snhJQZXhDn4vB3f JTmFgBvNIyaV0ZoB63i3nG4IBBwU5A6MKEhjET788nXlnNlALkl++yByq79G0Z2qk8ZXHYtPPVhJ IT9RappRhhcxeJwiuZzwuc42ucsIRIHxsDMmVGqrapZBtQJ8oDANjuo7ekDIu9IxCCoW6IKqOhV1 LhRyMyv8qiZMwSEk2mfU9cTmcgzFnKb48NwMAQSc+Ai+PNIFFdDkmXPXYpWNjwBmRNUytiaZwDWy U0GtxO/WDpTyN0vQY4tJNAtQYobghthzMaNi5qg4eGviQ4J7itjWwpxvpFBTEbEHBQMFVjhifcg1 ZKqy3+vVpAx1LpLI8SgtwsiyFSoCNZ2rgRngZqZ3GnLymtYWk3WaMxF2cNw3/F3JFOFCQWODEZg= --===============0223495599==--