Make RelNode attribute order part of MEMO

2021-03-07 Thread Vladimir Ozerov
Hi, Currently, the order of attributes is used to define operators equivalence. This leads to several interesting problems, such as possible duplication of expressions (e.g., "a,a,b") or additional work in rules to detect trivial projects and/or input permutations (e.g. "a,b -> b,a"). But the

Re: TopDown Optimizer Questions

2021-03-07 Thread Fan Liya
Hi Priyendra, I am not sure if I fully understand your questions, and I want to try to answer this one: "*At what point does the enforcer operator come into play? Is it the RelNodes responsibility * *to add the enforcer operator for cases where it is unable to honor a traitset or does the

Re: PR Review

2021-03-07 Thread Rui Wang
Hi Malte, Thanks for your PR. I will take a look soon (<1d). -Rui On Sun, Mar 7, 2021 at 2:21 AM Malte Bellmann wrote: > Hello, > > I've updated a PR I started in August last year. It got buried by now, can > someone have a look? > > The PR is https://github.com/apache/calcite/pull/2118 < >

TopDown Optimizer Questions

2021-03-07 Thread Priyendra Deshwal
Hello friends, I have been learning about the top-down optimizer and I am trying to understand the semantics of the passThrough and derive calls. I have a few questions about those. 1. The main passThrough call is `RelNode passThrough(RelTraitSet required)`. It is my understanding that

PR Review

2021-03-07 Thread Malte Bellmann
Hello, I've updated a PR I started in August last year. It got buried by now, can someone have a look? The PR is https://github.com/apache/calcite/pull/2118 concerning JDBC DatabaseMetaData.getFunctions. Thanks, Malte