diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/ExprNodeConverter.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/ExprNodeConverter.java index 955aa91..68e28e7 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/ExprNodeConverter.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/ExprNodeConverter.java @@ -224,23 +224,9 @@ public ExprNodeDesc visitLiteral(RexLiteral literal) { case DECIMAL: return new ExprNodeConstantDesc(TypeInfoFactory.getDecimalTypeInfo(lType.getPrecision(), lType.getScale()), literal.getValue3()); - case VARCHAR: { - int varcharLength = lType.getPrecision(); - // If we cannot use Varchar due to type length restrictions, we use String - if (varcharLength < 1 || varcharLength > HiveVarchar.MAX_VARCHAR_LENGTH) { - return new ExprNodeConstantDesc(TypeInfoFactory.stringTypeInfo, literal.getValue3()); - } - return new ExprNodeConstantDesc(TypeInfoFactory.getVarcharTypeInfo(varcharLength), - new HiveVarchar((String) literal.getValue3(), varcharLength)); - } + case VARCHAR: case CHAR: { - int charLength = lType.getPrecision(); - // If we cannot use Char due to type length restrictions, we use String - if (charLength < 1 || charLength > HiveChar.MAX_CHAR_LENGTH) { - return new ExprNodeConstantDesc(TypeInfoFactory.stringTypeInfo, literal.getValue3()); - } - return new ExprNodeConstantDesc(TypeInfoFactory.getCharTypeInfo(charLength), - new HiveChar((String) literal.getValue3(), charLength)); + return new ExprNodeConstantDesc(TypeInfoFactory.stringTypeInfo, literal.getValue3()); } case INTERVAL_YEAR_MONTH: { BigDecimal monthsBd = (BigDecimal) literal.getValue();