|Oracle Call Interface Programmer's Guide
Part Number A89857-01
More OCI Relational Functions, 21 of 97
Flush/write all buffers for this lob to the server.
The service context handle.
An error handle you can pass to
OCIErrorGet() for diagnostic information in the event of an error.
An internal locator uniquely referencing the LOB.
When set to OCI_LOB_BUFFER_FREE, the buffer resources for the LOB are freed after the flush. See comments below.
Flushes to the server, changes made to the buffering subsystem that are associated with the LOB referenced by the input locator. This routine will actually write the data in the buffer to the LOB in the database. LOB buffering must have already been enabled for the input LOB locator.
The flush operation, by default, does not free the buffer resources for reallocation to another buffered LOB operation. However, if you want to free the buffer explicitly, you can set the flag parameter to OCI_LOB_BUFFER_FREE.
If the client application intends to read the buffer value after the flush and knows in advance that the current value in the buffer is the desired value, there is no need to reread the data from the server.
The effects of freeing the buffer are mostly transparent to the user, except that the next access to the same range in the LOB involves a round- trip to the server, and also the cost of acquiring buffer resources and initializing it with the data read from the LOB. This option is intended for client environments that have low on-board memory.