aboutsummaryrefslogtreecommitdiff
path: root/src/vdbeapi.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/vdbeapi.c')
-rw-r--r--src/vdbeapi.c12
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;