hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Yin Huai <huaiyin....@gmail.com>
Subject aggName in SemanticAnalyzer.getGenericUDAFEvaluator
Date Fri, 14 Sep 2012 21:06:32 GMT
Hello All,

The method of
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.getGenericUDAFEvaluator(String,
ArrayList<ExprNodeDesc>, ASTNode, boolean, boolean) is called from three
methods, which are
1) org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genGroupByPlanGroupByOperator(QBParseInfo,
String, Operator, Mode, Map<String, GenericUDAFEvaluator>);
2) org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genGroupByPlanGroupByOperator1(QBParseInfo,
String, Operator, Mode, Map<String, GenericUDAFEvaluator>, boolean) ; and
3) org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genGroupByPlanMapGroupByOperator(QB,
String, Operator, Mode, Map<String, GenericUDAFEvaluator>). However, in
these three methods, aggName is generated in a in consistent way. In first
two methods, aggName is generated from String aggName =
value.getChild(0).getText();, but in the third method, it is generated
from String aggName = unescapeIdentifier(value.getChild(0).getText());.

If you use test query create_view.q in TestCliDriver and set
hive.map.aggr=false;, this test will fail.

Seems a bug for me. If you guys think it is a bug, I can create a issue and
submit a patch to fix that.

Thanks,

Yin

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message