=== modified file 'bin/pt-online-schema-change' --- bin/pt-online-schema-change 2014-07-04 17:16:08 +0000 +++ bin/pt-online-schema-change 2014-07-21 19:44:47 +0000 @@ -8872,7 +8872,7 @@ index => $nibble_iter->nibble_index(), n_index_cols => $o->get('chunk-index-columns'), ); - if ( !$key || lc($key) ne lc($nibble_iter->nibble_index()) ) { + if ( !$key || lc($key) ne lc($nibble_iter->nibble_index()) and $o->get('check-plan') ) { die ts("Cannot determine the key_len of the chunk index " . "because MySQL chose " . ($key ? "the $key" : "no") . " index " @@ -8913,7 +8913,7 @@ sth => $sth->{explain_upper_boundary}, vals => [ @{$boundary->{lower}}, $nibble_iter->limit() ], ); - if (lc($expl->{key} || '') ne lc($nibble_iter->nibble_index() || '')) { + if (lc($expl->{key} || '') ne lc($nibble_iter->nibble_index() || '') and $o->get('check-plan')) { my $msg = "Aborting copying table $tbl->{name} at chunk " . ($nibble_iter->nibble_number() + 1) @@ -9533,7 +9533,7 @@ # Ensure that MySQL is using the chunk index if the table is being chunked. if ( !$nibble_iter->one_nibble() - && lc($expl->{key} || '') ne lc($nibble_iter->nibble_index() || '') ) + && lc($expl->{key} || '') ne lc($nibble_iter->nibble_index() || '') and $o->get('check-plan')) { die ts("Error copying rows at chunk " . $nibble_iter->nibble_number() . " of $tbl->{db}.$tbl->{tbl} because MySQL chose "