Hi Julian,

Thanks for the quick reply,
I'll investigate the different approach but I think the third option would
be the most extensible (in case I need other rules with similar
requirement).


On Tue, Jan 31, 2017 at 5:41 PM, Julian Hyde <jh...@apache.org> wrote:

> If the root is the only place it can match you could almost apply the rule
> manually (well, you’d have to write your own implementation of
> RelOptRuleCall).
>
> You could customize HepPlanner so that it doesn’t look below the root node.
>
> Or, you could invent a new RelNode type (a concrete sub-class of SingleRel
> would probably do the trick) called Marker and place it at the root node.
> Make your match only if a Marker is on top. Since no other rules match
> Marker it would remain at the root.
>
> Julian
>
>
> > On Jan 31, 2017, at 7:32 AM, Renaud Delbru <renaud@siren.solutions>
> wrote:
> >
> > Hi,
> >
> > In our scenario, we can have a relational expression that is composed of
> a
> > single logical table function scan operator (i.e., the logical table
> > function scan operator if the root of the relational expression). We
> would
> > like to be able to differentiate this with scenarios where this operator
> > appears as a leaf of some other operators. However, I am not able to
> find a
> > way to properly express this as a rule, e.g., by restricting a rule to
> > match only from the root of the relational expression. Or is there
> another
> > way to achieve this ?
> >
> > Thanks,
> > Regards
> >
> > --
> > Renaud Delbru
>
>


-- 
*Renaud Delbru*   Siren Solutions - CTO
renaud@siren.solutions | http://siren.solutions/
Unit 13 GTC, Mervue Park, Galway, Ireland

Reply via email to