diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConstantPropagateProcFactory.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConstantPropagateProcFactory.java index 834db9a..b0768f2 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConstantPropagateProcFactory.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConstantPropagateProcFactory.java @@ -517,15 +517,10 @@ private static ExprNodeDesc evaluateFunction(GenericUDF udf, List if (PrimitiveObjectInspectorUtils.isPrimitiveWritableClass(clz)) { PrimitiveObjectInspector poi = (PrimitiveObjectInspector) oi; TypeInfo typeInfo = poi.getTypeInfo(); - // Handling parameterized types (varchar etc). - if (typeInfo.getTypeName().contains(serdeConstants.VARCHAR_TYPE_NAME) - || typeInfo.getTypeName().contains(serdeConstants.CHAR_TYPE_NAME)) { - - // Do not support parameterized types. - return null; - } o = poi.getPrimitiveJavaObject(o); - if (typeInfo.getTypeName().contains(serdeConstants.DECIMAL_TYPE_NAME)) { + if (typeInfo.getTypeName().contains(serdeConstants.DECIMAL_TYPE_NAME) || + typeInfo.getTypeName().contains(serdeConstants.VARCHAR_TYPE_NAME) || + typeInfo.getTypeName().contains(serdeConstants.CHAR_TYPE_NAME)) { return new ExprNodeConstantDesc(typeInfo, o); } } else if (PrimitiveObjectInspectorUtils.isPrimitiveJavaClass(clz)) { diff --git a/ql/src/test/results/clientpositive/annotate_stats_select.q.out b/ql/src/test/results/clientpositive/annotate_stats_select.q.out index d77c499..49c1a40 100644 --- a/ql/src/test/results/clientpositive/annotate_stats_select.q.out +++ b/ql/src/test/results/clientpositive/annotate_stats_select.q.out @@ -395,7 +395,7 @@ STAGE PLANS: alias: alltypes_orc Statistics: Num rows: 2 Data size: 1686 Basic stats: COMPLETE Column stats: COMPLETE Select Operator - expressions: CAST( 'hello' AS CHAR(5) (type: char(5)) + expressions: 'hello' (type: char(5)) outputColumnNames: _col0 Statistics: Num rows: 2 Data size: 178 Basic stats: COMPLETE Column stats: COMPLETE ListSink @@ -416,7 +416,7 @@ STAGE PLANS: alias: alltypes_orc Statistics: Num rows: 2 Data size: 1686 Basic stats: COMPLETE Column stats: COMPLETE Select Operator - expressions: CAST( 'hello' AS varchar(5)) (type: varchar(5)) + expressions: 'hello' (type: varchar(5)) outputColumnNames: _col0 Statistics: Num rows: 2 Data size: 178 Basic stats: COMPLETE Column stats: COMPLETE ListSink