@Override
  public RelNode visit(HiveJoin join) {
    if (join.getJoinType() != JoinRelType.INNER) {
      unsupportedByCalciteRewrite("join type", join.getJoinType().toString());
    }
    checkExpr(join.getCondition());
    return super.visit(join);
  }
Checks the query plan for conditions that would make the plan unsuitable for
materialized views or query caching:
- References to temporary or external tables
- References to non-deterministic functions.
ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveRelOptMaterializationValidator.java