After determining the best path (based on cost) a java class is
generated for the query. You can dump this class file on by setting
DumpClassFile to true.
anurag
Aakash Bordia wrote:
Thanks Anurag, I did look at the documentation and the debug property
you mentioned. I wanted to mention that I am in the debugger, and
whatever I asked was in context of that (that is while debugging the
code, I am not sure where to find the access path in the QTN once the
optimize method is done with. Same for the second question).
Thanks
Aakash
On 7/12/07, *Anurag Shekhar* <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>> wrote:
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