(odbx_lo_t* lo, void* buffer, size_t buflen);
odbx_lo_write() sends the data supplied in
buffer to the server for storing it inside the large object. The function can be called more than once to add subsequent parts of the content to the object. If it isn't a new or empty object, the existing data will be overwritten and truncated to the new size. It's not possible to update only parts of the content as some databases doesn't support to position the internal file position indicator.
lo parameter has to be the large object handle created and returned by odbx_lo_open() via its second parameter. It becomes invalid after it was supplied to odbx_lo_close() and this function will return an error in this case. The data which should be send to the server is read from
buffer up to
odbx_lo_write() returns the number of bytes read from
buffer and sent to the database server, which may be up to
buflen bytes. It isn't guaranteed that the complete chunk was sent to the server, so the returned size may be less than the value in
buflen. On error, a code whose value is less than zero is returned if one of the operations couldn't be completed successfully. Possible error codes are listed in the error section and they can be feed to odbx_error() and odbx_error_type() to get further details.
The native database library couldn't write to the large object successfully
lois NULL or the supplied large object handle is invalid