Hi all,
Considering the Join condition 'CAST(IS_NOT_DISTINCT_FROM($1, $2), BOOLEAN)', which cast the non-nullable BOOLEAN to nullable BOOLEAN, Calcite can not split out equiv predicate, thus some join operation like hash join / sort merge join may not be used. Maybe we can expand RelOptUtil#splitJoinCondition to support this scenario?