このセクションでは、テーブル演算子およびコントラクト関数作成者に提供する、FNC関数が使用するデータ構造体について説明します。これらのデータ構造体は、テーブル演算子全体または特定ストリームに関連するメタデータの保存や、FNC関数との情報の受け渡しに使用されます。
これらのデータ構造の詳細については、「sqltypes_td.hヘッダー ファイル」を参照してください。
- FNC_TblOpColumnDef_t
- カラムの定義はストリームと関連付けられます。このメタデータは、データ構造FNC_TblOpColumnDef_tの中で、列型のシーケンス、このシーケンスの長さ、および列数で表わされます。このデータ構造体のサイズは可変です。
- parm_tx
- 列の型はデータ構造parm_txで表わされます。
- dtype_en
- dtype_en列挙定数は、テーブル演算子に列として渡すことができる利用可能なすべてのデータ型を定義します。
- json_storage_en
- json_storage_en enumは、JSON型の格納形式を定義します。
- period_en
- Period型の粒度はperiod_en enumによって定義されます。
- FNC_TblOpHandle_t
- ハンドルはストリームへのアクセスに使用される構造体であり、FNC関数との間の情報の受け渡しに使用できます。ストリームに関連するメタデータにアクセスする関数には、入力パラメータの1つとしてハンドルが必要です。ただし、演算子に関連するメタデータにアクセスする関数には、ハンドルは不要です。
- Stream_Direction_en
- ストリームの方向は、Stream_Direction_en enumによって定義されます。
- Stream_State_en
- ストリームの状態は、Stream_State_en enumによって定義されます。
- current_row_t
- ストリームの現在行に関する情報はデータ構造current_row_tに格納されます。この情報には、直接アクセス可能な、個々の属性の所在地(columnptr)が含まれます。
- FNC_Names_tとFNC_Names_Ord_t
- HASH BYおよびLOCAL ORDER BYメタデータを扱うFNC関数は、列名のシーケンスが入力/出力パラメータとなります。データ構造FNC_Names_tはこれらのシーケンスを保存し、FNC_Names_Ord_tは名前のシーケンスを順序(昇順または降順)とともに保存します。
- Key_info_t
- カスタム句中のキーに関連する値を取得する関数は、データ構造Key_info_tを使用してこれらの値を保存します。
- UDT_Baseinfo_t
- UDT_BaseInfo_t構造は、UDT/CDT入力列または出力列に関するメタデータを提供します。この構造は、テーブル演算子にのみ使用されます。
- attribute_info_tとattribute_info_eon_t
- attribute_info_tおよびattribute_info_eon_tデータ構造は、STRUCTURED型UDTの属性を説明します。
- SMALLINT udt_indicator
- UDTまたはCDTの型を示します。