You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Mark Adamcin (JIRA)" <ji...@apache.org> on 2019/04/15 19:47:00 UTC

[jira] [Created] (OAK-8245) Add column for executed statement to "explain" Query row, next to 'plan' column.

Mark Adamcin created OAK-8245:
---------------------------------

             Summary: Add column for executed statement to "explain" Query row, next to 'plan' column.
                 Key: OAK-8245
                 URL: https://issues.apache.org/jira/browse/OAK-8245
             Project: Jackrabbit Oak
          Issue Type: Improvement
          Components: query
    Affects Versions: 1.12.0
            Reporter: Mark Adamcin


The "explain" behavior of the core Query is very useful for helping to debug JCR query execution planning. For xpath queries, the resulting "plan" column refers to the result of running XPathToSQL2Converter to produce a JCR-SQL2 statement for execution. This SQL2 statement should be exposed through the same API as the "plan", by way of an additional column named "statement" in the single result row. 

At this time, this underlying SQL2 statement is inaccessible to users of the JCR Query interface, which can only provide the original XPath statement.

To access the converted SQL2 statement, a class targeting the JCR API must implement a regular expression match against a log stream retrieved via slf4j MDC.

This facility is not very portable, and an effective pattern on one version of Oak may not be effective on a different version of Oak, for any number of reasons.

Also, the XPathToSQL2Converter package is not exported in an OSGi environment, so client code cannot use that API to reconstruct the SQL2 statement in parralel.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)