Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Fix a typo preventing this from building with SQLITE_ENABLE_STMT_SCANSTATUS defined. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | scanstatus |
Files: | files | file ages | folders |
SHA1: |
4c5714ab3dba19513374c7b1478221a0 |
User & Date: | dan 2014-11-03 16:39:37.742 |
Context
2014-11-03
| ||
16:56 | Add the experimental sqlite3_stmt_scanstatus() API. For comparing the number of rows actually visited by a loop with the estimate used by the query planner. (check-in: ab3b0fc576 user: dan tags: trunk) | |
16:39 | Fix a typo preventing this from building with SQLITE_ENABLE_STMT_SCANSTATUS defined. (Closed-Leaf check-in: 4c5714ab3d user: dan tags: scanstatus) | |
16:35 | Refactor the interface to make it more easily extensible. (check-in: 7955342da4 user: drh tags: scanstatus) | |
Changes
Changes to src/sqlite.h.in.
︙ | ︙ | |||
7437 7438 7439 7440 7441 7442 7443 | ** <dd>The "const char *" variable pointed to by the T parameter will be set to ** a zero-terminated UTF-8 string containing the [EXPLAIN QUERY PLAN] description ** for the X-th loop. ** </dl> */ #define SQLITE_SCANSTAT_NLOOP 0 #define SQLITE_SCANSTAT_NVISIT 1 | | | 7437 7438 7439 7440 7441 7442 7443 7444 7445 7446 7447 7448 7449 7450 7451 | ** <dd>The "const char *" variable pointed to by the T parameter will be set to ** a zero-terminated UTF-8 string containing the [EXPLAIN QUERY PLAN] description ** for the X-th loop. ** </dl> */ #define SQLITE_SCANSTAT_NLOOP 0 #define SQLITE_SCANSTAT_NVISIT 1 #define SQLITE_SCANSTAT_EST 2 #define SQLITE_SCANSTAT_NAME 3 #define SQLITE_SCANSTAT_EXPLAIN 4 /* ** CAPI3REF: Prepared Statement Scan Status ** ** Return status data for a single loop within query pStmt. |
︙ | ︙ |
Changes to src/vdbeapi.c.
︙ | ︙ | |||
1500 1501 1502 1503 1504 1505 1506 | break; } case SQLITE_SCANSTAT_EST: { *(sqlite3_int64*)pOut = pScan->nEst; break; } case SQLITE_SCANSTAT_NAME: { | | | 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 | break; } case SQLITE_SCANSTAT_EST: { *(sqlite3_int64*)pOut = pScan->nEst; break; } case SQLITE_SCANSTAT_NAME: { *(const char**)pOut = pScan->zName; break; } case SQLITE_SCANSTAT_EXPLAIN: { if( pScan->addrExplain ){ *(const char**)pOut = p->aOp[ pScan->addrExplain ].p4.z; }else{ *(const char**)pOut = 0; |
︙ | ︙ |