You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by na...@apache.org on 2012/10/01 06:00:04 UTC
svn commit: r1392196 - in /hive/trunk/ql/src:
java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
test/queries/clientpositive/create_view.q
test/results/clientpositive/create_view.q.out
Author: namit
Date: Mon Oct 1 04:00:03 2012
New Revision: 1392196
URL: http://svn.apache.org/viewvc?rev=1392196&view=rev
Log:
HIVE-3493 aggName of SemanticAnalyzer.getGenericUDAFEvaluator is generated in two
different ways (Yin Huai via namit)
Modified:
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
hive/trunk/ql/src/test/queries/clientpositive/create_view.q
hive/trunk/ql/src/test/results/clientpositive/create_view.q.out
Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java?rev=1392196&r1=1392195&r2=1392196&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java Mon Oct 1 04:00:03 2012
@@ -2540,7 +2540,7 @@ public class SemanticAnalyzer extends Ba
ASTNode value = entry.getValue();
// This is the GenericUDAF name
- String aggName = value.getChild(0).getText();
+ String aggName = unescapeIdentifier(value.getChild(0).getText());
boolean isDistinct = value.getType() == HiveParser.TOK_FUNCTIONDI;
boolean isAllColumns = value.getType() == HiveParser.TOK_FUNCTIONSTAR;
@@ -2663,7 +2663,7 @@ public class SemanticAnalyzer extends Ba
int numDistinctUDFs = 0;
for (Map.Entry<String, ASTNode> entry : aggregationTrees.entrySet()) {
ASTNode value = entry.getValue();
- String aggName = value.getChild(0).getText();
+ String aggName = unescapeIdentifier(value.getChild(0).getText());
ArrayList<ExprNodeDesc> aggParameters = new ArrayList<ExprNodeDesc>();
boolean isDistinct = (value.getType() == HiveParser.TOK_FUNCTIONDI);
@@ -3278,7 +3278,7 @@ public class SemanticAnalyzer extends Ba
paraExpression, paraExprInfo.getTabAlias(), paraExprInfo
.getIsVirtualCol()));
- String aggName = value.getChild(0).getText();
+ String aggName = unescapeIdentifier(value.getChild(0).getText());
boolean isDistinct = value.getType() == HiveParser.TOK_FUNCTIONDI;
boolean isStar = value.getType() == HiveParser.TOK_FUNCTIONSTAR;
@@ -5928,7 +5928,6 @@ public class SemanticAnalyzer extends Ba
for (Map.Entry<String, ASTNode> entry : aggregationTrees.entrySet()) {
ASTNode value = entry.getValue();
- value.getChild(0).getText();
// 0 is the function name
for (int i = 1; i < value.getChildCount(); i++) {
Modified: hive/trunk/ql/src/test/queries/clientpositive/create_view.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/create_view.q?rev=1392196&r1=1392195&r2=1392196&view=diff
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/create_view.q (original)
+++ hive/trunk/ql/src/test/queries/clientpositive/create_view.q Mon Oct 1 04:00:03 2012
@@ -120,6 +120,17 @@ SELECT * FROM view8;
-- test usage of a UDAF within a view
CREATE TEMPORARY FUNCTION test_max AS
'org.apache.hadoop.hive.ql.udf.UDAFTestMax';
+set hive.map.aggr=false;
+-- disable map-side aggregation
+CREATE VIEW view9(m) AS
+SELECT test_max(length(value))
+FROM src;
+DESCRIBE EXTENDED view9;
+DESCRIBE FORMATTED view9;
+SELECT * FROM view9;
+DROP VIEW view9;
+set hive.map.aggr=true;
+-- enable map-side aggregation
CREATE VIEW view9(m) AS
SELECT test_max(length(value))
FROM src;
Modified: hive/trunk/ql/src/test/results/clientpositive/create_view.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/create_view.q.out?rev=1392196&r1=1392195&r2=1392196&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/create_view.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/create_view.q.out Mon Oct 1 04:00:03 2012
@@ -768,12 +768,91 @@ CREATE TEMPORARY FUNCTION test_max AS
'org.apache.hadoop.hive.ql.udf.UDAFTestMax'
POSTHOOK: type: CREATEFUNCTION
POSTHOOK: Lineage: table1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
-PREHOOK: query: CREATE VIEW view9(m) AS
+PREHOOK: query: -- disable map-side aggregation
+CREATE VIEW view9(m) AS
SELECT test_max(length(value))
FROM src
PREHOOK: type: CREATEVIEW
#### A masked pattern was here ####
-POSTHOOK: query: CREATE VIEW view9(m) AS
+POSTHOOK: query: -- disable map-side aggregation
+CREATE VIEW view9(m) AS
+SELECT test_max(length(value))
+FROM src
+POSTHOOK: type: CREATEVIEW
+POSTHOOK: Output: default@view9
+#### A masked pattern was here ####
+POSTHOOK: Lineage: table1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+PREHOOK: query: DESCRIBE EXTENDED view9
+PREHOOK: type: DESCTABLE
+POSTHOOK: query: DESCRIBE EXTENDED view9
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Lineage: table1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+m int
+
+#### A masked pattern was here ####
+FROM src, viewExpandedText:SELECT `_c0` AS `m` FROM (SELECT `test_max`(length(`src`.`value`))
+FROM `default`.`src`) `view9`, tableType:VIRTUAL_VIEW)
+PREHOOK: query: DESCRIBE FORMATTED view9
+PREHOOK: type: DESCTABLE
+POSTHOOK: query: DESCRIBE FORMATTED view9
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Lineage: table1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+# col_name data_type comment
+
+m int None
+
+# Detailed Table Information
+Database: default
+#### A masked pattern was here ####
+Protect Mode: None
+Retention: 0
+Table Type: VIRTUAL_VIEW
+Table Parameters:
+#### A masked pattern was here ####
+
+# Storage Information
+SerDe Library: null
+InputFormat: org.apache.hadoop.mapred.SequenceFileInputFormat
+OutputFormat: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+Compressed: No
+Num Buckets: -1
+Bucket Columns: []
+Sort Columns: []
+
+# View Information
+View Original Text: SELECT test_max(length(value))
+FROM src
+View Expanded Text: SELECT `_c0` AS `m` FROM (SELECT `test_max`(length(`src`.`value`))
+FROM `default`.`src`) `view9`
+PREHOOK: query: SELECT * FROM view9
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Input: default@view9
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT * FROM view9
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Input: default@view9
+#### A masked pattern was here ####
+POSTHOOK: Lineage: table1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+7
+PREHOOK: query: DROP VIEW view9
+PREHOOK: type: DROPVIEW
+PREHOOK: Input: default@view9
+PREHOOK: Output: default@view9
+POSTHOOK: query: DROP VIEW view9
+POSTHOOK: type: DROPVIEW
+POSTHOOK: Input: default@view9
+POSTHOOK: Output: default@view9
+POSTHOOK: Lineage: table1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+PREHOOK: query: -- enable map-side aggregation
+CREATE VIEW view9(m) AS
+SELECT test_max(length(value))
+FROM src
+PREHOOK: type: CREATEVIEW
+#### A masked pattern was here ####
+POSTHOOK: query: -- enable map-side aggregation
+CREATE VIEW view9(m) AS
SELECT test_max(length(value))
FROM src
POSTHOOK: type: CREATEVIEW