Reference

odbx_lo_write(3)

Writes buffer content into the large object

NAME

odbx_lo_write - Writes buffer content into the large object

SYNOPSIS

FC#include <opendbx/api.h>F[0]

FCssize_t odbx_lo_writeF[0] FC(odbx_lo_t* lo, void* buffer, size_t buflen);F[0]

DESCRIPTION

FCodbx_lo_writeF[0]() sends the data supplied in FCbufferF[0] 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.

The FCloF[0] parameter has to be the large object handle created and returned by FCodbx_lo_openF[0]() via its second parameter. It becomes invalid after it was supplied to FCodbx_lo_closeF[0]() and this function will return an error in this case. The data which should be send to the server is read from FCbufferF[0] up to FCbuflenF[0] bytes.

RETURN VALUE

FCodbx_lo_writeF[0]() returns the number of bytes read from FCbufferF[0] and sent to the database server, which may be up to FCbuflenF[0] 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 FCbuflenF[0]. 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 FCodbx_errorF[0]() and FCodbx_error_typeF[0]() to get further details.

ERRORS

-FCODBX_ERR_BACKENDF[0]

The native database library couldn't write to the large object successfully

-FCODBX_ERR_HANDLEF[0]

FCloF[0] is NULL or the supplied large object handle is invalid

SEE ALSO

FCodbx_lo_openF[0](), FCodbx_lo_closeF[0]()

History