summaryrefslogtreecommitdiff
path: root/static/netbsd/man3/sqlite3_serialize.3
diff options
context:
space:
mode:
authorJacob McDonnell <jacob@jacobmcdonnell.com>2026-04-25 19:55:15 -0400
committerJacob McDonnell <jacob@jacobmcdonnell.com>2026-04-25 19:55:15 -0400
commit253e67c8b3a72b3a4757fdbc5845297628db0a4a (patch)
treeadf53b66087aa30dfbf8bf391a1dadb044c3bf4d /static/netbsd/man3/sqlite3_serialize.3
parenta9157ce950dfe2fc30795d43b9d79b9d1bffc48b (diff)
docs: Added All NetBSD Manuals
Diffstat (limited to 'static/netbsd/man3/sqlite3_serialize.3')
-rw-r--r--static/netbsd/man3/sqlite3_serialize.372
1 files changed, 72 insertions, 0 deletions
diff --git a/static/netbsd/man3/sqlite3_serialize.3 b/static/netbsd/man3/sqlite3_serialize.3
new file mode 100644
index 00000000..676f1000
--- /dev/null
+++ b/static/netbsd/man3/sqlite3_serialize.3
@@ -0,0 +1,72 @@
+.Dd January 24, 2024
+.Dt SQLITE3_SERIALIZE 3
+.Os
+.Sh NAME
+.Nm sqlite3_serialize
+.Nd serialize a database
+.Sh SYNOPSIS
+.In sqlite3.h
+.Ft unsigned char *
+.Fo sqlite3_serialize
+.Fa "sqlite3 *db"
+.Fa "const char *zSchema"
+.Fa "sqlite3_int64 *piSize"
+.Fa "unsigned int mFlags"
+.Fc
+.Sh DESCRIPTION
+The sqlite3_serialize(D,S,P,F) interface returns a pointer to memory
+that is a serialization of the S database on database connection
+D.
+If P is not a NULL pointer, then the size of the database in bytes
+is written into *P.
+.Pp
+For an ordinary on-disk database file, the serialization is just a
+copy of the disk file.
+For an in-memory database or a "TEMP" database, the serialization is
+the same sequence of bytes which would be written to disk if that database
+where backed up to disk.
+.Pp
+The usual case is that sqlite3_serialize() copies the serialization
+of the database into memory obtained from
+.Fn sqlite3_malloc64
+and returns a pointer to that memory.
+The caller is responsible for freeing the returned value to avoid a
+memory leak.
+However, if the F argument contains the SQLITE_SERIALIZE_NOCOPY bit,
+then no memory allocations are made, and the sqlite3_serialize() function
+will return a pointer to the contiguous memory representation of the
+database that SQLite is currently using for that database, or NULL
+if the no such contiguous memory representation of the database exists.
+A contiguous memory representation of the database will usually only
+exist if there has been a prior call to sqlite3_deserialize(D,S,...)
+with the same values of D and S.
+The size of the database is written into *P even if the SQLITE_SERIALIZE_NOCOPY
+bit is set but no contiguous copy of the database exists.
+.Pp
+After the call, if the SQLITE_SERIALIZE_NOCOPY bit had been set, the
+returned buffer content will remain accessible and unchanged until
+either the next write operation on the connection or when the connection
+is closed, and applications must not modify the buffer.
+If the bit had been clear, the returned buffer will not be accessed
+by SQLite after the call.
+.Pp
+A call to sqlite3_serialize(D,S,P,F) might return NULL even if the
+SQLITE_SERIALIZE_NOCOPY bit is omitted from argument F if a memory
+allocation error occurs.
+.Pp
+This interface is omitted if SQLite is compiled with the SQLITE_OMIT_DESERIALIZE
+option.
+.Sh IMPLEMENTATION NOTES
+These declarations were extracted from the
+interface documentation at line 10636.
+.Bd -literal
+SQLITE_API unsigned char *sqlite3_serialize(
+ sqlite3 *db, /* The database connection */
+ const char *zSchema, /* Which DB to serialize. ex: "main", "temp", ... */
+ sqlite3_int64 *piSize, /* Write size of the DB here, if not NULL */
+ unsigned int mFlags /* Zero or more SQLITE_SERIALIZE_* flags */
+);
+.Ed
+.Sh SEE ALSO
+.Xr sqlite3 3 ,
+.Xr sqlite3_malloc 3