The mi_named_get() function

The mi_named_get() function retrieves the address of a named-memory block.

Syntax

mi_integer mi_named_get (mem_name, duration, mem_ptr)
   mi_string *mem_name;
   MI_MEMORY_DURATION duration;
   void **mem_ptr;
mem_name
The null-terminated name of the named-memory block whose address the function retrieves.
duration
A value that specifies the memory duration of the named-memory block to retrieve. Valid values for duration are:
PER_ROUTINE
For the duration of one iteration of the UDR
PER_COMMAND
For the duration of the execution of the current subquery
PER_STATEMENT (Deprecated)
For the duration of the current SQL statement
PER_STMT_EXEC
For the duration of the execution of the current SQL statement
PER_STMT_PREP
For the duration of the current prepared SQL statement
PER_TRANSACTION
For the duration of one transaction
PER_SESSION
For the duration of the current client session
PER_SYSTEM
For the duration of the database server execution
mem_ptr
The pointer to the retrieved named-memory block.
Valid in client LIBMI application? Valid in user-defined routine?
No Yes
Important: This advanced function can adversely affect your UDR if you use the function incorrectly. Use it only when no regular DataBlade API function can perform the task you need done.

Usage

The mi_named_get() function obtains the address of a named-memory block based on its memory duration of duration and its name, which mem_name references. This function is useful in a UDR that needs access to a particular block of named memory. The UDR can specify the name and memory duration of the desired named-memory block to mi_named_get() and receive the address of this memory.
Important: The mi_named_get() function only retrieves the address of a block of named memory. It does not request a lock on this memory.

Return values

MI_OK
The function successfully retrieved the specified named-memory block and a pointer to this block is stored in mem_ptr.
MI_NO_SUCH_NAME
The requested named-memory block does not exist.
MI_ERROR
The function was not successful. The mem_ptr pointer is set to a NULL-valued pointer.

Copyright© 2019 HCL Technologies Limited