mirror of
https://github.com/percona/percona-toolkit.git
synced 2025-09-10 05:00:45 +00:00
PT-2277 - fix pt-visual-explain for 'Impossible ON condition' case
This commit is contained in:
@@ -9,7 +9,7 @@ BEGIN {
|
||||
use strict;
|
||||
use warnings FATAL => 'all';
|
||||
use English qw(-no_match_vars);
|
||||
use Test::More tests => 60;
|
||||
use Test::More tests => 61;
|
||||
|
||||
use PerconaTest;
|
||||
require "$trunk/bin/pt-visual-explain";
|
||||
@@ -72,6 +72,45 @@ is_deeply(
|
||||
'Impossible HAVING',
|
||||
);
|
||||
|
||||
$t = $e->parse( load_file("t/pt-visual-explain/samples/impossible_on_condition.sql") );
|
||||
is_deeply(
|
||||
$t,
|
||||
{ type => 'JOIN',
|
||||
children => [
|
||||
{ type => 'Constant table access',
|
||||
id => 1,
|
||||
rowid => 0,
|
||||
rows => undef,
|
||||
warning => 'Impossible ON condition',
|
||||
children => [
|
||||
{ type => 'Table',
|
||||
table => 't',
|
||||
possible_keys => 't_id',
|
||||
partitions => undef
|
||||
}
|
||||
]
|
||||
},
|
||||
{ type => 'Filter with WHERE',
|
||||
id => 1,
|
||||
rowid => 1,
|
||||
children => [
|
||||
{ type => 'Table scan',
|
||||
rows => 1,
|
||||
children => [
|
||||
{ type => 'Table',
|
||||
table => 't2',
|
||||
possible_keys => undef,
|
||||
partitions => undef
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"Impossible ON condition"
|
||||
);
|
||||
|
||||
$t = $e->parse( load_file("t/pt-visual-explain/samples/const_row_not_found.sql") );
|
||||
is_deeply(
|
||||
$t,
|
||||
|
7
t/pt-visual-explain/samples/impossible_on_condition.sql
Normal file
7
t/pt-visual-explain/samples/impossible_on_condition.sql
Normal file
@@ -0,0 +1,7 @@
|
||||
explain select * from t2 LEFT JOIN t on t2.id = t.id AND 1 = 0 WHERE t2.id = 1;
|
||||
+------+-------------+-------+-------+---------------+------+---------+------+------+-------------------------+
|
||||
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
|
||||
+------+-------------+-------+-------+---------------+------+---------+------+------+-------------------------+
|
||||
| 1 | SIMPLE | t | const | t_id | NULL | NULL | NULL | 0 | Impossible ON condition |
|
||||
| 1 | SIMPLE | t2 | ALL | NULL | NULL | NULL | NULL | 1 | Using where |
|
||||
+------+-------------+-------+-------+---------------+------+---------+------+------+-------------------------+
|
Reference in New Issue
Block a user