SQLITE3_BLOB_READ(3) | Library Functions Manual | SQLITE3_BLOB_READ(3)

# NAME

`sqlite3_blob_read` — read data from a BLOB incrementally

# SYNOPSIS

`#include <sqlite3.h>`

int
`sqlite3_blob_read`(sqlite3_blob *, void *Z, int N, int iOffset);

# DESCRIPTION

This function is used to read data from an open BLOB handle into a caller-supplied buffer. N bytes of data are copied into buffer Z from the open BLOB, starting at offset iOffset.

If offset iOffset is less than N bytes from the end of the BLOB, SQLITE_ERROR is returned and no data is read. If N or iOffset is less than zero, SQLITE_ERROR is returned and no data is read. The size of the blob (and hence the maximum value of N+iOffset) can be determined using the `sqlite3_blob_bytes`() interface.

An attempt to read from an expired BLOB handle fails with an error code of SQLITE_ABORT.

On success, sqlite3_blob_read() returns SQLITE_OK. Otherwise, an error code or an extended error code is returned.

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.

# IMPLEMENTATION NOTES

These declarations were extracted from the interface documentation at line 7840.

    SQLITE_API int sqlite3_blob_read(sqlite3_blob *, void *Z, int N, int iOffset);

# SEE ALSO

sqlite3_blob(3), sqlite3_blob_bytes(3), sqlite3_blob_close(3), sqlite3_blob_open(3), sqlite3_blob_write(3), SQLITE_OK(3)

January 24, 2024 | NetBSD 11.0