.Dd January 24, 2024 .Dt SQLITE_DESERIALIZE_FREEONCLOSE 3 .Os .Sh NAME .Nm SQLITE_DESERIALIZE_FREEONCLOSE , .Nm SQLITE_DESERIALIZE_RESIZEABLE , .Nm SQLITE_DESERIALIZE_READONLY .Nd flags for sqlite3_deserialize() .Sh SYNOPSIS .In sqlite3.h .Fd #define SQLITE_DESERIALIZE_FREEONCLOSE .Fd #define SQLITE_DESERIALIZE_RESIZEABLE .Fd #define SQLITE_DESERIALIZE_READONLY .Sh DESCRIPTION The following are allowed values for 6th argument (the F argument) to the sqlite3_deserialize(D,S,P,N,M,F) interface. .Pp The SQLITE_DESERIALIZE_FREEONCLOSE means that the database serialization in the P argument is held in memory obtained from .Fn sqlite3_malloc64 and that SQLite should take ownership of this memory and automatically free it when it has finished using it. Without this flag, the caller is responsible for freeing any dynamically allocated memory. .Pp The SQLITE_DESERIALIZE_RESIZEABLE flag means that SQLite is allowed to grow the size of the database using calls to .Fn sqlite3_realloc64 . This flag should only be used if SQLITE_DESERIALIZE_FREEONCLOSE is also used. Without this flag, the deserialized database cannot increase in size beyond the number of bytes specified by the M parameter. .Pp The SQLITE_DESERIALIZE_READONLY flag means that the deserialized database should be treated as read-only. .Sh IMPLEMENTATION NOTES These declarations were extracted from the interface documentation at line 10754. .Bd -literal #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 */ .Ed .Sh SEE ALSO .Xr sqlite3_malloc 3