#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 означает, что десериализованную базу данных нужно рассматривать как только для чтения.