My objective is to construct join graph from a given query.
A join graph, has a node for each relation involved in a join, and an edge
between two relations if they share a join predicate among them.

To do this I first tried to use the make_join_rel() function
     - There I checked if they root->join->cur->level is 2, just write the
relation names to a file.
     - But this strategy failed, because if there is somewhere a Cartesian
product among two relations, then they can't have an edge in the join graph.
     - So, along with writing the relation name, I need to know if they
share a join predicate among them or not.


On 12 October 2017 at 22:08, Tom Lane <t...@sss.pgh.pa.us> wrote:

> Gourav Kumar <gourav1...@gmail.com> writes:
> > I have the RelOptInfo data structure for the relations which are to be
> > joined but when I check their joininfo, it is empty.
>
> You aren't telling us anything much about the case you're studying,
> but if the join clauses have the form of equality comparisons, they
> likely got converted into EquivalenceClass data structures instead.
> These days the joininfo lists only contain "unstructured" join
> conditions.
>
>                         regards, tom lane
>



-- 
Thanks,
Gourav Kumar
Computer Science and Automation
Indian Institute of Science

Reply via email to