The mi_lo_increfcount() function
The mi_lo_increfcount() function increments the reference count of a smart large object.
Syntax
mi_integer mi_lo_increfcount(conn, LO_hdl)
MI_CONNECTION *conn;
MI_LO_HANDLE *LO_hdl;
- conn
- This value is one of the following connection values:
A pointer to a connection descriptor established by a previous call to mi_open(), mi_server_connect(), or mi_server_reconnect().
A NULL-valued pointer (database server only)
- LO_hdl
- A pointer to the LO handle.
Valid in client LIBMI application? | Valid in user-defined routine? |
---|---|
No | Yes |
Usage
The mi_lo_increfcount() function
is useful for manually tracking multiple references to the same smart
large object. Typical use of this function is in the assign() support
function of an opaque data type that contains smart large objects.
Use the mi_lo_increfcount() function in the assign() support
function to increment the reference count of the new smart large object
by one, as follows:
- If the opaque type does not have an lohandles() support function, you must use the mi_lo_increfcount() function in the assign() support function of the opaque type.
- If the opaque type has an lohandles() support function, do not use the mi_lo_increfcount() function in the assign() support function; the database server automatically increments the reference count when it executes the lohandles() support function at assign time.
Server only: The mi_lo_increfcount() function
does not need a connection descriptor to execute. If your UDR does
not need a valid connection for other operations, you can specify
a NULL-valued pointer for the conn parameter to establish a
NULL connection. For information about the advantages of a NULL connection,
see the Informix®
DataBlade® API Programmer's Guide.
Return values
- >=0
- The new reference count for the smart large object that LO_hdl references.
- MI_ERROR
- The function was not successful.