Konstantin Orlov created IGNITE-24195: -----------------------------------------
Summary: Sql. Add normalization of expressions generated by RexBuilder Key: IGNITE-24195 URL: https://issues.apache.org/jira/browse/IGNITE-24195 Project: Ignite Issue Type: Improvement Components: sql Reporter: Konstantin Orlov At the moment, RexBuilder creates RexCall with operands in order provided by a caller site. Although this is the most correct way to create a call, such an approach may result in a sub-efficient use of memoization for expressions having commutative property. For example, the same join node due to applied rules may be represented by two distinct string (e.g. two distinct digests. which are used as memoization key): {code} HashJoin(condition=[... OR(=($10, _UTF-8'GERMANY'), =($14, _UTF-8'GERMANY')), OR(=($14, _UTF-8'FRANCE'), =($10, _UTF-8'FRANCE')))] vs HashJoin(condition=[... OR(=($14, _UTF-8'FRANCE'), =($10, _UTF-8'FRANCE')), OR(=($10, _UTF-8'GERMANY'), =($14, _UTF-8'GERMANY')))] {code} It would be nice to provide some sort of normalization for operations having commutative property. -- This message was sent by Atlassian Jira (v8.20.10#820010)