Small. Fast. Reliable.
Choose any three.

SQLite C Interface

Prepared Statement Scan Status

int sqlite3_stmt_scanstatus(
  sqlite3_stmt *pStmt,      /* Prepared statement for which info desired */
  int idx,                  /* Index of loop to report on */
  int iScanStatusOp,        /* Information desired.  SQLITE_SCANSTAT_* */
  void *pOut                /* Result written here */
);

This interface returns information about the predicted and measured performance for pStmt. Advanced applications can use this interface to compare the predicted and the measured performance and issue warnings and/or rerun ANALYZE if discrepancies are found.

Since this interface is expected to be rarely used, it is only available if SQLite is compiled using the SQLITE_ENABLE_STMT_SCANSTATUS compile-time option.

The "iScanStatusOp" parameter determines which status information to return. The "iScanStatusOp" must be one of the scanstatus options or the behavior of this interface is undefined. R-07848-59274:[The requested measurement is written into a variable pointed to by the "pOut" parameter. ] Parameter "idx" identifies the specific loop to retrieve statistics for. Loops are numbered starting from zero. R-43833-46001:[If idx is out of range - less than zero or greater than or equal to the total number of loops used to implement the statement - a non-zero value is returned and the variable that pOut points to is unchanged. ]

R-58777-16499:[Statistics might not be available for all loops in all statements. ] R-44544-27073:[In cases where there exist loops with no available statistics, this function behaves as if the loop did not exist - it returns non-zero and leave the variable that pOut points to unchanged. ]

See also: sqlite3_stmt_scanstatus_reset()

See also lists of Objects, Constants, and Functions.