mirror of
https://github.com/MariaDB/server.git
synced 2025-01-24 07:44:22 +01:00
3c5ce8a0a3
- Drop all tables in explain_json.test - Tabular form should print ref='' when type='fulltext' (another peculiarity of the traditional EXPLAIN format) - String_list::append_str should allocate memory for \0, too - Some temporary code for EXPLAIN JSON and join buffering.
42 lines
1.1 KiB
Text
42 lines
1.1 KiB
Text
#
|
|
# EXPLAIN FORMAT=JSON tests. These are tests developed for MariaDB.
|
|
#
|
|
--disable_warnings
|
|
drop table if exists t0,t1;
|
|
--enable_warnings
|
|
|
|
create table t0(a int);
|
|
insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
|
|
|
explain format=json select * from t0;
|
|
|
|
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,
|
|
'filler'
|
|
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,t2;
|
|
drop table t0;
|