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 时才有意义。
可能会不时添加新的状态参数。