ここでは、UDTの変換、整列、またはキャスト機能を実装するUDFの開発、コンパイル、インストール、および使用の手順の概要を示します。
- UDF用のCまたはC++コードを作成し、テストとデバッグを行ないます。
データベース用の拡張機能を含むバージョンのGDB(GNU Source-Level Debugger)であるTeradata C/C++ UDF Debuggerを使用できます。詳細については、UDFのデバッグ用C/C++コマンド ラインを参照してください。
- CREATE FUNCTION文またはREPLACE FUNCTION文を使用して、ソース コードまたはオブジェクトの場所を指定し、それをサーバー上にインストールします。
推奨事項:一般に、SYSLIBやSYSUDTLIBなどのTeradataシステム データベースでは、UDFを作成しません。詳細については、関数のインストールを参照してください。
ソース コードが発行されると、関数がコンパイルされ、関数の属するデータベースに関連するダイナミック リンク ライブラリ(DLLまたはSO)とリンクされ、システム内のデータベースのすべてのノードに配布されます。
- 次のようにして、変換、整列、またはキャスト ルーチンとしてUDFを登録します。
UDFがUDT用に実装する機能 UDFの登録に使用する文 キャスト CREATE CASTまたはREPLACE CAST 整列 CREATE ORDERINGまたはREPLACE ORDERING 変換 CREATE TRANSFORMまたはREPLACE TRANSFORM - UDFが正しく動作することが確認できるまで、Teradata Databaseで、保護実行モードでUDFをテストします。
保護モードは、UDFのデフォルトの実行モードです。保護モードの場合、Teradata Databaseは、UDFがアクセスするすべてのデータを、独自のローカル ワークスペース内の別個のプロセスとして分離します。そのため、関数の実行速度は遅くなります。メモリ違反などのシステム エラーが発生した場合、エラーは、関数とその関数を実行しているトランザクションに限定されます。
- ALTER FUNCTIONを使用して、非保護実行モードで実行するようUDFを変更します。それ以降にREPLACE FUNCTION文を使ってこの関数を置き換えると、再び実行モードは保護モードに戻ります。
- ステップ4以降のテストを再実行し、正しい動作を確認できるまで非保護実行モードでUDFをテストします。
- GRANTを使用して、そのUDFとUDTの使用を許可されているユーザーにアクセス権を付与します。