18.9.8 Reading and writing from and to LOBs

One way of reading and writing is to use streams as described in the section Retrieving LOB Locators as streams. When large amounts of data are written (read) to (from) the LOB the direct interface may be useful. The direct interface is implemented by ora-lob-read-foreign-buffer , ora-lob-read-buffer , ora-lob-write-foreign-buffer , and ora-lob-write-buffer .

All the direct interfaces are more efficient if the buffer that is passed is static. That is always true for the *-foreign-buffer functions, but normally not true for Lisp objects. See the documentation for make-array in the LispWorks Reference Manual . See also ora-lob-get-buffer .

The direct reading and writing methods can be used for "random" access, but they can also be used conveniently for efficient linear access, simply by passing nil as the offset parameter.

LispWorks User Guide - 21 Jul 2006