63 lines
2.1 KiB
Groff
63 lines
2.1 KiB
Groff
.Dd March 11, 2017
|
|
.Dt SQLITE3_BLOB_WRITE 3
|
|
.Os
|
|
.Sh NAME
|
|
.Nm sqlite3_blob_write
|
|
.Nd Write Data Into A BLOB Incrementally
|
|
.Sh SYNOPSIS
|
|
.Ft int
|
|
.Fo sqlite3_blob_write
|
|
.Fa "sqlite3_blob *"
|
|
.Fa "const void *z"
|
|
.Fa "int n"
|
|
.Fa "int iOffset"
|
|
.Fc
|
|
.Sh DESCRIPTION
|
|
This function is used to write data into an open BLOB handle
|
|
from a caller-supplied buffer.
|
|
N bytes of data are copied from the buffer Z into the open BLOB, starting
|
|
at offset iOffset.
|
|
.Pp
|
|
On success, sqlite3_blob_write() returns SQLITE_OK.
|
|
Otherwise, an error code or an extended error code
|
|
is returned.
|
|
Unless SQLITE_MISUSE is returned, this function sets the database connection
|
|
error code and message accessible via sqlite3_errcode()
|
|
and sqlite3_errmsg() and related functions.
|
|
.Pp
|
|
If the BLOB handle passed as the first argument was not
|
|
opened for writing (the flags parameter to sqlite3_blob_open()
|
|
was zero), this function returns SQLITE_READONLY.
|
|
.Pp
|
|
This function may only modify the contents of the BLOB; it is not possible
|
|
to increase the size of a BLOB using this API.
|
|
If offset iOffset is less than N bytes from the end of the BLOB, SQLITE_ERROR
|
|
is returned and no data is written.
|
|
The size of the BLOB (and hence the maximum value of N+iOffset) can
|
|
be determined using the sqlite3_blob_bytes() interface.
|
|
If N or iOffset are less than zero SQLITE_ERROR is returned
|
|
and no data is written.
|
|
.Pp
|
|
An attempt to write to an expired BLOB handle fails with
|
|
an error code of SQLITE_ABORT.
|
|
Writes to the BLOB that occurred before the BLOB handle
|
|
expired are not rolled back by the expiration of the handle, though
|
|
of course those changes might have been overwritten by the statement
|
|
that expired the BLOB handle or by other independent statements.
|
|
.Pp
|
|
This routine only works on a BLOB handle which has been
|
|
created by a prior successful call to sqlite3_blob_open()
|
|
and which has not been closed by sqlite3_blob_close().
|
|
Passing any other pointer in to this routine results in undefined and
|
|
probably undesirable behavior.
|
|
.Pp
|
|
.Sh SEE ALSO
|
|
.Xr sqlite3_blob 3 ,
|
|
.Xr sqlite3 3 ,
|
|
.Xr sqlite3_blob_bytes 3 ,
|
|
.Xr sqlite3_blob_close 3 ,
|
|
.Xr sqlite3_blob_open 3 ,
|
|
.Xr sqlite3_blob_read 3 ,
|
|
.Xr sqlite3_errcode 3 ,
|
|
.Xr SQLITE_OK 3
|