スケーラブルデータベースサーバ HiRDB Version 8 SQLリファレンス

[目次][索引][前へ][次へ]

2.23 GET_JAVA_STORED_ROUTINE_SOURCE指定

<この節の構成>
(1) 機能
(2) 形式
(3) オペランド
(4) GET_JAVA_STORED_ROUTINE_SOURCE指定の結果についての規則
(5) 共通規則
(6) 留意事項
(7) 使用例

(1) 機能

JARファイルから,Javaクラスのソースファイルを抽出します。

なお,JavaルーチンはHP-UX,Solaris,AIX,Linux,及びWindowsのHiRDBで使用できます。HP-UX,Solaris,及びAIXの場合は,POSIXライブラリ版のHiRDBをセットアップ(pdsetupコマンドを実行)していないとき,又はPOSIXライブラリ版のHiRDBから非POSIXライブラリ版のHiRDBに再セットアップしたときは,Javaルーチンを使用できません。pdsetupコマンドについては,マニュアル「HiRDB Version 8 コマンドリファレンス」を参照してください。

(2) 形式

 
 GET_JAVA_STORED_ROUTINE_SOURCE(クラス名,JARファイル名〔,ソースファイル最大長〕)
 

(3) オペランド

クラス名は,255バイト以下の文字列で指定してください。形式を次に示します。

 
'〔パッケージ名.〕クラス識別子'
 

クラス名には,255バイト以下のVARCHAR型の値式を指定できます。

クラス名に,?パラメタ又は埋込み変数だけを指定した場合,その?パラメタ又は埋込み変数は単純構造にしてください。

文字集合は既定文字集合にしてください。

JARファイル名は255バイト以下の文字列で指定してください。

また,JARファイル名には,255バイト以下のVARCHAR型の値式を指定できます。

JARファイル名は,パス名で指定しないでください。

JARファイル名に?パラメタ又は埋込み変数だけを指定した場合,その?パラメタ又は埋込み変数は単純構造にしてください。

文字集合は既定文字集合にしてください。

抽出するソースファイルの最大長(バイト数)を整数定数で指定します。

指定できる範囲は,1〜2,147,483,647です。ナル値は指定できません。また,省略した場合は2,147,483,647が仮定されます。

(4) GET_JAVA_STORED_ROUTINE_SOURCE指定の結果についての規則

  1. GET_JAVA_STORED_ROUTINE_SOURCE指定の結果は,非ナル値制約なし(ナル値を許します)のBLOB型,定義長はソースファイル最大長で指定した長さとなります。
  2. GET_JAVA_STORED_ROUTINE_SOURCE指定の結果は,JARファイルから取り出したファイルの内容(ソースファイル最大長で指定した値を超える内容は切り捨て)となります。
  3. 次のどれかの条件を満たす場合,GET_JAVA_STORED_ROUTINE_SOURCE指定の結果はナル値になります。
    • 引数のうち,どれかがナル値の場合
    • 指定したJARファイルがインストールされていない場合
    • JARファイル中に指定したクラスに対応するソースファイルがない場合

(5) 共通規則

  1. GET_JAVA_STORED_ROUTINE_SOURCE指定は,次の箇所で指定できます。
    • 最も外側の問合せ指定の選択式に単独で指定
    • 最も外側の問合せ指定の選択式にスカラ関数LENGTHの引数に指定
  2. ORDER BY句を指定した場合,ソートのキーになる項目にGET_JAVA_STORED_ROUTINE_SOURCE指定は指定できません。
  3. WITH句中の導出問合せ式では,選択式にGET_JAVA_STORED_ROUTINE_SOURCE指定は指定できません。
  4. 集合演算をする場合,対象となる導出表の列にGET_JAVA_STORED_ROUTINE_SOURCE指定は指定できません。
  5. 副問合せ(FROM句の導出表も含む)中の選択式にGET_JAVA_STORED_ROUTINE_SOURCE指定は指定できません。
  6. ビュー定義の導出問合せ式の選択式にGET_JAVA_STORED_ROUTINE_SOURCE指定は指定できません。
  7. INSERT文の問合せ指定の選択式にGET_JAVA_STORED_ROUTINE_SOURCE指定は指定できません。
  8. GET_JAVA_STORED_ROUTINE_SOURCE指定は,クラス名からパッケージ名を除いたクラス識別子だけを参照します。したがって,JARファイル中に同じクラス識別子のソースファイルが複数ある場合,GET_JAVA_STORED_ROUTINE_SOURCE指定の結果は複数のソースファイルが連結された形式になります。
  9. GET_JAVA_STORED_ROUTINE_SOURCE指定は,指定したクラス識別子の末尾に'.java'を付けた文字列をJavaクラスのソースファイルとみなします。
  10. GET_JAVA_STORED_ROUTINE_SOURCE指定でソースファイルを取り出すためには,JARファイル中にソースファイルがなければなりません。JARファイルの作成方法については,マニュアル「HiRDB Version 8 UAP開発ガイド」を参照してください。

(6) 留意事項

  1. GET_JAVA_STORED_ROUTINE_SOURCE指定は,HiRDBに組み込まれたJARファイルを対象にします。
  2. GET_JAVA_STORED_ROUTINE_SOURCE指定を含んだSQL文を実行するためには,Java環境がインストールされていなければなりません。
  3. クラス名,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'