Флаги для sqlite3_deserialize()
#define SQLITE_DESERIALIZE_FREEONCLOSE 1 /* Call sqlite3_free() on close */ #define SQLITE_DESERIALIZE_RESIZEABLE 2 /* Resize using sqlite3_realloc64() */ #define SQLITE_DESERIALIZE_READONLY 4 /* Database is read-only */
Ниже приведены допустимые значения для 6-го аргумента (аргумент F) интерфейса sqlite3_deserialize(D,S,P,N,M,F).
Флаг SQLITE_DESERIALIZE_FREEONCLOSE означает, что сериализация базы данных в аргументе P хранится в памяти, выделенной с помощью sqlite3_malloc64(), и SQLite должно взять на себя ответственность за эту память и автоматически освободить её после использования. Без этого флага, вызывающий код отвечает за освобождение любой динамически выделенной памяти.
Флаг SQLITE_DESERIALIZE_RESIZEABLE означает, что SQLite разрешено изменять размер базы данных с помощью вызовов sqlite3_realloc64(). Этот флаг следует использовать только вместе с SQLITE_DESERIALIZE_FREEONCLOSE. Без этого флага, десериализованная база данных не может увеличиться в размере за пределы количества байт, указанного параметром M.
Флаг SQLITE_DESERIALIZE_READONLY означает, что десериализованная база данных должна обрабатываться как только для чтения.
См. также списки Объектов, Констант и Функций.
SQLite is in the Public Domain.
https://sqlite.org/c3ref/c_deserialize_freeonclose.html