Index: ql/src/test/results/clientpositive/auto_join13.q.out =================================================================== --- ql/src/test/results/clientpositive/auto_join13.q.out (revisão 1442559) +++ ql/src/test/results/clientpositive/auto_join13.q.out (cópia de trabalho) @@ -134,7 +134,7 @@ outputColumnNames: _col0 HashTable Sink Operator condition expressions: - 0 {_col3} {_col0} + 0 {_col0} {_col3} 1 handleSkewJoin: false keys: @@ -150,24 +150,24 @@ condition map: Inner Join 0 to 1 condition expressions: - 0 {_col3} {_col0} + 0 {_col0} {_col3} 1 handleSkewJoin: false keys: 0 [class org.apache.hadoop.hive.ql.udf.generic.GenericUDFBridge(Column[_col0], Column[_col2]()] 1 [class org.apache.hadoop.hive.ql.udf.generic.GenericUDFBridge(Column[_col0]()] - outputColumnNames: _col1, _col2 + outputColumnNames: _col0, _col3 Position of Big Table: 0 Select Operator expressions: - expr: _col2 + expr: _col0 type: string - expr: _col1 + expr: _col3 type: string - outputColumnNames: _col2, _col1 + outputColumnNames: _col0, _col3 Group By Operator aggregations: - expr: sum(hash(_col2,_col1)) + expr: sum(hash(_col0,_col3)) bucketGroup: false mode: hash outputColumnNames: _col0 @@ -219,7 +219,7 @@ $INTNAME HashTable Sink Operator condition expressions: - 0 {_col3} {_col0} + 0 {_col0} {_col3} 1 handleSkewJoin: false keys: @@ -246,24 +246,24 @@ condition map: Inner Join 0 to 1 condition expressions: - 0 {_col3} {_col0} + 0 {_col0} {_col3} 1 handleSkewJoin: false keys: 0 [class org.apache.hadoop.hive.ql.udf.generic.GenericUDFBridge(Column[_col0], Column[_col2]()] 1 [class org.apache.hadoop.hive.ql.udf.generic.GenericUDFBridge(Column[_col0]()] - outputColumnNames: _col1, _col2 + outputColumnNames: _col0, _col3 Position of Big Table: 1 Select Operator expressions: - expr: _col2 + expr: _col0 type: string - expr: _col1 + expr: _col3 type: string - outputColumnNames: _col2, _col1 + outputColumnNames: _col0, _col3 Group By Operator aggregations: - expr: sum(hash(_col2,_col1)) + expr: sum(hash(_col0,_col3)) bucketGroup: false mode: hash outputColumnNames: _col0 @@ -290,10 +290,10 @@ type: double tag: 0 value expressions: + expr: _col0 + type: string expr: _col3 type: string - expr: _col0 - type: string src3:src TableScan alias: src @@ -320,20 +320,20 @@ condition map: Inner Join 0 to 1 condition expressions: - 0 {VALUE._col1} {VALUE._col2} + 0 {VALUE._col0} {VALUE._col3} 1 handleSkewJoin: false - outputColumnNames: _col1, _col2 + outputColumnNames: _col0, _col3 Select Operator expressions: - expr: _col2 + expr: _col0 type: string - expr: _col1 + expr: _col3 type: string - outputColumnNames: _col2, _col1 + outputColumnNames: _col0, _col3 Group By Operator aggregations: - expr: sum(hash(_col2,_col1)) + expr: sum(hash(_col0,_col3)) bucketGroup: false mode: hash outputColumnNames: _col0 Index: ql/src/test/results/clientpositive/join_reorder3.q.out =================================================================== --- ql/src/test/results/clientpositive/join_reorder3.q.out (revisão 1442559) +++ ql/src/test/results/clientpositive/join_reorder3.q.out (cópia de trabalho) @@ -287,14 +287,14 @@ type: string tag: 0 value expressions: + expr: _col0 + type: string + expr: _col1 + type: string expr: _col4 type: string expr: _col5 type: string - expr: _col0 - type: string - expr: _col1 - type: string c TableScan alias: c @@ -334,11 +334,11 @@ $INTNAME Reduce Output Operator key expressions: - expr: (_col4 + 1) + expr: (_col0 + 1) type: double sort order: + Map-reduce partition columns: - expr: (_col4 + 1) + expr: (_col0 + 1) type: double tag: 1 value expressions: @@ -346,14 +346,14 @@ type: string expr: _col1 type: string + expr: _col4 + type: string + expr: _col5 + type: string expr: _col8 type: string expr: _col9 type: string - expr: _col4 - type: string - expr: _col5 - type: string d TableScan alias: d @@ -382,10 +382,6 @@ outputColumnNames: _col0, _col1, _col4, _col5, _col8, _col9, _col12, _col13 Select Operator expressions: - expr: _col8 - type: string - expr: _col9 - type: string expr: _col0 type: string expr: _col1 @@ -394,6 +390,10 @@ type: string expr: _col5 type: string + expr: _col8 + type: string + expr: _col9 + type: string expr: _col12 type: string expr: _col13 Index: ql/src/test/results/clientpositive/join33.q.out =================================================================== --- ql/src/test/results/clientpositive/join33.q.out (revisão 1442559) +++ ql/src/test/results/clientpositive/join33.q.out (cópia de trabalho) @@ -155,10 +155,10 @@ type: string tag: 0 value expressions: + expr: _col0 + type: string expr: _col5 type: string - expr: _col0 - type: string z TableScan alias: z @@ -247,17 +247,17 @@ condition map: Inner Join 0 to 1 condition expressions: - 0 {VALUE._col1} {VALUE._col4} + 0 {VALUE._col0} {VALUE._col5} 1 {VALUE._col1} handleSkewJoin: false - outputColumnNames: _col1, _col4, _col9 + outputColumnNames: _col0, _col5, _col9 Select Operator expressions: - expr: _col4 + expr: _col0 type: string expr: _col9 type: string - expr: _col1 + expr: _col5 type: string outputColumnNames: _col0, _col1, _col2 File Output Operator Index: ql/src/test/results/clientpositive/multi_join_union.q.out =================================================================== --- ql/src/test/results/clientpositive/multi_join_union.q.out (revisão 1442559) +++ ql/src/test/results/clientpositive/multi_join_union.q.out (cópia de trabalho) @@ -138,7 +138,7 @@ outputColumnNames: _col0, _col1 HashTable Sink Operator condition expressions: - 0 {_col4} {_col5} {_col0} {_col1} + 0 {_col0} {_col1} {_col4} {_col5} 1 {_col0} {_col1} handleSkewJoin: false keys: @@ -165,7 +165,7 @@ outputColumnNames: _col0, _col1 HashTable Sink Operator condition expressions: - 0 {_col4} {_col5} {_col0} {_col1} + 0 {_col0} {_col1} {_col4} {_col5} 1 {_col0} {_col1} handleSkewJoin: false keys: @@ -181,7 +181,7 @@ condition map: Inner Join 0 to 1 condition expressions: - 0 {_col4} {_col5} {_col0} {_col1} + 0 {_col0} {_col1} {_col4} {_col5} 1 {_col0} {_col1} handleSkewJoin: false keys: @@ -191,14 +191,14 @@ Position of Big Table: 0 Select Operator expressions: + expr: _col0 + type: string + expr: _col1 + type: string expr: _col4 type: string expr: _col5 type: string - expr: _col0 - type: string - expr: _col1 - type: string expr: _col8 type: string expr: _col9 @@ -223,7 +223,7 @@ $INTNAME HashTable Sink Operator condition expressions: - 0 {_col4} {_col5} {_col0} {_col1} + 0 {_col0} {_col1} {_col4} {_col5} 1 {_col0} {_col1} handleSkewJoin: false keys: @@ -256,7 +256,7 @@ condition map: Inner Join 0 to 1 condition expressions: - 0 {_col4} {_col5} {_col0} {_col1} + 0 {_col0} {_col1} {_col4} {_col5} 1 {_col0} {_col1} handleSkewJoin: false keys: @@ -266,14 +266,14 @@ Position of Big Table: 1 Select Operator expressions: + expr: _col0 + type: string + expr: _col1 + type: string expr: _col4 type: string expr: _col5 type: string - expr: _col0 - type: string - expr: _col1 - type: string expr: _col8 type: string expr: _col9 @@ -307,7 +307,7 @@ condition map: Inner Join 0 to 1 condition expressions: - 0 {_col4} {_col5} {_col0} {_col1} + 0 {_col0} {_col1} {_col4} {_col5} 1 {_col0} {_col1} handleSkewJoin: false keys: @@ -317,14 +317,14 @@ Position of Big Table: 1 Select Operator expressions: + expr: _col0 + type: string + expr: _col1 + type: string expr: _col4 type: string expr: _col5 type: string - expr: _col0 - type: string - expr: _col1 - type: string expr: _col8 type: string expr: _col9 @@ -353,14 +353,14 @@ type: string tag: 0 value expressions: + expr: _col0 + type: string + expr: _col1 + type: string expr: _col4 type: string expr: _col5 type: string - expr: _col0 - type: string - expr: _col1 - type: string c-subquery1:a-subquery1:src13 TableScan alias: src13 @@ -436,14 +436,14 @@ outputColumnNames: _col0, _col1, _col4, _col5, _col8, _col9 Select Operator expressions: + expr: _col0 + type: string + expr: _col1 + type: string expr: _col4 type: string expr: _col5 type: string - expr: _col0 - type: string - expr: _col1 - type: string expr: _col8 type: string expr: _col9 Index: ql/src/test/results/clientpositive/join2.q.out =================================================================== --- ql/src/test/results/clientpositive/join2.q.out (revisão 1442559) +++ ql/src/test/results/clientpositive/join2.q.out (cópia de trabalho) @@ -106,13 +106,13 @@ condition map: Inner Join 0 to 1 condition expressions: - 0 {VALUE._col4} + 0 {VALUE._col0} 1 {VALUE._col1} handleSkewJoin: false - outputColumnNames: _col4, _col9 + outputColumnNames: _col0, _col9 Select Operator expressions: - expr: _col4 + expr: _col0 type: string expr: _col9 type: string Index: ql/src/test/results/clientpositive/join19.q.out =================================================================== --- ql/src/test/results/clientpositive/join19.q.out (revisão 1442559) +++ ql/src/test/results/clientpositive/join19.q.out (cópia de trabalho) @@ -236,12 +236,12 @@ type: string tag: 0 value expressions: - expr: _col3 - type: string expr: _col0 type: string expr: _col2 type: string + expr: _col3 + type: string t44:t4 TableScan alias: t4 @@ -295,11 +295,11 @@ Inner Join 0 to 1 Inner Join 1 to 2 condition expressions: - 0 {VALUE._col0} {VALUE._col2} {VALUE._col4} + 0 {VALUE._col0} {VALUE._col2} {VALUE._col3} 1 2 {VALUE._col1} handleSkewJoin: false - outputColumnNames: _col0, _col2, _col4, _col7 + outputColumnNames: _col0, _col2, _col3, _col7 File Output Operator compressed: false GlobalTableId: 0 @@ -325,7 +325,7 @@ type: string expr: _col2 type: string - expr: _col4 + expr: _col3 type: string expr: _col7 type: string @@ -360,17 +360,17 @@ condition map: Inner Join 0 to 1 condition expressions: - 0 {VALUE._col0} {VALUE._col3} {VALUE._col5} {VALUE._col7} + 0 {VALUE._col0} {VALUE._col2} {VALUE._col3} {VALUE._col7} 1 {VALUE._col1} handleSkewJoin: false - outputColumnNames: _col0, _col3, _col5, _col7, _col9 + outputColumnNames: _col0, _col2, _col3, _col7, _col9 Select Operator expressions: - expr: _col3 + expr: _col0 type: string - expr: _col5 + expr: _col2 type: string - expr: _col0 + expr: _col3 type: string expr: _col7 type: string Index: ql/src/test/results/clientpositive/join_reorder2.q.out =================================================================== --- ql/src/test/results/clientpositive/join_reorder2.q.out (revisão 1442559) +++ ql/src/test/results/clientpositive/join_reorder2.q.out (cópia de trabalho) @@ -287,14 +287,14 @@ type: string tag: 1 value expressions: + expr: _col0 + type: string + expr: _col1 + type: string expr: _col4 type: string expr: _col5 type: string - expr: _col0 - type: string - expr: _col1 - type: string c TableScan alias: c @@ -334,11 +334,11 @@ $INTNAME Reduce Output Operator key expressions: - expr: (_col4 + 1) + expr: (_col0 + 1) type: double sort order: + Map-reduce partition columns: - expr: (_col4 + 1) + expr: (_col0 + 1) type: double tag: 1 value expressions: @@ -346,14 +346,14 @@ type: string expr: _col1 type: string + expr: _col4 + type: string + expr: _col5 + type: string expr: _col8 type: string expr: _col9 type: string - expr: _col4 - type: string - expr: _col5 - type: string d TableScan alias: d @@ -382,10 +382,6 @@ outputColumnNames: _col0, _col1, _col4, _col5, _col8, _col9, _col12, _col13 Select Operator expressions: - expr: _col8 - type: string - expr: _col9 - type: string expr: _col0 type: string expr: _col1 @@ -394,6 +390,10 @@ type: string expr: _col5 type: string + expr: _col8 + type: string + expr: _col9 + type: string expr: _col12 type: string expr: _col13 Index: ql/src/test/results/clientpositive/join32.q.out =================================================================== --- ql/src/test/results/clientpositive/join32.q.out (revisão 1442559) +++ ql/src/test/results/clientpositive/join32.q.out (cópia de trabalho) @@ -151,7 +151,7 @@ GatherStats: false HashTable Sink Operator condition expressions: - 0 {_col5} {_col0} + 0 {_col0} {_col5} 1 {value} handleSkewJoin: false keys: @@ -176,30 +176,30 @@ condition map: Inner Join 0 to 1 condition expressions: - 0 {_col5} {_col0} + 0 {_col0} {_col5} 1 {value} handleSkewJoin: false keys: 0 [Column[_col1]] 1 [Column[value]] - outputColumnNames: _col1, _col4, _col9 + outputColumnNames: _col0, _col5, _col9 Position of Big Table: 0 Select Operator expressions: - expr: _col1 + expr: _col0 type: string - expr: _col4 + expr: _col5 type: string expr: _col9 type: string - outputColumnNames: _col1, _col4, _col9 + outputColumnNames: _col0, _col5, _col9 Select Operator expressions: - expr: _col4 + expr: _col0 type: string expr: _col9 type: string - expr: _col1 + expr: _col5 type: string outputColumnNames: _col0, _col1, _col2 File Output Operator Index: ql/src/test/results/clientpositive/join_reorder.q.out =================================================================== --- ql/src/test/results/clientpositive/join_reorder.q.out (revisão 1442559) +++ ql/src/test/results/clientpositive/join_reorder.q.out (cópia de trabalho) @@ -305,12 +305,12 @@ type: string tag: 0 value expressions: - expr: _col4 - type: string expr: _col0 type: string expr: _col1 type: string + expr: _col4 + type: string c TableScan alias: c @@ -331,18 +331,18 @@ condition map: Right Outer Join0 to 1 condition expressions: - 0 {VALUE._col0} {VALUE._col4} {VALUE._col5} + 0 {VALUE._col0} {VALUE._col1} {VALUE._col4} 1 {VALUE._col1} handleSkewJoin: false - outputColumnNames: _col0, _col4, _col5, _col9 + outputColumnNames: _col0, _col1, _col4, _col9 Select Operator expressions: + expr: _col0 + type: string expr: _col4 type: string - expr: _col0 + expr: _col1 type: string - expr: _col5 - type: string expr: _col9 type: string outputColumnNames: _col0, _col1, _col2, _col3 @@ -442,12 +442,12 @@ type: string tag: 1 value expressions: - expr: _col4 - type: string expr: _col0 type: string expr: _col1 type: string + expr: _col4 + type: string c TableScan alias: c @@ -468,18 +468,18 @@ condition map: Right Outer Join0 to 1 condition expressions: - 0 {VALUE._col0} {VALUE._col4} {VALUE._col5} + 0 {VALUE._col0} {VALUE._col1} {VALUE._col4} 1 {VALUE._col1} handleSkewJoin: false - outputColumnNames: _col0, _col4, _col5, _col9 + outputColumnNames: _col0, _col1, _col4, _col9 Select Operator expressions: + expr: _col0 + type: string expr: _col4 type: string - expr: _col0 + expr: _col1 type: string - expr: _col5 - type: string expr: _col9 type: string outputColumnNames: _col0, _col1, _col2, _col3 Index: ql/src/test/results/clientpositive/join13.q.out =================================================================== --- ql/src/test/results/clientpositive/join13.q.out (revisão 1442559) +++ ql/src/test/results/clientpositive/join13.q.out (cópia de trabalho) @@ -114,10 +114,10 @@ type: double tag: 0 value expressions: + expr: _col0 + type: string expr: _col3 type: string - expr: _col0 - type: string src3:src TableScan alias: src @@ -144,15 +144,15 @@ condition map: Inner Join 0 to 1 condition expressions: - 0 {VALUE._col1} {VALUE._col2} + 0 {VALUE._col0} {VALUE._col3} 1 handleSkewJoin: false - outputColumnNames: _col1, _col2 + outputColumnNames: _col0, _col3 Select Operator expressions: - expr: _col2 + expr: _col0 type: string - expr: _col1 + expr: _col3 type: string outputColumnNames: _col0, _col1 File Output Operator Index: ql/src/test/results/clientpositive/auto_join2.q.out =================================================================== --- ql/src/test/results/clientpositive/auto_join2.q.out (revisão 1442559) +++ ql/src/test/results/clientpositive/auto_join2.q.out (cópia de trabalho) @@ -118,11 +118,11 @@ keys: 0 [class org.apache.hadoop.hive.ql.udf.generic.GenericUDFBridge(Column[_col0], Column[_col4]()] 1 [class org.apache.hadoop.hive.ql.udf.generic.GenericUDFBridge(Column[key]()] - outputColumnNames: _col4, _col9 + outputColumnNames: _col0, _col9 Position of Big Table: 0 Select Operator expressions: - expr: _col4 + expr: _col0 type: string expr: _col9 type: string @@ -192,11 +192,11 @@ keys: 0 [class org.apache.hadoop.hive.ql.udf.generic.GenericUDFBridge(Column[_col0], Column[_col4]()] 1 [class org.apache.hadoop.hive.ql.udf.generic.GenericUDFBridge(Column[key]()] - outputColumnNames: _col4, _col9 + outputColumnNames: _col0, _col9 Position of Big Table: 1 Select Operator expressions: - expr: _col4 + expr: _col0 type: string expr: _col9 type: string @@ -255,13 +255,13 @@ condition map: Inner Join 0 to 1 condition expressions: - 0 {VALUE._col4} + 0 {VALUE._col0} 1 {VALUE._col1} handleSkewJoin: false - outputColumnNames: _col4, _col9 + outputColumnNames: _col0, _col9 Select Operator expressions: - expr: _col4 + expr: _col0 type: string expr: _col9 type: string Index: ql/src/test/results/clientpositive/mergejoins.q.out =================================================================== --- ql/src/test/results/clientpositive/mergejoins.q.out (revisão 1442559) +++ ql/src/test/results/clientpositive/mergejoins.q.out (cópia de trabalho) @@ -141,9 +141,9 @@ type: int tag: 0 value expressions: - expr: _col12 + expr: _col0 type: int - expr: _col13 + expr: _col1 type: int expr: _col4 type: int @@ -153,9 +153,9 @@ type: int expr: _col9 type: int - expr: _col0 + expr: _col12 type: int - expr: _col1 + expr: _col13 type: int e TableScan @@ -185,9 +185,9 @@ outputColumnNames: _col0, _col1, _col4, _col5, _col8, _col9, _col12, _col13, _col16, _col17 Select Operator expressions: - expr: _col12 + expr: _col0 type: int - expr: _col13 + expr: _col1 type: int expr: _col4 type: int @@ -197,9 +197,9 @@ type: int expr: _col9 type: int - expr: _col0 + expr: _col12 type: int - expr: _col1 + expr: _col13 type: int expr: _col16 type: int Index: ql/src/test/results/compiler/plan/join2.q.xml =================================================================== --- ql/src/test/results/compiler/plan/join2.q.xml (revisão 1442559) +++ ql/src/test/results/compiler/plan/join2.q.xml (cópia de trabalho) @@ -338,12 +338,12 @@ VALUE._col4 - + - _col0 + _col4 - src1 + src2 @@ -356,12 +356,12 @@ VALUE._col0 - + - _col4 + _col0 - src2 + src1 @@ -481,7 +481,7 @@ - _col4 + _col0 @@ -510,7 +510,7 @@ columns - _col4 + _col0 columns.types @@ -559,7 +559,7 @@ - VALUE._col4 + VALUE._col0 src1 @@ -1356,7 +1356,7 @@ _col0 - _col4 + _col0 src1 @@ -1459,10 +1459,10 @@ - _col4 + _col0 - VALUE._col4 + VALUE._col0 src1 @@ -1545,7 +1545,7 @@ - _col4 + _col0 _col9 @@ -1675,7 +1675,7 @@ - _col4 + _col0 src1 Index: ql/src/java/org/apache/hadoop/hive/ql/optimizer/MapJoinProcessor.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/optimizer/MapJoinProcessor.java (revisão 1442559) +++ ql/src/java/org/apache/hadoop/hive/ql/optimizer/MapJoinProcessor.java (cópia de trabalho) @@ -338,7 +338,7 @@ Iterator keysIter = inputRS.getTableNames().iterator(); while (keysIter.hasNext()) { String key = keysIter.next(); - HashMap rrMap = inputRS.getFieldMap(key); + LinkedHashMap rrMap = inputRS.getFieldMap(key); Iterator fNamesIter = rrMap.keySet().iterator(); while (fNamesIter.hasNext()) { String field = fNamesIter.next(); Index: ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java (revisão 1442559) +++ ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java (cópia de trabalho) @@ -867,7 +867,7 @@ Tree partitions = tab.getChild(1); int childCount = partitions.getChildCount(); - HashMap partition = new HashMap(); + LinkedHashMap partition = new LinkedHashMap(); for (int i = 0; i < childCount; i++) { String partitionName = partitions.getChild(i).getChild(0).getText(); Tree pvalue = partitions.getChild(i).getChild(1); @@ -1614,7 +1614,7 @@ // For expr "*", aliases should be iterated in the order they are specified // in the query. for (String alias : aliases) { - HashMap fMap = input.getFieldMap(alias); + LinkedHashMap fMap = input.getFieldMap(alias); if (fMap == null) { continue; } @@ -5446,7 +5446,8 @@ while (keysIter.hasNext()) { String key = keysIter.next(); aliases.add(key); - HashMap map = inputRS.getFieldMap(key); + LinkedHashMap map = inputRS.getFieldMap(key); + Iterator fNamesIter = map.keySet().iterator(); while (fNamesIter.hasNext()) { String field = fNamesIter.next(); @@ -6838,8 +6839,8 @@ // This can be easily merged into 1 union RowResolver leftRR = opParseCtx.get(leftOp).getRowResolver(); RowResolver rightRR = opParseCtx.get(rightOp).getRowResolver(); - HashMap leftmap = leftRR.getFieldMap(leftalias); - HashMap rightmap = rightRR.getFieldMap(rightalias); + LinkedHashMap leftmap = leftRR.getFieldMap(leftalias); + LinkedHashMap rightmap = rightRR.getFieldMap(rightalias); // make sure the schemas of both sides are the same ASTNode tabref = qb.getAliases().isEmpty() ? null : qb.getParseInfo().getSrcForAlias(qb.getAliases().get(0)); @@ -7407,7 +7408,7 @@ public Operator genPlan(QB qb) throws SemanticException { // First generate all the opInfos for the elements in the from clause - HashMap aliasToOpInfo = new HashMap(); + LinkedHashMap aliasToOpInfo = new LinkedHashMap(); // Recurse over the subqueries to fill the subquery part of the plan for (String alias : qb.getSubqAliases()) { @@ -8588,7 +8589,7 @@ int command_type = CREATE_TABLE; List skewedColNames = new ArrayList(); List> skewedValues = new ArrayList>(); - Map, String> listBucketColValuesMapping = new HashMap, String>(); + Map, String> listBucketColValuesMapping = new LinkedHashMap, String>(); boolean storedAsDirs = false; RowFormatParams rowFormatParams = new RowFormatParams(); Index: ql/src/java/org/apache/hadoop/hive/ql/parse/RowResolver.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/parse/RowResolver.java (revisão 1442559) +++ ql/src/java/org/apache/hadoop/hive/ql/parse/RowResolver.java (cópia de trabalho) @@ -39,7 +39,7 @@ public class RowResolver implements Serializable{ private static final long serialVersionUID = 1L; private RowSchema rowSchema; - private HashMap> rslvMap; + private LinkedHashMap> rslvMap; private HashMap invRslvMap; private Map expressionMap; @@ -52,7 +52,7 @@ public RowResolver() { rowSchema = new RowSchema(); - rslvMap = new HashMap>(); + rslvMap = new LinkedHashMap>(); invRslvMap = new HashMap(); expressionMap = new HashMap(); isExprResolver = false; @@ -141,7 +141,7 @@ if (tab_alias != null) { tab_alias = tab_alias.toLowerCase(); - HashMap f_map = rslvMap.get(tab_alias); + LinkedHashMap f_map = rslvMap.get(tab_alias); if (f_map == null) { return null; } @@ -212,7 +212,7 @@ return new ArrayList(columnNames); } - public HashMap getFieldMap(String tabAlias) { + public LinkedHashMap getFieldMap(String tabAlias) { if (tabAlias == null) { return rslvMap.get(null); } else { @@ -273,7 +273,7 @@ return rowSchema; } - public HashMap> getRslvMap() { + public LinkedHashMap> getRslvMap() { return rslvMap; } @@ -294,7 +294,7 @@ this.rowSchema = rowSchema; } - public void setRslvMap(HashMap> rslvMap) { + public void setRslvMap(LinkedHashMap> rslvMap) { this.rslvMap = rslvMap; }