pureQuery runtime properties that control the location of pureQuery data

Use pureQuery runtime properties to control the location that pureQuery Runtime uses to retrieve pureQuery information and to store captured SQL data.

Properties

The following properties control how pureQuery Runtime retrieves and stores pureQuery data:
finalRepositoryProperties
Specifies the database that contains an SQL Management repository to use when retrieving pureQuery runtime properties and pureQueryXML file information.
outputPureQueryXml
Specifies the file name that is used to store captured SQL data from an application enabled for pureQuery client optimization.
outputXmlRepository
Specifies the database that contains an SQL Management repository. This repository stores captured SQL data from an application enabled for pureQuery client optimization. The property can be specified only in the set of properties that is retrieved from a repository specified by finalRepositoryProperties. An exception is thrown if the outputXmlRepository property is not retrieved from a repository.
propertiesGroupId
Specifies the runtime group ID in a SQL Management repository to use when retrieving data or storing data to a SQL Management repository.
propertiesRefreshInterval
Specifies the interval between checks for updates to the pureQuery properties and pureQueryXML data.

Rules for properties

The following rules apply when you use the finalRepositoryProperties property to retrieve pureQueryXML file information:
  • If the finalRepositoryProperties property specifies a file as the location for the pureQuery properties, then you must use the pureQueryXml property to specify the path and name of the pureQueryXML file. If the pureQueryXml property is not specified, no pureQueryXML is used.
  • If the finalRepositoryProperties property specifies a repository, then the pureQueryXML data is retrieved from the active version of the runtime group that is specified by the propertiesGroupId property. An exception is thrown if the pureQueryXml property is also specified.
The following rules apply for storing captured SQL when the captureMode property is set to ON and the finalRepositoryProperties property specifies a repository:
  • If the outputPureQueryXml property is not set, the following property setting determines where captured SQL is stored:
    • If the outputXmlRepository property is not set, then the captured SQL is stored in the repository and the runtime group that are specified by the finalRepositoryProperties and propertiesGroupId properties.
    • If the outputXmlRepository property is set, then the captured SQL is stored in the repository specified by the outputXmlRepository property in the runtime group that is specified by the propertiesGroupId property.
      Note: The outputXmlRepository property supports specifying a data source or a JDBC URL, but does not support specifying a file system.
  • If the outputPureQueryXml property is set and the outputXmlRepository property is not set, then the captured SQL is stored on the file system. The $X syntax to specify multiple capture files is supported.
  • If both the outputPureQueryXml and outputXmlRepository properties are set, then an exception is thrown.

You can store captured SQL data to a file system even if you specify a repository with the finalRepositoryProperties property. Specify the file system with the outputPureQueryXml property.

Storing captured SQL data in a repository is controlled by the captureMode property, but is supported only when the finalRepositoryProperties property specifies a repository.

If the pureQuery runtime properties are retrieved from a file system, then the file system is used for retrieval and storage. The pureQueryXml property and the outputPureQueryXml properties must be used to specify files.

Specifying the finalRepositoryProperties property indicates that pureQuery client optimization is enabled, even though no other pureQuery client optimization properties might be enabled.

Summary of support for pureQuery properties and a repository

The following table summarizes the support of pureQuery properties when used with a file system and when used in a repository

Table 1. Table of interactions of new and old pureQuery properties
Property Valid in a properties file or specified on the command line Valid if specified in a repository Valid when specified in a file or command and pureQuery Runtime uses properties from a repository
allowDynamicSQL X X  
allowGetterSetterMethodWithPublicField X    
allowMDMBeanRules X    
capturedOnly X X  
captureMode X X  
captureStatementBatchSQL X X  
disableJDBCPrerequisiteEnforcement X6   X6
enableDynamicSQLReplacement X X  
executionMode X X  
finalRepositoryProperties X    
ignoreOrphanGetterSetterMethods X    
maxNonParmSQL X X  
maxResultRows X    
maxStackTracesCaptured X X  
outputPureQueryXml X3 X4  
outputXmlRepository   X  
packagePrefixExclusions X X  
propertiesGroupId X1    
propertiesRefreshInterval X2 X  
pureQueryXml X3 X  
queryTimeoutInSeconds X    
sqlLiteralSubstitution X X  
stackTraceDepth X X  
traceFile5 X6   X6
traceLevel5 X6   X6
cmx.controllerDiscoveryInterval X6   X6
cmx.controllerDiscoveryPort X6   X6
cmx.controllerURL X6   X6
cmx.dataSourceLookupInterval X6   X6
cmx.multicastTimeToLive X6 X6 X6
Notes:
  1. Valid only if the finalRepositoryProperties property refers to a repository.
  2. Valid only if the finalRepositoryProperties property is specified.
  3. Valid only if the finalRepositoryProperties property is not specified.
  4. Valid only if the finalRepositoryProperties property refers to a file system.
  5. Tracing using pureQuery client optimization does not support tracing at an application level.
  6. Only global pureQuery properties are checked. Any application-level values defined in finalRepositoryProperties, pdqappwide.properties, targetDSName.properties, DataSource, pdqProperties, or JCC global properties are ignored.

Feedback