|
int sqlite3_status(int op, int *pCurrent, int *pHighwater, int resetFlag);
This interface is used to retrieve runtime status information about the performance of SQLite, and optionally to reset various highwater marks. The first argument is an integer code for the specific parameter to measure. Recognized integer codes are of the form SQLITE_STATUS_.... The current value of the parameter is returned into *pCurrent. The highest recorded value is returned in *pHighwater. If the resetFlag is true, then the highest record value is reset after *pHighwater is written. Some parameters do not record the highest value. For those parameters nothing is written into *pHighwater and the resetFlag is ignored. Other parameters record only the highwater mark and not the current value. For these latter parameters nothing is written into *pCurrent.
The sqlite3_status() routine returns SQLITE_OK on success and a non-zero error code on failure.
This routine is threadsafe but is not atomic. This routine can be called while other threads are running the same or different SQLite interfaces. However the values returned in *pCurrent and *pHighwater reflect the status of SQLite at different points in time and it is possible that another thread might change the parameter in between the times when *pCurrent and *pHighwater are written.
See also: sqlite3_db_status()