summaryrefslogtreecommitdiff
path: root/mysql-test/t/explain_json.test
diff options
context:
space:
mode:
authorSergei Petrunia <psergey@askmonty.org>2014-08-14 01:12:05 +0400
committerSergei Petrunia <psergey@askmonty.org>2014-08-14 01:12:05 +0400
commit041e03e251e783d51ca86e53112e3b87bd2da146 (patch)
tree8df2309ea02720724bff15e5af86903e4bb95dd4 /mysql-test/t/explain_json.test
parenta9d43d70f5d83ac652fd970f5b2b8dfdb77c1136 (diff)
downloadmariadb-git-041e03e251e783d51ca86e53112e3b87bd2da146.tar.gz
EXPLAIN FORMAT=JSON: produce used_key_parts, JSON-ish output for index_merge.
Diffstat (limited to 'mysql-test/t/explain_json.test')
-rw-r--r--mysql-test/t/explain_json.test21
1 files changed, 18 insertions, 3 deletions
diff --git a/mysql-test/t/explain_json.test b/mysql-test/t/explain_json.test
index aedff8d78cb..887ef66bff9 100644
--- a/mysql-test/t/explain_json.test
+++ b/mysql-test/t/explain_json.test
@@ -14,14 +14,29 @@ explain format=json select * from t0 where 1>2;
explain format=json select * from t0 where a<3;
+--echo # Try a basic join
create table t1 (a int, b int, filler char(32), key(a));
insert into t1
select
- A.a + B.a* 10 + C.a * 100,
- A.a + B.a* 10 + C.a * 100,
+ a.a + b.a* 10 + c.a * 100,
+ a.a + b.a* 10 + c.a * 100,
'filler'
-from t0 A, t0 B, t0 C;
+from t0 a, t0 b, t0 c;
explain format=json select * from t0,t1 where t1.a=t0.a;
+--echo # Try range and index_merge
+create table t2 (a1 int, a2 int, b1 int, b2 int, key(a1,a2), key(b1,b2));
+insert into t2 select a,a,a,a from t1;
+
+explain format=json select * from t2 where a1<5;
+
+explain format=json select * from t2 where a1=1 or b1=2;
+explain format=json select * from t2 where a1=1 or (b1=2 and b2=3);
+
+--echo # Try ref access on two key components
+
+explain format=json select * from t0,t2 where t2.b1=t0.a and t2.b2=4;
+
+drop table t1;
drop table t0;