この関数をSQLTABLEパラメータ スタイルのテーブル演算子で呼び出さない場合には、FNC_TblOpGetColDefがエラーを設定します。
FNC_TblOpGetColDefを呼び出す前に、以下の関数およびマクロを呼び出し、列定義を返すバッファにスペースを割り当てる必要があります。不必要なFNC呼び出しによるオーバーヘッドを避けるため、列数を1度取得した後に保存して複数回使用します。
FNC_TblOpColumnDef_t *coldef; int ColCount = FNC_TblOpGetColCount(0, 'R'); coldef = FNC_malloc(TblOpSIZECOLDEF(ColCount));
FNC_TblOpGetColCount関数は入力ストリーム内の列数を取得し、TblOpSIZECOLDEFは入力ストリームの列定義を保存するのに必要なサイズをバイト単位で計算します。
メモリを割り当てた後は、以下のマクロを使用してデータ構造体を初期化します。
TblOpINITCOLDEF(coldef, ColCount);
初期設定の後は、FNC_TblOpGetColDef関数を呼び出すことができます。
FNC_TblOpGetColDef(0, 'R', coldef);
テーブル演算子をcoldefの列定義で処置した後は、メモリを解放する必要があります。
FNC_free(coldef);