There's always a way. :) Take a look at the APIs in Frameworks. They give you control over the steps of query preparation - parse, validate, plan - rather than it being under the control of a JDBC driver.
Also take a look at "enum Hook" and see where its members are used. For example, Hook.CONVERTED is a hook (a list of handler functions) that is called with the RelNode tree that comes out of SqlToRelConverter. Hook is subject to change without notice, and should only be used for testing and debugging, not during production. Obviously. CalciteAssert.AssertQuery.withHook gives a nice mechanism to set a hook in the current thread, do some work, and remove the hook afterwards. Julian On Mon, Mar 16, 2015 at 1:45 PM, Hartman, Trevor <[email protected]> wrote: > So far I have been testing my Calcite adapter by running queries against a > CalciteConnection and checking the results. Is it possible to run a query in > such a way that I could access the instances of the expression tree, and get > at properties of each node? e.g. access the `condition` property of a Filter > and the `getProjects` method of a Project. > > Trevor
