db-derby-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rick Hillegas <rick.hille...@oracle.com>
Subject Re: Execution tree metadata
Date Tue, 05 Nov 2013 16:20:53 GMT
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.
>
>


Mime
View raw message