クライアント最適化のための pureQueryXML ファイルの編集またはマージ

pureQuery 以外の API アプリケーションからキャプチャーした SQL ステートメントを含む pureQueryXML ファイルを編集することができます。また、これらの複数のファイルをマージすることもできます。

編集のために pureQueryXML ファイルを開く場合、エディターは pureQuery Configure ユーティリティーと連携してユーザーが行う変更の検証を行います。Configure ユーティリティーでは、ファイルを保存する時点に限って、編集内容を検証できます。

pureQueryXML エディターのチェック・ボックス

AllowStaticRowsetCursors
DB2® Universal Database for z/OS® バージョン 8 (New Function Mode: 新機能モード) または DB2 for z/OS バージョン 9.1 のデータ・ソースを使用し、そのデータ・ソースへの接続に IBM® Data Server Driver for JDBC and SQLJ を使用している場合、SELECT ステートメントが静的に実行される時に、このステートメントに関連付けられているカーソルが行セット・カーソルであるかどうかを指定します。

pureQuery が静的に実行する際に行セット・カーソルを使用できるようにする SQL ステートメントは、 以下の条件を満たす必要があります。

  • 取り込まれたステートメントは、SELECT ステートメントである。
  • いずれの当該 SELECT ステートメントも、ストアード・プロシージャーで実行されない。
  • 照会結果のいずれの列も LOB および XML データ・タイプではない。
  • ステートメントが開くカーソルは読み取り専用である。 静的更新可能カーソルが行セットを使用する場合には、結果は予測不能になります。

    pureQuery は、以下の条件のいずれかが満たされると、ステートメントを更新可能と見なします。

    • 並行性属性が java.sql.ResultSet.CONCUR_UPDATABLE に設定されます。
    • SQL ステートメントに FOR UPDATE 節が含まれます。
    pureQuery は、ステートメントが更新可能でなければ、ステートメントを読み取り専用と見なします。

これらの条件を満たす SELECT ステートメントが、1 行のみを返す場合は、ステートメントにこのオプションを使用しないようにすることを検討してください。1 行のみを返す SELECT ステートメントに行セット・カーソルを使用しても、費用効率が良くない可能性があります。

Configure ユーティリティーの -allowStaticRowsetCursors オプションの使用法については、pureQuery 以外の API アプリケーション内の SQL ステートメントの静的実行を構成する Default.genProps ファイル内の項目の構文を参照してください。

条件を満たす SELECT ステートメントに「AllowStaticRowsetCursors」チェック・ボックスを選択し、Configure ユーティリティーの -allowStaticRowsetCursors オプションを使用する予定の場合、ステートメントにチェック・ボックスを選択する前に、以下のステップを実行してください。

  1. プロジェクトの Default.genProps ファイルで、pureQueryXML ファイルに対して -allowStaticRowsetCursors オプションを指定します。
  2. Default.genProps ファイルを保存し、Configure ユーティリティーを pureQueryXML ファイルに対して実行します。
  3. Default.genProps ファイルで、pureQueryXML ファイルに対する -allowStaticRowsetCursors オプションを除去します。
  4. Default.genProps ファイルを保存し、Configure ユーティリティーを pureQueryXML ファイルに対して実行します。
バインド
pureQueryXML ファイルで StaticBinder ユーティリティーを実行するときにそのユーティリティーでステートメントをバインドする場合、pureQueryXML エディターの SQL ステートメントの横にある「バインド」チェック・ボックスを選択します。
重要: pureQuery では、コンパウンド・ステートメントの先頭が BEGIN ATOMIC である場合を除き、コンパウンド・ステートメントの静的実行をサポートしません。
構成
Configure ユーティリティーによる変更の検証が必須になるようにステートメント・セットを変更すると、 エディターはそのステートメント・セットについて「構成」列の 値を REQUIRED に変更します。(この値は、ファイルの <statementSet> タグの configureStatus 属性の値 REQUIRED に対応します。) ファイルを保存する時点で、Configure ユーティリティーは変更を検証します。
Configure ユーティリティーがこの処理を終了すると、「構成」列 の値は空白になり、Configure ユーティリティーによる検証を必要とする 変更がないことを示します。(この値は、ファイルの <statementSet> タグの configureStatus 属性の値 AUTO に対応します。) ただし、Configure ユーティリティーは、他のステートメント・セットに対して行う変更の検証時には、必要であればステートメント・セットを変更することができます。

ステートメント・セットの「構成」列の値が空白で、 そのセットに対する変更が完了した場合、値を FINAL に変更できます。(この値は、ファイルの <statementSet> タグの configureStatus 属性の値 FINAL に対応します。) これで、Configure ユーティリティーは、そのセットを変更しなくなります。値が、FINAL になっている限り、そのセットを編集することはできません。再度そのセットを編集する場合は、値を FINAL から空白に変更する必要があります。

SQL ステートメントの選択時に表示される情報

SQL ステートメントを選択すると、その SQL ステートメントに 関する情報が表示され、SQL ステートメントは SQL エディターにコピーされます。

特殊レジスター情報
pureQuery クライアント最適化が SQL ステートメントをキャプチャー した際に、その SQL ステートメントに関連付けられた特殊レジスター値が 表示されます。
デフォルト・スキーマ、デフォルト・パス
pureQuery クライアント最適化が SQL ステートメントをキャプチャー した際に、その SQL ステートメントに関連付けられたデフォルト・スキーマ およびデフォルト・パスの値が表示されます。

フィードバック