void
FNC_GetAnyTypeParamInfo(int bufsize,
int *numAnyTypeParams,
anytype_param_info_t *AnyTypeAttributeArray);
- int bufsize
- the size of the AnyTypeAttributeArray buffer.
- int *numAnyTypeParams
- the number of input and output arguments that is of TD_ANYTYPE data type.
- anytype_param_info_t *AnyTypeAttributeArray
- a pointer to the buffer that will hold the information about the TD_ANYTYPE parameters.
- The anytype_param_info_t structure is defined in sqltypes_td.h as:
typedef struct anytype_param_info_t {
INTEGER_td paramIndex;
dtype_et datatype;
dmode_et direction;
INTEGER_td max_length;
FNC_LobLength_t lob_length;
SMALLINT total_interval_digits;
SMALLINT num_fractional_digits;
charset_et charset;
CHARACTER UDTName[FNC_MAXNAMELEN];
SMALLINT udt_indicator;
} anytype_param_info_t;
- where:
- paramindex = the parameter positional index starting from 1. For the return parameter, the index will be -1.
- datatype = the data type of the parameter.
- direction = indicates whether the parameter is an input, output, or an INOUT parameter.
- max_length = the maximum length in bytes that this parameter may utilize. If the parameter is a LOB type, max_length indicates the LOB_REF length. lob_length provides the length of the LOB data itself.
- lob_length = the maximum length of the parameter if it is a LOB type parameter.
- total_interval_digits = the precision value for certain data types. For example, the value n in a DECIMAL(n,m) type or in INTERVAL DAY(n) TO SECOND(m). The list of types that use this value is the same as that of attribute_info_t.total_interval_digits.
- num_fractional_digits = the precision or scale value for certain data types. For example, the value m in a DECIMAL(n,m) type or in INTERVAL DAY(n) TO SECOND(m). The list of types that use this value is the same as that of attribute_info_t.num_fractional_digits.
- charset = the server character set associated with a character data type.
- UDTName = the name of the UDT, if the parameter is a UDT.
- udt_indicator = An indication of the kind of UDT.
Following are the possible values for
udt_indicator:
- 0 – Not a UDT
- 1 – Structured UDT
- 2 – Distinct UDT
- 3 – Internal UDT
- 4 – Array Type
Note that for distinct types, the data type will return the underlying type of the distinct type UDT. Therefore, this indicator should be used to determine if the type is actually a UDT.
For more information about dtype_et, total_interval_digits, num_fractional_digits, or charset_et, see FNC_GetStructuredAttributeInfo.
For more information about dmode_et , see FNC_CallSP.