This is done by normal select or query calls where the selections list names one or more columns that are of a LOB type. The LOB types are BLOB, CLOB, NCLOB, BFILE and CFILE.
The returned value is a LOB locator: an opaque Lisp object on which the
ora-lob-*
APIs (that is, those functions with names beginning with "ora-lob-") can be used. This LOB locator contains a pointer to an Oracle descriptor of type OCILobLocator*. Note that there can be multiple LOB locator objects associated with the same LOB in the server, but a LOB locator uniquely identifies a LOB object.
It is possible to specify that the result object should be a stream either for input or output. Then the resulting stream (which will be of type
lob-stream) can be used as a normal Lisp stream.