2.23.1 GET_JAVA_STORED_ROUTINE_SOURCE指定の形式と規則
- 〈この項の構成〉
(1) 機能
JARファイルから,Javaクラスのソースファイルを抽出します。
なお,JavaルーチンはAIX,Linux,及びWindowsのHiRDBで使用できます。AIXの場合は,POSIXライブラリ版のHiRDBをセットアップ(pdsetupコマンドを実行)していないとき,又はPOSIXライブラリ版のHiRDBから非POSIXライブラリ版のHiRDBに再セットアップしたときは,Javaルーチンを使用できません。pdsetupコマンドについては,マニュアル「HiRDB コマンドリファレンス」を参照してください。
(2) 形式
GET_JAVA_STORED_ROUTINE_SOURCE(クラス名,JARファイル名〔,ソースファイル最大長〕)
(3) オペランド
-
クラス名
クラス名は,255バイト以下の文字列で指定してください。形式を次に示します。
'〔パッケージ名.〕クラス識別子'
クラス名には,255バイト以下のVARCHAR型の値式を指定できます。
クラス名に,?パラメタ又は埋込み変数だけを指定した場合,その?パラメタ又は埋込み変数は単純構造にしてください。
文字集合は既定文字集合にしてください。
-
JARファイル名
JARファイル名は255バイト以下の文字列で指定してください。
また,JARファイル名には,255バイト以下のVARCHAR型の値式を指定できます。
JARファイル名は,パス名で指定しないでください。
JARファイル名に?パラメタ又は埋込み変数だけを指定した場合,その?パラメタ又は埋込み変数は単純構造にしてください。
文字集合は既定文字集合にしてください。
-
ソースファイル最大長
抽出するソースファイルの最大長(バイト数)を整数定数で指定します。
指定できる範囲は,1〜2,147,483,647です。ナル値は指定できません。また,省略した場合は2,147,483,647が仮定されます。
(4) GET_JAVA_STORED_ROUTINE_SOURCE指定の結果についての規則
-
GET_JAVA_STORED_ROUTINE_SOURCE指定の結果は,非ナル値制約なし(ナル値を許します)のBLOB型,定義長はソースファイル最大長で指定した長さとなります。
-
GET_JAVA_STORED_ROUTINE_SOURCE指定の結果は,JARファイルから取り出したファイルの内容(ソースファイル最大長で指定した値を超える内容は切り捨て)となります。
-
次のどれかの条件を満たす場合,GET_JAVA_STORED_ROUTINE_SOURCE指定の結果はナル値になります。
-
引数のうち,どれかがナル値の場合
-
指定したJARファイルがインストールされていない場合
-
JARファイル中に指定したクラスに対応するソースファイルがない場合
-
(5) 共通規則
-
GET_JAVA_STORED_ROUTINE_SOURCE指定は,次の箇所で指定できます。
-
最も外側の問合せ指定の選択式に単独で指定
-
最も外側の問合せ指定の選択式にスカラ関数LENGTHの引数に指定
-
-
ORDER BY句を指定した場合,ソートのキーになる項目にGET_JAVA_STORED_ROUTINE_SOURCE指定は指定できません。
-
WITH句中の導出問合せ式では,選択式にGET_JAVA_STORED_ROUTINE_SOURCE指定は指定できません。
-
集合演算をする場合,対象となる導出表の列にGET_JAVA_STORED_ROUTINE_SOURCE指定は指定できません。
-
副問合せ(FROM句の導出表も含む)中の選択式にGET_JAVA_STORED_ROUTINE_SOURCE指定は指定できません。
-
ビュー定義の導出問合せ式の選択式にGET_JAVA_STORED_ROUTINE_SOURCE指定は指定できません。
-
INSERT文の問合せ指定の選択式にGET_JAVA_STORED_ROUTINE_SOURCE指定は指定できません。
-
GET_JAVA_STORED_ROUTINE_SOURCE指定は,クラス名からパッケージ名を除いたクラス識別子だけを参照します。したがって,JARファイル中に同じクラス識別子のソースファイルが複数ある場合,GET_JAVA_STORED_ROUTINE_SOURCE指定の結果は複数のソースファイルが連結された形式になります。
-
GET_JAVA_STORED_ROUTINE_SOURCE指定は,指定したクラス識別子の末尾に'.java'を付けた文字列をJavaクラスのソースファイルとみなします。
-
GET_JAVA_STORED_ROUTINE_SOURCE指定でソースファイルを取り出すためには,JARファイル中にソースファイルがなければなりません。JARファイルの作成方法については,マニュアル「HiRDB UAP開発ガイド」を参照してください。
(6) 留意事項
-
GET_JAVA_STORED_ROUTINE_SOURCE指定は,HiRDBに組み込まれたJARファイルを対象にします。
-
GET_JAVA_STORED_ROUTINE_SOURCE指定を含んだSQL文を実行するためには,Java環境がインストールされていなければなりません。
-
クラス名,JARファイル名に余分な空白文字を含めないでください。
(7) 使用例
スキーマ(USER1)に登録されているJavaルーチン(JAVAROUTINE)のソースファイルの内容を抽出します。
SELECT GET_JAVA_STORED_ROUTINE_SOURCE(CLASS_NAME,JAR_NAME) FROM MASTER.SQL_ROUTINES WHERE ROUTINE_SCHEMA='USER1' AND ROUTINE_NAME='JAVAROUTINE'