Free a smart large object

A smart large object remains open until it is freed explicitly, by a call to the mi_lo_close() function, or implicitly, when the current session ends.

After you finish the operations on the smart large object, you can close it explicitly with the mi_lo_close() function. This function frees the resources associated with the LO file descriptor and LO handle so that they can be reallocated to other structures that your program needs. In addition, the LO file descriptor can be reassigned to another smart large object.

When you close a smart large object, you release any share-mode or update-mode locks on that object. However, you do not release exclusive locks until the end of the transaction.
Important: The end of a transaction does not close any smart large objects that are open. However, it does release any locks on the smart large objects.

If you do not explicitly close a smart large object, the database server closes it automatically at the end of the session. For information about the syntax of the mi_lo_close() function, see the Informix® DataBlade® API Function Reference.