private void coerceType(
        Expression expression, Type actualType, Type expectedType, String message) {
      if (!actualType.equals(expectedType)) {
        //        if (!typeCoercion.canCoerce(actualType, expectedType)) {
        throw new SemanticException(
            String.format(
                "%s must evaluate to a %s (actual: %s)", message, expectedType, actualType));
        //        }
        //        addOrReplaceExpressionCoercion(expression, actualType, expectedType);
      }
    }
@return the common supertype between the value type and subquery type
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/ExpressionAnalyzer.java