aboutsummaryrefslogtreecommitdiff
path: root/src/expr.c
diff options
context:
space:
mode:
authordan <dan@noemail.net>2010-11-09 14:48:59 +0000
committerdan <dan@noemail.net>2010-11-09 14:48:59 +0000
commit4a07e3db27c7f7f455c840400fae330b1992b49e (patch)
treec863def05fa51cb037b03b6ec977926a1a410e31 /src/expr.c
parent2ce224535f1ac28414853e577610cf1b31a41339 (diff)
downloadsqlite-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.c10
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 */