diff options
author | dan <dan@noemail.net> | 2010-11-09 14:48:59 +0000 |
---|---|---|
committer | dan <dan@noemail.net> | 2010-11-09 14:48:59 +0000 |
commit | 4a07e3db27c7f7f455c840400fae330b1992b49e (patch) | |
tree | c863def05fa51cb037b03b6ec977926a1a410e31 /src/expr.c | |
parent | 2ce224535f1ac28414853e577610cf1b31a41339 (diff) | |
download | sqlite-4a07e3db27c7f7f455c840400fae330b1992b49e.tar.gz sqlite-4a07e3db27c7f7f455c840400fae330b1992b49e.zip |
Further enhancements and fixes for explain query plan.
FossilOrigin-Name: 73c93f5a2a32ee8c5d07c9ba33b2641e72626627
Diffstat (limited to 'src/expr.c')
-rw-r--r-- | src/expr.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/expr.c b/src/expr.c index ab66e9fc1..a88208bd9 100644 --- a/src/expr.c +++ b/src/expr.c @@ -1600,6 +1600,16 @@ int sqlite3CodeSubselect( assert( testAddr>0 || pParse->db->mallocFailed ); } +#ifndef SQLITE_OMIT_EXPLAIN + if( pParse->explain==2 ){ + char *zMsg = sqlite3MPrintf( + pParse->db, "EXECUTE %s%s SUBQUERY %d", testAddr?"":"CORRELATED ", + pExpr->op==TK_IN?"LIST":"SCALAR", pParse->iNextSelectId + ); + sqlite3VdbeAddOp4(v, OP_Explain, pParse->iSelectId, 0, 0, zMsg, P4_DYNAMIC); + } +#endif + switch( pExpr->op ){ case TK_IN: { char affinity; /* Affinity of the LHS of the IN */ |