[Apache Calcite] 添加calcite类型转换规则

254 阅读1分钟

 

org.apache.calcite.sql.type.SqlTypeAssignmentRule
 
添加TIME TO INTERVAL_TYPES 与INTERVAL_TYPES TO TIME

   //TIME TO INTERVAL_TYPES
    rule.clear();
    rule.addAll(SqlTypeName.INTERVAL_TYPES);
    rules.add(SqlTypeName.TIME, rule);
    rules.add(SqlTypeName.TIME_WITH_LOCAL_TIME_ZONE, rule);

    //INTERVAL_TYPES TO TIME
    for (SqlTypeName intervalType : SqlTypeName.INTERVAL_TYPES) {
      rules.add(intervalType, EnumSet.of(SqlTypeName.TIME));
    }

    INSTANCE = new SqlTypeAssignmentRule(rules.map);