Hello Aitozi,

Could you please provide one or several examples of a plan that your rule
aims to match? (as it was done in
https://issues.apache.org/jira/browse/CALCITE-3761)
Maybe you could use RelRule#OperandDetailBuilder#predicate [1] and write
your (more-or-less-complex) predicate function for the rule operand(s)?

Best,
Ruben

[1]
https://github.com/apache/calcite/blob/main/core/src/main/java/org/apache/calcite/plan/RelRule.java#L210



On Mon, Jan 9, 2023 at 12:40 PM Aitozi <[email protected]> wrote:

> Hi, community:
>   When I write a rule to match a subtree as a union followed by any
> number of RelNodes which is not an exchange node (I think this subtree
> can transpose before the union nodes), It will help reduce the shuffle
> in physical nodes. But there seems to be no suitable API to describe
> this greedy pattern match with an arbitrary number of intermediate
> nodes. If there is sth I missed, I would appreciate it if anyone could
> help point it out.
>
> BTW, I read this ticket, it seems to have similar requirements:
>
> https://issues.apache.org/jira/browse/CALCITE-3761
>
> Thanks
> Aitozi.
>

Reply via email to