Status Parameters
Status Parameters
#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.SQLITE_STATUS_MALLOC_SIZET中的xSize方法报告的分配大小的总和。该参数记录递交给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_SIZET此参数记录递交给pagecache内存分配器的最大内存分配请求。只有* pHighwater参数返回给sqlite3_status()的值才是有意义的。写入* pCurrent参数的值未定义.SQLITE_STATUS_SCRATCH_USED不再使用.SQLITE_STATUS_SCRATCH_OVERFLOWN使用时间更长.SQLITE_STATUS_SCRATCH_SIZEN使用时间更长。SQLITE_STATUS_PARSER_STACK * pHighwater参数记录最深的解析器堆栈。* pCurrent值未定义。* pHighwater值仅在使用YYTRACKMAXSTACKDEPTH编译SQLite时才有意义。SQLITE_STATUS_SCRATCH_OVERFLOWN使用时间更长。SQLITE_STATUS_SCRATCH_SIZEN使用时间更长。SQLITE_STATUS_PARSER_STACK * pHighwater参数记录最深的解析器堆栈。* pCurrent值未定义。* pHighwater值仅在使用YYTRACKMAXSTACKDEPTH编译SQLite时才有意义。SQLITE_STATUS_SCRATCH_OVERFLOWN使用时间更长。SQLITE_STATUS_SCRATCH_SIZEN使用时间更长。SQLITE_STATUS_PARSER_STACK * pHighwater参数记录最深的解析器堆栈。* pCurrent值未定义。* pHighwater值仅在使用YYTRACKMAXSTACKDEPTH编译SQLite时才有意义。
新的状态参数可能会不时添加。