sqlj.runtime.ExecutionContext クラス
sqlj.runtime.ExecutionContext クラスは、実行コンテキスト用に定義されています。 実行コンテキストは、SQL ステートメントの実行を制御するために使用されます。
変数
- ADD_BATCH_COUNT
- フォーマット:
public static final int ADD_BATCH_COUNTgetUpdateCount メソッドにより戻すことができる定数。 これは前のステートメントが実行されておらず、既存のステートメント・バッチに追加されたことを示します。
- AUTO_BATCH
- フォーマット:
public static final int AUTO_BATCHsetBatchLimit メソッドに渡すことができる定数。 これは暗黙のバッチ実行を実行する必要があり、SQLJ がバッチ・サイズを決定する必要があることを示します。
- DBDefault
- フォーマット:
public static final short DBDefault=-5;標識変数に代入可能な定数。 データ・サーバーに渡される対応するホスト変数の値がデフォルト値であることを指定します。
- DBNonNull
- フォーマット:
public static final short DBNonNull=0;標識変数に代入可能な定数。 データ・サーバーに渡される対応するホスト変数の値が null 以外の値であることを指定します。
- DBNull
- フォーマット:
public static final short DBNull=-1;標識変数に代入可能な定数。 データ・サーバーに渡される対応するホスト変数の値が SQL NULL 値であることを指定します。
- DBUnassigned
- フォーマット:
public static final short DBUnassigned=-7;標識変数に代入可能な定数。 対応するホスト変数の値がデータ・サーバーに渡されないことを指定します。
- EXEC_BATCH_COUNT
- フォーマット:
public static final int EXEC_BATCH_COUNTgetUpdateCount メソッドから戻すことができる定数。 これはステートメント・バッチが実行されたばかりであることを示します。
- EXCEPTION_COUNT
- フォーマット:
public static final int EXCEPTION_COUNTgetUpdateCount メソッドから戻すことができる定数。 これは前の実行が完了する前に例外がスローされたか、または実行コンテキスト・オブジェクトに対して操作が実行されていないことを示します。
- NEW_BATCH_COUNT
- フォーマット:
public static final int NEW_BATCH_COUNTgetUpdateCount メソッドから戻すことができる定数。 これは前のステートメントが実行されておらず、新規のステートメント・バッチに追加されたことを示します。
- QUERY_COUNT
- フォーマット:
public static final int QUERY_COUNTsetBatchLimit メソッドに渡すことができる定数。 これは前の実行で結果セットが作成されたことを示します。
- UNLIMITED_BATCH
- フォーマット:
public static final int UNLIMITED_BATCHgetUpdateCount メソッドから戻すことができる定数。 これは、バッチ・サイズに関係なく、ステートメントを引き続きステートメント・バッチに追加する必要があることを示します。
- ExecutionContext
- フォーマット:
public ExecutionContext()ExecutionContext インスタンスを作成します。
メソッド
- cancel
- フォーマット:
public void cancel() throws SQLException実行コンテキスト・オブジェクトを使用するスレッドにより現在実行中の SQL 操作をキャンセルします。 実行コンテキスト・オブジェクト上に保留中のステートメント・バッチがある場合、そのステートメント・バッチはキャンセルされてクリアされます。
cancel メソッドは、ステートメントがキャンセルできない場合は SQLException をスローします。
- execute
- フォーマット:
public boolean execute ( ) throws SQLExceptionこのメソッドは、SQLJ 変換プログラムによって生成されるコードで使用されます。 これはアプリケーション・プログラムによる直接の使用向けのものではありません。
- executeBatch
- フォーマット:
public synchronized int[] executeBatch() throws SQLException保留中のステートメント・バッチを実行し、更新カウントの配列を戻します。 保留中のステートメント・バッチがない場合は、NULL が戻されます。 このメソッドが呼び出されると、呼び出しが例外の結果になった場合でも、ステートメント・バッチはクリアされます。
戻される配列内の各要素は、以下のいずれかの値になります。- -2
- この値は、SQL ステートメントは正常に実行されたが、更新された行数は判別できなかったことを示します。
- -3
- この値は SQL ステートメントが失敗したことを示します。
- Other integer
- この値は、ステートメントにより更新された行の数です。
executeBatch メソッドは、データベース・エラーがステートメント・バッチの実行中に発生した場合、SQLException をスローします。
- executeQuery
- フォーマット:
public RTResultSet executeQuery ( ) throws SQLExceptionこのメソッドは、SQLJ 変換プログラムによって生成されるコードで使用されます。 これはアプリケーション・プログラムによる直接の使用向けのものではありません。
- executeUpdate
- フォーマット:
public int executeUpdate() throws SQLExceptionこのメソッドは、SQLJ 変換プログラムによって生成されるコードで使用されます。 これはアプリケーション・プログラムによる直接の使用向けのものではありません。
- getBatchLimit
- フォーマット:
synchronized public int getBatchLimit()バッチが暗黙的に実行される前にバッチに追加されたステートメントの数を戻します。
戻り値は以下のいずれかになります。- UNLIMITED_BATCH
- この値はバッチ・サイズが無制限であることを示します。
- AUTO_BATCH
- この値はバッチ・サイズが有限であるが不明であることを示します。
- Other integer
- 現在のバッチ制限。
- getBatchUpdateCounts
- フォーマット:
public synchronized int[] getBatchUpdateCounts()バッチ内で正常に実行された各ステートメントにより更新された行数を含む配列を戻します。 配列内の要素の順序は、ステートメントがバッチに挿入された順序に対応します。 バッチ内のどのステートメントも正常に完了しなかった場合には NULL を戻します。
戻される配列内の各要素は、以下のいずれかの値になります。- -2
- この値は、SQL ステートメントは正常に実行されたが、更新された行数は判別できなかったことを示します。
- -3
- この値は SQL ステートメントが失敗したことを示します。
- Other integer
- この値は、ステートメントにより更新された行の数です。
- getFetchDirection
- フォーマット:
synchronized public int getFetchDirection() throws SQLException特定の実行コンテキストから生成されたスクロール可能反復子オブジェクトの、現在のフェッチ方向を戻します。 フェッチ方向が実行コンテキストに設定されていない場合、sqlj.runtime.ResultSetIterator.FETCH_FORWARD が戻されます。
- getFetchSize
- フォーマット:
synchronized public int getFetchSize() throws SQLException複数の行が必要な場合に SQLJ によりフェッチされる行数を戻します。 この値は、特定の実行コンテキストから生成された反復子オブジェクトだけに適用されます。 戻り値は、setFetchSize メソッドにより設定された値か、または setFetchSize により値が設定されていない場合は 0 です。
- getMaxFieldSize
- フォーマット:
public synchronized int getMaxFieldSize()特定の実行コンテキストを使用する照会内のストリング (文字、グラフィック、または可変長バイナリー) 列に対して戻される、バイトの最大数を戻します。 この制限を超えた場合、SQLJ は残りのバイトを破棄します。 値 0 は、バイトの最大数が無制限であることを意味します。
- getMaxRows
- フォーマット:
public synchronized int getMaxRows()特定の実行コンテキストを使用する照会に対して戻される、行の最大数を戻します。 この制限を超えた場合、SQLJ は残りの行を破棄します。 値 0 は、行の最大数が無制限であることを意味します。
- getNextResultSet()
- フォーマット:
public ResultSet getNextResultSet() throws SQLExceptionストアード・プロシージャー呼び出しの後に、ストアード・プロシージャーから結果セットを戻します。
以下のいずれかの条件が当てはまるときは、NULL 値が戻されます。- 戻される結果セットがそれ以上存在しない。
- ストアード・プロシージャー呼び出しが結果セットを作成しなかった。
- ストアード・プロシージャー呼び出しが実行コンテキストの下で実行されていない。
getNextResultSet() を呼び出す場合、SQLJ は現在オープンしている結果セットをクローズし、次の結果セットに進みます。
getNextResultSet への呼び出し中にエラーが発生した場合、現在の JDBC ResultSet オブジェクトのリソースは解放され、SQLException がスローされます。 getNextResultSet の後続の呼び出しは NULL を戻します。
- getNextResultSet(int)
- 形式:
public ResultSet getNextResultSet(int current)ストアード・プロシージャー呼び出しの後に、ストアード・プロシージャーから結果セットを戻します。
以下のいずれかの条件が当てはまるときは、NULL 値が戻されます。- 戻される結果セットがそれ以上存在しない。
- ストアード・プロシージャー呼び出しが結果セットを作成しなかった。
- ストアード・プロシージャー呼び出しが実行コンテキストの下で実行されていない。
getNextResultSet への呼び出し中にエラーが発生した場合、現在の JDBC ResultSet オブジェクトのリソースは解放され、SQLException がスローされます。 getNextResultSet の後続の呼び出しは NULL を戻します。
パラメーター:- current
- 次の結果セットに進む前に、現在オープンしている結果セットを使用して SQLJ が実行する内容を示します。
- java.sql.Statement.CLOSE_CURRENT_RESULT
- 次の ResultSet オブジェクトが戻されるときに、現在の ResultSet オブジェクトをクローズすることを指定します。
- java.sql.Statement.KEEP_CURRENT_RESULT
- 次の ResultSet オブジェクトが戻されるときに、現在の ResultSet オブジェクトをオープンしたままにすることを指定します。
- java.sql.Statement.CLOSE_ALL_RESULTS
- 次の ResultSet オブジェクトが戻されるときに、オープンしているすべての ResultSet オブジェクトをクローズすることを指定します。
- getQueryTimeout
- フォーマット:
public synchronized int getQueryTimeout()特定の実行コンテキスト・オブジェクトを使用する SQL 操作が実行できる、最大秒数を戻します。 SQL 操作がこの制限を超える場合、SQLException がスローされます。 戻り値は、setQueryTimeout メソッドにより設定された値か、または setQueryTimeout により値が設定されていない場合は 0 です。 0 は、実行時間が無制限であることを示します。
- getUpdateCount
- フォーマット:
public abstract int getUpdateCount() throws SQLException以下を戻します。ExecutionContext.ADD_BATCH_COUNT- ステートメントが既存のバッチに追加された場合。
ExecutionContext.NEW_BATCH_COUNT- ステートメントが新規バッチ内の最初のステートメントであった場合。
ExecutionContext.EXCEPTION_COUNT- 前のステートメントが SQLException を生成したか、または前に実行されたステートメントがない場合。
ExecutionContext.EXEC_BATCH_COUNT- ステートメントがバッチの一部であり、バッチが実行された場合。
ExecutionContext.QUERY_COUNT- 前のステートメントが反復子オブジェクトまたは JDBC ResultSet を作成した場合。
- Other integer
- ステートメントが、バッチに追加されたのではなく実行された場合。 この値は、ステートメントにより更新された行の数です。
- getWarnings
- フォーマット:
public synchronized SQLWarning getWarnings()特定の実行コンテキストを使用して実行された最後の SQL 操作によりレポートされた、最初の警告を戻します。 後続の警告は、最初の警告にチェーニングされます。 警告が出されていない場合は、NULL が戻されます。
getWarnings は、正の SQLCODE を検索するために使用します。
- isBatching
- フォーマット:
public synchronized boolean isBatching()実行コンテキストに対してバッチが使用可能である場合には
trueを戻します。 バッチが使用不可の場合はfalseを戻します。 - registerStatement
- フォーマット:
public RTStatement registerStatement(ConnectionContext connCtx, Object profileKey, int stmtNdx) throws SQLExceptionこのメソッドは、SQLJ 変換プログラムによって生成されるコードで使用されます。 これはアプリケーション・プログラムによる直接の使用向けのものではありません。
- releaseStatement
- フォーマット:
public void releaseStatement() throws SQLExceptionこのメソッドは、SQLJ 変換プログラムによって生成されるコードで使用されます。 これはアプリケーション・プログラムによる直接の使用向けのものではありません。
- setBatching
- フォーマット:
public synchronized void setBatching(boolean batching)パラメーター:- batching
- 特定の実行コンテキストで登録されたバッチ可能ステートメントが、ステートメント・バッチに追加できるかどうかを示します。
true- ステートメントはステートメント・バッチに追加できます。
false- ステートメントは個別に実行されます。
setBatching は、setBatching の呼び出し後のプログラム内で実行されるステートメントだけに影響を与えます。 これは前のステートメントまたは既存のステートメント・バッチには影響を与えません。
- setBatchLimit
- フォーマット:
public synchronized void setBatchLimit(int batch-size)バッチが暗黙的に実行される前にバッチに追加されるステートメントの最大数を設定します。
パラメーター:- batch-size
- 以下の値のいずれか。
ExecutionContext.UNLIMITED_BATCH- SQLJ がバッチ可能であるが非互換であるステートメント、またはバッチ可能ではないステートメントを検出した場合にのみ、暗黙の実行が行われることを示します。 この値を設定することは、setBatchLimit を呼び出さないことと同じです。
ExecutionContext.AUTO_BATCH- バッチ内のステートメントの数が SQLJ により設定された数に達したときに、暗黙の実行が行われることを示します。
- Positive integer
- SQLJ がバッチを暗黙に実行する前にバッチに追加されたステートメントの数。 SQLJ がバッチ可能であるが非互換であるステートメント、またはバッチ可能ではないステートメントを検出した場合、この数のステートメントが追加される前にバッチは実行されている可能性があります。
- setFetchDirection
- フォーマット:
public synchronized void setFetchDirection(int direction) throws SQLException特定の実行コンテキストから生成されたスクロール可能反復子オブジェクトの現在のフェッチ方向に関して、SQLJ にヒントを与えます。
パラメーター:- direction
- 以下の値のいずれか。
sqlj.runtime.ResultSetIterator.FETCH_FORWARD- 行は順方向でフェッチされます。 これはデフォルトです。
sqlj.runtime.ResultSetIterator.FETCH_REVERSE- 行は逆方向でフェッチされます。
sqlj.runtime.ResultSetIterator.FETCH_UNKNOWN- フェッチの順序は不明です。
- setFetchSize
- フォーマット:
synchronized public void setFetchSize(int number-of-rows) throws SQLException複数の行が必要な場合にフェッチすべき行数に関して、SQLJ にヒントを与えます。
パラメーター:- number-of-rows
- 特定の実行コンテキストと関連付けられたイテレーターについて SQLJ がフェッチする予想行数。
- setMaxFieldSize
- フォーマット:
public void setMaxFieldSize(int max-bytes)特定の実行コンテキストを使用する照会内のストリング (文字、グラフィック、または可変長バイナリー) 列に対して戻される、バイトの最大数を指定します。 この制限を超えた場合、SQLJ は残りのバイトを破棄します。
パラメーター:- max-bytes
- SQLJ が BINARY、VARBINARY、CHAR、VARCHAR、GRAPHIC、または VARGRAPHIC 列から戻す最大バイト数。 値 0 は、バイト数が無制限であることを意味します。 0 がデフォルト値です。
- setMaxRows
- フォーマット:
public synchronized void setMaxRows(int max-rows)特定の実行コンテキストを使用する照会に対して戻される、行の最大数を指定します。 この制限を超えた場合、SQLJ は残りの行を破棄します。
setMaxRows が静的に実行されたSELECT文で実行時に呼び出された場合、 setMaxRows は処理のみを通じて結果テーブルの最大行数を制限します。 IBM® Data Server Driver for JDBC and SQLJ 処理のみで FETCH FIRST n ROWS ONLY 節も SELECT ステートメントに追加されなければ、結果表の行の数を制限するデータ・サーバーの最適化は行われません。 FETCH FIRST n ROWS ONLY が SELECT ステートメントに追加され、かつ setMaxRows(m) が呼び出された場合、行の最大数は n と m のうちの小さい方になります。 ドライバーは、残りの行を破棄します。
パラメーター:- max-rows
- 特定の実行コンテキストを使用する照会に対して SQLJ が戻す、行の最大数。 値 0 は、行数が無制限であることを意味します。 0 がデフォルト値です。
- setQueryTimeout
- フォーマット:
public synchronized void setQueryTimeout(int timeout-value)特定の実行コンテキスト・オブジェクトを使用する SQL 操作が実行できる、最大秒数を指定します。 SQL 操作がこの制限を超える場合、SQLException がスローされます。
IBM Data Server Driver for JDBC and SQLJ データサーバーのタイプ2接続の場合、 Db2 for z/OS®、 setQueryTimeout は、 Connection または DataSource プロパティ queryTimeoutInterruptProcessingMode がINTERRUPT_PROCESSING_MODE_CLOSE_SOCKETに設定されている場合のみサポートされます。
パラメーター:- timeout-value
- 特定の実行コンテキスト・オブジェクトを使用する SQL 操作が実行できる、最大秒数。 0 は、実行時間が無制限であることを示します。 0 がデフォルト値です。