The mi_fp_funcstate() function
The mi_fp_funcstate() accessor function obtains user-state information for the user-defined routine from its associated MI_FPARAM structure.
Syntax
void *mi_fp_funcstate(fparam_ptr)
MI_FPARAM *fparam_ptr;
- fparam_ptr
- A pointer to the associated MI_FPARAM structure.
Valid in client LIBMI application? | Valid in user-defined routine? |
---|---|
Yes | Yes |
Usage
The mi_fp_funcstate() function obtains a pointer to the user-state information for the user-defined routine that is associated with the fparam_ptr MI_FPARAM structure. In the first invocation of the UDR, the database server sets the user-state pointer to NULL. Use the mi_fp_funcstate() function to return the user-state pointer so that you can access the state information within a UDR.
Cast this user-state pointer to match
the structure of the user-defined buffer. For example, the following
call to mi_fp_funcstate() casts the user-state
pointer as a structure called udr_info and uses this pointer
to access the count_fld of the udr_info structure:
MI_FPARAM *my_fparam;
struct udr_info *fi_ptr;
mi_integer count;
...
fi_ptr = (udr_info *)mi_fp_funcstate( my_fparam );
count = fi_ptr->count_fld;
For more information about UDR information in an MI_FPARAM structure, see the HCL OneDB™ DataBlade® API Programmer's Guide.
Return values
- A user-state pointer
- A pointer that references the user-state information in a user-defined buffer. Cast this pointer to match the structure of the user-state information.
- NULL
- The user-state pointer is uninitialized. The user-state pointer has a NULL value the first time a UDR is invoked.