目的
テーブル演算子作成者は入力ストリームから行を読み取ることができます。この関数は、読み取りコンテキストをデータの次の入力行に設定します。
構文規則
int
FNC_TblOpRead(FNC_TblOpHandle_t *handle)
- FNC_TblOpHandle_t *handle
- 入力ストリームに関連するハンドル。これは、FNC_TblOpOpenが返すハンドルである必要があります。
戻り値
TBLOP_SUCCESS、TBLOP_EOF (データの終了)、TBLOP_ABORT、またはTBLOP_ERRORを示す整数。
使用上の注意
すべての入力行またはサブセットを読み取ることができます。アクセスの効率化を図るため、ハンドル構造体を通して直接データにアクセスすることができます。
最初にFNC_TblOpOpenを呼び出してから、 FNC_TblOpOpenから引数として返るハンドルをFNC_TblOpReadへ渡します。TBLOP_NOOPTIONSに設定されたoptionsフィールドでFNC_TblOpOpenを呼び出す場合には、読み取り呼び出しによりフィールド アクセスを作成し、FNC_TblOpGetAttributeByNdx経由で個々の属性に直接アクセスを許可するか、またはハンドル -> 行 -> インジケータ、columnptr[index]、およびlengths[index]経由で直接アクセスを許可します。
optionsフィールドがTBLOP_RAWMODEに設定されている場合には、以下の方法により未加工の行にアクセスすることができます。
Access handle->row to access the current raw row length, IndicData format, record body)
ファイルの終端を超えて読み取る場合には、TBLOP_EOFが返されます。PARTITION BY句を指定する場合には、パーティション内の最後の行の読み取り後にファイルの終端が現れます。
FNC_TblOpReadの使用例
この関数の使用例については、C テーブル演算子を参照してください。
関連トピック
現在の行に関する情報を保存するcurrent_row_t構造体の詳細については、テーブル演算子のデータ構造を参照してください。