Details
Description
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 parallel.