Hi,

Can I somehow declare RelOptRule to apply only on top of any combination of
listed children without explicitly declaring all possible combinations?

Example, I want to apply MyJoinRule only on top of [Project, Filter and
TableScan] in any combination.
It should apply on
1) Join -> Project -> Filter -> TableScan
2) Join -> Project -> TableScan
3) Join -> Filter -> TableScan

but it should not apply on

Join ->
     Join -> Project -> Filter -> TableScan
     Join -> Project -> Filter -> TableScan

The only way I found so far is to create many rules to explicitly declare
all supported trees.
I was looking into some() and unordered() methods without success.

Is there any better ways?

--
Oleksiy

Reply via email to