This section describes the data structures used by the FNC functions provided to table operator and contract function writers. These data structures are used to store metadata associated with the entire table operator or a specific stream and to pass information to and from the FNC functions.
For details about these data structures, see the sqltypes_td.h header file.
- FNC_TblOpColumnDef_t
- Column definitions are associated with streams. This metadata is represented in the data structure FNC_TblOpColumnDef_t as a sequence of column types, the length of this sequence, and the number of columns. The size of this data structure is variable.
- parm_tx
- Column types are represented by the data structure parm_tx.
- dtype_en
- The dtype_en enum defines all the available data types which may be passed in as a column to a table operator.
- json_storage_en
- The json_storage_en enum defines the storage format for a JSON type.
- period_en
- The granularity of Period types is defined by the period_en enum.
- FNC_TblOpHandle_t
- Handles are structures used to access streams and can be used to pass information to and from FNC functions. Functions that access metadata associated with streams require handles as one of their input parameters. However, functions that access metadata associated with the operator do not require a handle.
- Stream_Direction_en
- The direction of a stream is defined by the Stream_Direction_en enum.
- Stream_State_en
- The state of a stream is defined by the Stream_State_en enum.
- current_row_t
- Information about the current row in a stream is stored in the data structure current_row_t. This includes locations of individual attributes (columnptr) where you can have direct access to them.
- FNC_Names_t and FNC_Names_Ord_t
- FNC functions that handle HASH BY and LOCAL ORDER BY metadata have sequences of column names as input or output parameters. The data structure FNC_Names_t stores these sequences and FNC_Names_Ord_t stores sequences of names with an order (ascending or descending).
- Key_info_t
- Functions that retrieve values associated with a key in a custom clause use the data structure Key_info_t to store these values.
- UDT_Baseinfo_t
- The UDT_BaseInfo_t structure provides metadata about a UDT/CDT input or output column. This structure is used only for table operators.
- attribute_info_t and attribute_info_eon_t
- The attribute_info_t and attribute_info_eon_t data structures describe an attribute of a structured UDT.
- SMALLINT udt_indicator
- Indicates the type of UDT or CDT.