informix
Informix DataBlade API Programmer's Manual
DataBlade API Function Descriptions

mi_fp_retscale()

The mi_fp_retscale() accessor function obtains scale of a return value of a user-defined function from its associated MI_FPARAM structure.

Syntax

Usage

The mi_fp_retscale() function obtains the scale of the routine return value at position ret_pos from the MI_FPARAM structure that fparam_ptr references. The scale is an attribute of the return-value data type. The meaning of the scale depends on the associated data type, as the following table shows.

Data Type Meaning of Scale
DECIMAL (fixed-point),
MONEY
The number of digits to the right of the decimal point
DECIMAL (floating-point) The value 255
DATETIME, INTERVAL The encoded integer value for the end qualifier of the data type; end_qual in the qualifier: start_qual TO end_qual

If you call mi_fp_retscale() on some other data type, the function returns zero (0).

The MI_FPARAM structure stores information about the scale of function return values in the zero-based return-scale array. To obtain information about the nth return value, use a ret_pos value of n-1. For example, the following call to mi_fp_retscale() obtains the scale for the first return value of the my_func() user-defined function, with which fparam1 is associated:

Important: C user-defined functions always have only one return value.

Return Values

>=0 is the scale, in number of digits, of the fixed-point or floating-point return value at position ret_pos.
MI_ERROR indicates that the function was not successful.

Related Topics

See the descriptions of the following functions: mi_fp_argscale(), mi_fp_retlen(), mi_fp_retprec(), mi_fp_rettype(), mi_fp_returnisnull(), mi_fp_setargscale(), and mi_fp_setretscale().


Informix DataBlade API Programmer's Manual, Version 9.2
Copyright © 1999, Informix Software, Inc. All rights reserved