You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by he...@apache.org on 2011/08/03 06:26:30 UTC

svn commit: r1153340 - in /hive/trunk/ql/src: java/org/apache/hadoop/hive/ql/exec/ test/queries/clientpositive/ test/results/clientpositive/

Author: heyongqiang
Date: Wed Aug  3 04:26:29 2011
New Revision: 1153340

URL: http://svn.apache.org/viewvc?rev=1153340&view=rev
Log:
HIVE-2100: virtual column references inside subqueries cause execution exceptions (Syed S. Albiz via He Yongqiang)

Added:
    hive/trunk/ql/src/test/queries/clientpositive/nestedvirtual.q
    hive/trunk/ql/src/test/results/clientpositive/nestedvirtual.q.out
Modified:
    hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/MapOperator.java
    hive/trunk/ql/src/test/queries/clientpositive/index_auto_mult_tables.q
    hive/trunk/ql/src/test/queries/clientpositive/index_auto_self_join.q
    hive/trunk/ql/src/test/results/clientpositive/index_auto_mult_tables.q.out
    hive/trunk/ql/src/test/results/clientpositive/index_auto_self_join.q.out

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/MapOperator.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/MapOperator.java?rev=1153340&r1=1153339&r2=1153340&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/MapOperator.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/MapOperator.java Wed Aug  3 04:26:29 2011
@@ -366,18 +366,16 @@ public class MapOperator extends Operato
 
         for (String onealias : aliases) {
           Operator<? extends Serializable> op = conf.getAliasToWork().get(
-              onealias);
+            onealias);
           LOG.info("Adding alias " + onealias + " to work list for file "
-              + onefile);
+            + onefile);
           MapInputPath inp = new MapInputPath(onefile, onealias, op);
           opCtxMap.put(inp, opCtx);
           if (operatorToPaths.get(op) == null) {
             operatorToPaths.put(op, new java.util.ArrayList<String>());
           }
           operatorToPaths.get(op).add(onefile);
-
-          op
-              .setParentOperators(new ArrayList<Operator<? extends Serializable>>());
+          op.setParentOperators(new ArrayList<Operator<? extends Serializable>>());
           op.getParentOperators().add(this);
           // check for the operators who will process rows coming to this Map
           // Operator
@@ -386,13 +384,12 @@ public class MapOperator extends Operato
             childrenPaths.add(onefile);
             LOG.info("dump " + op.getName() + " "
                 + opCtxMap.get(inp).getRowObjectInspector().getTypeName());
-            if (!done) {
-              setInspectorInput(inp);
-              done = true;
-            }
           }
+          setInspectorInput(inp);
+          done = true;
         }
       }
