SQLite C 接口

状态参数

#define SQLITE_STATUS_MEMORY_USED          0
#define SQLITE_STATUS_PAGECACHE_USED       1
#define SQLITE_STATUS_PAGECACHE_OVERFLOW   2
#define SQLITE_STATUS_SCRATCH_USED         3  /* NOT USED */
#define SQLITE_STATUS_SCRATCH_OVERFLOW     4  /* NOT USED */
#define SQLITE_STATUS_MALLOC_SIZE          5
#define SQLITE_STATUS_PARSER_STACK         6
#define SQLITE_STATUS_PAGECACHE_SIZE       7
#define SQLITE_STATUS_SCRATCH_SIZE         8  /* NOT USED */
#define SQLITE_STATUS_MALLOC_COUNT         9

这些整数常量指定可以由sqlite3_status()返回的各种运行时状态参数。

SQLITE_STATUS_MEMORY_USED
此参数是使用sqlite3_malloc()直接或间接检查出的当前内存量。该图包括应用程序对sqlite3_malloc()的调用以及 SQLite 库对内部内存的使用情况。SQLITE_CONFIG_PAGECACHE控制的辅助页面缓存内存不包含在此参数中。返回的数量是sqlite3_mem_methods中的 xSize 方法报告的分配大小的总和

SQLITE_STATUS_MALLOC_SIZE
此参数记录传递给sqlite3_malloc()sqlite3_realloc()(或其内部等效项)的最大内存分配请求。只有在 *pHighwater 参数中返回给sqlite3_status()的值才有意义。写入 *pCurrent 参数的值未定义。

SQLITE_STATUS_MALLOC_COUNT
该参数记录了当前签出的单独内存分配的数量。

SQLITE_STATUS_PAGECACHE_USED
此参数返回 使用SQLITE_CONFIG_PAGECACHE配置 的页面缓存内存分配器中使用的页面数。返回的值以页为单位,而不是以字节为单位。

SQLITE_STATUS_PAGECACHE_OVERFLOW
此参数返回SQLITE_CONFIG_PAGECACHE缓冲区无法满足的页面缓存分配的字节数, 并且被迫溢出到sqlite3_malloc()返回的值包括因为它们太大而溢出的分配(它们大于 SQLITE_CONFIG_PAGECACHE的“sz”参数)和因为页面缓存中没有剩余空间而溢出的分配。

SQLITE_STATUS_PAGECACHE_SIZE
这个参数记录了交给pagecache内存分配器的最大内存分配请求。只有在 *pHighwater 参数中返回给sqlite3_status()的值才有意义。写入 *pCurrent 参数的值未定义。

SQLITE_STATUS_SCRATCH_USED
不再使用。

SQLITE_STATUS_SCRATCH_OVERFLOW
不再使用。

SQLITE_STATUS_SCRATCH_SIZE
不再使用。

SQLITE_STATUS_PARSER_STACK
*pHighwater 参数记录最深的解析器堆栈。*pCurrent 值未定义。*pHighwater 值仅在使用YYTRACKMAXSTACKDEPTH编译 SQLite 时才有意义

可能会不时添加新的状态参数。

另请参阅 对象常量函数的列表。