Hi Paul,

Some comments inline...

On 11/5/13 6:44 AM, Paul Davern wrote:
Hello

I am looking at “monitoring/tracing” the resultset execution tree to
observe the tuples/records as they propagate up the tree - specifically
the calls to getNextRowCore() in BulkTableScanResultSet,
NestedLoopJoinResultSet, etc. For aggregations  I am looking at using the
SortObserver type interface.

There does not appear to be much in the way of metadata available (at
least I have not found it) in the execution tree? I am traversing the AST
tree after bind/generate to pick up some of the metadata. This is easy
enough when a column is directly associated with a base table, but, is
getting hacky otherwise. Is there a better solution? Putting something in
during the generate phase looks like a daunting task!
Not sure what metadata you are looking for. But the following may be useful: The execution plan is a tree of org.apache.derby.iapi.sql.ResultSet nodes. The row signature of each node can be obtained by calling ResultSet.getResultDescription().
I realise I can use the  toXML/childrenToXML interface  to walk the
execution tree, but there does not appear to be much in the way of
metadata here.
Thanks for raising this issue. It would be good to be able to plug custom xml-formatters into those methods. I have logged an enhancement request for this: https://issues.apache.org/jira/browse/DERBY-6404

In the meantime, if I were tackling this problem, I would hack the toXML/childrenToXML methods to grab the metadata you need. For an example of how to invoke toXML(), see org.apache.derbyTesting.functionTests.tests.lang.NewOptimizerOverridesTest.getLastQueryPlan().

Hope this helps,
-Rick
I suppose what I am asking is, is there a direct link from the
org.apache.derby.impl.sql.execute.ResultSet hierarchy back to the
org.apache.derby.impl.sql.compile.ResultSetNode hierarchy?


Thanks,
Paul.



Reply via email to