16.20 - Syntax - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQL External Routine Programming

Product
Advanced SQL Engine
Teradata Database
Release Number
16.20
Release Date
April 2020
Content Type
Programming Reference
Publication ID
B035-1147-162K
Language
English (United States)
void
FNC_GetAnyTypeParamInfo_eon(int                 bufsize,
                            int                *numAnyTypeParams,
                     anytype_param_info_eon_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_eon_t *AnyTypeAttributeArray
a pointer to the buffer that will hold the information about the TD_ANYTYPE parameters.
The anytype_param_info_eon_t structure is defined in sqltypes_td.h as:
typedef struct anytype_param_info_eon_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;
   Unicode_Text     UDTName[FNC_MAXNAMELEN_EON];
   SMALLINT         udt_indicator;
} anytype_param_info_eon_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.
    Possible values for udt_indicator are as follows:
    • 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.