17.00 - 17.05 - FNC_TblOpOpen - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQL外部ルーチン プログラミング

Product
Advanced SQL Engine
Teradata Database
Release Number
17.00
17.05
Published
2020年6月
Content Type
プログラミング リファレンス
Publication ID
B035-1147-170K-JPN
Language
日本語 (日本)

目的

テーブル演算子作成者は、入力や出力ストリームをオープンできます。

構文規則

FNC_TblOpHandle_t *
FNC_TblOpOpen(int           streamno,
              char          mode,
              unsigned int  options);
int streamno
ストリーム番号。
char mode
ストリームのモード'R'または'W'。
unsigned int options
個々の属性にアクセスまたは修正ができるかどうか。有効な戻り値は以下のとおりです。
  • TBLOP_NOOPTIONS - 2つのオプションにより属性にアクセスまたは修正することが可能です。
    • FNC_TblOpGetAttributeByNdxまたはFNC_TblOpBindAttributeByNdxの使用。
    • インジケータ、列ポインタ、および行の長さをハンドルで直接設定。
  • TBLOP_RAWMODE - アクセス モードが生の行(raw row)となることを示します。生の行の長さおよび生の行の本体にアクセスし設定することができます。詳細については、FNC_TblOpReadFNC_TblOpWriteを参照してください。

    入力ストリームまたは出力ストリームのいずれかでoptions用にTBLOP_RAWMODEが選択された場合、LOB列はサポートされません。

戻り値

FNC_TblOpHandle_t構造体または、エラー発生時にNULLを参照するポインタ。

FNC_TblOpHandle_t構造の詳細については、テーブル演算子のデータ構造を参照してください。

使用上の注意

この関数を使用して、1回のテーブル演算子の呼び出し内で、入力ストリームを複数回オープンすることができます。この関数は、streamno値に基づき、読み出しや書き込みのための特定のストリーム番号modeのイテレータ インターフェースを初期化します。読み取り位置はオープンの度にストリームの開始位置にリセットされます。入力ストリームをオープンしないことや、入力ストリームをオープンはするが決して読み取りをしないことを選択することが可能です。

1回のテーブル演算子の呼び出し内で、出力ストリームを1回だけオープンすることができます。出力ストリームを決してオープンしないことや、出力ストリームをオープンはするが決して書き込みをしないことを選択することが可能です。

PARTITION BY句が指定されている場合には、ストリームのオープンはパーティション内の行を指します。例えば、ファイルの終端はパーティション内の最終ローの読み取り時に発生します。PARTITION BY句が指定されていない場合には、ストリームのオープンはAMP内の行を指します。

以下の行為は許可されず、エラーを返します。
  • すでに開いている入力または出力ストリームのオープン。
  • 出力ストリームのクローズと再オープン。

FNC_TblOpOpenの使用例

この関数の使用方法の例については、C テーブル演算子を参照してください。