Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Threaded View
Hive >> mail # dev >> aggName in SemanticAnalyzer.getGenericUDAFEvaluator


Copy link to this message
-
aggName in SemanticAnalyzer.getGenericUDAFEvaluator
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