/** * If subquery is correlated and decorrelation is enabled, performs * decorrelation. * * @param query Query * @param rootRel Root relational expression * @return New root relational expression after decorrelation */ public RelNode decorrelate(SqlNode query, RelNode rootRel) { RelNode result = rootRel; if (enableDecorrelation() && hasCorrelation()) { result = decorrelateQuery(result); checkConvertedType(query, result); } return result; }