SQLite C 接口

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 */

以下是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 标志意味着反序列化的数据库应该被视为只读的。

另请参阅 对象常量函数的列表。