UDT機能を実装するUDF - Teradata Database - Teradata Vantage NewSQL Engine

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

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/uhh1512082756414.ditamap
dita:ditavalPath
ja-JP/uhh1512082756414.ditaval
dita:id
B035-1147
Product Category
Software
Teradata Vantage

ここでは、UDTの変換、整列、またはキャスト機能を実装するUDFの開発、コンパイル、インストール、および使用の手順の概要を示します。

  1. UDF用のCまたはC++コードを作成し、テストとデバッグを行ないます。

    Teradata Database用の拡張機能を含むバージョンのGDB(GNU Source-Level Debugger)であるTeradata C/C++ UDF Debuggerを使用できます。詳細は、UDFのデバッグ用C/C++コマンド ラインを参照してください。

  2. CREATE FUNCTION文またはREPLACE FUNCTION文を使用して、ソース コードまたはオブジェクトの場所を指定し、それをサーバー上にインストールします。

    推奨事項:一般に、SYSLIBやSYSUDTLIBなどのTeradataシステム データベースでは、UDFを作成しません。詳細は、関数のインストールを参照してください。

    ソース コードが発行されると、関数がコンパイルされ、関数の属するデータベースに関連するダイナミック リンク ライブラリ(DLLまたはSO)とリンクされ、システム内のTeradata Databaseのすべてのノードに配布されます。

  3. 次のようにして、変換、整列、またはキャスト ルーチンとしてUDFを登録します。
    UDFがUDT用に実装する機能 UDFの登録に使用する文
    キャスト CREATE CASTまたはREPLACE CAST
    整列 CREATE ORDERINGまたはREPLACE ORDERING
    変換 CREATE TRANSFORMまたはREPLACE TRANSFORM
  4. UDFが正しく動作することが確認できるまで、Teradata Databaseで、保護実行モードでUDFをテストします。

    保護モードは、UDFのデフォルトの実行モードです。保護モードの場合、Teradata Databaseは、UDFがアクセスするすべてのデータを、独自のローカル ワークスペース内の別個のプロセスとして分離します。そのため、関数の実行速度は遅くなります。メモリ違反などのシステム エラーが発生した場合、エラーは、関数とその関数を実行しているトランザクションに限定されます。

  5. ALTER FUNCTIONを使用して、非保護実行モードで実行するようUDFを変更します。
    それ以降にREPLACE FUNCTION文を使ってこの関数を置き換えると、再び実行モードは保護モードに戻ります。
  6. ステップ4以降のテストを再実行し、正しい動作を確認できるまで非保護実行モードでUDFをテストします。
  7. GRANTを使用して、そのUDFとUDTの使用を許可されているユーザーにアクセス権を付与します。