diff options
author | dan <Dan Kennedy> | 2022-12-03 18:16:25 +0000 |
---|---|---|
committer | dan <Dan Kennedy> | 2022-12-03 18:16:25 +0000 |
commit | f6f01f15dd9ff495ac59f5abc3bbe15f4d8e88c8 (patch) | |
tree | a86050a52d627e409f41dc8e0dd75623a9830b67 /src/vdbeapi.c | |
parent | 231ff4b027b077ce9ac0c829cd9cee4108ca9b7a (diff) | |
download | sqlite-f6f01f15dd9ff495ac59f5abc3bbe15f4d8e88c8.tar.gz sqlite-f6f01f15dd9ff495ac59f5abc3bbe15f4d8e88c8.zip |
Add CYCLES scanstat measurement to "USE TEMP B-TREE FOR ORDER BY" lines.
FossilOrigin-Name: 365011ae8b7e3fcaa2c4ea9601231a3ef2223e60d7a53ec33013109dca22ad58
Diffstat (limited to 'src/vdbeapi.c')
-rw-r--r-- | src/vdbeapi.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/vdbeapi.c b/src/vdbeapi.c index 90b0cc60c..c00980d6b 100644 --- a/src/vdbeapi.c +++ b/src/vdbeapi.c @@ -2207,11 +2207,17 @@ int sqlite3_stmt_scanstatus_v2( } case SQLITE_SCANSTAT_NCYCLE: { i64 res = -1; - if( pScan->addrEndRange ){ + if( pScan->aAddrRange[0] ){ int ii; res = 0; - for(ii=pScan->addrExplain; ii<=pScan->addrEndRange; ii++){ - res += p->anCycle[ii]; + for(ii=0; ii<ArraySize(pScan->aAddrRange); ii+=2){ + int iIns = pScan->aAddrRange[ii]; + int iEnd = pScan->aAddrRange[ii+1]; + if( iIns==0 ) break; + while( iIns<=iEnd ){ + res += p->anCycle[iIns]; + iIns++; + } } } *(i64*)pOut = res; |