action_="compcheck"

<do action_="compcheck"> performs a compatibility check on a given 1010data query. (Available as of version 10.27)

Note: The query will not be executed, so no dependencies need to be present.

Description

This action checks for differences in the expression grammar in a given 1010data query, specifically with respect to operator precedence, between the pre-Version 10 parser and the Version 10 parser. It does not test block code; however, issues may be caught when expanding block code prior to using this transaction, especially if using "paranoid" mode, which throws an error when a compatibility issue is found during execution). In addition, it cannot "peek" inside libraries and block definitions that are not expanded. Nor can it find issues inside <dynamic> and <loop>, since in the general case queries run by these forms could be dynamically constructed. The final word on whether an old query or application is compatible with a new version comes down to whether it runs without error and doesn't produce discrepant results.

Syntax

<dynamic comp_issues="">
    <do action_="compcheck" value_="@comp_issues">
       [1010data_QUERY]
    </do>
</dynamic>

Attributes for action_="compcheck"

value_
The potential compatibility issues in the query are stored as a table value in the dynamic variable associated with this attribute. The table contains one row for each issue.
The columns in the table are:
change
The change that was made, which may be at issue.

For example, grammar_v10 refers to the precedence changes in Version 10.

version
The first version where the change was made.
address
A comma-separated list of indices into the nested operations pointing to the offending operation.
op
The type of operation.
detail
Details about the issue.

For example, the expression is provided for grammar_v10.

The variable must be declared in the opening <dynamic> tag of the QuickApp (e.g., <dynamic var_name="">).