Liberty And Later Documentation Only
This document contains documentation for the BI Platform (including the BI Server) version 2.1. Older documentation for version 1.x is here
The bug reported in BISERVER-2735 resulted in various changes in platform components. Imposing row limits and timeouts on queries is sometimes important to avoid causing out of memory errors or processes that consume too many resources on the database server. The purpose of this document is to document the ways to control row limits, timeouts and the read-only setting in the JDBC connection object.
Affected Platform Areas
- Action sequences
- Certain action sequence (BI) components have been updated to recognize some or all of the new capabilities as action inputs.
- Web-based Adhoc Query And Reporting
- If appropriate meta-data is provided on the business model, Web-based adhoc will respect the settings and limit the queries accordingly.
- Pentaho Metadata Editor (PME)
- PME can be used to provide the settings that will be respected by the metadata query components in the platform.
- SQLBaseComponent and subclasses
- HQLBaseComponent and subclasses
- XQueryBaseComponent and subclasses
New component inputs
The components above now accept up to three new "known" optional inputs.
All of the above components look for, and respect the new input max_rows. For SQLBaseComponent/SQLLookupRule, MQLRelationalDataComponent, and HQLBaseComponent/HQLLookupRule, when max_rows comes in as an input, the value is ultimately passed into the JDBC statement object. For XQueryBaseComponent/XQueryLookupRule, the data limiting is performing during document parse.
Of the above components, only the JDBC-based components (SQLBaseComponent/SQLLookupRule, MQLRelationalComponent, HQLBaseComponent/HQLLookupRule) provide support for this setting. The query timeout is passed into the underlying JDBC statement object.
Of the above components, only the JDBC-based components (SQLBaseComponent/SQLLookupRule, MQLRelationalComponent, HQLBaseComponent/HQLLookupRule) provide support for this setting. The read-only value is passed into the underlying JDBC connection object.