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.