#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 */
以下是 sqlite3_deserialize(D,S,P,N,M,F) 接口中第 6 个参数(F 参数)允许的值。
SQLITE_DESERIALIZE_FREEONCLOSE 表示 P 参数中的数据库序列化存储在从 sqlite3_malloc64() 获得的内存中,并且 SQLite 应该拥有此内存并在使用完后自动释放它。如果没有此标志,则调用者负责释放任何动态分配的内存。
SQLITE_DESERIALIZE_RESIZEABLE 标志表示 SQLite 允许使用对 sqlite3_realloc64() 的调用来增加数据库的大小。只有在也使用 SQLITE_DESERIALIZE_FREEONCLOSE 时,才应使用此标志。如果没有此标志,则反序列化的数据库的大小不能超过 M 参数指定的大小。
SQLITE_DESERIALIZE_READONLY 标志表示反序列化的数据库应被视为只读。