Editing or merging pureQueryXML files for client optimization

You can edit pureQueryXML files that contain SQL statements that you captured from non-pureQuery API applications. You can also merge two or more of these files together.

When you open a pureQueryXML file for editing, the editor works with the pureQuery Configure utility to validate the changes that you make. The Configure utility can validate your edits only when you save the file.

Check boxes in the pureQueryXML editor

AllowStaticRowsetCursors
Specifies whether the cursor that is associated with a SELECT statement is a rowset cursor when the statement is run statically, if you are using a DB2® Universal Database for z/OS® Version 8 (New Function Mode) or DB2 Version 9.1 for z/OS data source and the IBM® Data Server Driver for JDBC and SQLJ to connect to that data source.

The SQL statements that you want to allow to use rowset cursors when pureQuery runs those statements statically must meet these conditions:

  • The captured statements are SELECT statements.
  • None of these SELECT statements is run by a stored procedure.
  • None of the columns in query results are of the LOB or XML data types.
  • The cursors that the statements open are read-only. If a static updatable cursor uses rowsets, the results are unpredictable.

    pureQuery considers a statement as updatable if either of these conditions are true:

    • The concurrency attribute is set to java.sql.ResultSet.CONCUR_UPDATABLE.
    • The SQL statement contains the FOR UPDATE clause.
    pureQuery considers a statement as read-only if the statement is not updatable.

If a SELECT statement that meets these conditions returns only one row, consider not using this option for the statement. Using a rowset cursor for a SELECT statement that returns only one row might not be cost-effective.

For information about using the -allowStaticRowsetCursors option of the Configure utility, see Syntax of entries in the Default.genProps file for configuring the static execution of SQL statements in non-pureQuery API applications.

If you want to select the AllowStaticRowsetCursors check box for any SELECT statements that meet the conditions and you plan to use the -allowStaticRowsetCursors option of the Configure utility, follow these steps before selecting the check box for any statements:

  1. In the Default.genProps file in your project, specify the -allowStaticRowsetCursors option for your pureQueryXML file.
  2. Save the Default.genProps file to run the Configure utility on the pureQueryXML file.
  3. In the Default.genProps file, remove the -allowStaticRowsetCursors option for your pureQueryXML file.
  4. Save the Default.genProps file to run the Configure utility on the pureQueryXML file.
Bind
Select the Bind check box next to an SQL statement in the pureQueryXML editor if you want the StaticBinder utility to bind that statement when you run that utility on the file.
Attention: pureQuery does not support running compound statements statically unless they start with BEGIN ATOMIC.
Configure
If you change a statement set in a way that requires the Configure utility to validate the change, for that statement set the editor changes the value in the Configure column to REQUIRED. (This value corresponds to the value REQUIRED in the configureStatus attribute of the <statementSet> tag in the file.) When you save the file, the Configure utility validates the change.
After the Configure utility finishes this process, the value in the Configure column is blank, which means that there are no changes that the Configure utility needs to validate. (The blank value corresponds to the value AUTO in the configureStatus attribute of the <statementSet> tag in the file.) However, the Configure utility can modify the statement set if it needs to do so when validating changes that you make to other statement sets.

If the value in the Configure column is blank for a statement set and you are finished making changes to that set, you can change the value to FINAL. (This value corresponds to the value FINAL in the configureStatus attribute of the <statementSet> tag in the file.) The Configure utility no longer modifies the set in any way. As long as the value is FINAL, you cannot edit the set. If you want to edit it again, you must change the value from FINAL to blank.

Information displayed when an SQL statement is selected

When an SQL statement is selected, information about the SQL statement is displayed and the SQL statement copied into the SQL editor.

Special register information
Displays the special register values associated with SQL statement when the SQL statement was captured by pureQuery client optimization.
Default schema, Default path
Displays the default schema and default path values associated with SQL statement when the SQL statement was captured by pureQuery client optimization.

Feedback