A LOB locator.
A generalized boolean.
A non-negative integer or
A non-negative integer.
A FLI pointer.
A boolean or an error object.
fills an internal buffer and returns three values:
is how much it filled,
points to the actual buffer, and
is the return value from the call to ora-lob-read-foreign-buffer. The offset
is passed directly ora-lob-read-foreign-buffer.
is true, then
returns two values:
is the size of the foreign buffer and
points to the actual buffer, which then can be passed to ora-lob-write-foreign-buffer.
The buffer that is used by
is always the same for the LOB locator, it is used by ora-lob-read-buffer and ora-lob-write-buffer, and is freed automatically when the LOB locator is freed. Thus until you finish with the buffer, you cannot use ora-lob-read-buffer or ora-lob-write-buffer or call ora-lob-get-buffer again or free the LOB locator.
Note: this function is available only when the "oracle" module is loaded. See the section Oracle LOB interface for more information.
my_chunk_processor(char *data, int size)
This second example illustrates writing with the buffer obtained by
. You have a foreign function that fills a buffer with data, and you want to write it to a LOB. First you should lock the record, and if required trim the LOB locator.