#define SQLITE_DESERIALIZE_FREEONCLOSE 1 / *关闭时调用sqlite3_free()* / #定义SQLITE_DESERIALIZE_RESIZEABLE 2 / *使用sqlite3_realloc64()调整大小* / #define SQLITE_DESERIALIZE_READONLY 4 / *数据库为只读* /
以下是sqlite3_deserialize(D,S,P,N,M,F)接口的第六个参数(F参数)的允许值。
SQLITE_DESERIALIZE_FREEONCLOSE表示P参数中的数据库序列化保存在从sqlite3_malloc64()获得的内存中 ,并且SQLite应该拥有此内存的所有权,并在使用完该内存后自动释放它。如果没有此标志,则调用方负责释放任何动态分配的内存。
SQLITE_DESERIALIZE_RESIZEABLE标志意味着允许SQLite使用对sqlite3_realloc64()的调用来增加数据库的大小。仅当还使用SQLITE_DESERIALIZE_FREEONCLOSE时,才应使用此标志。如果没有此标志,则反序列化数据库的大小不能增加到超过M参数指定的字节数。
SQLITE_DESERIALIZE_READONLY标志意味着反序列化的数据库应被视为只读数据库。