mirror of
https://github.com/sqlite/sqlite.git
synced 2025-07-29 08:01:23 +03:00
Show LEFT and RIGHT JOIN processing in the EXPLAIN QUERY PLAN output.
FossilOrigin-Name: d91faeffea5cf0585fb71e5311fdcc6b8be85c7e9c732050b4448e617c970101
This commit is contained in:
@ -283,7 +283,7 @@ do_eqp_test autoindex1-600a {
|
||||
| `--CORRELATED SCALAR SUBQUERY xxxxxx
|
||||
| `--SEARCH later USING COVERING INDEX sqlite_autoindex_flock_owner_1 (flock_no=? AND owner_change_date>? AND owner_change_date<?)
|
||||
|--SCAN x USING INDEX sheep_reg_flock_index
|
||||
`--SEARCH y USING AUTOMATIC COVERING INDEX (sheep_no=?)
|
||||
`--SEARCH y USING AUTOMATIC COVERING INDEX (sheep_no=?) LEFT-JOIN
|
||||
}
|
||||
|
||||
|
||||
|
@ -100,7 +100,7 @@ do_eqp_test 4.2 {
|
||||
|--MATERIALIZE rr
|
||||
| `--SCAN ft4 VIRTUAL TABLE INDEX 3:
|
||||
|--SCAN t4
|
||||
`--SEARCH rr USING AUTOMATIC COVERING INDEX (docid=?)
|
||||
`--SEARCH rr USING AUTOMATIC COVERING INDEX (docid=?) LEFT-JOIN
|
||||
}
|
||||
|
||||
finish_test
|
||||
|
@ -320,7 +320,7 @@ do_eqp_test index6-8.1 {
|
||||
} {
|
||||
QUERY PLAN
|
||||
|--SCAN t8a
|
||||
`--SEARCH t8b USING INDEX i8c (y=?)
|
||||
`--SEARCH t8b USING INDEX i8c (y=?) LEFT-JOIN
|
||||
}
|
||||
|
||||
do_execsql_test index6-8.2 {
|
||||
|
@ -114,7 +114,7 @@ do_eqp_test 3.1 {
|
||||
} {
|
||||
QUERY PLAN
|
||||
|--SCAN t1
|
||||
`--SEARCH t2 USING INTEGER PRIMARY KEY (rowid=?)
|
||||
`--SEARCH t2 USING INTEGER PRIMARY KEY (rowid=?) LEFT-JOIN
|
||||
}
|
||||
|
||||
do_eqp_test 3.2 {
|
||||
@ -122,7 +122,7 @@ do_eqp_test 3.2 {
|
||||
} {
|
||||
QUERY PLAN
|
||||
|--SCAN t1
|
||||
`--SEARCH t2 USING INTEGER PRIMARY KEY (rowid=?)
|
||||
`--SEARCH t2 USING INTEGER PRIMARY KEY (rowid=?) LEFT-JOIN
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
@ -162,15 +162,15 @@ do_eqp_test 4.1.5 {
|
||||
} {
|
||||
QUERY PLAN
|
||||
|--SCAN c1
|
||||
|--SEARCH c2 USING INTEGER PRIMARY KEY (rowid=?)
|
||||
`--SEARCH c3 USING INTEGER PRIMARY KEY (rowid=?)
|
||||
|--SEARCH c2 USING INTEGER PRIMARY KEY (rowid=?) LEFT-JOIN
|
||||
`--SEARCH c3 USING INTEGER PRIMARY KEY (rowid=?) LEFT-JOIN
|
||||
}
|
||||
do_eqp_test 4.1.6 {
|
||||
SELECT v1, v3 FROM c1 LEFT JOIN c2 ON (c2.k=v1) LEFT JOIN c3 ON (c3.k=v1+1);
|
||||
} {
|
||||
QUERY PLAN
|
||||
|--SCAN c1
|
||||
`--SEARCH c3 USING INTEGER PRIMARY KEY (rowid=?)
|
||||
`--SEARCH c3 USING INTEGER PRIMARY KEY (rowid=?) LEFT-JOIN
|
||||
}
|
||||
|
||||
do_execsql_test 4.2.0 {
|
||||
@ -209,15 +209,15 @@ do_eqp_test 4.2.5 {
|
||||
} {
|
||||
QUERY PLAN
|
||||
|--SCAN c1
|
||||
|--SEARCH c2 USING INDEX sqlite_autoindex_c2_1 (k=?)
|
||||
`--SEARCH c3 USING INDEX sqlite_autoindex_c3_1 (k=?)
|
||||
|--SEARCH c2 USING INDEX sqlite_autoindex_c2_1 (k=?) LEFT-JOIN
|
||||
`--SEARCH c3 USING INDEX sqlite_autoindex_c3_1 (k=?) LEFT-JOIN
|
||||
}
|
||||
do_eqp_test 4.2.6 {
|
||||
SELECT v1, v3 FROM c1 LEFT JOIN c2 ON (c2.k=v1) LEFT JOIN c3 ON (c3.k=v1+1);
|
||||
} {
|
||||
QUERY PLAN
|
||||
|--SCAN c1
|
||||
`--SEARCH c3 USING INDEX sqlite_autoindex_c3_1 (k=?)
|
||||
`--SEARCH c3 USING INDEX sqlite_autoindex_c3_1 (k=?) LEFT-JOIN
|
||||
}
|
||||
|
||||
# 2017-11-23 (Thanksgiving day)
|
||||
|
@ -280,9 +280,9 @@ do_eqp_test 7.2 {
|
||||
|--SCAN t1
|
||||
`--MULTI-INDEX OR
|
||||
|--INDEX 1
|
||||
| `--SEARCH t2 USING INDEX t2xy (x=? AND y=?)
|
||||
| `--SEARCH t2 USING INDEX t2xy (x=? AND y=?) LEFT-JOIN
|
||||
`--INDEX 2
|
||||
`--SEARCH t2 USING INDEX t2xy (x=? AND y=?)
|
||||
`--SEARCH t2 USING INDEX t2xy (x=? AND y=?) LEFT-JOIN
|
||||
}
|
||||
|
||||
do_execsql_test 7.3 {
|
||||
@ -303,7 +303,7 @@ do_eqp_test 7.4 {
|
||||
} {
|
||||
QUERY PLAN
|
||||
|--SCAN t3
|
||||
`--SEARCH t4 USING INDEX t4xz (x=?)
|
||||
`--SEARCH t4 USING INDEX t4xz (x=?) LEFT-JOIN
|
||||
}
|
||||
do_eqp_test 7.4b {
|
||||
SELECT * FROM t3 CROSS JOIN t4 ON (t4.x = t3.x) WHERE (+t4.y = ? OR t4.z = ?);
|
||||
|
@ -378,9 +378,9 @@ ifcapable explain {
|
||||
|--SEARCH t1 USING INTEGER PRIMARY KEY (rowid=?)
|
||||
`--MULTI-INDEX OR
|
||||
|--INDEX 1
|
||||
| `--SEARCH t2 USING INDEX t2d (d=?)
|
||||
| `--SEARCH t2 USING INDEX t2d (d=?) LEFT-JOIN
|
||||
`--INDEX 2
|
||||
`--SEARCH t2 USING COVERING INDEX t2f (f=?)
|
||||
`--SEARCH t2 USING COVERING INDEX t2f (f=?) LEFT-JOIN
|
||||
}]
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user