mirror of
https://github.com/sqlite/sqlite.git
synced 2025-07-29 08:01:23 +03:00
Fixes to EXPLAIN QUERY PLAN output. Change weights back to something closer
to what they are in legacy. More test case fixes. FossilOrigin-Name: 36373b85f9a97840aa06e24ae31c12fcfbae084e
This commit is contained in:
24
manifest
24
manifest
@ -1,5 +1,5 @@
|
|||||||
C Handle\svirtual\stables\scorrectly\swhen\susing\slogarithmic\scosts.\s\sFixes\nto\stest\scases.
|
C Fixes\sto\sEXPLAIN\sQUERY\sPLAN\soutput.\s\sChange\sweights\sback\sto\ssomething\scloser\nto\swhat\sthey\sare\sin\slegacy.\s\sMore\stest\scase\sfixes.
|
||||||
D 2013-06-11T01:50:08.263
|
D 2013-06-11T02:32:50.482
|
||||||
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
|
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
|
||||||
F Makefile.in 5e41da95d92656a5004b03d3576e8b226858a28e
|
F Makefile.in 5e41da95d92656a5004b03d3576e8b226858a28e
|
||||||
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
|
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
|
||||||
@ -215,7 +215,7 @@ F src/printf.c bff529ed47657098c55c9910b9c69b1b3b1a1353
|
|||||||
F src/random.c cd4a67b3953b88019f8cd4ccd81394a8ddfaba50
|
F src/random.c cd4a67b3953b88019f8cd4ccd81394a8ddfaba50
|
||||||
F src/resolve.c 89f9003e8316ee3a172795459efc2a0274e1d5a8
|
F src/resolve.c 89f9003e8316ee3a172795459efc2a0274e1d5a8
|
||||||
F src/rowset.c 64655f1a627c9c212d9ab497899e7424a34222e0
|
F src/rowset.c 64655f1a627c9c212d9ab497899e7424a34222e0
|
||||||
F src/select.c ddcf0c795f690968de66ab21051e764ca1c13f09
|
F src/select.c 588ae13fc3d10dc812a0832fd143374583beb847
|
||||||
F src/shell.c ab6eea968c8745be3aa74e45fedb37d057b4cd0d
|
F src/shell.c ab6eea968c8745be3aa74e45fedb37d057b4cd0d
|
||||||
F src/sqlite.h.in 5b390ca5d94e09e56e7fee6a51ddde4721b89f8e
|
F src/sqlite.h.in 5b390ca5d94e09e56e7fee6a51ddde4721b89f8e
|
||||||
F src/sqlite3.rc fea433eb0a59f4c9393c8e6d76a6e2596b1fe0c0
|
F src/sqlite3.rc fea433eb0a59f4c9393c8e6d76a6e2596b1fe0c0
|
||||||
@ -289,7 +289,7 @@ F src/vtab.c b05e5f1f4902461ba9f5fc49bb7eb7c3a0741a83
|
|||||||
F src/wal.c 436bfceb141b9423c45119e68e444358ee0ed35d
|
F src/wal.c 436bfceb141b9423c45119e68e444358ee0ed35d
|
||||||
F src/wal.h df01efe09c5cb8c8e391ff1715cca294f89668a4
|
F src/wal.h df01efe09c5cb8c8e391ff1715cca294f89668a4
|
||||||
F src/walker.c 4fa43583d0a84b48f93b1e88f11adf2065be4e73
|
F src/walker.c 4fa43583d0a84b48f93b1e88f11adf2065be4e73
|
||||||
F src/where.c 72f9aa6c35dadf0d432c2d80fd117d8887f70473
|
F src/where.c 1241512fecb60142384231ba902e3b68a550c0b8
|
||||||
F test/8_3_names.test ebbb5cd36741350040fd28b432ceadf495be25b2
|
F test/8_3_names.test ebbb5cd36741350040fd28b432ceadf495be25b2
|
||||||
F test/aggerror.test a867e273ef9e3d7919f03ef4f0e8c0d2767944f2
|
F test/aggerror.test a867e273ef9e3d7919f03ef4f0e8c0d2767944f2
|
||||||
F test/aggnested.test 45c0201e28045ad38a530b5a144b73cd4aa2cfd6
|
F test/aggnested.test 45c0201e28045ad38a530b5a144b73cd4aa2cfd6
|
||||||
@ -620,7 +620,7 @@ F test/jrnlmode3.test 556b447a05be0e0963f4311e95ab1632b11c9eaa
|
|||||||
F test/keyword1.test a2400977a2e4fde43bf33754c2929fda34dbca05
|
F test/keyword1.test a2400977a2e4fde43bf33754c2929fda34dbca05
|
||||||
F test/lastinsert.test 474d519c68cb79d07ecae56a763aa7f322c72f51
|
F test/lastinsert.test 474d519c68cb79d07ecae56a763aa7f322c72f51
|
||||||
F test/laststmtchanges.test ae613f53819206b3222771828d024154d51db200
|
F test/laststmtchanges.test ae613f53819206b3222771828d024154d51db200
|
||||||
F test/like.test 52e650adfa208325f928b847571d77b647af07c3
|
F test/like.test 935fb4f608e3ea126891496a6e99b9468372bf5c
|
||||||
F test/like2.test 3b2ee13149ba4a8a60b59756f4e5d345573852da
|
F test/like2.test 3b2ee13149ba4a8a60b59756f4e5d345573852da
|
||||||
F test/limit.test cc0ab63385239b63c72452b0e93700bf5e8f0b99
|
F test/limit.test cc0ab63385239b63c72452b0e93700bf5e8f0b99
|
||||||
F test/loadext.test 92e6dfefd1229c3ef4aaabd87419efd8fa57a7a5
|
F test/loadext.test 92e6dfefd1229c3ef4aaabd87419efd8fa57a7a5
|
||||||
@ -1029,9 +1029,9 @@ F test/walro.test 6cc247a0cc9b36aeea2057dd28a922a1cdfbd630
|
|||||||
F test/walshared.test 0befc811dcf0b287efae21612304d15576e35417
|
F test/walshared.test 0befc811dcf0b287efae21612304d15576e35417
|
||||||
F test/walslow.test e7be6d9888f83aa5d3d3c7c08aa9b5c28b93609a
|
F test/walslow.test e7be6d9888f83aa5d3d3c7c08aa9b5c28b93609a
|
||||||
F test/walthread.test de8dbaf6d9e41481c460ba31ca61e163d7348f8e
|
F test/walthread.test de8dbaf6d9e41481c460ba31ca61e163d7348f8e
|
||||||
F test/where.test 054a6b6f7933c5a5f50d0bcd650b5eccb450cc81
|
F test/where.test cd13d4804b8f2986b176fb45c0a43fbbba64215a
|
||||||
F test/where2.test 116fb0d6e98a423d12eb9a65906218ce09936674
|
F test/where2.test 58cc3f85c082015144bc34c7ffdbd64134f650ee
|
||||||
F test/where3.test 1f2a9c997243dc39c67d38fe6d73254ab2f880b8
|
F test/where3.test f2a7027e1971d583069947edba0a31563e86284f
|
||||||
F test/where4.test e9b9e2f2f98f00379e6031db6a6fca29bae782a2
|
F test/where4.test e9b9e2f2f98f00379e6031db6a6fca29bae782a2
|
||||||
F test/where5.test fdf66f96d29a064b63eb543e28da4dfdccd81ad2
|
F test/where5.test fdf66f96d29a064b63eb543e28da4dfdccd81ad2
|
||||||
F test/where6.test 5da5a98cec820d488e82708301b96cb8c18a258b
|
F test/where6.test 5da5a98cec820d488e82708301b96cb8c18a258b
|
||||||
@ -1043,7 +1043,7 @@ F test/whereA.test 24c234263c8fe358f079d5e57d884fb569d2da0a
|
|||||||
F test/whereB.test 0def95db3bdec220a731c7e4bec5930327c1d8c5
|
F test/whereB.test 0def95db3bdec220a731c7e4bec5930327c1d8c5
|
||||||
F test/whereC.test d6f4ecd4fa2d9429681a5b22a25d2bda8e86ab8a
|
F test/whereC.test d6f4ecd4fa2d9429681a5b22a25d2bda8e86ab8a
|
||||||
F test/whereD.test 6c2feb79ef1f68381b07f39017fe5f9b96da8d62
|
F test/whereD.test 6c2feb79ef1f68381b07f39017fe5f9b96da8d62
|
||||||
F test/whereE.test 7bd34945797efef15819368479bacc34215e4e1d
|
F test/whereE.test b3a055eef928c992b0a33198a7b8dc10eea5ad2f
|
||||||
F test/whereF.test a0e296643cabe5278379bc1a0aa158cf3c54a1c9
|
F test/whereF.test a0e296643cabe5278379bc1a0aa158cf3c54a1c9
|
||||||
F test/wherelimit.test 5e9fd41e79bb2b2d588ed999d641d9c965619b31
|
F test/wherelimit.test 5e9fd41e79bb2b2d588ed999d641d9c965619b31
|
||||||
F test/win32lock.test 7a6bd73a5dcdee39b5bb93e92395e1773a194361
|
F test/win32lock.test 7a6bd73a5dcdee39b5bb93e92395e1773a194361
|
||||||
@ -1095,7 +1095,7 @@ F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
|
|||||||
F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381
|
F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381
|
||||||
F tool/wherecosttest.c 4d0393bdbe7230adb712e925863744dd2b7ffc5b
|
F tool/wherecosttest.c 4d0393bdbe7230adb712e925863744dd2b7ffc5b
|
||||||
F tool/win/sqlite.vsix 97894c2790eda7b5bce3cc79cb2a8ec2fde9b3ac
|
F tool/win/sqlite.vsix 97894c2790eda7b5bce3cc79cb2a8ec2fde9b3ac
|
||||||
P aa580e368e3c398b8377b80342dfdd906324c248
|
P e612664aa2e24ed5e222be2c7fe16e210ac9bded
|
||||||
R dc216beb84f13406fad3ccd046a844fe
|
R 22fdd5c799c9a709871f8decba5b6ac4
|
||||||
U drh
|
U drh
|
||||||
Z a1ab90c9180f43596814678177a2e938
|
Z 5d13a5c0b3748ceb3b9bdd15d82353e6
|
||||||
|
@ -1 +1 @@
|
|||||||
e612664aa2e24ed5e222be2c7fe16e210ac9bded
|
36373b85f9a97840aa06e24ae31c12fcfbae084e
|
@ -3884,11 +3884,10 @@ static void explainSimpleCount(
|
|||||||
Index *pIdx /* Index used to optimize scan, or NULL */
|
Index *pIdx /* Index used to optimize scan, or NULL */
|
||||||
){
|
){
|
||||||
if( pParse->explain==2 ){
|
if( pParse->explain==2 ){
|
||||||
char *zEqp = sqlite3MPrintf(pParse->db, "SCAN TABLE %s %s%s(~%d rows)",
|
char *zEqp = sqlite3MPrintf(pParse->db, "SCAN TABLE %s%s%s",
|
||||||
pTab->zName,
|
pTab->zName,
|
||||||
pIdx ? "USING COVERING INDEX " : "",
|
pIdx ? " USING COVERING INDEX " : "",
|
||||||
pIdx ? pIdx->zName : "",
|
pIdx ? pIdx->zName : ""
|
||||||
pTab->nRowEst
|
|
||||||
);
|
);
|
||||||
sqlite3VdbeAddOp4(
|
sqlite3VdbeAddOp4(
|
||||||
pParse->pVdbe, OP_Explain, pParse->iSelectId, 0, 0, zEqp, P4_DYNAMIC
|
pParse->pVdbe, OP_Explain, pParse->iSelectId, 0, 0, zEqp, P4_DYNAMIC
|
||||||
|
@ -4308,7 +4308,7 @@ static int whereLoopAddBtreeIndex(
|
|||||||
}else{
|
}else{
|
||||||
/* Each row involves a step of the index, then a binary search of
|
/* Each row involves a step of the index, then a binary search of
|
||||||
** the main table */
|
** the main table */
|
||||||
WhereCost rStepAndSearch = rLogSize>80 ? rLogSize-80 : 1;
|
WhereCost rStepAndSearch = whereCostAdd(10, rLogSize>17 ? rLogSize-17 : 1);
|
||||||
pNew->rRun = whereCostAdd(pNew->rRun, rStepAndSearch);
|
pNew->rRun = whereCostAdd(pNew->rRun, rStepAndSearch);
|
||||||
}
|
}
|
||||||
/* TBD: Adjust nOut for additional constraints */
|
/* TBD: Adjust nOut for additional constraints */
|
||||||
|
@ -166,13 +166,13 @@ proc queryplan {sql} {
|
|||||||
set eqp [execsql "EXPLAIN QUERY PLAN $sql"]
|
set eqp [execsql "EXPLAIN QUERY PLAN $sql"]
|
||||||
# puts eqp=$eqp
|
# puts eqp=$eqp
|
||||||
foreach {a b c x} $eqp {
|
foreach {a b c x} $eqp {
|
||||||
if {[regexp { TABLE (\w+ AS )?(\w+) USING COVERING INDEX (\w+)\W} \
|
if {[regexp { TABLE (\w+ AS )?(\w+) USING COVERING INDEX (\w+)\y} \
|
||||||
$x all as tab idx]} {
|
$x all as tab idx]} {
|
||||||
lappend data {} $idx
|
lappend data {} $idx
|
||||||
} elseif {[regexp { TABLE (\w+ AS )?(\w+) USING.* INDEX (\w+)\W} \
|
} elseif {[regexp { TABLE (\w+ AS )?(\w+) USING.* INDEX (\w+)\y} \
|
||||||
$x all as tab idx]} {
|
$x all as tab idx]} {
|
||||||
lappend data $tab $idx
|
lappend data $tab $idx
|
||||||
} elseif {[regexp { TABLE (\w+ AS )?(\w+)\W} $x all as tab]} {
|
} elseif {[regexp { TABLE (\w+ AS )?(\w+)\y} $x all as tab]} {
|
||||||
lappend data $tab *
|
lappend data $tab *
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -67,7 +67,7 @@ do_test where-1.1.1 {
|
|||||||
} {3 121 10 3}
|
} {3 121 10 3}
|
||||||
do_eqp_test where-1.1.2 {
|
do_eqp_test where-1.1.2 {
|
||||||
SELECT x, y, w FROM t1 WHERE w=10
|
SELECT x, y, w FROM t1 WHERE w=10
|
||||||
} {*SEARCH TABLE t1 USING INDEX i1w (w=?) *}
|
} {*SEARCH TABLE t1 USING INDEX i1w (w=?)*}
|
||||||
do_test where-1.1.3 {
|
do_test where-1.1.3 {
|
||||||
db status step
|
db status step
|
||||||
} {0}
|
} {0}
|
||||||
@ -79,13 +79,13 @@ do_test where-1.1.5 {
|
|||||||
} {99}
|
} {99}
|
||||||
do_eqp_test where-1.1.6 {
|
do_eqp_test where-1.1.6 {
|
||||||
SELECT x, y, w FROM t1 WHERE +w=10
|
SELECT x, y, w FROM t1 WHERE +w=10
|
||||||
} {*SCAN TABLE t1 *}
|
} {*SCAN TABLE t1*}
|
||||||
do_test where-1.1.7 {
|
do_test where-1.1.7 {
|
||||||
count {SELECT x, y, w AS abc FROM t1 WHERE abc=10}
|
count {SELECT x, y, w AS abc FROM t1 WHERE abc=10}
|
||||||
} {3 121 10 3}
|
} {3 121 10 3}
|
||||||
do_eqp_test where-1.1.8 {
|
do_eqp_test where-1.1.8 {
|
||||||
SELECT x, y, w AS abc FROM t1 WHERE abc=10
|
SELECT x, y, w AS abc FROM t1 WHERE abc=10
|
||||||
} {*SEARCH TABLE t1 USING INDEX i1w (w=?) *}
|
} {*SEARCH TABLE t1 USING INDEX i1w (w=?)*}
|
||||||
do_test where-1.1.9 {
|
do_test where-1.1.9 {
|
||||||
db status step
|
db status step
|
||||||
} {0}
|
} {0}
|
||||||
@ -106,19 +106,19 @@ do_test where-1.4.1 {
|
|||||||
} {11 3 144 3}
|
} {11 3 144 3}
|
||||||
do_eqp_test where-1.4.2 {
|
do_eqp_test where-1.4.2 {
|
||||||
SELECT w, x, y FROM t1 WHERE 11=w AND x>2
|
SELECT w, x, y FROM t1 WHERE 11=w AND x>2
|
||||||
} {*SEARCH TABLE t1 USING INDEX i1w (w=?) *}
|
} {*SEARCH TABLE t1 USING INDEX i1w (w=?)*}
|
||||||
do_test where-1.4.3 {
|
do_test where-1.4.3 {
|
||||||
count {SELECT w AS a, x AS b, y FROM t1 WHERE 11=a AND b>2}
|
count {SELECT w AS a, x AS b, y FROM t1 WHERE 11=a AND b>2}
|
||||||
} {11 3 144 3}
|
} {11 3 144 3}
|
||||||
do_eqp_test where-1.4.4 {
|
do_eqp_test where-1.4.4 {
|
||||||
SELECT w AS a, x AS b, y FROM t1 WHERE 11=a AND b>2
|
SELECT w AS a, x AS b, y FROM t1 WHERE 11=a AND b>2
|
||||||
} {*SEARCH TABLE t1 USING INDEX i1w (w=?) *}
|
} {*SEARCH TABLE t1 USING INDEX i1w (w=?)*}
|
||||||
do_test where-1.5 {
|
do_test where-1.5 {
|
||||||
count {SELECT x, y FROM t1 WHERE y<200 AND w=11 AND x>2}
|
count {SELECT x, y FROM t1 WHERE y<200 AND w=11 AND x>2}
|
||||||
} {3 144 3}
|
} {3 144 3}
|
||||||
do_eqp_test where-1.5.2 {
|
do_eqp_test where-1.5.2 {
|
||||||
SELECT x, y FROM t1 WHERE y<200 AND w=11 AND x>2
|
SELECT x, y FROM t1 WHERE y<200 AND w=11 AND x>2
|
||||||
} {*SEARCH TABLE t1 USING INDEX i1w (w=?) *}
|
} {*SEARCH TABLE t1 USING INDEX i1w (w=?)*}
|
||||||
do_test where-1.6 {
|
do_test where-1.6 {
|
||||||
count {SELECT x, y FROM t1 WHERE y<200 AND x>2 AND w=11}
|
count {SELECT x, y FROM t1 WHERE y<200 AND x>2 AND w=11}
|
||||||
} {3 144 3}
|
} {3 144 3}
|
||||||
@ -130,10 +130,10 @@ do_test where-1.8 {
|
|||||||
} {3 144 3}
|
} {3 144 3}
|
||||||
do_eqp_test where-1.8.2 {
|
do_eqp_test where-1.8.2 {
|
||||||
SELECT x, y FROM t1 WHERE w>10 AND y=144 AND x=3
|
SELECT x, y FROM t1 WHERE w>10 AND y=144 AND x=3
|
||||||
} {*SEARCH TABLE t1 USING INDEX i1xy (x=? AND y=?) *}
|
} {*SEARCH TABLE t1 USING INDEX i1xy (x=? AND y=?)*}
|
||||||
do_eqp_test where-1.8.3 {
|
do_eqp_test where-1.8.3 {
|
||||||
SELECT x, y FROM t1 WHERE y=144 AND x=3
|
SELECT x, y FROM t1 WHERE y=144 AND x=3
|
||||||
} {*SEARCH TABLE t1 USING COVERING INDEX i1xy (x=? AND y=?) *}
|
} {*SEARCH TABLE t1 USING COVERING INDEX i1xy (x=? AND y=?)*}
|
||||||
do_test where-1.9 {
|
do_test where-1.9 {
|
||||||
count {SELECT x, y FROM t1 WHERE y=144 AND w>10 AND x=3}
|
count {SELECT x, y FROM t1 WHERE y=144 AND w>10 AND x=3}
|
||||||
} {3 144 3}
|
} {3 144 3}
|
||||||
|
@ -76,10 +76,10 @@ proc queryplan {sql} {
|
|||||||
set eqp [execsql "EXPLAIN QUERY PLAN $sql"]
|
set eqp [execsql "EXPLAIN QUERY PLAN $sql"]
|
||||||
# puts eqp=$eqp
|
# puts eqp=$eqp
|
||||||
foreach {a b c x} $eqp {
|
foreach {a b c x} $eqp {
|
||||||
if {[regexp { TABLE (\w+ AS )?(\w+) USING.* INDEX (\w+)\W} \
|
if {[regexp { TABLE (\w+ AS )?(\w+) USING.* INDEX (\w+)\y} \
|
||||||
$x all as tab idx]} {
|
$x all as tab idx]} {
|
||||||
lappend data $tab $idx
|
lappend data $tab $idx
|
||||||
} elseif {[regexp { TABLE (\w+ AS )?(\w+)\W} $x all as tab]} {
|
} elseif {[regexp { TABLE (\w+ AS )?(\w+)\y} $x all as tab]} {
|
||||||
lappend data $tab *
|
lappend data $tab *
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -111,10 +111,10 @@ proc queryplan {sql} {
|
|||||||
set eqp [execsql "EXPLAIN QUERY PLAN $sql"]
|
set eqp [execsql "EXPLAIN QUERY PLAN $sql"]
|
||||||
# puts eqp=$eqp
|
# puts eqp=$eqp
|
||||||
foreach {a b c x} $eqp {
|
foreach {a b c x} $eqp {
|
||||||
if {[regexp { TABLE (\w+ AS )?(\w+) USING.* INDEX (\w+)\W} \
|
if {[regexp { TABLE (\w+ AS )?(\w+) USING.* INDEX (\w+)\y} \
|
||||||
$x all as tab idx]} {
|
$x all as tab idx]} {
|
||||||
lappend data $tab $idx
|
lappend data $tab $idx
|
||||||
} elseif {[regexp { TABLE (\w+ AS )?(\w+)\W} $x all as tab]} {
|
} elseif {[regexp { TABLE (\w+ AS )?(\w+)\y} $x all as tab]} {
|
||||||
lappend data $tab *
|
lappend data $tab *
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -47,16 +47,16 @@ do_execsql_test 1.1 {
|
|||||||
CREATE UNIQUE INDEX t2zx ON t2(z,x);
|
CREATE UNIQUE INDEX t2zx ON t2(z,x);
|
||||||
|
|
||||||
EXPLAIN QUERY PLAN SELECT x FROM t1, t2 WHERE a=z AND c=x;
|
EXPLAIN QUERY PLAN SELECT x FROM t1, t2 WHERE a=z AND c=x;
|
||||||
} {/.*SCAN TABLE t1 .*SEARCH TABLE t2 .*/}
|
} {/.*SCAN TABLE t1.*SEARCH TABLE t2.*/}
|
||||||
do_execsql_test 1.2 {
|
do_execsql_test 1.2 {
|
||||||
EXPLAIN QUERY PLAN SELECT x FROM t2, t1 WHERE a=z AND c=x;
|
EXPLAIN QUERY PLAN SELECT x FROM t2, t1 WHERE a=z AND c=x;
|
||||||
} {/.*SCAN TABLE t1 .*SEARCH TABLE t2 .*/}
|
} {/.*SCAN TABLE t1.*SEARCH TABLE t2.*/}
|
||||||
do_execsql_test 1.3 {
|
do_execsql_test 1.3 {
|
||||||
ANALYZE;
|
ANALYZE;
|
||||||
EXPLAIN QUERY PLAN SELECT x FROM t1, t2 WHERE a=z AND c=x;
|
EXPLAIN QUERY PLAN SELECT x FROM t1, t2 WHERE a=z AND c=x;
|
||||||
} {/.*SCAN TABLE t1 .*SEARCH TABLE t2 .*/}
|
} {/.*SCAN TABLE t1.*SEARCH TABLE t2.*/}
|
||||||
do_execsql_test 1.4 {
|
do_execsql_test 1.4 {
|
||||||
EXPLAIN QUERY PLAN SELECT x FROM t2, t1 WHERE a=z AND c=x;
|
EXPLAIN QUERY PLAN SELECT x FROM t2, t1 WHERE a=z AND c=x;
|
||||||
} {/.*SCAN TABLE t1 .*SEARCH TABLE t2 .*/}
|
} {/.*SCAN TABLE t1.*SEARCH TABLE t2.*/}
|
||||||
|
|
||||||
finish_test
|
finish_test
|
||||||
|
Reference in New Issue
Block a user