+      
       if (children.size() == 0) {
         // didn't find match for input file path in configuration!
         // serious problem ..
@@ -413,6 +410,8 @@ public class MapOperator extends Operato
     // set that parent initialization is done and call initialize on children
     state = State.INIT;
     List<Operator<? extends Serializable>> children = getChildOperators();
+    Path fpath = new Path((new Path(HiveConf.getVar(hconf,
+        HiveConf.ConfVars.HADOOPMAPFILENAME))).toUri().getPath());
 
     for (Entry<MapInputPath, MapOpCtx> entry : opCtxMap.entrySet()) {
       // Add alias, table name, and partitions to hadoop conf so that their

Modified: hive/trunk/ql/src/test/queries/clientpositive/index_auto_mult_tables.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/index_auto_mult_tables.q?rev=1153340&r1=1153339&r2=1153340&view=diff
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/index_auto_mult_tables.q (original)
+++ hive/trunk/ql/src/test/queries/clientpositive/index_auto_mult_tables.q Wed Aug  3 04:26:29 2011
@@ -15,7 +15,6 @@ SET hive.input.format=org.apache.hadoop.
 SET hive.optimize.index.filter=true;
 SET hive.optimize.index.filter.compact.minsize=0;
 
--- automatic indexing
 EXPLAIN SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key;
 SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key;
 

Modified: hive/trunk/ql/src/test/queries/clientpositive/index_auto_self_join.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/index_auto_self_join.q?rev=1153340&r1=1153339&r2=1153340&view=diff
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/index_auto_self_join.q (original)
+++ hive/trunk/ql/src/test/queries/clientpositive/index_auto_self_join.q Wed Aug  3 04:26:29 2011
@@ -1,6 +1,5 @@
 -- try the query without indexing, with manual indexing, and with automatic indexing
 
--- without indexing
 EXPLAIN SELECT a.key, b.key FROM src a JOIN src b ON (a.value = b.value) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key;
 SELECT a.key, b.key FROM src a JOIN src b ON (a.value = b.value) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key;
 
@@ -11,7 +10,6 @@ SET hive.input.format=org.apache.hadoop.
 SET hive.optimize.index.filter=true;
 SET hive.optimize.index.filter.compact.minsize=0;
 
--- automatic indexing
 EXPLAIN SELECT a.key, b.key FROM src a JOIN src b ON (a.value = b.value) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key;
 SELECT a.key, b.key FROM src a JOIN src b ON (a.value = b.value) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key;
 

Added: hive/trunk/ql/src/test/queries/clientpositive/nestedvirtual.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/nestedvirtual.q?rev=1153340&view=auto
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/nestedvirtual.q (added)
+++ hive/trunk/ql/src/test/queries/clientpositive/nestedvirtual.q Wed Aug  3 04:26:29 2011
@@ -0,0 +1,27 @@
+CREATE TABLE pokes (foo INT, bar STRING);
+create table pokes2(foo INT, bar STRING);
+
+create table jssarma_nilzma_bad as select a.val, a.filename, a.offset from (select hash(foo) as val, INPUT__FILE__NAME as filename, BLOCK__OFFSET__INSIDE__FILE as  offset from pokes) a join pokes2 b on (a.val = b.foo);
+
+drop table jssarma_nilzma_bad;
+
+drop table pokes;
+drop table pokes2;
+CREATE TABLE pokes (foo INT, bar STRING);
+create table pokes2(foo INT, bar STRING);
+
+create table jssarma_nilzma_bad as select a.val, a.filename, a.offset from (select hash(foo) as val, INPUT__FILE__NAME as filename, BLOCK__OFFSET__INSIDE__FILE as  offset from pokes) a join pokes2 b on (a.val = b.foo);
+
+drop table jssarma_nilzma_bad;
+
+drop table pokes;
+drop table pokes2;
+CREATE TABLE pokes (foo INT, bar STRING);
+create table pokes2(foo INT, bar STRING);
+
+create table jssarma_nilzma_bad as select a.val, a.filename, a.offset from (select hash(foo) as val, INPUT__FILE__NAME as filename, BLOCK__OFFSET__INSIDE__FILE as  offset from pokes) a join pokes2 b on (a.val = b.foo);
+
+drop table jssarma_nilzma_bad;
+
+drop table pokes;
+drop table pokes2;

Modified: hive/trunk/ql/src/test/results/clientpositive/index_auto_mult_tables.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/index_auto_mult_tables.q.out?rev=1153340&r1=1153339&r2=1153340&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/index_auto_mult_tables.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/index_auto_mult_tables.q.out Wed Aug  3 04:26:29 2011
@@ -86,7 +86,7 @@ STAGE PLANS:
   Stage: Stage-2
     Map Reduce
       Alias -> Map Operator Tree:
-        file:/var/folders/5V/5V4Zq77qGD4aSK9m8V3frVsFdRU/-Tmp-/salbiz/hive_2011-07-25_11-49-01_232_8620953468013110737/-mr-10002 
+        file:/tmp/heyongqiang/hive_2011-08-02_16-19-55_365_8913305197058109052/-mr-10002 
             Reduce Output Operator
               key expressions:
                     expr: _col0
@@ -119,7 +119,7 @@ PREHOOK: Input: default@srcpart@ds=2008-
 PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=12
 PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=11
 PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=12
-PREHOOK: Output: file:/var/folders/5V/5V4Zq77qGD4aSK9m8V3frVsFdRU/-Tmp-/salbiz/hive_2011-07-25_11-49-01_720_2821092727071549075/-mr-10000
+PREHOOK: Output: file:/tmp/heyongqiang/hive_2011-08-02_16-19-55_771_8532877932740371902/-mr-10000
 POSTHOOK: query: SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@src
@@ -127,7 +127,7 @@ POSTHOOK: Input: default@srcpart@ds=2008
 POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=12
 POSTHOOK: Input: default@srcpart@ds=2008-04-09/hr=11
 POSTHOOK: Input: default@srcpart@ds=2008-04-09/hr=12
-POSTHOOK: Output: file:/var/folders/5V/5V4Zq77qGD4aSK9m8V3frVsFdRU/-Tmp-/salbiz/hive_2011-07-25_11-49-01_720_2821092727071549075/-mr-10000
+POSTHOOK: Output: file:/tmp/heyongqiang/hive_2011-08-02_16-19-55_771_8532877932740371902/-mr-10000
 82	val_82
 82	val_82
 82	val_82
@@ -228,11 +228,9 @@ POSTHOOK: Lineage: default__srcpart_srcp
 POSTHOOK: Lineage: default__srcpart_srcpart_index__ PARTITION(ds=2008-04-09,hr=12)._bucketname SIMPLE [(srcpart)srcpart.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ]
 POSTHOOK: Lineage: default__srcpart_srcpart_index__ PARTITION(ds=2008-04-09,hr=12)._offset SIMPLE [(srcpart)srcpart.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ]
 POSTHOOK: Lineage: default__srcpart_srcpart_index__ PARTITION(ds=2008-04-09,hr=12).key SIMPLE [(srcpart)srcpart.FieldSchema(name:key, type:string, comment:default), ]
-PREHOOK: query: -- automatic indexing
-EXPLAIN SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key
+PREHOOK: query: EXPLAIN SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key
 PREHOOK: type: QUERY
-POSTHOOK: query: -- automatic indexing
-EXPLAIN SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key
+POSTHOOK: query: EXPLAIN SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key
 POSTHOOK: type: QUERY
 POSTHOOK: Lineage: default__src_src_index__._bitmaps EXPRESSION [(src)src.FieldSchema(name:ROW__OFFSET__INSIDE__BLOCK, type:bigint, comment:), ]
 POSTHOOK: Lineage: default__src_src_index__._bucketname SIMPLE [(src)src.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ]
@@ -340,7 +338,7 @@ STAGE PLANS:
     Move Operator
       files:
           hdfs directory: true
-          destination: file:/var/folders/5V/5V4Zq77qGD4aSK9m8V3frVsFdRU/-Tmp-/salbiz/hive_2011-07-25_11-50-02_560_7042516595035703988/-mr-10003
+          destination: file:/tmp/heyongqiang/hive_2011-08-02_16-20-29_082_9210885468563163297/-mr-10003
 
   Stage: Stage-1
     Map Reduce
@@ -417,7 +415,7 @@ STAGE PLANS:
   Stage: Stage-2
     Map Reduce
       Alias -> Map Operator Tree:
-        file:/var/folders/5V/5V4Zq77qGD4aSK9m8V3frVsFdRU/-Tmp-/salbiz/hive_2011-07-25_11-50-02_560_7042516595035703988/-mr-10002 
+        file:/tmp/heyongqiang/hive_2011-08-02_16-20-29_082_9210885468563163297/-mr-10002 
             Reduce Output Operator
               key expressions:
                     expr: _col0
@@ -523,7 +521,7 @@ STAGE PLANS:
     Move Operator
       files:
           hdfs directory: true
-          destination: file:/var/folders/5V/5V4Zq77qGD4aSK9m8V3frVsFdRU/-Tmp-/salbiz/hive_2011-07-25_11-50-02_560_7042516595035703988/-mr-10004
+          destination: file:/tmp/heyongqiang/hive_2011-08-02_16-20-29_082_9210885468563163297/-mr-10004
 
   Stage: Stage-0
     Fetch Operator
@@ -542,7 +540,7 @@ PREHOOK: Input: default@srcpart@ds=2008-
 PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=12
 PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=11
 PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=12
-PREHOOK: Output: file:/var/folders/5V/5V4Zq77qGD4aSK9m8V3frVsFdRU/-Tmp-/salbiz/hive_2011-07-25_11-50-03_417_3979280982191225396/-mr-10000
+PREHOOK: Output: file:/tmp/heyongqiang/hive_2011-08-02_16-20-29_990_218311290925215201/-mr-10000
 POSTHOOK: query: SELECT a.key, a.value FROM src a JOIN srcpart b ON (a.key = b.key) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@default__src_src_index__
@@ -555,7 +553,7 @@ POSTHOOK: Input: default@srcpart@ds=2008
 POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=12
 POSTHOOK: Input: default@srcpart@ds=2008-04-09/hr=11
 POSTHOOK: Input: default@srcpart@ds=2008-04-09/hr=12
-POSTHOOK: Output: file:/var/folders/5V/5V4Zq77qGD4aSK9m8V3frVsFdRU/-Tmp-/salbiz/hive_2011-07-25_11-50-03_417_3979280982191225396/-mr-10000
+POSTHOOK: Output: file:/tmp/heyongqiang/hive_2011-08-02_16-20-29_990_218311290925215201/-mr-10000
 POSTHOOK: Lineage: default__src_src_index__._bitmaps EXPRESSION [(src)src.FieldSchema(name:ROW__OFFSET__INSIDE__BLOCK, type:bigint, comment:), ]
 POSTHOOK: Lineage: default__src_src_index__._bucketname SIMPLE [(src)src.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ]
 POSTHOOK: Lineage: default__src_src_index__._offset SIMPLE [(src)src.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ]

Modified: hive/trunk/ql/src/test/results/clientpositive/index_auto_self_join.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/index_auto_self_join.q.out?rev=1153340&r1=1153339&r2=1153340&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/index_auto_self_join.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/index_auto_self_join.q.out Wed Aug  3 04:26:29 2011
@@ -1,11 +1,9 @@
 PREHOOK: query: -- try the query without indexing, with manual indexing, and with automatic indexing
 
--- without indexing
 EXPLAIN SELECT a.key, b.key FROM src a JOIN src b ON (a.value = b.value) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key
 PREHOOK: type: QUERY
 POSTHOOK: query: -- try the query without indexing, with manual indexing, and with automatic indexing
 
--- without indexing
 EXPLAIN SELECT a.key, b.key FROM src a JOIN src b ON (a.value = b.value) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key
 POSTHOOK: type: QUERY
 ABSTRACT SYNTAX TREE:
@@ -84,7 +82,7 @@ STAGE PLANS:
   Stage: Stage-2
     Map Reduce
       Alias -> Map Operator Tree:
-        file:/var/folders/5V/5V4Zq77qGD4aSK9m8V3frVsFdRU/-Tmp-/salbiz/hive_2011-07-25_11-52-09_745_6885930417140409942/-mr-10002 
+        file:/tmp/heyongqiang/hive_2011-08-02_16-20-46_897_8857433213666459560/-mr-10002 
             Reduce Output Operator
               key expressions:
                     expr: _col0
@@ -113,11 +111,11 @@ STAGE PLANS:
 PREHOOK: query: SELECT a.key, b.key FROM src a JOIN src b ON (a.value = b.value) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key
 PREHOOK: type: QUERY
 PREHOOK: Input: default@src
-PREHOOK: Output: file:/var/folders/5V/5V4Zq77qGD4aSK9m8V3frVsFdRU/-Tmp-/salbiz/hive_2011-07-25_11-52-09_850_4835801559936339690/-mr-10000
+PREHOOK: Output: file:/tmp/heyongqiang/hive_2011-08-02_16-20-47_055_5824956672610237767/-mr-10000
 POSTHOOK: query: SELECT a.key, b.key FROM src a JOIN src b ON (a.value = b.value) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@src
-POSTHOOK: Output: file:/var/folders/5V/5V4Zq77qGD4aSK9m8V3frVsFdRU/-Tmp-/salbiz/hive_2011-07-25_11-52-09_850_4835801559936339690/-mr-10000
+POSTHOOK: Output: file:/tmp/heyongqiang/hive_2011-08-02_16-20-47_055_5824956672610237767/-mr-10000
 82	82
 83	83
 83	83
@@ -146,11 +144,9 @@ POSTHOOK: Lineage: default__src_src_inde
 POSTHOOK: Lineage: default__src_src_index__._bucketname SIMPLE [(src)src.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ]
 POSTHOOK: Lineage: default__src_src_index__._offset SIMPLE [(src)src.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ]
 POSTHOOK: Lineage: default__src_src_index__.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
-PREHOOK: query: -- automatic indexing
-EXPLAIN SELECT a.key, b.key FROM src a JOIN src b ON (a.value = b.value) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key
+PREHOOK: query: EXPLAIN SELECT a.key, b.key FROM src a JOIN src b ON (a.value = b.value) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key
 PREHOOK: type: QUERY
-POSTHOOK: query: -- automatic indexing
-EXPLAIN SELECT a.key, b.key FROM src a JOIN src b ON (a.value = b.value) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key
+POSTHOOK: query: EXPLAIN SELECT a.key, b.key FROM src a JOIN src b ON (a.value = b.value) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key
 POSTHOOK: type: QUERY
 POSTHOOK: Lineage: default__src_src_index__._bitmaps EXPRESSION [(src)src.FieldSchema(name:ROW__OFFSET__INSIDE__BLOCK, type:bigint, comment:), ]
 POSTHOOK: Lineage: default__src_src_index__._bucketname SIMPLE [(src)src.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ]
@@ -254,7 +250,7 @@ STAGE PLANS:
     Move Operator
       files:
           hdfs directory: true
-          destination: file:/var/folders/5V/5V4Zq77qGD4aSK9m8V3frVsFdRU/-Tmp-/salbiz/hive_2011-07-25_11-52-30_115_3399336884670906022/-mr-10003
+          destination: file:/tmp/heyongqiang/hive_2011-08-02_16-20-57_341_4740837259291256044/-mr-10003
 
   Stage: Stage-1
     Map Reduce
@@ -329,7 +325,7 @@ STAGE PLANS:
   Stage: Stage-2
     Map Reduce
       Alias -> Map Operator Tree:
-        file:/var/folders/5V/5V4Zq77qGD4aSK9m8V3frVsFdRU/-Tmp-/salbiz/hive_2011-07-25_11-52-30_115_3399336884670906022/-mr-10002 
+        file:/tmp/heyongqiang/hive_2011-08-02_16-20-57_341_4740837259291256044/-mr-10002 
             Reduce Output Operator
               key expressions:
                     expr: _col0
@@ -435,7 +431,7 @@ STAGE PLANS:
     Move Operator
       files:
           hdfs directory: true
-          destination: file:/var/folders/5V/5V4Zq77qGD4aSK9m8V3frVsFdRU/-Tmp-/salbiz/hive_2011-07-25_11-52-30_115_3399336884670906022/-mr-10004
+          destination: file:/tmp/heyongqiang/hive_2011-08-02_16-20-57_341_4740837259291256044/-mr-10004
 
   Stage: Stage-0
     Fetch Operator
@@ -446,12 +442,12 @@ PREHOOK: query: SELECT a.key, b.key FROM
 PREHOOK: type: QUERY
 PREHOOK: Input: default@default__src_src_index__
 PREHOOK: Input: default@src
-PREHOOK: Output: file:/var/folders/5V/5V4Zq77qGD4aSK9m8V3frVsFdRU/-Tmp-/salbiz/hive_2011-07-25_11-52-30_457_5636524164788077312/-mr-10000
+PREHOOK: Output: file:/tmp/heyongqiang/hive_2011-08-02_16-20-57_700_5860392294353197259/-mr-10000
 POSTHOOK: query: SELECT a.key, b.key FROM src a JOIN src b ON (a.value = b.value) WHERE a.key > 80 AND a.key < 100 AND b.key > 70 AND b.key < 90 ORDER BY a.key
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@default__src_src_index__
 POSTHOOK: Input: default@src
-POSTHOOK: Output: file:/var/folders/5V/5V4Zq77qGD4aSK9m8V3frVsFdRU/-Tmp-/salbiz/hive_2011-07-25_11-52-30_457_5636524164788077312/-mr-10000
+POSTHOOK: Output: file:/tmp/heyongqiang/hive_2011-08-02_16-20-57_700_5860392294353197259/-mr-10000
 POSTHOOK: Lineage: default__src_src_index__._bitmaps EXPRESSION [(src)src.FieldSchema(name:ROW__OFFSET__INSIDE__BLOCK, type:bigint, comment:), ]
 POSTHOOK: Lineage: default__src_src_index__._bucketname SIMPLE [(src)src.FieldSchema(name:INPUT__FILE__NAME, type:string, comment:), ]
 POSTHOOK: Lineage: default__src_src_index__._offset SIMPLE [(src)src.FieldSchema(name:BLOCK__OFFSET__INSIDE__FILE, type:bigint, comment:), ]

Added: hive/trunk/ql/src/test/results/clientpositive/nestedvirtual.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/nestedvirtual.q.out?rev=1153340&view=auto
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/nestedvirtual.q.out (added)
+++ hive/trunk/ql/src/test/results/clientpositive/nestedvirtual.q.out Wed Aug  3 04:26:29 2011
@@ -0,0 +1,129 @@
+PREHOOK: query: CREATE TABLE pokes (foo INT, bar STRING)
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: CREATE TABLE pokes (foo INT, bar STRING)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@pokes
+PREHOOK: query: create table pokes2(foo INT, bar STRING)
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: create table pokes2(foo INT, bar STRING)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@pokes2
+PREHOOK: query: create table jssarma_nilzma_bad as select a.val, a.filename, a.offset from (select hash(foo) as val, INPUT__FILE__NAME as filename, BLOCK__OFFSET__INSIDE__FILE as  offset from pokes) a join pokes2 b on (a.val = b.foo)
+PREHOOK: type: CREATETABLE_AS_SELECT
+PREHOOK: Input: default@pokes
+PREHOOK: Input: default@pokes2
+POSTHOOK: query: create table jssarma_nilzma_bad as select a.val, a.filename, a.offset from (select hash(foo) as val, INPUT__FILE__NAME as filename, BLOCK__OFFSET__INSIDE__FILE as  offset from pokes) a join pokes2 b on (a.val = b.foo)
+POSTHOOK: type: CREATETABLE_AS_SELECT
+POSTHOOK: Input: default@pokes
+POSTHOOK: Input: default@pokes2
+POSTHOOK: Output: default@jssarma_nilzma_bad
+PREHOOK: query: drop table jssarma_nilzma_bad
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@jssarma_nilzma_bad
+PREHOOK: Output: default@jssarma_nilzma_bad
+POSTHOOK: query: drop table jssarma_nilzma_bad
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@jssarma_nilzma_bad
+POSTHOOK: Output: default@jssarma_nilzma_bad
+PREHOOK: query: drop table pokes
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@pokes
+PREHOOK: Output: default@pokes
+POSTHOOK: query: drop table pokes
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@pokes
+POSTHOOK: Output: default@pokes
+PREHOOK: query: drop table pokes2
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@pokes2
+PREHOOK: Output: default@pokes2
+POSTHOOK: query: drop table pokes2
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@pokes2
+POSTHOOK: Output: default@pokes2
+PREHOOK: query: CREATE TABLE pokes (foo INT, bar STRING)
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: CREATE TABLE pokes (foo INT, bar STRING)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@pokes
+PREHOOK: query: create table pokes2(foo INT, bar STRING)
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: create table pokes2(foo INT, bar STRING)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@pokes2
+PREHOOK: query: create table jssarma_nilzma_bad as select a.val, a.filename, a.offset from (select hash(foo) as val, INPUT__FILE__NAME as filename, BLOCK__OFFSET__INSIDE__FILE as  offset from pokes) a join pokes2 b on (a.val = b.foo)
+PREHOOK: type: CREATETABLE_AS_SELECT
+PREHOOK: Input: default@pokes
+PREHOOK: Input: default@pokes2
+POSTHOOK: query: create table jssarma_nilzma_bad as select a.val, a.filename, a.offset from (select hash(foo) as val, INPUT__FILE__NAME as filename, BLOCK__OFFSET__INSIDE__FILE as  offset from pokes) a join pokes2 b on (a.val = b.foo)
+POSTHOOK: type: CREATETABLE_AS_SELECT
+POSTHOOK: Input: default@pokes
+POSTHOOK: Input: default@pokes2
+POSTHOOK: Output: default@jssarma_nilzma_bad
+PREHOOK: query: drop table jssarma_nilzma_bad
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@jssarma_nilzma_bad
+PREHOOK: Output: default@jssarma_nilzma_bad
+POSTHOOK: query: drop table jssarma_nilzma_bad
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@jssarma_nilzma_bad
+POSTHOOK: Output: default@jssarma_nilzma_bad
+PREHOOK: query: drop table pokes
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@pokes
+PREHOOK: Output: default@pokes
+POSTHOOK: query: drop table pokes
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@pokes
+POSTHOOK: Output: default@pokes
+PREHOOK: query: drop table pokes2
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@pokes2
+PREHOOK: Output: default@pokes2
+POSTHOOK: query: drop table pokes2
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@pokes2
+POSTHOOK: Output: default@pokes2
+PREHOOK: query: CREATE TABLE pokes (foo INT, bar STRING)
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: CREATE TABLE pokes (foo INT, bar STRING)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@pokes
+PREHOOK: query: create table pokes2(foo INT, bar STRING)
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: create table pokes2(foo INT, bar STRING)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@pokes2
+PREHOOK: query: create table jssarma_nilzma_bad as select a.val, a.filename, a.offset from (select hash(foo) as val, INPUT__FILE__NAME as filename, BLOCK__OFFSET__INSIDE__FILE as  offset from pokes) a join pokes2 b on (a.val = b.foo)
+PREHOOK: type: CREATETABLE_AS_SELECT
+PREHOOK: Input: default@pokes
+PREHOOK: Input: default@pokes2
+POSTHOOK: query: create table jssarma_nilzma_bad as select a.val, a.filename, a.offset from (select hash(foo) as val, INPUT__FILE__NAME as filename, BLOCK__OFFSET__INSIDE__FILE as  offset from pokes) a join pokes2 b on (a.val = b.foo)
+POSTHOOK: type: CREATETABLE_AS_SELECT
+POSTHOOK: Input: default@pokes
+POSTHOOK: Input: default@pokes2
+POSTHOOK: Output: default@jssarma_nilzma_bad
+PREHOOK: query: drop table jssarma_nilzma_bad
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@jssarma_nilzma_bad
+PREHOOK: Output: default@jssarma_nilzma_bad
+POSTHOOK: query: drop table jssarma_nilzma_bad
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@jssarma_nilzma_bad
+POSTHOOK: Output: default@jssarma_nilzma_bad
+PREHOOK: query: drop table pokes
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@pokes
+PREHOOK: Output: default@pokes
+POSTHOOK: query: drop table pokes
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@pokes
+POSTHOOK: Output: default@pokes
+PREHOOK: query: drop table pokes2
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@pokes2
+PREHOOK: Output: default@pokes2
+POSTHOOK: query: drop table pokes2
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@pokes2
+POSTHOOK: Output: default@pokes2