I would commit the PR soon because I want this into 1.24 release, we can continue the discussion though ~
Best, Danny Chan 在 2020年7月16日 +0800 PM2:53,Vladimir Sitnikov <sitnikov.vladi...@gmail.com>,写道: > > But currently AND/OR in Calcite is always binary operator > > I guess we might want to add multi-arg AND in the future to address > AND(AND(AND(...))) issues. > I know IntelliJ IDEA switched to multi-arg "+" and similar representations > to reduce the complexity of certain operations. > > PS. Even though we can have a nice unordered hash function, we still need > to implement `equals`, and it looks like we need to have normalization > there. > Do you suggest we should implement `equals` in such a way that it does not > need to normalize the tree? > Is there an approach? > > I see currently the implementation is normalizing both expressions every > time `equals` is called. > On top of that, it s not clear how it should behave with deep normalization. > > Vladimir