Window Function Parameter Syntax Elements - Analytics Database - Teradata Vantage

SQL External Routine Programming

Deployment
VantageCloud
VantageCore
Edition
Enterprise
IntelliFlex
VMware
Product
Analytics Database
Teradata Vantage
Release Number
17.20
Published
June 2022
Language
English (United States)
Last Update
2023-07-11
dita:mapPath
iiv1628111441820.ditamap
dita:ditavalPath
qkf1628213546010.ditaval
dita:id
B035-1147
lifecycle
latest
Product Category
Teradata Vantage™
function_name
Pointer to a C string whose value is the function name in the CREATE FUNCTION definition.
The function can use this name to build error messages.
aggregation_phase
Current aggregation phrase, which determines how the aggregate function processes the input data.
The aggregation phrase definition is:
typedef enum {
  AGR_INIT        = 1,
  AGR_DETAIL      = 2,
  AGR_COMBINE     = 3,
  AGR_FINAL       = 4,
  AGR_NODATA      = 5
  AGR_MOVINGTRAIL = 6
} FNC_Phase;
For details about the aggregation phases, see Basic Algorithm of a Window Aggregate Function.
function_context
Pointer to the function context structure, the intermediate aggregate storage area for groups on which the aggregate function operates.
The function context structure definition is:
typedef struct FNC_Context_t {
  int         version;
  FNC_flags_t flags;
  void        *interim1;
  int         intrm1_length;
  void        *interim2;
  int         intrm2_length;
  long        group_count;
  long        window_size;
  long        pre_window;
  long        post_window;
} FNC_Context_t;
Vantage sets up the following fields before invoking the function:
  • window_size
  • pre_window
  • post_window
The function uses the fields to define a window of rows for the function to operate on.

For details about the FNC_Context_t fields that are applicable to window aggregate functions, see FNC_Context_t Fields.

input_parameter_specification
[Optional] Type and name of an input parameter in the CREATE FUNCTION definition. Each input parameter in the definition must have a corresponding input_parameter_specification. The maximum number of input parameters is 128.
The type is the C type in sqltypes_td.h that corresponds to the SQL data type of input_parameter.
result
Pointer to a data area big enough to hold the result that the function returns, as defined by the RETURNS clause in the corresponding CREATE FUNCTION statement.
indicator_parameter_specification
[Optional] Indicator parameter corresponding to an input parameter. Each input_parameter_specification must have a corresponding indicator_parameter_specification. The input parameters and indicator parameters must be in the same order.
If the value of indicator_parameter is -1, the value of the corresponding input_parameter is null.
If the value of indicator_parameter is 0, the value of the corresponding input_parameter is a non-null value.
indicator_result
Result indicator parameter corresponding to the result.
sqlstate
Pointer to a six-character C string that indicates the SQLSTATE value—success, exception, or warning. The first five characters are ASCII and the sixth is the C null character. The string is initialized to '00000', which indicates success.
For more information on SQLSTATE values, see Returning SQLSTATE Values.
m
Number of characters in the function name in the CREATE FUNCTION definition. The ANSI SQL standard defines the maximum value for m as 128. Vantage allows a maximum of 30 characters for a function name.
specific_function_name
Pointer to a C string whose value is the name of the external function being invoked.
If the CREATE FUNCTION statement includes the SPECIFIC clause, specific_function_name is the name in the SPECIFIC clause; otherwise, specific_function_name is the same as function_name.
The function can use this name to build error messages.
l
Number of characters in the name of the external function. The ANSI SQL standard defines the maximum value for m as 128. Vantage allows a maximum of 30 characters for a function name.
error_message
Pointer to a C string whose value is the the error message text.
p
Number of characters in the error message text. The maximum value is 256.