Параметры состояния
#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, в этот параметр не включена. Возвращаемое значение — сумма размеров выделений, как сообщается методом xSize в sqlite3_mem_methods.
- 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(). Возвращаемое значение включает выделения, которые переполнились, потому что были слишком большими (они были больше параметра "sz" в SQLITE_CONFIG_PAGECACHE), и выделения, которые переполнились, потому что не осталось места в кэше страниц.
- SQLITE_STATUS_PAGECACHE_SIZE
- Этот параметр записывает самый большой запрос на выделение памяти, переданный кэшу страниц. Интересно только значение, возвращаемое в параметре *pHighwater функции sqlite3_status(). Значение, записанное в параметр *pCurrent, неопределено.
- SQLITE_STATUS_SCRATCH_USED
- Больше не используется.
- SQLITE_STATUS_SCRATCH_OVERFLOW
- Больше не используется.
- SQLITE_STATUS_SCRATCH_SIZE
- Больше не используется.
- SQLITE_STATUS_PARSER_STACK
- Параметр *pHighwater записывает максимальную глубину стека парсера. Значение *pCurrent неопределено. Значение *pHighwater имеет смысл только если SQLite скомпилирован с опцией YYTRACKMAXSTACKDEPTH.
Новые параметры состояния могут быть добавлены со временем.
См. также списки Объектов, Констант и Функций.
SQLite is in the Public Domain.
https://sqlite.org/c3ref/c_status_malloc_count.html