diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java index 96df189..070e670 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java @@ -672,7 +672,7 @@ private String processTable(QB qb, ASTNode tabref) throws SemanticException { ASTNode tableTree = (ASTNode) (tabref.getChild(0)); - String tabIdName = getUnescapedName(tableTree); + String tabIdName = getUnescapedName(tableTree).toLowerCase(); String alias; if (aliasIndex != 0) { @@ -1562,7 +1562,7 @@ public boolean doPhase1(ASTNode ast, QB qb, Phase1Ctx ctx_1, PlannerContext plan case HiveParser.TOK_ANALYZE: // Case of analyze command - String table_name = getUnescapedName((ASTNode) ast.getChild(0).getChild(0)); + String table_name = getUnescapedName((ASTNode) ast.getChild(0).getChild(0)).toLowerCase(); qb.setTabAlias(table_name, table_name); diff --git a/ql/src/test/queries/clientpositive/cte_6.q b/ql/src/test/queries/clientpositive/cte_6.q new file mode 100644 index 0000000..964d1b8 --- /dev/null +++ b/ql/src/test/queries/clientpositive/cte_6.q @@ -0,0 +1,10 @@ +explain +with Q1 as ( select key from sRc where key = '5') +select CPS.key from Q1 CPS; + +-- chaining + +explain +with Q1 as ( select key from q2 where key = '5'), +Q2 as ( select key from sRc where key = '5') +select CPS.key from Q1 CPS; diff --git a/ql/src/test/results/clientpositive/cte_6.q.out b/ql/src/test/results/clientpositive/cte_6.q.out new file mode 100644 index 0000000..c074972 --- /dev/null +++ b/ql/src/test/results/clientpositive/cte_6.q.out @@ -0,0 +1,86 @@ +PREHOOK: query: explain +with Q1 as ( select key from sRc where key = '5') +select CPS.key from Q1 CPS +PREHOOK: type: QUERY +POSTHOOK: query: explain +with Q1 as ( select key from sRc where key = '5') +select CPS.key from Q1 CPS +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-1 is a root stage + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-1 + Map Reduce + Map Operator Tree: + TableScan + alias: src + Statistics: Num rows: 5812 Data size: 5812 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: (key = '5') (type: boolean) + Statistics: Num rows: 2906 Data size: 2906 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: '5' (type: string) + outputColumnNames: _col0 + Statistics: Num rows: 2906 Data size: 2906 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 2906 Data size: 2906 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.SequenceFileInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + + Stage: Stage-0 + Fetch Operator + limit: -1 + Processor Tree: + ListSink + +PREHOOK: query: -- chaining + +explain +with Q1 as ( select key from q2 where key = '5'), +Q2 as ( select key from sRc where key = '5') +select CPS.key from Q1 CPS +PREHOOK: type: QUERY +POSTHOOK: query: -- chaining + +explain +with Q1 as ( select key from q2 where key = '5'), +Q2 as ( select key from sRc where key = '5') +select CPS.key from Q1 CPS +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-1 is a root stage + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-1 + Map Reduce + Map Operator Tree: + TableScan + alias: src + Statistics: Num rows: 5812 Data size: 5812 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: (key = '5') (type: boolean) + Statistics: Num rows: 2906 Data size: 2906 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: '5' (type: string) + outputColumnNames: _col0 + Statistics: Num rows: 2906 Data size: 2906 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 2906 Data size: 2906 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.SequenceFileInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + + Stage: Stage-0 + Fetch Operator + limit: -1 + Processor Tree: + ListSink +