aboutsummaryrefslogtreecommitdiff
path: root/src/wherecode.c
diff options
context:
space:
mode:
authordan <Dan Kennedy>2023-06-30 18:31:37 +0000
committerdan <Dan Kennedy>2023-06-30 18:31:37 +0000
commit24b368da8dac15cb7d3997ae4fa27d76f0fc682a (patch)
tree78a1da7a2f8421b6172bf8168d515d5f1d3d9357 /src/wherecode.c
parent1bfe92a691ebab1a80f0743b1483c13adb206c1b (diff)
parent4cd3a59a79ef2864bc071a2e7219720f8957673c (diff)
downloadsqlite-24b368da8dac15cb7d3997ae4fa27d76f0fc682a.tar.gz
sqlite-24b368da8dac15cb7d3997ae4fa27d76f0fc682a.zip
Add support for sqlite3_stmt_scanstatus_v2() profiling of GROUP BY clauses that use a temp b-tree, and for sub-queries implemented as co-routines.
FossilOrigin-Name: 7afad1f759f7ceda873c6d869422fd56fe4399c2d24d47ad9bc3b84b06d830d1
Diffstat (limited to 'src/wherecode.c')
-rw-r--r--src/wherecode.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/wherecode.c b/src/wherecode.c
index 5d611f1f1..47ce36ce3 100644
--- a/src/wherecode.c
+++ b/src/wherecode.c
@@ -315,6 +315,12 @@ void sqlite3WhereAddScanStatus(
if( wsFlags & WHERE_INDEXED ){
sqlite3VdbeScanStatusRange(v, addrExplain, -1, pLvl->iIdxCur);
}
+ }else{
+ int addr = pSrclist->a[pLvl->iFrom].addrFillSub;
+ VdbeOp *pOp = sqlite3VdbeGetOp(v, addr-1);
+ assert( sqlite3VdbeDb(v)->mallocFailed || pOp->opcode==OP_InitCoroutine );
+ assert( sqlite3VdbeDb(v)->mallocFailed || pOp->p2>addr );
+ sqlite3VdbeScanStatusRange(v, addrExplain, addr, pOp->p2-1);
}
}
}