QueryTreeNode is constructed while parsing the sql statement. This is
the base class of all
the node created while parsing the sql statement. Probably you should
look at java/engine/org/apache/derby/impl/sql/compile/sqlgrammar.jj to
see how three is generated.
You can print the parse tree by turning on debug on "DumpParseTree".
Best place to start on optimization will be the paper on derby optimizer
http://db.apache.org/derby/papers/optimizer.html
I am not sure if I have understood the your question about AccessPath can
you please elaborate it ?
anurag
Aakash Bordia wrote:
Hi, I am issuing a simple join query like:
select * from t1,t2 where t1.c1=t2.c1;
Here comes my novice questions(bear with me if some of these dont make
sense, trying to learn the compiler part):
1) I am not sure where to look for the accesspath(both base tables and
join), as the values in AccessPathImpl (at join or PRN or base table
level) seem un-intuitive.
2) Also it seems we hang the Level2OptimizerImpl objects off of the
base table FromBaseTable, but I dont see it up in the tree anywhere.
Is there a reason for this?
Any other pointers for learning about the querytreenodes are appreciated !
Thanks
Aakash