Hi All
IIUC, the current implementation may be problematic. Ignite disabled subquery rewriting in this PR( https://github.com/apache/ignite/pull/9251), and I think the correct process would be sqlnode => relnode => convert RexSubQuery to Correlate => decorrelateQuery, however, the last two steps are inverse in the current implementation. See PlannerHelper#optimize. 1. IgnitePlanner#rel will be called first, and SqlToRelConverter#decorrelate will be called in this function. 2. Then, HEP_DECORRELATE will be called. The rules of this phase are all subquery removing(i.e. convert RexSubQuery to Correlate). Although IgniteCorrelatedNestedLoopJoin could be used to implement LogicalCorrelate, this is inefficient.