You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by zs...@apache.org on 2008/12/17 00:16:31 UTC

svn commit: r727211 [1/2] - in /hadoop/hive/trunk: CHANGES.txt ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java ql/src/test/queries/clientpositive/sample8.q ql/src/test/results/clientpositive/sample8.q.out

Author: zshao
Date: Tue Dec 16 15:16:30 2008
New Revision: 727211

URL: http://svn.apache.org/viewvc?rev=727211&view=rev
Log:
HIVE-158. Make table aliases work for sampled tables in joins. (Raghotham Murthy via zshao)

Added:
    hadoop/hive/trunk/ql/src/test/queries/clientpositive/sample8.q
    hadoop/hive/trunk/ql/src/test/results/clientpositive/sample8.q.out
Modified:
    hadoop/hive/trunk/CHANGES.txt
    hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java

Modified: hadoop/hive/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/CHANGES.txt?rev=727211&r1=727210&r2=727211&view=diff
==============================================================================
--- hadoop/hive/trunk/CHANGES.txt (original)
+++ hadoop/hive/trunk/CHANGES.txt Tue Dec 16 15:16:30 2008
@@ -43,6 +43,9 @@
 
   BUG FIXES
 
+    HIVE-158. Make table aliases work for sampled tables in joins.
+    (Raghotham Murthy via zshao)
+
     HIVE-168. Fixed join on a subquery with a group by. (Namit Jain via zshao)
 
     HIVE-169. Fixed configuration parameter used for determining join interval 

Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java?rev=727211&r1=727210&r2=727211&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java Tue Dec 16 15:16:30 2008
@@ -2384,7 +2384,7 @@
         || (left.getToken().getType() == HiveParser.TOK_SUBQUERY)) {
       String table_name = unescapeIdentifier(left.getChild(0).getText());
       String alias = left.getChildCount() == 1 ? table_name : 
-        unescapeIdentifier(left.getChild(1).getText().toLowerCase());
+        unescapeIdentifier(left.getChild(left.getChildCount()-1).getText().toLowerCase());
       joinTree.setLeftAlias(alias);
       String[] leftAliases = new String[1];
       leftAliases[0] = alias;
@@ -2409,7 +2409,7 @@
         || (right.getToken().getType() == HiveParser.TOK_SUBQUERY)) {
       String table_name = unescapeIdentifier(right.getChild(0).getText());
       String alias = right.getChildCount() == 1 ? table_name : 
-        unescapeIdentifier(right.getChild(1).getText().toLowerCase());
+        unescapeIdentifier(right.getChild(right.getChildCount()-1).getText().toLowerCase());
       String[] rightAliases = new String[1];
       rightAliases[0] = alias;
       joinTree.setRightAliases(rightAliases);

Added: hadoop/hive/trunk/ql/src/test/queries/clientpositive/sample8.q
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/test/queries/clientpositive/sample8.q?rev=727211&view=auto
==============================================================================
--- hadoop/hive/trunk/ql/src/test/queries/clientpositive/sample8.q (added)
+++ hadoop/hive/trunk/ql/src/test/queries/clientpositive/sample8.q Tue Dec 16 15:16:30 2008
@@ -0,0 +1,15 @@
+-- sampling with join and alias
+EXPLAIN EXTENDED
+SELECT s.*
+FROM srcpart TABLESAMPLE (BUCKET 1 OUT OF 1 ON key) s
+JOIN srcpart TABLESAMPLE (BUCKET 1 OUT OF 10 ON key) t
+WHERE t.key = s.key and t.value = s.value and s.ds='2008-04-08' and s.hr='11' and s.ds='2008-04-08' and s.hr='11'
+DISTRIBUTE BY key, value
+SORT BY key, value;
+
+SELECT s.key, s.value
+FROM srcpart TABLESAMPLE (BUCKET 1 OUT OF 1 ON key) s
+JOIN srcpart TABLESAMPLE (BUCKET 1 OUT OF 10 ON key) t
+WHERE s.ds='2008-04-08' and s.hr='11' and s.ds='2008-04-08' and s.hr='11'
+DISTRIBUTE BY key, value
+SORT BY key, value;