HIVE-18359: Extend grouping set limits from int to long (Prasanth Jayachandran review...
authorPrasanth Jayachandran <prasanthj@apache.org>
Sat, 10 Feb 2018 17:22:05 +0000 (11:22 -0600)
committerPrasanth Jayachandran <prasanthj@apache.org>
Sat, 10 Feb 2018 17:22:05 +0000 (11:22 -0600)
76 files changed:
ql/src/java/org/apache/hadoop/hive/ql/ErrorMsg.java
ql/src/java/org/apache/hadoop/hive/ql/exec/GroupByOperator.java
ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorGroupByOperator.java
ql/src/java/org/apache/hadoop/hive/ql/metadata/VirtualColumn.java
ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/reloperators/HiveGroupingID.java
ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveExpandDistinctAggregatesRule.java
ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/HiveGBOpConvUtil.java
ql/src/java/org/apache/hadoop/hive/ql/parse/CalcitePlanner.java
ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
ql/src/java/org/apache/hadoop/hive/ql/plan/GroupByDesc.java
ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFGrouping.java
ql/src/test/queries/clientnegative/groupby_cube3.q [new file with mode: 0644]
ql/src/test/queries/clientnegative/groupby_grouping_sets8.q [new file with mode: 0644]
ql/src/test/queries/clientnegative/groupby_rollup3.q [new file with mode: 0644]
ql/src/test/queries/clientpositive/cte_1.q
ql/src/test/queries/clientpositive/groupingset_high_columns.q [new file with mode: 0644]
ql/src/test/results/clientnegative/groupby_cube3.q.out [new file with mode: 0644]
ql/src/test/results/clientnegative/groupby_grouping_sets8.q.out [new file with mode: 0644]
ql/src/test/results/clientnegative/groupby_rollup3.q.out [new file with mode: 0644]
ql/src/test/results/clientpositive/annotate_stats_groupby.q.out
ql/src/test/results/clientpositive/annotate_stats_groupby2.q.out
ql/src/test/results/clientpositive/cbo_rp_annotate_stats_groupby.q.out
ql/src/test/results/clientpositive/groupby_cube1.q.out
ql/src/test/results/clientpositive/groupby_cube_multi_gby.q.out
ql/src/test/results/clientpositive/groupby_grouping_id3.q.out
ql/src/test/results/clientpositive/groupby_grouping_sets1.q.out
ql/src/test/results/clientpositive/groupby_grouping_sets2.q.out
ql/src/test/results/clientpositive/groupby_grouping_sets3.q.out
ql/src/test/results/clientpositive/groupby_grouping_sets4.q.out
ql/src/test/results/clientpositive/groupby_grouping_sets5.q.out
ql/src/test/results/clientpositive/groupby_grouping_sets6.q.out
ql/src/test/results/clientpositive/groupby_grouping_sets_grouping.q.out
ql/src/test/results/clientpositive/groupby_grouping_sets_limit.q.out
ql/src/test/results/clientpositive/groupby_grouping_window.q.out
ql/src/test/results/clientpositive/groupby_rollup1.q.out
ql/src/test/results/clientpositive/groupby_rollup_empty.q.out
ql/src/test/results/clientpositive/groupingset_high_columns.q.out [new file with mode: 0644]
ql/src/test/results/clientpositive/infer_bucket_sort_grouping_operators.q.out
ql/src/test/results/clientpositive/limit_pushdown2.q.out
ql/src/test/results/clientpositive/llap/cte_1.q.out
ql/src/test/results/clientpositive/llap/groupby_rollup_empty.q.out
ql/src/test/results/clientpositive/llap/llap_acid.q.out
ql/src/test/results/clientpositive/llap/llap_acid_fast.q.out
ql/src/test/results/clientpositive/llap/multi_count_distinct_null.q.out
ql/src/test/results/clientpositive/llap/vector_groupby_cube1.q.out
ql/src/test/results/clientpositive/llap/vector_groupby_grouping_id1.q.out
ql/src/test/results/clientpositive/llap/vector_groupby_grouping_id2.q.out
ql/src/test/results/clientpositive/llap/vector_groupby_grouping_id3.q.out
ql/src/test/results/clientpositive/llap/vector_groupby_grouping_sets1.q.out
ql/src/test/results/clientpositive/llap/vector_groupby_grouping_sets2.q.out
ql/src/test/results/clientpositive/llap/vector_groupby_grouping_sets3.q.out
ql/src/test/results/clientpositive/llap/vector_groupby_grouping_sets3_dec.q.out
ql/src/test/results/clientpositive/llap/vector_groupby_grouping_sets4.q.out
ql/src/test/results/clientpositive/llap/vector_groupby_grouping_sets5.q.out
ql/src/test/results/clientpositive/llap/vector_groupby_grouping_sets6.q.out
ql/src/test/results/clientpositive/llap/vector_groupby_grouping_sets_grouping.q.out
ql/src/test/results/clientpositive/llap/vector_groupby_grouping_sets_limit.q.out
ql/src/test/results/clientpositive/llap/vector_groupby_grouping_window.q.out
ql/src/test/results/clientpositive/llap/vector_groupby_rollup1.q.out
ql/src/test/results/clientpositive/llap/vector_grouping_sets.q.out
ql/src/test/results/clientpositive/perf/spark/query18.q.out
ql/src/test/results/clientpositive/perf/spark/query22.q.out
ql/src/test/results/clientpositive/perf/spark/query27.q.out
ql/src/test/results/clientpositive/perf/spark/query36.q.out
ql/src/test/results/clientpositive/perf/spark/query5.q.out
ql/src/test/results/clientpositive/perf/spark/query67.q.out
ql/src/test/results/clientpositive/perf/spark/query70.q.out
ql/src/test/results/clientpositive/perf/spark/query77.q.out
ql/src/test/results/clientpositive/perf/spark/query80.q.out
ql/src/test/results/clientpositive/perf/spark/query86.q.out
ql/src/test/results/clientpositive/spark/groupby_cube1.q.out
ql/src/test/results/clientpositive/spark/groupby_rollup1.q.out
ql/src/test/results/clientpositive/spark/limit_pushdown2.q.out
ql/src/test/results/clientpositive/tez/multi_count_distinct.q.out
ql/src/test/results/clientpositive/vector_grouping_sets.q.out
ql/src/test/results/clientpositive/view_cbo.q.out

index 134faee..46d876d 100644 (file)
@@ -456,6 +456,8 @@ public enum ErrorMsg {
   HIVE_GROUPING_FUNCTION_EXPR_NOT_IN_GROUPBY(10409, "Expression in GROUPING function not present in GROUP BY"),
   ALTER_TABLE_NON_PARTITIONED_TABLE_CASCADE_NOT_SUPPORTED(10410,
       "Alter table with non-partitioned table does not support cascade"),
+  HIVE_GROUPING_SETS_SIZE_LIMIT(10411,
+    "Grouping sets size cannot be greater than 64"),
 
   //========================== 20000 range starts here ========================//
 
index 6de979e..4b76638 100644 (file)
@@ -65,7 +65,7 @@ import org.apache.hadoop.hive.serde2.typeinfo.PrimitiveTypeInfo;
 import org.apache.hadoop.hive.serde2.typeinfo.TypeInfo;
 import org.apache.hadoop.hive.serde2.typeinfo.TypeInfoUtils;
 import org.apache.hadoop.io.BytesWritable;
-import org.apache.hadoop.io.IntWritable;
+import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.io.Text;
 import org.apache.hadoop.mapred.JobConf;
 
@@ -130,9 +130,9 @@ public class GroupByOperator extends Operator<GroupByDesc> implements IConfigure
 
   private transient boolean groupingSetsPresent;      // generates grouping set
   private transient int groupingSetsPosition;         // position of grouping set, generally the last of keys
-  private transient List<Integer> groupingSets;       // declared grouping set values
+  private transient List<Long> groupingSets;       // declared grouping set values
   private transient FastBitSet[] groupingSetsBitSet;  // bitsets acquired from grouping set values
-  private transient IntWritable[] newKeysGroupingSets;
+  private transient LongWritable[] newKeysGroupingSets;
 
   // for these positions, some variable primitive type (String) is used, so size
   // cannot be estimated. sample it at runtime.
@@ -180,7 +180,7 @@ public class GroupByOperator extends Operator<GroupByDesc> implements IConfigure
    * @param length
    * @return
    */
-  public static FastBitSet groupingSet2BitSet(int value, int length) {
+  public static FastBitSet groupingSet2BitSet(long value, int length) {
     FastBitSet bits = new FastBitSet();
     for (int index = length - 1; index >= 0; index--) {
       if (value % 2 != 0) {
@@ -231,13 +231,13 @@ public class GroupByOperator extends Operator<GroupByDesc> implements IConfigure
     if (groupingSetsPresent) {
       groupingSets = conf.getListGroupingSets();
       groupingSetsPosition = conf.getGroupingSetPosition();
-      newKeysGroupingSets = new IntWritable[groupingSets.size()];
+      newKeysGroupingSets = new LongWritable[groupingSets.size()];
       groupingSetsBitSet = new FastBitSet[groupingSets.size()];
 
       int pos = 0;
-      for (Integer groupingSet: groupingSets) {
+      for (Long groupingSet: groupingSets) {
         // Create the mapping corresponding to the grouping set
-        newKeysGroupingSets[pos] = new IntWritable(groupingSet);
+        newKeysGroupingSets[pos] = new LongWritable(groupingSet);
         groupingSetsBitSet[pos] = groupingSet2BitSet(groupingSet, groupingSetsPosition);
         pos++;
       }
@@ -1102,7 +1102,7 @@ public class GroupByOperator extends Operator<GroupByDesc> implements IConfigure
           Object[] keys=new Object[outputKeyLength];
           int pos = conf.getGroupingSetPosition();
           if (pos >= 0 && pos < outputKeyLength) {
-            keys[pos] = new IntWritable((1 << pos) - 1);
+            keys[pos] = new LongWritable((1L << pos) - 1);
           }
           forward(keys, aggregations);
         } else {
@@ -1175,11 +1175,11 @@ public class GroupByOperator extends Operator<GroupByDesc> implements IConfigure
     }
 
     int groupingSetPosition = desc.getGroupingSetPosition();
-    List<Integer> listGroupingSets = desc.getListGroupingSets();
+    List<Long> listGroupingSets = desc.getListGroupingSets();
     // groupingSets are known at map/reducer side; but have to do real processing
     // hence grouppingSetsPresent is true only at map side
     if (groupingSetPosition >= 0 && listGroupingSets != null) {
-      Integer emptyGrouping = (1 << groupingSetPosition) - 1;
+      Long emptyGrouping = (1L << groupingSetPosition) - 1;
       if (listGroupingSets.contains(emptyGrouping)) {
         return true;
       }
index e670409..75efc29 100644 (file)
@@ -126,7 +126,7 @@ public class VectorGroupByOperator extends Operator<GroupByDesc>
   private transient boolean groupingSetsPresent;
 
   // The field bits (i.e. which fields to include) or "id" for each grouping set.
-  private transient int[] groupingSets;
+  private transient long[] groupingSets;
 
   // The position in the column keys of the dummy grouping set id column.
   private transient int groupingSetsPosition;
@@ -457,7 +457,7 @@ public class VectorGroupByOperator extends Operator<GroupByDesc>
         kw.setNull();
         int pos = conf.getGroupingSetPosition();
         if (pos >= 0) {
-          long val = (1 << pos) - 1;
+          long val = (1L << pos) - 1;
           keyWrappersBatch.setLongValue(kw, pos, val);
         }
         VectorAggregationBufferRow groupAggregators = allocateAggregationBuffer();
@@ -938,13 +938,13 @@ public class VectorGroupByOperator extends Operator<GroupByDesc>
       return;
     }
 
-    groupingSets = ArrayUtils.toPrimitive(conf.getListGroupingSets().toArray(new Integer[0]));
+    groupingSets = ArrayUtils.toPrimitive(conf.getListGroupingSets().toArray(new Long[0]));
     groupingSetsPosition = conf.getGroupingSetPosition();
 
     allGroupingSetsOverrideIsNulls = new boolean[groupingSets.length][];
 
     int pos = 0;
-    for (int groupingSet: groupingSets) {
+    for (long groupingSet: groupingSets) {
 
       // Create the mapping corresponding to the grouping set
 
index 2411d3a..48623e5 100644 (file)
@@ -61,7 +61,7 @@ public enum VirtualColumn {
    * set if that column has been aggregated in that row. Otherwise the
    * value is "0".  Returns the decimal representation of the bit vector.
    */
-  GROUPINGID("GROUPING__ID", TypeInfoFactory.intTypeInfo);
+  GROUPINGID("GROUPING__ID", TypeInfoFactory.longTypeInfo);
 
   public static final ImmutableSet<String> VIRTUAL_COLUMN_NAMES =
       ImmutableSet.of(FILENAME.getName(), BLOCKOFFSET.getName(), ROWOFFSET.getName(),
index 4ba27a2..dcbccf6 100644 (file)
@@ -33,7 +33,7 @@ public class HiveGroupingID extends SqlAbstractGroupFunction {
   private HiveGroupingID() {
     super(VirtualColumn.GROUPINGID.getName(),
             SqlKind.OTHER,
-            ReturnTypes.INTEGER,
+            ReturnTypes.BIGINT,
             InferTypes.BOOLEAN,
             OperandTypes.NILADIC,
             SqlFunctionCategory.SYSTEM);
index 864efa4..b33c4c5 100644 (file)
@@ -327,7 +327,7 @@ public final class HiveExpandDistinctAggregatesRule extends RelOptRule {
     // Create GroupingID column
     AggregateCall aggCall = AggregateCall.create(HiveGroupingID.INSTANCE, false,
         new ImmutableList.Builder<Integer>().build(), -1, this.cluster.getTypeFactory()
-            .createSqlType(SqlTypeName.INTEGER), HiveGroupingID.INSTANCE.getName());
+            .createSqlType(SqlTypeName.BIGINT), HiveGroupingID.INSTANCE.getName());
     aggregateCalls.add(aggCall);
     return new HiveAggregate(cluster, cluster.traitSetOf(HiveRelNode.CONVENTION),
         aggregate.getInput(), groupSet, origGroupSets, aggregateCalls);
index f22cd94..70f8343 100644 (file)
@@ -101,7 +101,7 @@ public class HiveGBOpConvUtil {
     private final List<TypeInfo>      gbKeyTypes           = new ArrayList<TypeInfo>();
     private final List<ExprNodeDesc>  gbKeys               = new ArrayList<ExprNodeDesc>();
 
-    private final List<Integer>       grpSets              = new ArrayList<Integer>();
+    private final List<Long>       grpSets              = new ArrayList<Long>();
     private boolean                   grpSetRqrAdditionalMRJob;
     private boolean                   grpIdFunctionNeeded;
 
@@ -177,7 +177,7 @@ public class HiveGBOpConvUtil {
     if (aggRel.getGroupType() != Group.SIMPLE) {
       // 2.1 Translate Grouping set col bitset
       ImmutableList<ImmutableBitSet> lstGrpSet = aggRel.getGroupSets();
-      int bitmap = 0;
+      long bitmap = 0;
       for (ImmutableBitSet grpSet : lstGrpSet) {
         bitmap = 0;
         for (Integer bitIdx : grpSet.asList()) {
@@ -863,7 +863,7 @@ public class HiveGBOpConvUtil {
       groupingSetsColPosition = gbInfo.gbKeys.size();
       if (computeGrpSet) {
         // GrpSet Col needs to be constructed
-        gbKeys.add(new ExprNodeConstantDesc("0"));
+        gbKeys.add(new ExprNodeConstantDesc("0L"));
       } else {
         // GrpSet Col already part of input RS
         // TODO: Can't we just copy the ExprNodeDEsc from input (Do we need to
@@ -1185,7 +1185,7 @@ public class HiveGBOpConvUtil {
     ExprNodeDesc grpSetColExpr = null;
 
     if (createConstantExpr) {
-      grpSetColExpr = new ExprNodeConstantDesc("0");
+      grpSetColExpr = new ExprNodeConstantDesc("0L");
     } else {
       grpSetColExpr = new ExprNodeColumnDesc(TypeInfoFactory.stringTypeInfo, grpSetIDExprName,
           null, false);
index cf2bc13..8e0a454 100644 (file)
@@ -3028,7 +3028,7 @@ public class CalcitePlanner extends SemanticAnalyzer {
     }
 
     private RelNode genGBRelNode(List<ExprNodeDesc> gbExprs, List<AggInfo> aggInfoLst,
-        List<Integer> groupSets, RelNode srcRel) throws SemanticException {
+        List<Long> groupSets, RelNode srcRel) throws SemanticException {
       ImmutableMap<String, Integer> posMap = this.relToHiveColNameCalcitePosMap.get(srcRel);
       RexNodeConverter converter = new RexNodeConverter(this.cluster, srcRel.getRowType(), posMap,
           0, false);
@@ -3054,7 +3054,7 @@ public class CalcitePlanner extends SemanticAnalyzer {
       if(hasGroupSets) {
         Set<ImmutableBitSet> setTransformedGroupSets =
                 new HashSet<ImmutableBitSet>(groupSets.size());
-        for(int val: groupSets) {
+        for(long val: groupSets) {
           setTransformedGroupSets.add(convert(val, groupSet.cardinality()));
         }
         // Calcite expects the grouping sets sorted and without duplicates
@@ -3071,7 +3071,7 @@ public class CalcitePlanner extends SemanticAnalyzer {
         // Create GroupingID column
         AggregateCall aggCall = AggregateCall.create(HiveGroupingID.INSTANCE,
                 false, new ImmutableList.Builder<Integer>().build(), -1,
-                this.cluster.getTypeFactory().createSqlType(SqlTypeName.INTEGER),
+                this.cluster.getTypeFactory().createSqlType(SqlTypeName.BIGINT),
                 HiveGroupingID.INSTANCE.getName());
         aggregateCalls.add(aggCall);
       }
@@ -3090,7 +3090,7 @@ public class CalcitePlanner extends SemanticAnalyzer {
     }
 
     /* This method returns the flip big-endian representation of value */
-    private ImmutableBitSet convert(int value, int length) {
+    private ImmutableBitSet convert(long value, int length) {
       BitSet bits = new BitSet();
       for (int index = length - 1; index >= 0; index--) {
         if (value % 2 != 0) {
@@ -3333,15 +3333,9 @@ public class CalcitePlanner extends SemanticAnalyzer {
 
         // 5. GroupingSets, Cube, Rollup
         int groupingColsSize = gbExprNDescLst.size();
-        List<Integer> groupingSets = null;
+        List<Long> groupingSets = null;
         if (cubeRollupGrpSetPresent) {
-          if (qbp.getDestRollups().contains(detsClauseName)) {
-            groupingSets = getGroupingSetsForRollup(grpByAstExprs.size());
-          } else if (qbp.getDestCubes().contains(detsClauseName)) {
-            groupingSets = getGroupingSetsForCube(grpByAstExprs.size());
-          } else if (qbp.getDestGroupingSets().contains(detsClauseName)) {
-            groupingSets = getGroupingSets(grpByAstExprs, qbp, detsClauseName);
-          }
+          groupingSets = getGroupByGroupingSetsForClause(qbp, detsClauseName).getSecond();
         }
 
         // 6. Construct aggregation function Info
@@ -3386,7 +3380,7 @@ public class CalcitePlanner extends SemanticAnalyzer {
           groupByOutputRowResolver.put(null, VirtualColumn.GROUPINGID.getName(),
                   new ColumnInfo(
                           field,
-                          TypeInfoFactory.intTypeInfo,
+                          VirtualColumn.GROUPINGID.getTypeInfo(),
                           null,
                           true));
         }
index 8e587f1..5c96653 100644 (file)
@@ -255,6 +255,7 @@ import com.google.common.base.Strings;
 import com.google.common.collect.Iterables;
 import com.google.common.collect.Sets;
 import com.google.common.math.IntMath;
+import com.google.common.math.LongMath;
 
 /**
  * Implementation of the semantic analyzer. It generates the query plan.
@@ -2972,7 +2973,7 @@ public class SemanticAnalyzer extends BaseSemanticAnalyzer {
               // Query does not contain CUBE, ROLLUP, or GROUPING SETS, and thus,
               // grouping should return 0
               childGroupingID = (ASTNode) ParseDriver.adaptor.create(HiveParser.IntegralLiteral,
-                  String.valueOf(0));
+                "0L");
             } else {
               // We refer to grouping_id column
               childGroupingID = (ASTNode) ParseDriver.adaptor.create(
@@ -2990,7 +2991,7 @@ public class SemanticAnalyzer extends BaseSemanticAnalyzer {
                   // Create and add AST node with position of grouping function input
                   // in group by clause
                   ASTNode childN = (ASTNode) ParseDriver.adaptor.create(HiveParser.IntegralLiteral,
-                      String.valueOf(IntMath.mod(-j-1, grpByAstExprs.size())));
+                    String.valueOf(IntMath.mod(-j-1, grpByAstExprs.size())) + "L");
                   newRoot.addChild(childN);
                   break;
                 }
@@ -3830,18 +3831,18 @@ public class SemanticAnalyzer extends BaseSemanticAnalyzer {
     }
   }
 
-  protected List<Integer> getGroupingSetsForRollup(int size) {
-    List<Integer> groupingSetKeys = new ArrayList<Integer>();
+  protected List<Long> getGroupingSetsForRollup(int size) {
+    List<Long> groupingSetKeys = new ArrayList<Long>();
     for (int i = 0; i <= size; i++) {
-      groupingSetKeys.add((1 << i) - 1);
+      groupingSetKeys.add((1L << i) - 1);
     }
     return groupingSetKeys;
   }
 
-  protected List<Integer> getGroupingSetsForCube(int size) {
-    int count = 1 << size;
-    List<Integer> results = new ArrayList<Integer>(count);
-    for (int i = 0; i < count; ++i) {
+  protected List<Long> getGroupingSetsForCube(int size) {
+    long count = 1L << size;
+    List<Long> results = new ArrayList<Long>();
+    for (long i = 0; i < count; ++i) {
       results.add(i);
     }
     return results;
@@ -3850,10 +3851,14 @@ public class SemanticAnalyzer extends BaseSemanticAnalyzer {
   // This function returns the grouping sets along with the grouping expressions
   // Even if rollups and cubes are present in the query, they are converted to
   // grouping sets at this point
-  private ObjectPair<List<ASTNode>, List<Integer>> getGroupByGroupingSetsForClause(
-      QBParseInfo parseInfo, String dest) throws SemanticException {
-    List<Integer> groupingSets = new ArrayList<Integer>();
+  ObjectPair<List<ASTNode>, List<Long>> getGroupByGroupingSetsForClause(
+    QBParseInfo parseInfo, String dest) throws SemanticException {
+    List<Long> groupingSets = new ArrayList<Long>();
     List<ASTNode> groupByExprs = getGroupByForClause(parseInfo, dest);
+    if (groupByExprs.size() > Long.SIZE) {
+      throw new SemanticException(ErrorMsg.HIVE_GROUPING_SETS_SIZE_LIMIT.getMsg());
+    }
+
     if (parseInfo.getDestRollups().contains(dest)) {
       groupingSets = getGroupingSetsForRollup(groupByExprs.size());
     } else if (parseInfo.getDestCubes().contains(dest)) {
@@ -3862,11 +3867,11 @@ public class SemanticAnalyzer extends BaseSemanticAnalyzer {
       groupingSets = getGroupingSets(groupByExprs, parseInfo, dest);
     }
 
-    return new ObjectPair<List<ASTNode>, List<Integer>>(groupByExprs, groupingSets);
+    return new ObjectPair<List<ASTNode>, List<Long>>(groupByExprs, groupingSets);
   }
 
-  protected List<Integer> getGroupingSets(List<ASTNode> groupByExpr, QBParseInfo parseInfo,
-                                          String dest) throws SemanticException {
+  protected List<Long> getGroupingSets(List<ASTNode> groupByExpr, QBParseInfo parseInfo,
+      String dest) throws SemanticException {
     Map<String, Integer> exprPos = new HashMap<String, Integer>();
     for (int i = 0; i < groupByExpr.size(); ++i) {
       ASTNode node = groupByExpr.get(i);
@@ -3874,14 +3879,14 @@ public class SemanticAnalyzer extends BaseSemanticAnalyzer {
     }
 
     ASTNode root = parseInfo.getGroupByForClause(dest);
-    List<Integer> result = new ArrayList<Integer>(root == null ? 0 : root.getChildCount());
+    List<Long> result = new ArrayList<Long>(root == null ? 0 : root.getChildCount());
     if (root != null) {
       for (int i = 0; i < root.getChildCount(); ++i) {
         ASTNode child = (ASTNode) root.getChild(i);
         if (child.getType() != HiveParser.TOK_GROUPING_SETS_EXPRESSION) {
           continue;
         }
-        int bitmap = IntMath.pow(2, groupByExpr.size()) - 1;
+        long bitmap = LongMath.pow(2, groupByExpr.size()) - 1;
         for (int j = 0; j < child.getChildCount(); ++j) {
           String treeAsString = child.getChild(j).toStringTree();
           Integer pos = exprPos.get(treeAsString);
@@ -3895,27 +3900,28 @@ public class SemanticAnalyzer extends BaseSemanticAnalyzer {
         result.add(bitmap);
       }
     }
-    if (checkForEmptyGroupingSets(result, IntMath.pow(2, groupByExpr.size()) - 1)) {
+
+    if (checkForEmptyGroupingSets(result, LongMath.pow(2, groupByExpr.size()) - 1)) {
       throw new SemanticException(
-          ErrorMsg.HIVE_GROUPING_SETS_EMPTY.getMsg());
+        ErrorMsg.HIVE_GROUPING_SETS_EMPTY.getMsg());
     }
     return result;
   }
 
-  private boolean checkForEmptyGroupingSets(List<Integer> bitmaps, int groupingIdAllSet) {
+  private boolean checkForEmptyGroupingSets(List<Long> bitmaps, long groupingIdAllSet) {
     boolean ret = true;
-    for (int mask : bitmaps) {
+    for (long mask : bitmaps) {
       ret &= mask == groupingIdAllSet;
     }
     return ret;
   }
 
-  public static int setBit(int bitmap, int bitIdx) {
-    return bitmap | (1 << bitIdx);
+  public static long setBit(long bitmap, int bitIdx) {
+    return bitmap | (1L << bitIdx);
   }
 
-  public static int unsetBit(int bitmap, int bitIdx) {
-    return bitmap & ~(1 << bitIdx);
+  public static long unsetBit(long bitmap, int bitIdx) {
+    return bitmap & ~(1L << bitIdx);
   }
 
   /**
@@ -4774,7 +4780,7 @@ public class SemanticAnalyzer extends BaseSemanticAnalyzer {
     // For grouping sets, add a dummy grouping key
     String groupingSetColumnName =
         groupByInputRowResolver.get(null, VirtualColumn.GROUPINGID.getName()).getInternalName();
-    ExprNodeDesc inputExpr = new ExprNodeColumnDesc(TypeInfoFactory.intTypeInfo,
+    ExprNodeDesc inputExpr = new ExprNodeColumnDesc(VirtualColumn.GROUPINGID.getTypeInfo(),
         groupingSetColumnName, null, false);
     groupByKeys.add(inputExpr);
 
@@ -4783,7 +4789,7 @@ public class SemanticAnalyzer extends BaseSemanticAnalyzer {
     groupByOutputRowResolver.put(null, VirtualColumn.GROUPINGID.getName(),
         new ColumnInfo(
             field,
-            TypeInfoFactory.intTypeInfo,
+            VirtualColumn.GROUPINGID.getTypeInfo(),
             null,
             true));
     colExprMap.put(field, groupByKeys.get(groupByKeys.size() - 1));
@@ -4805,7 +4811,7 @@ public class SemanticAnalyzer extends BaseSemanticAnalyzer {
     // add a key for reduce sink
     String groupingSetColumnName =
         reduceSinkInputRowResolver.get(null, VirtualColumn.GROUPINGID.getName()).getInternalName();
-    ExprNodeDesc inputExpr = new ExprNodeColumnDesc(TypeInfoFactory.intTypeInfo,
+    ExprNodeDesc inputExpr = new ExprNodeColumnDesc(VirtualColumn.GROUPINGID.getTypeInfo(),
         groupingSetColumnName, null, false);
     reduceKeys.add(inputExpr);
 
@@ -4841,11 +4847,11 @@ public class SemanticAnalyzer extends BaseSemanticAnalyzer {
    */
   @SuppressWarnings("nls")
   private Operator genGroupByPlanGroupByOperator1(QBParseInfo parseInfo,
-                                                  String dest, Operator reduceSinkOperatorInfo, GroupByDesc.Mode mode,
-                                                  Map<String, GenericUDAFEvaluator> genericUDAFEvaluators,
-                                                  List<Integer> groupingSets,
-                                                  boolean groupingSetsPresent,
-                                                  boolean groupingSetsNeedAdditionalMRJob) throws SemanticException {
+      String dest, Operator reduceSinkOperatorInfo, GroupByDesc.Mode mode,
+      Map<String, GenericUDAFEvaluator> genericUDAFEvaluators,
+      List<Long> groupingSets,
+      boolean groupingSetsPresent,
+      boolean groupingSetsNeedAdditionalMRJob) throws SemanticException {
     ArrayList<String> outputColumnNames = new ArrayList<String>();
     RowResolver groupByInputRowResolver = opParseCtx
         .get(reduceSinkOperatorInfo).getRowResolver();
@@ -5037,14 +5043,14 @@ public class SemanticAnalyzer extends BaseSemanticAnalyzer {
                                     Map<String, ExprNodeDesc> colExprMap) {
     // The value for the constant does not matter. It is replaced by the grouping set
     // value for the actual implementation
-    ExprNodeConstantDesc constant = new ExprNodeConstantDesc(0);
+    ExprNodeConstantDesc constant = new ExprNodeConstantDesc(VirtualColumn.GROUPINGID.getTypeInfo(), 0L);
     groupByKeys.add(constant);
     String field = getColumnInternalName(groupByKeys.size() - 1);
     outputColumnNames.add(field);
     groupByOutputRowResolver.put(null, VirtualColumn.GROUPINGID.getName(),
         new ColumnInfo(
             field,
-            TypeInfoFactory.intTypeInfo,
+            VirtualColumn.GROUPINGID.getTypeInfo(),
             null,
             true));
     colExprMap.put(field, constant);
@@ -5065,13 +5071,13 @@ public class SemanticAnalyzer extends BaseSemanticAnalyzer {
    */
   @SuppressWarnings("nls")
   private Operator genGroupByPlanMapGroupByOperator(QB qb,
-                                                    String dest,
-                                                    List<ASTNode> grpByExprs,
-                                                    Operator inputOperatorInfo,
-                                                    GroupByDesc.Mode mode,
-                                                    Map<String, GenericUDAFEvaluator> genericUDAFEvaluators,
-                                                    List<Integer> groupingSetKeys,
-                                                    boolean groupingSetsPresent) throws SemanticException {
+      String dest,
+      List<ASTNode> grpByExprs,
+      Operator inputOperatorInfo,
+      GroupByDesc.Mode mode,
+      Map<String, GenericUDAFEvaluator> genericUDAFEvaluators,
+      List<Long> groupingSetKeys,
+      boolean groupingSetsPresent) throws SemanticException {
 
     RowResolver groupByInputRowResolver = opParseCtx.get(inputOperatorInfo)
         .getRowResolver();
@@ -5770,11 +5776,11 @@ public class SemanticAnalyzer extends BaseSemanticAnalyzer {
     QBParseInfo parseInfo = qb.getParseInfo();
 
     int numReducers = -1;
-    ObjectPair<List<ASTNode>, List<Integer>> grpByExprsGroupingSets =
+    ObjectPair<List<ASTNode>, List<Long>> grpByExprsGroupingSets =
         getGroupByGroupingSetsForClause(parseInfo, dest);
 
     List<ASTNode> grpByExprs = grpByExprsGroupingSets.getFirst();
-    List<Integer> groupingSets = grpByExprsGroupingSets.getSecond();
+    List<Long> groupingSets = grpByExprsGroupingSets.getSecond();
 
     if (grpByExprs.isEmpty()) {
       numReducers = 1;
@@ -5819,10 +5825,10 @@ public class SemanticAnalyzer extends BaseSemanticAnalyzer {
     List<ExprNodeDesc.ExprNodeDescEqualityWrapper> whereExpressions =
         new ArrayList<ExprNodeDesc.ExprNodeDescEqualityWrapper>();
     for (String dest : dests) {
-      ObjectPair<List<ASTNode>, List<Integer>> grpByExprsGroupingSets =
+      ObjectPair<List<ASTNode>, List<Long>> grpByExprsGroupingSets =
           getGroupByGroupingSetsForClause(parseInfo, dest);
 
-      List<Integer> groupingSets = grpByExprsGroupingSets.getSecond();
+      List<Long> groupingSets = grpByExprsGroupingSets.getSecond();
       if (!groupingSets.isEmpty()) {
         throw new SemanticException(ErrorMsg.HIVE_GROUPING_SETS_AGGR_NOMAPAGGR_MULTIGBY.getMsg());
       }
@@ -5965,11 +5971,11 @@ public class SemanticAnalyzer extends BaseSemanticAnalyzer {
 
     QBParseInfo parseInfo = qb.getParseInfo();
 
-    ObjectPair<List<ASTNode>, List<Integer>> grpByExprsGroupingSets =
+    ObjectPair<List<ASTNode>, List<Long>> grpByExprsGroupingSets =
         getGroupByGroupingSetsForClause(parseInfo, dest);
 
     List<ASTNode> grpByExprs = grpByExprsGroupingSets.getFirst();
-    List<Integer> groupingSets = grpByExprsGroupingSets.getSecond();
+    List<Long> groupingSets = grpByExprsGroupingSets.getSecond();
 
     // Grouping sets are not allowed
     // This restriction can be lifted in future.
@@ -6161,11 +6167,11 @@ public class SemanticAnalyzer extends BaseSemanticAnalyzer {
                                                Operator inputOperatorInfo) throws SemanticException {
 
     QBParseInfo parseInfo = qb.getParseInfo();
-    ObjectPair<List<ASTNode>, List<Integer>> grpByExprsGroupingSets =
+    ObjectPair<List<ASTNode>, List<Long>> grpByExprsGroupingSets =
         getGroupByGroupingSetsForClause(parseInfo, dest);
 
     List<ASTNode> grpByExprs = grpByExprsGroupingSets.getFirst();
-    List<Integer> groupingSets = grpByExprsGroupingSets.getSecond();
+    List<Long> groupingSets = grpByExprsGroupingSets.getSecond();
     boolean groupingSetsPresent = !groupingSets.isEmpty();
 
     int newMRJobGroupingSetsThreshold =
@@ -6330,11 +6336,11 @@ public class SemanticAnalyzer extends BaseSemanticAnalyzer {
 
     QBParseInfo parseInfo = qb.getParseInfo();
 
-    ObjectPair<List<ASTNode>, List<Integer>> grpByExprsGroupingSets =
+    ObjectPair<List<ASTNode>, List<Long>> grpByExprsGroupingSets =
         getGroupByGroupingSetsForClause(parseInfo, dest);
 
     List<ASTNode> grpByExprs = grpByExprsGroupingSets.getFirst();
-    List<Integer> groupingSets = grpByExprsGroupingSets.getSecond();
+    List<Long> groupingSets = grpByExprsGroupingSets.getSecond();
     boolean groupingSetsPresent = !groupingSets.isEmpty();
 
     if (groupingSetsPresent) {
index e90a398..86cc77d 100644 (file)
@@ -70,7 +70,7 @@ public class GroupByDesc extends AbstractOperatorDesc {
   private boolean bucketGroup;
 
   private ArrayList<ExprNodeDesc> keys;
-  private List<Integer> listGroupingSets;
+  private List<Long> listGroupingSets;
   private boolean groupingSetsPresent;
   private int groupingSetPosition = -1; //  /* in case of grouping sets; groupby1 will output values for every setgroup; this is the index of the column that information will be sent */
   private ArrayList<org.apache.hadoop.hive.ql.plan.AggregationDesc> aggregators;
@@ -90,7 +90,7 @@ public class GroupByDesc extends AbstractOperatorDesc {
       final ArrayList<org.apache.hadoop.hive.ql.plan.AggregationDesc> aggregators,
       final float groupByMemoryUsage,
       final float memoryThreshold,
-      final List<Integer> listGroupingSets,
+      final List<Long> listGroupingSets,
       final boolean groupingSetsPresent,
       final int groupingSetsPosition,
       final boolean isDistinct) {
@@ -107,7 +107,7 @@ public class GroupByDesc extends AbstractOperatorDesc {
       final boolean bucketGroup,
       final float groupByMemoryUsage,
       final float memoryThreshold,
-      final List<Integer> listGroupingSets,
+      final List<Long> listGroupingSets,
       final boolean groupingSetsPresent,
       final int groupingSetsPosition,
       final boolean isDistinct) {
@@ -267,11 +267,11 @@ public class GroupByDesc extends AbstractOperatorDesc {
   // in which case the group by would execute as a single map-reduce job.
   // For the group-by, the group by keys should be: a,b,groupingSet(for rollup), c
   // So, the starting position of grouping set need to be known
-  public List<Integer> getListGroupingSets() {
+  public List<Long> getListGroupingSets() {
     return listGroupingSets;
   }
 
-  public void setListGroupingSets(final List<Integer> listGroupingSets) {
+  public void setListGroupingSets(final List<Long> listGroupingSets) {
     this.listGroupingSets = listGroupingSets;
   }
 
@@ -315,7 +315,7 @@ public class GroupByDesc extends AbstractOperatorDesc {
     keys.addAll(this.keys);
     ArrayList<org.apache.hadoop.hive.ql.plan.AggregationDesc> aggregators = new ArrayList<>();
     aggregators.addAll(this.aggregators);
-    List<Integer> listGroupingSets = new ArrayList<>();
+    List<Long> listGroupingSets = new ArrayList<>();
     listGroupingSets.addAll(this.listGroupingSets);
     return new GroupByDesc(this.mode, outputColumnNames, keys, aggregators,
         this.groupByMemoryUsage, this.memoryThreshold, listGroupingSets, this.groupingSetsPresent,
index c0c3015..d11e51b 100644 (file)
@@ -23,17 +23,18 @@ import org.apache.hadoop.hive.ql.exec.UDFArgumentLengthException;
 import org.apache.hadoop.hive.ql.exec.UDFArgumentTypeException;
 import org.apache.hadoop.hive.ql.metadata.HiveException;
 import org.apache.hadoop.hive.ql.udf.UDFType;
+import org.apache.hadoop.hive.serde2.objectinspector.ConstantObjectInspector;
 import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
 import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector.Category;
 import org.apache.hadoop.hive.serde2.objectinspector.PrimitiveObjectInspector;
 import org.apache.hadoop.hive.serde2.objectinspector.PrimitiveObjectInspector.PrimitiveCategory;
-import org.apache.hadoop.hive.serde2.objectinspector.primitive.IntObjectInspector;
 import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorFactory;
 import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorUtils;
 import org.apache.hadoop.hive.serde2.objectinspector.primitive.WritableConstantIntObjectInspector;
-import org.apache.hadoop.io.IntWritable;
+import org.apache.hadoop.hive.serde2.objectinspector.primitive.WritableConstantLongObjectInspector;
+import org.apache.hadoop.io.LongWritable;
 
-import com.google.common.math.IntMath;
+import com.google.common.math.LongMath;
 
 /**
  * UDF grouping
@@ -45,9 +46,9 @@ extended = "a is the grouping id, p1...pn are the indices we want to extract")
 @UDFType(deterministic = true)
 public class GenericUDFGrouping extends GenericUDF {
 
-  private transient IntObjectInspector groupingIdOI;
+  private transient PrimitiveObjectInspector groupingIdOI;
   private int[] indices;
-  private IntWritable intWritable = new IntWritable();
+  private LongWritable longWritable = new LongWritable();
 
   @Override
   public ObjectInspector initialize(ObjectInspector[] arguments) throws UDFArgumentException {
@@ -60,37 +61,41 @@ public class GenericUDFGrouping extends GenericUDF {
       throw new UDFArgumentTypeException(0, "The first argument to grouping() must be primitive");
     }
     PrimitiveObjectInspector arg1OI = (PrimitiveObjectInspector) arguments[0];
-    if (arg1OI.getPrimitiveCategory() != PrimitiveCategory.INT) {
-      throw new UDFArgumentTypeException(0, "The first argument to grouping() must be an integer");
+    // INT can happen in cases where grouping() is used without grouping sets, in all other cases it should be LONG.
+    if (!(arg1OI.getPrimitiveCategory() == PrimitiveCategory.INT ||
+      arg1OI.getPrimitiveCategory() == PrimitiveCategory.LONG)) {
+      throw new UDFArgumentTypeException(0,
+        "The first argument to grouping() must be an int/long. Got: " + arg1OI.getPrimitiveCategory());
     }
-    groupingIdOI = (IntObjectInspector) arguments[0];
+    groupingIdOI =  arg1OI;
 
     indices = new int[arguments.length - 1];
     for (int i = 1; i < arguments.length; i++) {
       PrimitiveObjectInspector arg2OI = (PrimitiveObjectInspector) arguments[i];
-      if (!(arg2OI instanceof WritableConstantIntObjectInspector)) {
-        throw new UDFArgumentTypeException(i, "Must be a constant");
+      if (!(arg2OI instanceof ConstantObjectInspector)) {
+        throw new UDFArgumentTypeException(i, "Must be a constant. Got: " + arg2OI.getClass().getSimpleName());
       }
-      indices[i - 1] = ((WritableConstantIntObjectInspector)arg2OI).getWritableConstantValue().get();
+      indices[i - 1] = PrimitiveObjectInspectorUtils
+        .getInt(((ConstantObjectInspector) arguments[i]).getWritableConstantValue(), arg2OI);
     }
 
-    return PrimitiveObjectInspectorFactory.writableIntObjectInspector;
+    return PrimitiveObjectInspectorFactory.writableLongObjectInspector;
   }
 
   @Override
   public Object evaluate(DeferredObject[] arguments) throws HiveException {
     // groupingId = PrimitiveObjectInspectorUtils.getInt(arguments[0].get(), groupingIdOI);
     // Check that the bit at the given index is '1' or '0'
-    int result = 0;
+    long result = 0;
     // grouping(c1, c2, c3)
     // is equivalent to
     // 4 * grouping(c1) + 2 * grouping(c2) + grouping(c3)
     for (int a = 1; a < arguments.length; a++) {
-      result += IntMath.pow(2, indices.length - a) *
-              ((PrimitiveObjectInspectorUtils.getInt(arguments[0].get(), groupingIdOI) >> indices[a - 1]) & 1);
+      result += LongMath.pow(2, indices.length - a) *
+              ((PrimitiveObjectInspectorUtils.getLong(arguments[0].get(), groupingIdOI) >> indices[a - 1]) & 1);
     }
-    intWritable.set(result);
-    return intWritable;
+    longWritable.set(result);
+    return longWritable;
   }
 
   @Override
diff --git a/ql/src/test/queries/clientnegative/groupby_cube3.q b/ql/src/test/queries/clientnegative/groupby_cube3.q
new file mode 100644 (file)
index 0000000..2804dbe
--- /dev/null
@@ -0,0 +1,90 @@
+create table facts (val string);
+
+insert into facts values ('abcdefghijklmnopqrstuvwxyz0123456789');
+
+create table groupingsets65 as
+select 
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09,
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,
+c30,c31,c32,c33,c34,c35,c36,c37,c38,c39,
+c40,c41,c42,c43,c44,c45,c46,c47,c48,c49,
+c50,c51,c52,c53,c54,c55,c56,c57,c58,c59,
+c60,c61,c62,c63,c64
+,count(*) as n from (
+select
+substring(val,01,1) as c00,
+substring(val,02,1) as c01,
+substring(val,03,1) as c02,
+substring(val,04,1) as c03,
+substring(val,05,1) as c04,
+substring(val,06,1) as c05,
+substring(val,07,1) as c06,
+substring(val,08,1) as c07,
+substring(val,09,1) as c08,
+substring(val,10,1) as c09,
+substring(val,11,1) as c10,
+substring(val,12,1) as c11,
+substring(val,13,1) as c12,
+substring(val,14,1) as c13,
+substring(val,15,1) as c14,
+substring(val,16,1) as c15,
+substring(val,17,1) as c16,
+substring(val,18,1) as c17,
+substring(val,19,1) as c18,
+substring(val,20,1) as c19,
+substring(val,21,1) as c20,
+substring(val,22,1) as c21,
+substring(val,23,1) as c22,
+substring(val,24,1) as c23,
+substring(val,25,1) as c24,
+substring(val,26,1) as c25,
+substring(val,27,1) as c26,
+substring(val,28,1) as c27,
+substring(val,29,1) as c28,
+substring(val,30,1) as c29,
+substring(val,31,1) as c30,
+substring(val,32,1) as c31,
+substring(val,01,1) as c32,
+substring(val,02,1) as c33,
+substring(val,03,1) as c34,
+substring(val,04,1) as c35,
+substring(val,05,1) as c36,
+substring(val,06,1) as c37,
+substring(val,07,1) as c38,
+substring(val,08,1) as c39,
+substring(val,09,1) as c40,
+substring(val,10,1) as c41,
+substring(val,11,1) as c42,
+substring(val,12,1) as c43,
+substring(val,13,1) as c44,
+substring(val,14,1) as c45,
+substring(val,15,1) as c46,
+substring(val,16,1) as c47,
+substring(val,17,1) as c48,
+substring(val,18,1) as c49,
+substring(val,19,1) as c50,
+substring(val,20,1) as c51,
+substring(val,21,1) as c52,
+substring(val,22,1) as c53,
+substring(val,23,1) as c54,
+substring(val,24,1) as c55,
+substring(val,25,1) as c56,
+substring(val,26,1) as c57,
+substring(val,27,1) as c58,
+substring(val,28,1) as c59,
+substring(val,29,1) as c60,
+substring(val,30,1) as c61,
+substring(val,31,1) as c62,
+substring(val,32,1) as c63,
+substring(val,32,1) as c64
+from facts ) x
+group by
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09,
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,
+c30,c31,c32,c33,c34,c35,c36,c37,c38,c39,
+c40,c41,c42,c43,c44,c45,c46,c47,c48,c49,
+c50,c51,c52,c53,c54,c55,c56,c57,c58,c59,
+c60,c61,c62,c63,c64
+with cube;
diff --git a/ql/src/test/queries/clientnegative/groupby_grouping_sets8.q b/ql/src/test/queries/clientnegative/groupby_grouping_sets8.q
new file mode 100644 (file)
index 0000000..082da7a
--- /dev/null
@@ -0,0 +1,98 @@
+create table facts (val string);
+
+insert into facts values ('abcdefghijklmnopqrstuvwxyz0123456789');
+
+create table groupingsets65 as
+select 
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09,
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,
+c30,c31,c32,c33,c34,c35,c36,c37,c38,c39,
+c40,c41,c42,c43,c44,c45,c46,c47,c48,c49,
+c50,c51,c52,c53,c54,c55,c56,c57,c58,c59,
+c60,c61,c62,c63,c64
+,count(*) as n from (
+select
+substring(val,01,1) as c00,
+substring(val,02,1) as c01,
+substring(val,03,1) as c02,
+substring(val,04,1) as c03,
+substring(val,05,1) as c04,
+substring(val,06,1) as c05,
+substring(val,07,1) as c06,
+substring(val,08,1) as c07,
+substring(val,09,1) as c08,
+substring(val,10,1) as c09,
+substring(val,11,1) as c10,
+substring(val,12,1) as c11,
+substring(val,13,1) as c12,
+substring(val,14,1) as c13,
+substring(val,15,1) as c14,
+substring(val,16,1) as c15,
+substring(val,17,1) as c16,
+substring(val,18,1) as c17,
+substring(val,19,1) as c18,
+substring(val,20,1) as c19,
+substring(val,21,1) as c20,
+substring(val,22,1) as c21,
+substring(val,23,1) as c22,
+substring(val,24,1) as c23,
+substring(val,25,1) as c24,
+substring(val,26,1) as c25,
+substring(val,27,1) as c26,
+substring(val,28,1) as c27,
+substring(val,29,1) as c28,
+substring(val,30,1) as c29,
+substring(val,31,1) as c30,
+substring(val,32,1) as c31,
+substring(val,01,1) as c32,
+substring(val,02,1) as c33,
+substring(val,03,1) as c34,
+substring(val,04,1) as c35,
+substring(val,05,1) as c36,
+substring(val,06,1) as c37,
+substring(val,07,1) as c38,
+substring(val,08,1) as c39,
+substring(val,09,1) as c40,
+substring(val,10,1) as c41,
+substring(val,11,1) as c42,
+substring(val,12,1) as c43,
+substring(val,13,1) as c44,
+substring(val,14,1) as c45,
+substring(val,15,1) as c46,
+substring(val,16,1) as c47,
+substring(val,17,1) as c48,
+substring(val,18,1) as c49,
+substring(val,19,1) as c50,
+substring(val,20,1) as c51,
+substring(val,21,1) as c52,
+substring(val,22,1) as c53,
+substring(val,23,1) as c54,
+substring(val,24,1) as c55,
+substring(val,25,1) as c56,
+substring(val,26,1) as c57,
+substring(val,27,1) as c58,
+substring(val,28,1) as c59,
+substring(val,29,1) as c60,
+substring(val,30,1) as c61,
+substring(val,31,1) as c62,
+substring(val,32,1) as c63,
+substring(val,32,1) as c64
+from facts ) x
+group by
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09,
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,
+c30,c31,c32,c33,c34,c35,c36,c37,c38,c39,
+c40,c41,c42,c43,c44,c45,c46,c47,c48,c49,
+c50,c51,c52,c53,c54,c55,c56,c57,c58,c59,
+c60,c61,c62,c63,c64
+grouping sets (
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09,
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,
+c30,c31,c32,c33,c34,c35,c36,c37,c38,c39,
+c40,c41,c42,c43,c44,c45,c46,c47,c48,c49,
+c50,c51,c52,c53,c54,c55,c56,c57,c58,c59,
+c60,c61,c62,c63,c64
+);
diff --git a/ql/src/test/queries/clientnegative/groupby_rollup3.q b/ql/src/test/queries/clientnegative/groupby_rollup3.q
new file mode 100644 (file)
index 0000000..c205ca0
--- /dev/null
@@ -0,0 +1,90 @@
+create table facts (val string);
+
+insert into facts values ('abcdefghijklmnopqrstuvwxyz0123456789');
+
+create table groupingsets65 as
+select 
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09,
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,
+c30,c31,c32,c33,c34,c35,c36,c37,c38,c39,
+c40,c41,c42,c43,c44,c45,c46,c47,c48,c49,
+c50,c51,c52,c53,c54,c55,c56,c57,c58,c59,
+c60,c61,c62,c63,c64
+,count(*) as n from (
+select
+substring(val,01,1) as c00,
+substring(val,02,1) as c01,
+substring(val,03,1) as c02,
+substring(val,04,1) as c03,
+substring(val,05,1) as c04,
+substring(val,06,1) as c05,
+substring(val,07,1) as c06,
+substring(val,08,1) as c07,
+substring(val,09,1) as c08,
+substring(val,10,1) as c09,
+substring(val,11,1) as c10,
+substring(val,12,1) as c11,
+substring(val,13,1) as c12,
+substring(val,14,1) as c13,
+substring(val,15,1) as c14,
+substring(val,16,1) as c15,
+substring(val,17,1) as c16,
+substring(val,18,1) as c17,
+substring(val,19,1) as c18,
+substring(val,20,1) as c19,
+substring(val,21,1) as c20,
+substring(val,22,1) as c21,
+substring(val,23,1) as c22,
+substring(val,24,1) as c23,
+substring(val,25,1) as c24,
+substring(val,26,1) as c25,
+substring(val,27,1) as c26,
+substring(val,28,1) as c27,
+substring(val,29,1) as c28,
+substring(val,30,1) as c29,
+substring(val,31,1) as c30,
+substring(val,32,1) as c31,
+substring(val,01,1) as c32,
+substring(val,02,1) as c33,
+substring(val,03,1) as c34,
+substring(val,04,1) as c35,
+substring(val,05,1) as c36,
+substring(val,06,1) as c37,
+substring(val,07,1) as c38,
+substring(val,08,1) as c39,
+substring(val,09,1) as c40,
+substring(val,10,1) as c41,
+substring(val,11,1) as c42,
+substring(val,12,1) as c43,
+substring(val,13,1) as c44,
+substring(val,14,1) as c45,
+substring(val,15,1) as c46,
+substring(val,16,1) as c47,
+substring(val,17,1) as c48,
+substring(val,18,1) as c49,
+substring(val,19,1) as c50,
+substring(val,20,1) as c51,
+substring(val,21,1) as c52,
+substring(val,22,1) as c53,
+substring(val,23,1) as c54,
+substring(val,24,1) as c55,
+substring(val,25,1) as c56,
+substring(val,26,1) as c57,
+substring(val,27,1) as c58,
+substring(val,28,1) as c59,
+substring(val,29,1) as c60,
+substring(val,30,1) as c61,
+substring(val,31,1) as c62,
+substring(val,32,1) as c63,
+substring(val,32,1) as c64
+from facts ) x
+group by
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09,
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,
+c30,c31,c32,c33,c34,c35,c36,c37,c38,c39,
+c40,c41,c42,c43,c44,c45,c46,c47,c48,c49,
+c50,c51,c52,c53,c54,c55,c56,c57,c58,c59,
+c60,c61,c62,c63,c64
+with rollup;
index 15d3f06..6d4e05d 100644 (file)
@@ -60,4 +60,4 @@ create table cte10_t1 as
     with q1 as (select cint, cstring1 from alltypesorc where cint > 70)
                select * from q1;
 with q1 as (select cint , cstring1 from alltypesorc where age < 50)
-                           select * from cte10_t1;
\ No newline at end of file
+                           select * from cte10_t1;
diff --git a/ql/src/test/queries/clientpositive/groupingset_high_columns.q b/ql/src/test/queries/clientpositive/groupingset_high_columns.q
new file mode 100644 (file)
index 0000000..977ced6
--- /dev/null
@@ -0,0 +1,259 @@
+create table facts (val string);
+
+insert into facts values ('abcdefghijklmnopqrstuvwxyz0123456789');
+
+set hive.vectorized.execution.enabled=false;
+drop table groupingsets32;
+drop table groupingsets33;
+drop table groupingsets32a;
+drop table groupingsets33a;
+
+create table groupingsets32 as 
+select 
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09, 
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19, 
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29, 
+c30,c31 
+,count(*) as n from ( 
+select 
+substring(val,01,1) as c00, substring(val,02,1) as c01, substring(val,03,1) as c02,substring(val,04,1) as c03,substring(val,05,1) as c04,substring(val,06,1) as c05,substring(val,07,1) as c06, substring(val,08,1) as c07,substring(val,09,1) as c08,substring(val,10,1) as c09, 
+substring(val,11,1) as c10, substring(val,12,1) as c11, substring(val,13,1) as c12,substring(val,14,1) as c13,substring(val,15,1) as c14,substring(val,16,1) as c15,substring(val,17,1) as c16, substring(val,18,1) as c17,substring(val,19,1) as c18,substring(val,20,1) as c19, 
+substring(val,21,1) as c20, substring(val,22,1) as c21, substring(val,23,1) as c22,substring(val,24,1) as c23,substring(val,25,1) as c24,substring(val,26,1) as c25,substring(val,27,1) as c26, substring(val,28,1) as c27,substring(val,29,1) as c28,substring(val,30,1) as c29, 
+substring(val,31,1) as c30,substring(val,32,1) as c31 
+from facts ) x 
+group by 
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09, 
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19, 
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29, 
+c30,c31 
+grouping sets ( 
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09, 
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19, 
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29, 
+c30,c31 
+);
+
+select * from groupingsets32;
+
+create table groupingsets32a as
+select
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09,
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,
+c30,c31,
+count(*) as n,
+grouping__id,
+grouping(c00,c01,c02,c03,c04,c05,c06,c07,c08,c09,
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,
+c30,c31)
+from (
+select
+substring(val,01,1) as c00, substring(val,02,1) as c01, substring(val,03,1) as c02,substring(val,04,1) as c03,substring(val,05,1) as c04,substring(val,06,1) as c05,substring(val,07,1) as c06, substring(val,08,1) as c07,substring(val,09,1) as c08,substring(val,10,1) as c09,
+substring(val,11,1) as c10, substring(val,12,1) as c11, substring(val,13,1) as c12,substring(val,14,1) as c13,substring(val,15,1) as c14,substring(val,16,1) as c15,substring(val,17,1) as c16, substring(val,18,1) as c17,substring(val,19,1) as c18,substring(val,20,1) as c19,
+substring(val,21,1) as c20, substring(val,22,1) as c21, substring(val,23,1) as c22,substring(val,24,1) as c23,substring(val,25,1) as c24,substring(val,26,1) as c25,substring(val,27,1) as c26, substring(val,28,1) as c27,substring(val,29,1) as c28,substring(val,30,1) as c29,
+substring(val,31,1) as c30,substring(val,32,1) as c31
+from facts ) x
+group by
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09,
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,
+c30,c31
+grouping sets (
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09,
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,
+c30,c31
+);
+
+select * from groupingsets32a;
+
+create table groupingsets33 as 
+select 
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09, 
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19, 
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29, 
+c30,c31,c32 
+,count(*) as n from ( 
+select 
+substring(val,01,1) as c00, substring(val,02,1) as c01, substring(val,03,1) as c02,substring(val,04,1) as c03,substring(val,05,1) as c04,substring(val,06,1) as c05,substring(val,07,1) as c06, substring(val,08,1) as c07,substring(val,09,1) as c08,substring(val,10,1) as c09, 
+substring(val,11,1) as c10, substring(val,12,1) as c11, substring(val,13,1) as c12,substring(val,14,1) as c13,substring(val,15,1) as c14,substring(val,16,1) as c15,substring(val,17,1) as c16, substring(val,18,1) as c17,substring(val,19,1) as c18,substring(val,20,1) as c19, 
+substring(val,21,1) as c20, substring(val,22,1) as c21, substring(val,23,1) as c22,substring(val,24,1) as c23,substring(val,25,1) as c24,substring(val,26,1) as c25,substring(val,27,1) as c26, substring(val,28,1) as c27,substring(val,29,1) as c28,substring(val,30,1) as c29, 
+substring(val,31,1) as c30,substring(val,32,1) as c31,substring(val,33,1) as c32 
+from facts ) x 
+group by 
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09, 
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19, 
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29, 
+c30,c31,c32 
+grouping sets ( 
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09, 
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19, 
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29, 
+c30,c31,c32 
+) ;
+
+select * from groupingsets33; 
+
+create table groupingsets33a as
+select
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09,
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,
+c30,c31,c32
+,count(*) as n,
+grouping__id,
+grouping(c00,c01,c02,c03,c04,c05,c06,c07,c08,c09,
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,
+c30,c31,c32) 
+from (
+select
+substring(val,01,1) as c00, substring(val,02,1) as c01, substring(val,03,1) as c02,substring(val,04,1) as c03,substring(val,05,1) as c04,substring(val,06,1) as c05,substring(val,07,1) as c06, substring(val,08,1) as c07,substring(val,09,1) as c08,substring(val,10,1) as c09,
+substring(val,11,1) as c10, substring(val,12,1) as c11, substring(val,13,1) as c12,substring(val,14,1) as c13,substring(val,15,1) as c14,substring(val,16,1) as c15,substring(val,17,1) as c16, substring(val,18,1) as c17,substring(val,19,1) as c18,substring(val,20,1) as c19,
+substring(val,21,1) as c20, substring(val,22,1) as c21, substring(val,23,1) as c22,substring(val,24,1) as c23,substring(val,25,1) as c24,substring(val,26,1) as c25,substring(val,27,1) as c26, substring(val,28,1) as c27,substring(val,29,1) as c28,substring(val,30,1) as c29,
+substring(val,31,1) as c30,substring(val,32,1) as c31,substring(val,33,1) as c32
+from facts ) x
+group by
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09,
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,
+c30,c31,c32
+grouping sets (
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09,
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,
+c30,c31,c32
+) ;
+
+select * from groupingsets33a;
+
+set hive.vectorized.execution.enabled=true;
+
+drop table groupingsets32;
+drop table groupingsets33;
+
+drop table groupingsets32;
+drop table groupingsets33;
+drop table groupingsets32a;
+drop table groupingsets33a;
+
+create table groupingsets32 as 
+select 
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09, 
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19, 
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29, 
+c30,c31 
+,count(*) as n from ( 
+select 
+substring(val,01,1) as c00, substring(val,02,1) as c01, substring(val,03,1) as c02,substring(val,04,1) as c03,substring(val,05,1) as c04,substring(val,06,1) as c05,substring(val,07,1) as c06, substring(val,08,1) as c07,substring(val,09,1) as c08,substring(val,10,1) as c09, 
+substring(val,11,1) as c10, substring(val,12,1) as c11, substring(val,13,1) as c12,substring(val,14,1) as c13,substring(val,15,1) as c14,substring(val,16,1) as c15,substring(val,17,1) as c16, substring(val,18,1) as c17,substring(val,19,1) as c18,substring(val,20,1) as c19, 
+substring(val,21,1) as c20, substring(val,22,1) as c21, substring(val,23,1) as c22,substring(val,24,1) as c23,substring(val,25,1) as c24,substring(val,26,1) as c25,substring(val,27,1) as c26, substring(val,28,1) as c27,substring(val,29,1) as c28,substring(val,30,1) as c29, 
+substring(val,31,1) as c30,substring(val,32,1) as c31 
+from facts ) x 
+group by 
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09, 
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19, 
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29, 
+c30,c31 
+grouping sets ( 
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09, 
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19, 
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29, 
+c30,c31 
+);
+
+select * from groupingsets32;
+
+create table groupingsets32a as
+select
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09,
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,
+c30,c31,
+count(*) as n,
+grouping__id,
+grouping(c00,c01,c02,c03,c04,c05,c06,c07,c08,c09,
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,
+c30,c31)
+from (
+select
+substring(val,01,1) as c00, substring(val,02,1) as c01, substring(val,03,1) as c02,substring(val,04,1) as c03,substring(val,05,1) as c04,substring(val,06,1) as c05,substring(val,07,1) as c06, substring(val,08,1) as c07,substring(val,09,1) as c08,substring(val,10,1) as c09,
+substring(val,11,1) as c10, substring(val,12,1) as c11, substring(val,13,1) as c12,substring(val,14,1) as c13,substring(val,15,1) as c14,substring(val,16,1) as c15,substring(val,17,1) as c16, substring(val,18,1) as c17,substring(val,19,1) as c18,substring(val,20,1) as c19,
+substring(val,21,1) as c20, substring(val,22,1) as c21, substring(val,23,1) as c22,substring(val,24,1) as c23,substring(val,25,1) as c24,substring(val,26,1) as c25,substring(val,27,1) as c26, substring(val,28,1) as c27,substring(val,29,1) as c28,substring(val,30,1) as c29,
+substring(val,31,1) as c30,substring(val,32,1) as c31
+from facts ) x
+group by
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09,
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,
+c30,c31
+grouping sets (
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09,
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,
+c30,c31
+);
+
+select * from groupingsets32a;
+
+create table groupingsets33 as 
+select 
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09, 
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19, 
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29, 
+c30,c31,c32 
+,count(*) as n from ( 
+select 
+substring(val,01,1) as c00, substring(val,02,1) as c01, substring(val,03,1) as c02,substring(val,04,1) as c03,substring(val,05,1) as c04,substring(val,06,1) as c05,substring(val,07,1) as c06, substring(val,08,1) as c07,substring(val,09,1) as c08,substring(val,10,1) as c09, 
+substring(val,11,1) as c10, substring(val,12,1) as c11, substring(val,13,1) as c12,substring(val,14,1) as c13,substring(val,15,1) as c14,substring(val,16,1) as c15,substring(val,17,1) as c16, substring(val,18,1) as c17,substring(val,19,1) as c18,substring(val,20,1) as c19, 
+substring(val,21,1) as c20, substring(val,22,1) as c21, substring(val,23,1) as c22,substring(val,24,1) as c23,substring(val,25,1) as c24,substring(val,26,1) as c25,substring(val,27,1) as c26, substring(val,28,1) as c27,substring(val,29,1) as c28,substring(val,30,1) as c29, 
+substring(val,31,1) as c30,substring(val,32,1) as c31,substring(val,33,1) as c32 
+from facts ) x 
+group by 
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09, 
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19, 
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29, 
+c30,c31,c32 
+grouping sets ( 
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09, 
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19, 
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29, 
+c30,c31,c32 
+) ;
+
+select * from groupingsets33; 
+
+create table groupingsets33a as
+select
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09,
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,
+c30,c31,c32
+,count(*) as n,
+grouping__id,
+grouping(c00,c01,c02,c03,c04,c05,c06,c07,c08,c09,
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,
+c30,c31,c32) 
+from (
+select
+substring(val,01,1) as c00, substring(val,02,1) as c01, substring(val,03,1) as c02,substring(val,04,1) as c03,substring(val,05,1) as c04,substring(val,06,1) as c05,substring(val,07,1) as c06, substring(val,08,1) as c07,substring(val,09,1) as c08,substring(val,10,1) as c09,
+substring(val,11,1) as c10, substring(val,12,1) as c11, substring(val,13,1) as c12,substring(val,14,1) as c13,substring(val,15,1) as c14,substring(val,16,1) as c15,substring(val,17,1) as c16, substring(val,18,1) as c17,substring(val,19,1) as c18,substring(val,20,1) as c19,
+substring(val,21,1) as c20, substring(val,22,1) as c21, substring(val,23,1) as c22,substring(val,24,1) as c23,substring(val,25,1) as c24,substring(val,26,1) as c25,substring(val,27,1) as c26, substring(val,28,1) as c27,substring(val,29,1) as c28,substring(val,30,1) as c29,
+substring(val,31,1) as c30,substring(val,32,1) as c31,substring(val,33,1) as c32
+from facts ) x
+group by
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09,
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,
+c30,c31,c32
+grouping sets (
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09,
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,
+c30,c31,c32
+) ;
+
+select * from groupingsets33a;
diff --git a/ql/src/test/results/clientnegative/groupby_cube3.q.out b/ql/src/test/results/clientnegative/groupby_cube3.q.out
new file mode 100644 (file)
index 0000000..937cc01
--- /dev/null
@@ -0,0 +1,18 @@
+PREHOOK: query: create table facts (val string)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@facts
+POSTHOOK: query: create table facts (val string)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@facts
+PREHOOK: query: insert into facts values ('abcdefghijklmnopqrstuvwxyz0123456789')
+PREHOOK: type: QUERY
+PREHOOK: Input: _dummy_database@_dummy_table
+PREHOOK: Output: default@facts
+POSTHOOK: query: insert into facts values ('abcdefghijklmnopqrstuvwxyz0123456789')
+POSTHOOK: type: QUERY
+POSTHOOK: Input: _dummy_database@_dummy_table
+POSTHOOK: Output: default@facts
+POSTHOOK: Lineage: facts.val SCRIPT []
+FAILED: SemanticException [Error 10411]: Grouping sets size cannot be greater than 64
diff --git a/ql/src/test/results/clientnegative/groupby_grouping_sets8.q.out b/ql/src/test/results/clientnegative/groupby_grouping_sets8.q.out
new file mode 100644 (file)
index 0000000..937cc01
--- /dev/null
@@ -0,0 +1,18 @@
+PREHOOK: query: create table facts (val string)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@facts
+POSTHOOK: query: create table facts (val string)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@facts
+PREHOOK: query: insert into facts values ('abcdefghijklmnopqrstuvwxyz0123456789')
+PREHOOK: type: QUERY
+PREHOOK: Input: _dummy_database@_dummy_table
+PREHOOK: Output: default@facts
+POSTHOOK: query: insert into facts values ('abcdefghijklmnopqrstuvwxyz0123456789')
+POSTHOOK: type: QUERY
+POSTHOOK: Input: _dummy_database@_dummy_table
+POSTHOOK: Output: default@facts
+POSTHOOK: Lineage: facts.val SCRIPT []
+FAILED: SemanticException [Error 10411]: Grouping sets size cannot be greater than 64
diff --git a/ql/src/test/results/clientnegative/groupby_rollup3.q.out b/ql/src/test/results/clientnegative/groupby_rollup3.q.out
new file mode 100644 (file)
index 0000000..937cc01
--- /dev/null
@@ -0,0 +1,18 @@
+PREHOOK: query: create table facts (val string)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@facts
+POSTHOOK: query: create table facts (val string)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@facts
+PREHOOK: query: insert into facts values ('abcdefghijklmnopqrstuvwxyz0123456789')
+PREHOOK: type: QUERY
+PREHOOK: Input: _dummy_database@_dummy_table
+PREHOOK: Output: default@facts
+POSTHOOK: query: insert into facts values ('abcdefghijklmnopqrstuvwxyz0123456789')
+POSTHOOK: type: QUERY
+POSTHOOK: Input: _dummy_database@_dummy_table
+POSTHOOK: Output: default@facts
+POSTHOOK: Lineage: facts.val SCRIPT []
+FAILED: SemanticException [Error 10411]: Grouping sets size cannot be greater than 64
index ed3d594..25efe1e 100644 (file)
@@ -304,25 +304,25 @@ STAGE PLANS:
               outputColumnNames: state, locid
               Statistics: Num rows: 8 Data size: 720 Basic stats: COMPLETE Column stats: COMPLETE
               Group By Operator
-                keys: state (type: string), locid (type: int), 0 (type: int)
+                keys: state (type: string), locid (type: int), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2
-                Statistics: Num rows: 32 Data size: 3008 Basic stats: COMPLETE Column stats: COMPLETE
+                Statistics: Num rows: 32 Data size: 3136 Basic stats: COMPLETE Column stats: COMPLETE
                 Reduce Output Operator
-                  key expressions: _col0 (type: string), _col1 (type: int), _col2 (type: int)
+                  key expressions: _col0 (type: string), _col1 (type: int), _col2 (type: bigint)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: string), _col1 (type: int), _col2 (type: int)
-                  Statistics: Num rows: 32 Data size: 3008 Basic stats: COMPLETE Column stats: COMPLETE
+                  Map-reduce partition columns: _col0 (type: string), _col1 (type: int), _col2 (type: bigint)
+                  Statistics: Num rows: 32 Data size: 3136 Basic stats: COMPLETE Column stats: COMPLETE
       Reduce Operator Tree:
         Group By Operator
-          keys: KEY._col0 (type: string), KEY._col1 (type: int), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: int), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1
-          Statistics: Num rows: 32 Data size: 3008 Basic stats: COMPLETE Column stats: COMPLETE
+          Statistics: Num rows: 32 Data size: 3136 Basic stats: COMPLETE Column stats: COMPLETE
           pruneGroupingSetId: true
           File Output Operator
             compressed: false
-            Statistics: Num rows: 32 Data size: 3008 Basic stats: COMPLETE Column stats: COMPLETE
+            Statistics: Num rows: 32 Data size: 3136 Basic stats: COMPLETE Column stats: COMPLETE
             table:
                 input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                 output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -354,25 +354,25 @@ STAGE PLANS:
               outputColumnNames: state, locid
               Statistics: Num rows: 8 Data size: 720 Basic stats: COMPLETE Column stats: COMPLETE
               Group By Operator
-                keys: state (type: string), locid (type: int), 0 (type: int)
+                keys: state (type: string), locid (type: int), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2
-                Statistics: Num rows: 24 Data size: 2256 Basic stats: COMPLETE Column stats: COMPLETE
+                Statistics: Num rows: 24 Data size: 2352 Basic stats: COMPLETE Column stats: COMPLETE
                 Reduce Output Operator
-                  key expressions: _col0 (type: string), _col1 (type: int), _col2 (type: int)
+                  key expressions: _col0 (type: string), _col1 (type: int), _col2 (type: bigint)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: string), _col1 (type: int), _col2 (type: int)
-                  Statistics: Num rows: 24 Data size: 2256 Basic stats: COMPLETE Column stats: COMPLETE
+                  Map-reduce partition columns: _col0 (type: string), _col1 (type: int), _col2 (type: bigint)
+                  Statistics: Num rows: 24 Data size: 2352 Basic stats: COMPLETE Column stats: COMPLETE
       Reduce Operator Tree:
         Group By Operator
-          keys: KEY._col0 (type: string), KEY._col1 (type: int), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: int), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1
-          Statistics: Num rows: 24 Data size: 2256 Basic stats: COMPLETE Column stats: COMPLETE
+          Statistics: Num rows: 24 Data size: 2352 Basic stats: COMPLETE Column stats: COMPLETE
           pruneGroupingSetId: true
           File Output Operator
             compressed: false
-            Statistics: Num rows: 24 Data size: 2256 Basic stats: COMPLETE Column stats: COMPLETE
+            Statistics: Num rows: 24 Data size: 2352 Basic stats: COMPLETE Column stats: COMPLETE
             table:
                 input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                 output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -404,25 +404,25 @@ STAGE PLANS:
               outputColumnNames: state, locid
               Statistics: Num rows: 8 Data size: 720 Basic stats: COMPLETE Column stats: COMPLETE
               Group By Operator
-                keys: state (type: string), locid (type: int), 0 (type: int)
+                keys: state (type: string), locid (type: int), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2
-                Statistics: Num rows: 24 Data size: 2256 Basic stats: COMPLETE Column stats: COMPLETE
+                Statistics: Num rows: 24 Data size: 2352 Basic stats: COMPLETE Column stats: COMPLETE
                 Reduce Output Operator
-                  key expressions: _col0 (type: string), _col1 (type: int), _col2 (type: int)
+                  key expressions: _col0 (type: string), _col1 (type: int), _col2 (type: bigint)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: string), _col1 (type: int), _col2 (type: int)
-                  Statistics: Num rows: 24 Data size: 2256 Basic stats: COMPLETE Column stats: COMPLETE
+                  Map-reduce partition columns: _col0 (type: string), _col1 (type: int), _col2 (type: bigint)
+                  Statistics: Num rows: 24 Data size: 2352 Basic stats: COMPLETE Column stats: COMPLETE
       Reduce Operator Tree:
         Group By Operator
-          keys: KEY._col0 (type: string), KEY._col1 (type: int), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: int), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1
-          Statistics: Num rows: 24 Data size: 2256 Basic stats: COMPLETE Column stats: COMPLETE
+          Statistics: Num rows: 24 Data size: 2352 Basic stats: COMPLETE Column stats: COMPLETE
           pruneGroupingSetId: true
           File Output Operator
             compressed: false
-            Statistics: Num rows: 24 Data size: 2256 Basic stats: COMPLETE Column stats: COMPLETE
+            Statistics: Num rows: 24 Data size: 2352 Basic stats: COMPLETE Column stats: COMPLETE
             table:
                 input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                 output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -454,25 +454,25 @@ STAGE PLANS:
               outputColumnNames: state, locid
               Statistics: Num rows: 8 Data size: 720 Basic stats: COMPLETE Column stats: COMPLETE
               Group By Operator
-                keys: state (type: string), locid (type: int), 0 (type: int)
+                keys: state (type: string), locid (type: int), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2
-                Statistics: Num rows: 8 Data size: 752 Basic stats: COMPLETE Column stats: COMPLETE
+                Statistics: Num rows: 8 Data size: 784 Basic stats: COMPLETE Column stats: COMPLETE
                 Reduce Output Operator
-                  key expressions: _col0 (type: string), _col1 (type: int), _col2 (type: int)
+                  key expressions: _col0 (type: string), _col1 (type: int), _col2 (type: bigint)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: string), _col1 (type: int), _col2 (type: int)
-                  Statistics: Num rows: 8 Data size: 752 Basic stats: COMPLETE Column stats: COMPLETE
+                  Map-reduce partition columns: _col0 (type: string), _col1 (type: int), _col2 (type: bigint)
+                  Statistics: Num rows: 8 Data size: 784 Basic stats: COMPLETE Column stats: COMPLETE
       Reduce Operator Tree:
         Group By Operator
-          keys: KEY._col0 (type: string), KEY._col1 (type: int), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: int), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1
-          Statistics: Num rows: 8 Data size: 752 Basic stats: COMPLETE Column stats: COMPLETE
+          Statistics: Num rows: 8 Data size: 784 Basic stats: COMPLETE Column stats: COMPLETE
           pruneGroupingSetId: true
           File Output Operator
             compressed: false
-            Statistics: Num rows: 8 Data size: 752 Basic stats: COMPLETE Column stats: COMPLETE
+            Statistics: Num rows: 8 Data size: 784 Basic stats: COMPLETE Column stats: COMPLETE
             table:
                 input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                 output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -504,25 +504,25 @@ STAGE PLANS:
               outputColumnNames: state, locid
               Statistics: Num rows: 8 Data size: 720 Basic stats: COMPLETE Column stats: COMPLETE
               Group By Operator
-                keys: state (type: string), locid (type: int), 0 (type: int)
+                keys: state (type: string), locid (type: int), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2
-                Statistics: Num rows: 16 Data size: 1504 Basic stats: COMPLETE Column stats: COMPLETE
+                Statistics: Num rows: 16 Data size: 1568 Basic stats: COMPLETE Column stats: COMPLETE
                 Reduce Output Operator
-                  key expressions: _col0 (type: string), _col1 (type: int), _col2 (type: int)
+                  key expressions: _col0 (type: string), _col1 (type: int), _col2 (type: bigint)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: string), _col1 (type: int), _col2 (type: int)
-                  Statistics: Num rows: 16 Data size: 1504 Basic stats: COMPLETE Column stats: COMPLETE
+                  Map-reduce partition columns: _col0 (type: string), _col1 (type: int), _col2 (type: bigint)
+                  Statistics: Num rows: 16 Data size: 1568 Basic stats: COMPLETE Column stats: COMPLETE
       Reduce Operator Tree:
         Group By Operator
-          keys: KEY._col0 (type: string), KEY._col1 (type: int), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: int), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1
-          Statistics: Num rows: 16 Data size: 1504 Basic stats: COMPLETE Column stats: COMPLETE
+          Statistics: Num rows: 16 Data size: 1568 Basic stats: COMPLETE Column stats: COMPLETE
           pruneGroupingSetId: true
           File Output Operator
             compressed: false
-            Statistics: Num rows: 16 Data size: 1504 Basic stats: COMPLETE Column stats: COMPLETE
+            Statistics: Num rows: 16 Data size: 1568 Basic stats: COMPLETE Column stats: COMPLETE
             table:
                 input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                 output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -554,25 +554,25 @@ STAGE PLANS:
               outputColumnNames: state, locid
               Statistics: Num rows: 8 Data size: 720 Basic stats: COMPLETE Column stats: COMPLETE
               Group By Operator
-                keys: state (type: string), locid (type: int), 0 (type: int)
+                keys: state (type: string), locid (type: int), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2
-                Statistics: Num rows: 24 Data size: 2256 Basic stats: COMPLETE Column stats: COMPLETE
+                Statistics: Num rows: 24 Data size: 2352 Basic stats: COMPLETE Column stats: COMPLETE
                 Reduce Output Operator
-                  key expressions: _col0 (type: string), _col1 (type: int), _col2 (type: int)
+                  key expressions: _col0 (type: string), _col1 (type: int), _col2 (type: bigint)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: string), _col1 (type: int), _col2 (type: int)
-                  Statistics: Num rows: 24 Data size: 2256 Basic stats: COMPLETE Column stats: COMPLETE
+                  Map-reduce partition columns: _col0 (type: string), _col1 (type: int), _col2 (type: bigint)
+                  Statistics: Num rows: 24 Data size: 2352 Basic stats: COMPLETE Column stats: COMPLETE
       Reduce Operator Tree:
         Group By Operator
-          keys: KEY._col0 (type: string), KEY._col1 (type: int), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: int), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1
-          Statistics: Num rows: 24 Data size: 2256 Basic stats: COMPLETE Column stats: COMPLETE
+          Statistics: Num rows: 24 Data size: 2352 Basic stats: COMPLETE Column stats: COMPLETE
           pruneGroupingSetId: true
           File Output Operator
             compressed: false
-            Statistics: Num rows: 24 Data size: 2256 Basic stats: COMPLETE Column stats: COMPLETE
+            Statistics: Num rows: 24 Data size: 2352 Basic stats: COMPLETE Column stats: COMPLETE
             table:
                 input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                 output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -604,25 +604,25 @@ STAGE PLANS:
               outputColumnNames: state, locid
               Statistics: Num rows: 8 Data size: 720 Basic stats: COMPLETE Column stats: COMPLETE
               Group By Operator
-                keys: state (type: string), locid (type: int), 0 (type: int)
+                keys: state (type: string), locid (type: int), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2
-                Statistics: Num rows: 32 Data size: 3008 Basic stats: COMPLETE Column stats: COMPLETE
+                Statistics: Num rows: 32 Data size: 3136 Basic stats: COMPLETE Column stats: COMPLETE
                 Reduce Output Operator
-                  key expressions: _col0 (type: string), _col1 (type: int), _col2 (type: int)
+                  key expressions: _col0 (type: string), _col1 (type: int), _col2 (type: bigint)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: string), _col1 (type: int), _col2 (type: int)
-                  Statistics: Num rows: 32 Data size: 3008 Basic stats: COMPLETE Column stats: COMPLETE
+                  Map-reduce partition columns: _col0 (type: string), _col1 (type: int), _col2 (type: bigint)
+                  Statistics: Num rows: 32 Data size: 3136 Basic stats: COMPLETE Column stats: COMPLETE
       Reduce Operator Tree:
         Group By Operator
-          keys: KEY._col0 (type: string), KEY._col1 (type: int), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: int), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1
-          Statistics: Num rows: 32 Data size: 3008 Basic stats: COMPLETE Column stats: COMPLETE
+          Statistics: Num rows: 32 Data size: 3136 Basic stats: COMPLETE Column stats: COMPLETE
           pruneGroupingSetId: true
           File Output Operator
             compressed: false
-            Statistics: Num rows: 32 Data size: 3008 Basic stats: COMPLETE Column stats: COMPLETE
+            Statistics: Num rows: 32 Data size: 3136 Basic stats: COMPLETE Column stats: COMPLETE
             table:
                 input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                 output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -703,25 +703,25 @@ STAGE PLANS:
               outputColumnNames: state, locid
               Statistics: Num rows: 8 Data size: 720 Basic stats: COMPLETE Column stats: COMPLETE
               Group By Operator
-                keys: state (type: string), locid (type: int), 0 (type: int)
+                keys: state (type: string), locid (type: int), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2
-                Statistics: Num rows: 16 Data size: 1504 Basic stats: COMPLETE Column stats: COMPLETE
+                Statistics: Num rows: 16 Data size: 1568 Basic stats: COMPLETE Column stats: COMPLETE
                 Reduce Output Operator
-                  key expressions: _col0 (type: string), _col1 (type: int), _col2 (type: int)
+                  key expressions: _col0 (type: string), _col1 (type: int), _col2 (type: bigint)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: string), _col1 (type: int), _col2 (type: int)
-                  Statistics: Num rows: 16 Data size: 1504 Basic stats: COMPLETE Column stats: COMPLETE
+                  Map-reduce partition columns: _col0 (type: string), _col1 (type: int), _col2 (type: bigint)
+                  Statistics: Num rows: 16 Data size: 1568 Basic stats: COMPLETE Column stats: COMPLETE
       Reduce Operator Tree:
         Group By Operator
-          keys: KEY._col0 (type: string), KEY._col1 (type: int), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: int), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1
-          Statistics: Num rows: 16 Data size: 1504 Basic stats: COMPLETE Column stats: COMPLETE
+          Statistics: Num rows: 16 Data size: 1568 Basic stats: COMPLETE Column stats: COMPLETE
           pruneGroupingSetId: true
           File Output Operator
             compressed: false
-            Statistics: Num rows: 16 Data size: 1504 Basic stats: COMPLETE Column stats: COMPLETE
+            Statistics: Num rows: 16 Data size: 1568 Basic stats: COMPLETE Column stats: COMPLETE
             table:
                 input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                 output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -802,18 +802,18 @@ STAGE PLANS:
               outputColumnNames: state, locid
               Statistics: Num rows: 8 Data size: 796 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
-                keys: state (type: string), locid (type: int), 0 (type: int)
+                keys: state (type: string), locid (type: int), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2
                 Statistics: Num rows: 32 Data size: 3184 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: string), _col1 (type: int), _col2 (type: int)
+                  key expressions: _col0 (type: string), _col1 (type: int), _col2 (type: bigint)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: string), _col1 (type: int), _col2 (type: int)
+                  Map-reduce partition columns: _col0 (type: string), _col1 (type: int), _col2 (type: bigint)
                   Statistics: Num rows: 32 Data size: 3184 Basic stats: COMPLETE Column stats: NONE
       Reduce Operator Tree:
         Group By Operator
-          keys: KEY._col0 (type: string), KEY._col1 (type: int), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: int), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1
           Statistics: Num rows: 16 Data size: 1592 Basic stats: COMPLETE Column stats: NONE
@@ -852,18 +852,18 @@ STAGE PLANS:
               outputColumnNames: state, locid
               Statistics: Num rows: 8 Data size: 796 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
-                keys: state (type: string), locid (type: int), 0 (type: int)
+                keys: state (type: string), locid (type: int), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2
                 Statistics: Num rows: 24 Data size: 2388 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: string), _col1 (type: int), _col2 (type: int)
+                  key expressions: _col0 (type: string), _col1 (type: int), _col2 (type: bigint)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: string), _col1 (type: int), _col2 (type: int)
+                  Map-reduce partition columns: _col0 (type: string), _col1 (type: int), _col2 (type: bigint)
                   Statistics: Num rows: 24 Data size: 2388 Basic stats: COMPLETE Column stats: NONE
       Reduce Operator Tree:
         Group By Operator
-          keys: KEY._col0 (type: string), KEY._col1 (type: int), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: int), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1
           Statistics: Num rows: 12 Data size: 1194 Basic stats: COMPLETE Column stats: NONE
@@ -902,18 +902,18 @@ STAGE PLANS:
               outputColumnNames: state, locid
               Statistics: Num rows: 8 Data size: 796 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
-                keys: state (type: string), locid (type: int), 0 (type: int)
+                keys: state (type: string), locid (type: int), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2
                 Statistics: Num rows: 24 Data size: 2388 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: string), _col1 (type: int), _col2 (type: int)
+                  key expressions: _col0 (type: string), _col1 (type: int), _col2 (type: bigint)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: string), _col1 (type: int), _col2 (type: int)
+                  Map-reduce partition columns: _col0 (type: string), _col1 (type: int), _col2 (type: bigint)
                   Statistics: Num rows: 24 Data size: 2388 Basic stats: COMPLETE Column stats: NONE
       Reduce Operator Tree:
         Group By Operator
-          keys: KEY._col0 (type: string), KEY._col1 (type: int), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: int), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1
           Statistics: Num rows: 12 Data size: 1194 Basic stats: COMPLETE Column stats: NONE
@@ -952,18 +952,18 @@ STAGE PLANS:
               outputColumnNames: state, locid
               Statistics: Num rows: 8 Data size: 796 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
-                keys: state (type: string), locid (type: int), 0 (type: int)
+                keys: state (type: string), locid (type: int), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2
                 Statistics: Num rows: 8 Data size: 796 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: string), _col1 (type: int), _col2 (type: int)
+                  key expressions: _col0 (type: string), _col1 (type: int), _col2 (type: bigint)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: string), _col1 (type: int), _col2 (type: int)
+                  Map-reduce partition columns: _col0 (type: string), _col1 (type: int), _col2 (type: bigint)
                   Statistics: Num rows: 8 Data size: 796 Basic stats: COMPLETE Column stats: NONE
       Reduce Operator Tree:
         Group By Operator
-          keys: KEY._col0 (type: string), KEY._col1 (type: int), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: int), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1
           Statistics: Num rows: 4 Data size: 398 Basic stats: COMPLETE Column stats: NONE
@@ -1002,18 +1002,18 @@ STAGE PLANS:
               outputColumnNames: state, locid
               Statistics: Num rows: 8 Data size: 796 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
-                keys: state (type: string), locid (type: int), 0 (type: int)
+                keys: state (type: string), locid (type: int), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2
                 Statistics: Num rows: 16 Data size: 1592 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: string), _col1 (type: int), _col2 (type: int)
+                  key expressions: _col0 (type: string), _col1 (type: int), _col2 (type: bigint)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: string), _col1 (type: int), _col2 (type: int)
+                  Map-reduce partition columns: _col0 (type: string), _col1 (type: int), _col2 (type: bigint)
                   Statistics: Num rows: 16 Data size: 1592 Basic stats: COMPLETE Column stats: NONE
       Reduce Operator Tree:
         Group By Operator
-          keys: KEY._col0 (type: string), KEY._col1 (type: int), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: int), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1
           Statistics: Num rows: 8 Data size: 796 Basic stats: COMPLETE Column stats: NONE
@@ -1052,18 +1052,18 @@ STAGE PLANS:
               outputColumnNames: state, locid
               Statistics: Num rows: 8 Data size: 796 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
-                keys: state (type: string), locid (type: int), 0 (type: int)
+                keys: state (type: string), locid (type: int), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2
                 Statistics: Num rows: 24 Data size: 2388 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: string), _col1 (type: int), _col2 (type: int)
+                  key expressions: _col0 (type: string), _col1 (type: int), _col2 (type: bigint)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: string), _col1 (type: int), _col2 (type: int)
+                  Map-reduce partition columns: _col0 (type: string), _col1 (type: int), _col2 (type: bigint)
                   Statistics: Num rows: 24 Data size: 2388 Basic stats: COMPLETE Column stats: NONE
       Reduce Operator Tree:
         Group By Operator
-          keys: KEY._col0 (type: string), KEY._col1 (type: int), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: int), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1
           Statistics: Num rows: 12 Data size: 1194 Basic stats: COMPLETE Column stats: NONE
@@ -1102,18 +1102,18 @@ STAGE PLANS:
               outputColumnNames: state, locid
               Statistics: Num rows: 8 Data size: 796 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
-                keys: state (type: string), locid (type: int), 0 (type: int)
+                keys: state (type: string), locid (type: int), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2
                 Statistics: Num rows: 32 Data size: 3184 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: string), _col1 (type: int), _col2 (type: int)
+                  key expressions: _col0 (type: string), _col1 (type: int), _col2 (type: bigint)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: string), _col1 (type: int), _col2 (type: int)
+                  Map-reduce partition columns: _col0 (type: string), _col1 (type: int), _col2 (type: bigint)
                   Statistics: Num rows: 32 Data size: 3184 Basic stats: COMPLETE Column stats: NONE
       Reduce Operator Tree:
         Group By Operator
-          keys: KEY._col0 (type: string), KEY._col1 (type: int), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: int), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1
           Statistics: Num rows: 16 Data size: 1592 Basic stats: COMPLETE Column stats: NONE
@@ -1201,18 +1201,18 @@ STAGE PLANS:
               outputColumnNames: state, locid
               Statistics: Num rows: 8 Data size: 796 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
-                keys: state (type: string), locid (type: int), 0 (type: int)
+                keys: state (type: string), locid (type: int), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2
                 Statistics: Num rows: 32 Data size: 3184 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: string), _col1 (type: int), _col2 (type: int)
+                  key expressions: _col0 (type: string), _col1 (type: int), _col2 (type: bigint)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: string), _col1 (type: int), _col2 (type: int)
+                  Map-reduce partition columns: _col0 (type: string), _col1 (type: int), _col2 (type: bigint)
                   Statistics: Num rows: 32 Data size: 3184 Basic stats: COMPLETE Column stats: NONE
       Reduce Operator Tree:
         Group By Operator
-          keys: KEY._col0 (type: string), KEY._col1 (type: int), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: int), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1
           Statistics: Num rows: 16 Data size: 1592 Basic stats: COMPLETE Column stats: NONE
index ffcb20f..78c4808 100644 (file)
@@ -105,18 +105,18 @@ STAGE PLANS:
               outputColumnNames: state, country
               Statistics: Num rows: 20 Data size: 200 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
-                keys: state (type: string), country (type: string), 0 (type: int)
+                keys: state (type: string), country (type: string), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2
                 Statistics: Num rows: 80 Data size: 800 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+                  Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
                   Statistics: Num rows: 80 Data size: 800 Basic stats: COMPLETE Column stats: NONE
       Reduce Operator Tree:
         Group By Operator
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1
           Statistics: Num rows: 40 Data size: 400 Basic stats: COMPLETE Column stats: NONE
@@ -253,25 +253,25 @@ STAGE PLANS:
               outputColumnNames: state, country
               Statistics: Num rows: 20 Data size: 3460 Basic stats: COMPLETE Column stats: COMPLETE
               Group By Operator
-                keys: state (type: string), country (type: string), 0 (type: int)
+                keys: state (type: string), country (type: string), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2
-                Statistics: Num rows: 40 Data size: 7080 Basic stats: COMPLETE Column stats: COMPLETE
+                Statistics: Num rows: 40 Data size: 7240 Basic stats: COMPLETE Column stats: COMPLETE
                 Reduce Output Operator
-                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: int)
-                  Statistics: Num rows: 40 Data size: 7080 Basic stats: COMPLETE Column stats: COMPLETE
+                  Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
+                  Statistics: Num rows: 40 Data size: 7240 Basic stats: COMPLETE Column stats: COMPLETE
       Reduce Operator Tree:
         Group By Operator
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1
-          Statistics: Num rows: 8 Data size: 1416 Basic stats: COMPLETE Column stats: COMPLETE
+          Statistics: Num rows: 8 Data size: 1448 Basic stats: COMPLETE Column stats: COMPLETE
           pruneGroupingSetId: true
           File Output Operator
             compressed: false
-            Statistics: Num rows: 8 Data size: 1416 Basic stats: COMPLETE Column stats: COMPLETE
+            Statistics: Num rows: 8 Data size: 1448 Basic stats: COMPLETE Column stats: COMPLETE
             table:
                 input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                 output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -352,25 +352,25 @@ STAGE PLANS:
               outputColumnNames: state, country
               Statistics: Num rows: 20 Data size: 3460 Basic stats: COMPLETE Column stats: COMPLETE
               Group By Operator
-                keys: state (type: string), country (type: string), 0 (type: int)
+                keys: state (type: string), country (type: string), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2
-                Statistics: Num rows: 80 Data size: 14160 Basic stats: COMPLETE Column stats: COMPLETE
+                Statistics: Num rows: 80 Data size: 14480 Basic stats: COMPLETE Column stats: COMPLETE
                 Reduce Output Operator
-                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: int)
-                  Statistics: Num rows: 80 Data size: 14160 Basic stats: COMPLETE Column stats: COMPLETE
+                  Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
+                  Statistics: Num rows: 80 Data size: 14480 Basic stats: COMPLETE Column stats: COMPLETE
       Reduce Operator Tree:
         Group By Operator
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1
-          Statistics: Num rows: 8 Data size: 1416 Basic stats: COMPLETE Column stats: COMPLETE
+          Statistics: Num rows: 8 Data size: 1448 Basic stats: COMPLETE Column stats: COMPLETE
           pruneGroupingSetId: true
           File Output Operator
             compressed: false
-            Statistics: Num rows: 8 Data size: 1416 Basic stats: COMPLETE Column stats: COMPLETE
+            Statistics: Num rows: 8 Data size: 1448 Basic stats: COMPLETE Column stats: COMPLETE
             table:
                 input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                 output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
index 3d92a0d..63ecd8b 100644 (file)
@@ -304,15 +304,15 @@ STAGE PLANS:
               outputColumnNames: state, locid
               Statistics: Num rows: 8 Data size: 720 Basic stats: COMPLETE Column stats: COMPLETE
               Group By Operator
-                keys: state (type: string), locid (type: int), '0' (type: string)
+                keys: state (type: string), locid (type: int), '0L' (type: string)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2
-                Statistics: Num rows: 32 Data size: 5600 Basic stats: COMPLETE Column stats: COMPLETE
+                Statistics: Num rows: 32 Data size: 5632 Basic stats: COMPLETE Column stats: COMPLETE
                 Reduce Output Operator
                   key expressions: _col0 (type: string), _col1 (type: int), _col2 (type: string)
                   sort order: +++
                   Map-reduce partition columns: _col0 (type: string), _col1 (type: int)
-                  Statistics: Num rows: 32 Data size: 5600 Basic stats: COMPLETE Column stats: COMPLETE
+                  Statistics: Num rows: 32 Data size: 5632 Basic stats: COMPLETE Column stats: COMPLETE
       Reduce Operator Tree:
         Group By Operator
           keys: KEY._col0 (type: string), KEY._col1 (type: int)
@@ -353,15 +353,15 @@ STAGE PLANS:
               outputColumnNames: state, locid
               Statistics: Num rows: 8 Data size: 720 Basic stats: COMPLETE Column stats: COMPLETE
               Group By Operator
-                keys: state (type: string), locid (type: int), '0' (type: string)
+                keys: state (type: string), locid (type: int), '0L' (type: string)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2
-                Statistics: Num rows: 24 Data size: 4200 Basic stats: COMPLETE Column stats: COMPLETE
+                Statistics: Num rows: 24 Data size: 4224 Basic stats: COMPLETE Column stats: COMPLETE
                 Reduce Output Operator
                   key expressions: _col0 (type: string), _col1 (type: int), _col2 (type: string)
                   sort order: +++
                   Map-reduce partition columns: _col0 (type: string), _col1 (type: int)
-                  Statistics: Num rows: 24 Data size: 4200 Basic stats: COMPLETE Column stats: COMPLETE
+                  Statistics: Num rows: 24 Data size: 4224 Basic stats: COMPLETE Column stats: COMPLETE
       Reduce Operator Tree:
         Group By Operator
           keys: KEY._col0 (type: string), KEY._col1 (type: int)
@@ -402,15 +402,15 @@ STAGE PLANS:
               outputColumnNames: state, locid
               Statistics: Num rows: 8 Data size: 720 Basic stats: COMPLETE Column stats: COMPLETE
               Group By Operator
-                keys: state (type: string), locid (type: int), '0' (type: string)
+                keys: state (type: string), locid (type: int), '0L' (type: string)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2
-                Statistics: Num rows: 24 Data size: 4200 Basic stats: COMPLETE Column stats: COMPLETE
+                Statistics: Num rows: 24 Data size: 4224 Basic stats: COMPLETE Column stats: COMPLETE
                 Reduce Output Operator
                   key expressions: _col0 (type: string), _col1 (type: int), _col2 (type: string)
                   sort order: +++
                   Map-reduce partition columns: _col0 (type: string), _col1 (type: int)
-                  Statistics: Num rows: 24 Data size: 4200 Basic stats: COMPLETE Column stats: COMPLETE
+                  Statistics: Num rows: 24 Data size: 4224 Basic stats: COMPLETE Column stats: COMPLETE
       Reduce Operator Tree:
         Group By Operator
           keys: KEY._col0 (type: string), KEY._col1 (type: int)
@@ -451,15 +451,15 @@ STAGE PLANS:
               outputColumnNames: state, locid
               Statistics: Num rows: 8 Data size: 720 Basic stats: COMPLETE Column stats: COMPLETE
               Group By Operator
-                keys: state (type: string), locid (type: int), '0' (type: string)
+                keys: state (type: string), locid (type: int), '0L' (type: string)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2
-                Statistics: Num rows: 8 Data size: 1400 Basic stats: COMPLETE Column stats: COMPLETE
+                Statistics: Num rows: 8 Data size: 1408 Basic stats: COMPLETE Column stats: COMPLETE
                 Reduce Output Operator
                   key expressions: _col0 (type: string), _col1 (type: int), _col2 (type: string)
                   sort order: +++
                   Map-reduce partition columns: _col0 (type: string), _col1 (type: int)
-                  Statistics: Num rows: 8 Data size: 1400 Basic stats: COMPLETE Column stats: COMPLETE
+                  Statistics: Num rows: 8 Data size: 1408 Basic stats: COMPLETE Column stats: COMPLETE
       Reduce Operator Tree:
         Group By Operator
           keys: KEY._col0 (type: string), KEY._col1 (type: int)
@@ -500,15 +500,15 @@ STAGE PLANS:
               outputColumnNames: state, locid
               Statistics: Num rows: 8 Data size: 720 Basic stats: COMPLETE Column stats: COMPLETE
               Group By Operator
-                keys: state (type: string), locid (type: int), '0' (type: string)
+                keys: state (type: string), locid (type: int), '0L' (type: string)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2
-                Statistics: Num rows: 16 Data size: 2800 Basic stats: COMPLETE Column stats: COMPLETE
+                Statistics: Num rows: 16 Data size: 2816 Basic stats: COMPLETE Column stats: COMPLETE
                 Reduce Output Operator
                   key expressions: _col0 (type: string), _col1 (type: int), _col2 (type: string)
                   sort order: +++
                   Map-reduce partition columns: _col0 (type: string), _col1 (type: int)
-                  Statistics: Num rows: 16 Data size: 2800 Basic stats: COMPLETE Column stats: COMPLETE
+                  Statistics: Num rows: 16 Data size: 2816 Basic stats: COMPLETE Column stats: COMPLETE
       Reduce Operator Tree:
         Group By Operator
           keys: KEY._col0 (type: string), KEY._col1 (type: int)
@@ -549,15 +549,15 @@ STAGE PLANS:
               outputColumnNames: state, locid
               Statistics: Num rows: 8 Data size: 720 Basic stats: COMPLETE Column stats: COMPLETE
               Group By Operator
-                keys: state (type: string), locid (type: int), '0' (type: string)
+                keys: state (type: string), locid (type: int), '0L' (type: string)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2
-                Statistics: Num rows: 24 Data size: 4200 Basic stats: COMPLETE Column stats: COMPLETE
+                Statistics: Num rows: 24 Data size: 4224 Basic stats: COMPLETE Column stats: COMPLETE
                 Reduce Output Operator
                   key expressions: _col0 (type: string), _col1 (type: int), _col2 (type: string)
                   sort order: +++
                   Map-reduce partition columns: _col0 (type: string), _col1 (type: int)
-                  Statistics: Num rows: 24 Data size: 4200 Basic stats: COMPLETE Column stats: COMPLETE
+                  Statistics: Num rows: 24 Data size: 4224 Basic stats: COMPLETE Column stats: COMPLETE
       Reduce Operator Tree:
         Group By Operator
           keys: KEY._col0 (type: string), KEY._col1 (type: int)
@@ -598,15 +598,15 @@ STAGE PLANS:
               outputColumnNames: state, locid
               Statistics: Num rows: 8 Data size: 720 Basic stats: COMPLETE Column stats: COMPLETE
               Group By Operator
-                keys: state (type: string), locid (type: int), '0' (type: string)
+                keys: state (type: string), locid (type: int), '0L' (type: string)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2
-                Statistics: Num rows: 32 Data size: 5600 Basic stats: COMPLETE Column stats: COMPLETE
+                Statistics: Num rows: 32 Data size: 5632 Basic stats: COMPLETE Column stats: COMPLETE
                 Reduce Output Operator
                   key expressions: _col0 (type: string), _col1 (type: int), _col2 (type: string)
                   sort order: +++
                   Map-reduce partition columns: _col0 (type: string), _col1 (type: int)
-                  Statistics: Num rows: 32 Data size: 5600 Basic stats: COMPLETE Column stats: COMPLETE
+                  Statistics: Num rows: 32 Data size: 5632 Basic stats: COMPLETE Column stats: COMPLETE
       Reduce Operator Tree:
         Group By Operator
           keys: KEY._col0 (type: string), KEY._col1 (type: int)
@@ -696,15 +696,15 @@ STAGE PLANS:
               outputColumnNames: state, locid
               Statistics: Num rows: 8 Data size: 720 Basic stats: COMPLETE Column stats: COMPLETE
               Group By Operator
-                keys: state (type: string), locid (type: int), '0' (type: string)
+                keys: state (type: string), locid (type: int), '0L' (type: string)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2
-                Statistics: Num rows: 16 Data size: 2800 Basic stats: COMPLETE Column stats: COMPLETE
+                Statistics: Num rows: 16 Data size: 2816 Basic stats: COMPLETE Column stats: COMPLETE
                 Reduce Output Operator
                   key expressions: _col0 (type: string), _col1 (type: int), _col2 (type: string)
                   sort order: +++
                   Map-reduce partition columns: _col0 (type: string), _col1 (type: int)
-                  Statistics: Num rows: 16 Data size: 2800 Basic stats: COMPLETE Column stats: COMPLETE
+                  Statistics: Num rows: 16 Data size: 2816 Basic stats: COMPLETE Column stats: COMPLETE
       Reduce Operator Tree:
         Group By Operator
           keys: KEY._col0 (type: string), KEY._col1 (type: int)
@@ -794,7 +794,7 @@ STAGE PLANS:
               outputColumnNames: state, locid
               Statistics: Num rows: 8 Data size: 796 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
-                keys: state (type: string), locid (type: int), '0' (type: string)
+                keys: state (type: string), locid (type: int), '0L' (type: string)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2
                 Statistics: Num rows: 32 Data size: 3184 Basic stats: COMPLETE Column stats: NONE
@@ -843,7 +843,7 @@ STAGE PLANS:
               outputColumnNames: state, locid
               Statistics: Num rows: 8 Data size: 796 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
-                keys: state (type: string), locid (type: int), '0' (type: string)
+                keys: state (type: string), locid (type: int), '0L' (type: string)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2
                 Statistics: Num rows: 24 Data size: 2388 Basic stats: COMPLETE Column stats: NONE
@@ -892,7 +892,7 @@ STAGE PLANS:
               outputColumnNames: state, locid
               Statistics: Num rows: 8 Data size: 796 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
-                keys: state (type: string), locid (type: int), '0' (type: string)
+                keys: state (type: string), locid (type: int), '0L' (type: string)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2
                 Statistics: Num rows: 24 Data size: 2388 Basic stats: COMPLETE Column stats: NONE
@@ -941,7 +941,7 @@ STAGE PLANS:
               outputColumnNames: state, locid
               Statistics: Num rows: 8 Data size: 796 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
-                keys: state (type: string), locid (type: int), '0' (type: string)
+                keys: state (type: string), locid (type: int), '0L' (type: string)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2
                 Statistics: Num rows: 8 Data size: 796 Basic stats: COMPLETE Column stats: NONE
@@ -990,7 +990,7 @@ STAGE PLANS:
               outputColumnNames: state, locid
               Statistics: Num rows: 8 Data size: 796 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
-                keys: state (type: string), locid (type: int), '0' (type: string)
+                keys: state (type: string), locid (type: int), '0L' (type: string)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2
                 Statistics: Num rows: 16 Data size: 1592 Basic stats: COMPLETE Column stats: NONE
@@ -1039,7 +1039,7 @@ STAGE PLANS:
               outputColumnNames: state, locid
               Statistics: Num rows: 8 Data size: 796 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
-                keys: state (type: string), locid (type: int), '0' (type: string)
+                keys: state (type: string), locid (type: int), '0L' (type: string)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2
                 Statistics: Num rows: 24 Data size: 2388 Basic stats: COMPLETE Column stats: NONE
@@ -1088,7 +1088,7 @@ STAGE PLANS:
               outputColumnNames: state, locid
               Statistics: Num rows: 8 Data size: 796 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
-                keys: state (type: string), locid (type: int), '0' (type: string)
+                keys: state (type: string), locid (type: int), '0L' (type: string)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2
                 Statistics: Num rows: 32 Data size: 3184 Basic stats: COMPLETE Column stats: NONE
@@ -1186,7 +1186,7 @@ STAGE PLANS:
               outputColumnNames: state, locid
               Statistics: Num rows: 8 Data size: 796 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
-                keys: state (type: string), locid (type: int), '0' (type: string)
+                keys: state (type: string), locid (type: int), '0L' (type: string)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2
                 Statistics: Num rows: 32 Data size: 3184 Basic stats: COMPLETE Column stats: NONE
index e5ece81..37b8c62 100644 (file)
@@ -37,20 +37,20 @@ STAGE PLANS:
               Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
                 aggregations: count()
-                keys: key (type: string), val (type: string), 0 (type: int)
+                keys: key (type: string), val (type: string), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2, _col3
                 Statistics: Num rows: 4 Data size: 1200 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+                  Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
                   Statistics: Num rows: 4 Data size: 1200 Basic stats: COMPLETE Column stats: NONE
                   value expressions: _col3 (type: bigint)
       Reduce Operator Tree:
         Group By Operator
           aggregations: count(VALUE._col0)
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1, _col3
           Statistics: Num rows: 2 Data size: 600 Basic stats: COMPLETE Column stats: NONE
@@ -96,20 +96,20 @@ STAGE PLANS:
               Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
                 aggregations: count()
-                keys: key (type: string), val (type: string), 0 (type: int)
+                keys: key (type: string), val (type: string), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2, _col3
                 Statistics: Num rows: 4 Data size: 1200 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+                  Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
                   Statistics: Num rows: 4 Data size: 1200 Basic stats: COMPLETE Column stats: NONE
                   value expressions: _col3 (type: bigint)
       Reduce Operator Tree:
         Group By Operator
           aggregations: count(VALUE._col0)
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1, _col3
           Statistics: Num rows: 2 Data size: 600 Basic stats: COMPLETE Column stats: NONE
@@ -181,25 +181,25 @@ STAGE PLANS:
               Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
                 aggregations: count()
-                keys: _col0 (type: string), _col1 (type: string), 0 (type: int)
+                keys: _col0 (type: string), _col1 (type: string), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2, _col3
                 Statistics: Num rows: 4 Data size: 1200 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+                  Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
                   Statistics: Num rows: 4 Data size: 1200 Basic stats: COMPLETE Column stats: NONE
                   value expressions: _col3 (type: bigint)
       Reduce Operator Tree:
         Group By Operator
           aggregations: count(VALUE._col0)
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1, _col2, _col3
           Statistics: Num rows: 2 Data size: 600 Basic stats: COMPLETE Column stats: NONE
           Select Operator
-            expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int), _col3 (type: bigint)
+            expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint), _col3 (type: bigint)
             outputColumnNames: _col0, _col1, _col2, _col3
             Statistics: Num rows: 2 Data size: 600 Basic stats: COMPLETE Column stats: NONE
             File Output Operator
@@ -265,19 +265,19 @@ STAGE PLANS:
               Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
                 aggregations: count(DISTINCT val)
-                keys: key (type: string), 0 (type: int), val (type: string)
+                keys: key (type: string), 0 (type: bigint), val (type: string)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2, _col3
                 Statistics: Num rows: 2 Data size: 600 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: string), _col1 (type: int), _col2 (type: string)
+                  key expressions: _col0 (type: string), _col1 (type: bigint), _col2 (type: string)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: string), _col1 (type: int)
+                  Map-reduce partition columns: _col0 (type: string), _col1 (type: bigint)
                   Statistics: Num rows: 2 Data size: 600 Basic stats: COMPLETE Column stats: NONE
       Reduce Operator Tree:
         Group By Operator
           aggregations: count(DISTINCT KEY._col2:0._col0)
-          keys: KEY._col0 (type: string), KEY._col1 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col2
           Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
@@ -338,12 +338,12 @@ STAGE PLANS:
               Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
                 aggregations: count()
-                keys: key (type: string), val (type: string), 0 (type: int)
+                keys: key (type: string), val (type: string), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2, _col3
                 Statistics: Num rows: 4 Data size: 1200 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
                   sort order: +++
                   Map-reduce partition columns: rand() (type: double)
                   Statistics: Num rows: 4 Data size: 1200 Basic stats: COMPLETE Column stats: NONE
@@ -351,7 +351,7 @@ STAGE PLANS:
       Reduce Operator Tree:
         Group By Operator
           aggregations: count(VALUE._col0)
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: bigint)
           mode: partials
           outputColumnNames: _col0, _col1, _col2, _col3
           Statistics: Num rows: 4 Data size: 1200 Basic stats: COMPLETE Column stats: NONE
@@ -367,7 +367,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             Reduce Output Operator
-              key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+              key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
               sort order: +++
               Map-reduce partition columns: _col0 (type: string), _col1 (type: string)
               Statistics: Num rows: 4 Data size: 1200 Basic stats: COMPLETE Column stats: NONE
@@ -375,7 +375,7 @@ STAGE PLANS:
       Reduce Operator Tree:
         Group By Operator
           aggregations: count(VALUE._col0)
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: bigint)
           mode: final
           outputColumnNames: _col0, _col1, _col3
           Statistics: Num rows: 2 Data size: 600 Basic stats: COMPLETE Column stats: NONE
@@ -448,19 +448,19 @@ STAGE PLANS:
               Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
                 aggregations: count(DISTINCT val)
-                keys: key (type: string), 0 (type: int), val (type: string)
+                keys: key (type: string), 0 (type: bigint), val (type: string)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2, _col3
                 Statistics: Num rows: 2 Data size: 600 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: string), _col1 (type: int), _col2 (type: string)
+                  key expressions: _col0 (type: string), _col1 (type: bigint), _col2 (type: string)
                   sort order: +++
                   Map-reduce partition columns: _col0 (type: string)
                   Statistics: Num rows: 2 Data size: 600 Basic stats: COMPLETE Column stats: NONE
       Reduce Operator Tree:
         Group By Operator
           aggregations: count(DISTINCT KEY._col2:0._col0)
-          keys: KEY._col0 (type: string), KEY._col1 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: bigint)
           mode: partials
           outputColumnNames: _col0, _col1, _col2
           Statistics: Num rows: 2 Data size: 600 Basic stats: COMPLETE Column stats: NONE
@@ -476,7 +476,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             Reduce Output Operator
-              key expressions: _col0 (type: string), _col1 (type: int)
+              key expressions: _col0 (type: string), _col1 (type: bigint)
               sort order: ++
               Map-reduce partition columns: _col0 (type: string)
               Statistics: Num rows: 2 Data size: 600 Basic stats: COMPLETE Column stats: NONE
@@ -484,7 +484,7 @@ STAGE PLANS:
       Reduce Operator Tree:
         Group By Operator
           aggregations: count(VALUE._col0)
-          keys: KEY._col0 (type: string), KEY._col1 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: bigint)
           mode: final
           outputColumnNames: _col0, _col2
           Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
@@ -572,12 +572,12 @@ STAGE PLANS:
               Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
                 aggregations: count(1)
-                keys: key (type: string), val (type: string), 0 (type: int)
+                keys: key (type: string), val (type: string), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2, _col3
                 Statistics: Num rows: 4 Data size: 1200 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
                   sort order: +++
                   Map-reduce partition columns: rand() (type: double)
                   Statistics: Num rows: 4 Data size: 1200 Basic stats: COMPLETE Column stats: NONE
@@ -588,7 +588,7 @@ STAGE PLANS:
               Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
                 aggregations: sum(1)
-                keys: key (type: string), val (type: string), 0 (type: int)
+                keys: key (type: string), val (type: string), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2, _col3
                 Statistics: Num rows: 4 Data size: 1200 Basic stats: COMPLETE Column stats: NONE
@@ -601,7 +601,7 @@ STAGE PLANS:
       Reduce Operator Tree:
         Group By Operator
           aggregations: count(VALUE._col0)
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: bigint)
           mode: partials
           outputColumnNames: _col0, _col1, _col2, _col3
           Statistics: Num rows: 4 Data size: 1200 Basic stats: COMPLETE Column stats: NONE
@@ -617,7 +617,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             Reduce Output Operator
-              key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+              key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
               sort order: +++
               Map-reduce partition columns: _col0 (type: string), _col1 (type: string)
               Statistics: Num rows: 4 Data size: 1200 Basic stats: COMPLETE Column stats: NONE
@@ -625,7 +625,7 @@ STAGE PLANS:
       Reduce Operator Tree:
         Group By Operator
           aggregations: count(VALUE._col0)
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: bigint)
           mode: final
           outputColumnNames: _col0, _col1, _col3
           Statistics: Num rows: 2 Data size: 600 Basic stats: COMPLETE Column stats: NONE
@@ -711,7 +711,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             Reduce Output Operator
-              key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+              key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
               sort order: +++
               Map-reduce partition columns: rand() (type: double)
               Statistics: Num rows: 4 Data size: 1200 Basic stats: COMPLETE Column stats: NONE
@@ -719,7 +719,7 @@ STAGE PLANS:
       Reduce Operator Tree:
         Group By Operator
           aggregations: sum(VALUE._col0)
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: bigint)
           mode: partials
           outputColumnNames: _col0, _col1, _col2, _col3
           Statistics: Num rows: 4 Data size: 1200 Basic stats: COMPLETE Column stats: NONE
@@ -735,7 +735,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             Reduce Output Operator
-              key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+              key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
               sort order: +++
               Map-reduce partition columns: _col0 (type: string), _col1 (type: string)
               Statistics: Num rows: 4 Data size: 1200 Basic stats: COMPLETE Column stats: NONE
@@ -743,7 +743,7 @@ STAGE PLANS:
       Reduce Operator Tree:
         Group By Operator
           aggregations: sum(VALUE._col0)
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: bigint)
           mode: final
           outputColumnNames: _col0, _col1, _col3
           Statistics: Num rows: 2 Data size: 600 Basic stats: COMPLETE Column stats: NONE
index 9a6457c..e6126ab 100644 (file)
@@ -52,21 +52,21 @@ STAGE PLANS:
               outputColumnNames: key, value
               Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
-                keys: key (type: string), value (type: string), 0 (type: int)
+                keys: key (type: string), value (type: string), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2
                 Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+                  Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
                   Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: key (type: string), value (type: string)
               outputColumnNames: key, value
               Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
-                keys: key (type: string), value (type: string), 0 (type: int)
+                keys: key (type: string), value (type: string), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2
                 Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
@@ -78,7 +78,7 @@ STAGE PLANS:
                       serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
       Reduce Operator Tree:
         Group By Operator
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1, _col2
           Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
@@ -163,13 +163,13 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             Reduce Output Operator
-              key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+              key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
               sort order: +++
-              Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+              Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
               Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
       Reduce Operator Tree:
         Group By Operator
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1
           Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
index f13b6e5..ac43413 100644 (file)
@@ -45,7 +45,7 @@ STAGE PLANS:
               Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
                 aggregations: count()
-                keys: key (type: int), value (type: int), 0 (type: int)
+                keys: key (type: int), value (type: int), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2, _col3
                 Statistics: Num rows: 2 Data size: 600 Basic stats: COMPLETE Column stats: NONE
@@ -53,21 +53,21 @@ STAGE PLANS:
                   predicate: (_col2 = 1) (type: boolean)
                   Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
                   Reduce Output Operator
-                    key expressions: _col0 (type: int), _col1 (type: int), 1 (type: int)
+                    key expressions: _col0 (type: int), _col1 (type: int), 1 (type: bigint)
                     sort order: +++
-                    Map-reduce partition columns: _col0 (type: int), _col1 (type: int), 1 (type: int)
+                    Map-reduce partition columns: _col0 (type: int), _col1 (type: int), 1 (type: bigint)
                     Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
                     value expressions: _col3 (type: bigint)
       Reduce Operator Tree:
         Group By Operator
           aggregations: count(VALUE._col0)
-          keys: KEY._col0 (type: int), KEY._col1 (type: int), 1 (type: int)
+          keys: KEY._col0 (type: int), KEY._col1 (type: int), 1 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1, _col3
           Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
           pruneGroupingSetId: true
           Select Operator
-            expressions: _col0 (type: int), _col1 (type: int), 1 (type: int), _col3 (type: bigint)
+            expressions: _col0 (type: int), _col1 (type: int), 1 (type: bigint), _col3 (type: bigint)
             outputColumnNames: _col0, _col1, _col2, _col3
             Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
             File Output Operator
@@ -135,20 +135,20 @@ STAGE PLANS:
               Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
                 aggregations: count()
-                keys: _col0 (type: int), _col1 (type: int), 0 (type: int)
+                keys: _col0 (type: int), _col1 (type: int), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2, _col3
                 Statistics: Num rows: 2 Data size: 600 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: int), _col1 (type: int), _col2 (type: int)
+                  key expressions: _col0 (type: int), _col1 (type: int), _col2 (type: bigint)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: int), _col1 (type: int), _col2 (type: int)
+                  Map-reduce partition columns: _col0 (type: int), _col1 (type: int), _col2 (type: bigint)
                   Statistics: Num rows: 2 Data size: 600 Basic stats: COMPLETE Column stats: NONE
                   value expressions: _col3 (type: bigint)
       Reduce Operator Tree:
         Group By Operator
           aggregations: count(VALUE._col0)
-          keys: KEY._col0 (type: int), KEY._col1 (type: int), KEY._col2 (type: int)
+          keys: KEY._col0 (type: int), KEY._col1 (type: int), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1, _col2, _col3
           Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
@@ -156,7 +156,7 @@ STAGE PLANS:
             predicate: (_col2 = 1) (type: boolean)
             Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col0 (type: int), _col1 (type: int), 1 (type: int), _col3 (type: bigint)
+              expressions: _col0 (type: int), _col1 (type: int), 1 (type: bigint), _col3 (type: bigint)
               outputColumnNames: _col0, _col1, _col2, _col3
               Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
index d70f065..62fc9fb 100644 (file)
@@ -53,20 +53,20 @@ STAGE PLANS:
               Statistics: Num rows: 1 Data size: 360 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
                 aggregations: count()
-                keys: a (type: string), b (type: string), 0 (type: int)
+                keys: a (type: string), b (type: string), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2, _col3
                 Statistics: Num rows: 4 Data size: 1440 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+                  Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
                   Statistics: Num rows: 4 Data size: 1440 Basic stats: COMPLETE Column stats: NONE
                   value expressions: _col3 (type: bigint)
       Reduce Operator Tree:
         Group By Operator
           aggregations: count(VALUE._col0)
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1, _col3
           Statistics: Num rows: 2 Data size: 720 Basic stats: COMPLETE Column stats: NONE
@@ -137,20 +137,20 @@ STAGE PLANS:
               Statistics: Num rows: 1 Data size: 360 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
                 aggregations: count()
-                keys: a (type: string), b (type: string), 0 (type: int)
+                keys: a (type: string), b (type: string), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2, _col3
                 Statistics: Num rows: 4 Data size: 1440 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+                  Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
                   Statistics: Num rows: 4 Data size: 1440 Basic stats: COMPLETE Column stats: NONE
                   value expressions: _col3 (type: bigint)
       Reduce Operator Tree:
         Group By Operator
           aggregations: count(VALUE._col0)
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1, _col3
           Statistics: Num rows: 2 Data size: 720 Basic stats: COMPLETE Column stats: NONE
@@ -221,20 +221,20 @@ STAGE PLANS:
               Statistics: Num rows: 1 Data size: 360 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
                 aggregations: count()
-                keys: a (type: string), b (type: string), 0 (type: int)
+                keys: a (type: string), b (type: string), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2, _col3
                 Statistics: Num rows: 4 Data size: 1440 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+                  Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
                   Statistics: Num rows: 4 Data size: 1440 Basic stats: COMPLETE Column stats: NONE
                   value expressions: _col3 (type: bigint)
       Reduce Operator Tree:
         Group By Operator
           aggregations: count(VALUE._col0)
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1, _col3
           Statistics: Num rows: 2 Data size: 720 Basic stats: COMPLETE Column stats: NONE
@@ -305,20 +305,20 @@ STAGE PLANS:
               Statistics: Num rows: 1 Data size: 360 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
                 aggregations: count()
-                keys: a (type: string), b (type: string), 0 (type: int)
+                keys: a (type: string), b (type: string), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2, _col3
                 Statistics: Num rows: 2 Data size: 720 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+                  Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
                   Statistics: Num rows: 2 Data size: 720 Basic stats: COMPLETE Column stats: NONE
                   value expressions: _col3 (type: bigint)
       Reduce Operator Tree:
         Group By Operator
           aggregations: count(VALUE._col0)
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1, _col3
           Statistics: Num rows: 1 Data size: 360 Basic stats: COMPLETE Column stats: NONE
@@ -384,18 +384,18 @@ STAGE PLANS:
               outputColumnNames: a, b, c
               Statistics: Num rows: 1 Data size: 360 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
-                keys: a (type: string), b (type: string), c (type: string), 0 (type: int)
+                keys: a (type: string), b (type: string), c (type: string), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2, _col3
                 Statistics: Num rows: 3 Data size: 1080 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string), _col3 (type: int)
+                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string), _col3 (type: bigint)
                   sort order: ++++
-                  Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: string), _col3 (type: int)
+                  Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: string), _col3 (type: bigint)
                   Statistics: Num rows: 3 Data size: 1080 Basic stats: COMPLETE Column stats: NONE
       Reduce Operator Tree:
         Group By Operator
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: string), KEY._col3 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: string), KEY._col3 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1, _col2
           Statistics: Num rows: 1 Data size: 360 Basic stats: COMPLETE Column stats: NONE
index 453b9f7..43e17ec 100644 (file)
@@ -52,7 +52,7 @@ STAGE PLANS:
       Reduce Operator Tree:
         Group By Operator
           aggregations: count(VALUE._col0)
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), 0 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), 0 (type: bigint)
           mode: partials
           outputColumnNames: _col0, _col1, _col2, _col3
           Statistics: Num rows: 4 Data size: 1440 Basic stats: COMPLETE Column stats: NONE
@@ -68,15 +68,15 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             Reduce Output Operator
-              key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+              key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
               sort order: +++
-              Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+              Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
               Statistics: Num rows: 4 Data size: 1440 Basic stats: COMPLETE Column stats: NONE
               value expressions: _col3 (type: bigint)
       Reduce Operator Tree:
         Group By Operator
           aggregations: count(VALUE._col0)
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: bigint)
           mode: final
           outputColumnNames: _col0, _col1, _col3
           Statistics: Num rows: 2 Data size: 720 Basic stats: COMPLETE Column stats: NONE
@@ -137,7 +137,7 @@ STAGE PLANS:
       Reduce Operator Tree:
         Group By Operator
           aggregations: count(VALUE._col0)
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), 0 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), 0 (type: bigint)
           mode: partials
           outputColumnNames: _col0, _col1, _col2, _col3
           Statistics: Num rows: 4 Data size: 1440 Basic stats: COMPLETE Column stats: NONE
@@ -153,15 +153,15 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             Reduce Output Operator
-              key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+              key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
               sort order: +++
-              Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+              Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
               Statistics: Num rows: 4 Data size: 1440 Basic stats: COMPLETE Column stats: NONE
               value expressions: _col3 (type: bigint)
       Reduce Operator Tree:
         Group By Operator
           aggregations: count(VALUE._col0)
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: bigint)
           mode: final
           outputColumnNames: _col0, _col1, _col3
           Statistics: Num rows: 2 Data size: 720 Basic stats: COMPLETE Column stats: NONE
@@ -246,7 +246,7 @@ STAGE PLANS:
       Reduce Operator Tree:
         Group By Operator
           aggregations: sum(VALUE._col0)
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), 0 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), 0 (type: bigint)
           mode: partials
           outputColumnNames: _col0, _col1, _col2, _col3
           Statistics: Num rows: 4 Data size: 1440 Basic stats: COMPLETE Column stats: NONE
@@ -262,15 +262,15 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             Reduce Output Operator
-              key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+              key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
               sort order: +++
-              Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+              Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
               Statistics: Num rows: 4 Data size: 1440 Basic stats: COMPLETE Column stats: NONE
               value expressions: _col3 (type: double)
       Reduce Operator Tree:
         Group By Operator
           aggregations: sum(VALUE._col0)
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: bigint)
           mode: final
           outputColumnNames: _col0, _col1, _col3
           Statistics: Num rows: 2 Data size: 720 Basic stats: COMPLETE Column stats: NONE
@@ -378,7 +378,7 @@ STAGE PLANS:
       Reduce Operator Tree:
         Group By Operator
           aggregations: sum(VALUE._col0)
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), 0 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), 0 (type: bigint)
           mode: partials
           outputColumnNames: _col0, _col1, _col2, _col3
           Statistics: Num rows: 24 Data size: 168 Basic stats: COMPLETE Column stats: NONE
@@ -394,15 +394,15 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             Reduce Output Operator
-              key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+              key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
               sort order: +++
-              Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+              Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
               Statistics: Num rows: 24 Data size: 168 Basic stats: COMPLETE Column stats: NONE
               value expressions: _col3 (type: bigint)
       Reduce Operator Tree:
         Group By Operator
           aggregations: sum(VALUE._col0)
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: bigint)
           mode: final
           outputColumnNames: _col0, _col1, _col3
           Statistics: Num rows: 12 Data size: 84 Basic stats: COMPLETE Column stats: NONE
index be8d20e..352d4be 100644 (file)
@@ -46,20 +46,20 @@ STAGE PLANS:
               Statistics: Num rows: 1 Data size: 720 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
                 aggregations: avg(c), count()
-                keys: a (type: string), b (type: string), 0 (type: int)
+                keys: a (type: string), b (type: string), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2, _col3, _col4
                 Statistics: Num rows: 4 Data size: 2880 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+                  Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
                   Statistics: Num rows: 4 Data size: 2880 Basic stats: COMPLETE Column stats: NONE
                   value expressions: _col3 (type: struct<count:bigint,sum:double,input:string>), _col4 (type: bigint)
       Reduce Operator Tree:
         Group By Operator
           aggregations: avg(VALUE._col0), count(VALUE._col1)
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1, _col3, _col4
           Statistics: Num rows: 2 Data size: 1440 Basic stats: COMPLETE Column stats: NONE
@@ -106,20 +106,20 @@ STAGE PLANS:
               Statistics: Num rows: 1 Data size: 720 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
                 aggregations: avg(c), count()
-                keys: a (type: string), b (type: string), 0 (type: int)
+                keys: a (type: string), b (type: string), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2, _col3, _col4
                 Statistics: Num rows: 4 Data size: 2880 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+                  Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
                   Statistics: Num rows: 4 Data size: 2880 Basic stats: COMPLETE Column stats: NONE
                   value expressions: _col3 (type: struct<count:bigint,sum:double,input:string>), _col4 (type: bigint)
       Reduce Operator Tree:
         Group By Operator
           aggregations: avg(VALUE._col0), count(VALUE._col1)
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1, _col3, _col4
           Statistics: Num rows: 2 Data size: 1440 Basic stats: COMPLETE Column stats: NONE
@@ -205,7 +205,7 @@ STAGE PLANS:
       Reduce Operator Tree:
         Group By Operator
           aggregations: avg(VALUE._col0), count(VALUE._col1)
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), 0 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), 0 (type: bigint)
           mode: partials
           outputColumnNames: _col0, _col1, _col2, _col3, _col4
           Statistics: Num rows: 4 Data size: 2880 Basic stats: COMPLETE Column stats: NONE
@@ -221,15 +221,15 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             Reduce Output Operator
-              key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+              key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
               sort order: +++
-              Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+              Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
               Statistics: Num rows: 4 Data size: 2880 Basic stats: COMPLETE Column stats: NONE
               value expressions: _col3 (type: struct<count:bigint,sum:double,input:string>), _col4 (type: bigint)
       Reduce Operator Tree:
         Group By Operator
           aggregations: avg(VALUE._col0), count(VALUE._col1)
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: bigint)
           mode: final
           outputColumnNames: _col0, _col1, _col3, _col4
           Statistics: Num rows: 2 Data size: 1440 Basic stats: COMPLETE Column stats: NONE
index 0c6ead9..e368e1e 100644 (file)
@@ -46,20 +46,20 @@ STAGE PLANS:
               Statistics: Num rows: 1 Data size: 360 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
                 aggregations: count()
-                keys: a (type: string), b (type: string), 0 (type: int)
+                keys: a (type: string), b (type: string), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2, _col3
                 Statistics: Num rows: 4 Data size: 1440 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+                  Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
                   Statistics: Num rows: 4 Data size: 1440 Basic stats: COMPLETE Column stats: NONE
                   value expressions: _col3 (type: bigint)
       Reduce Operator Tree:
         Group By Operator
           aggregations: count(VALUE._col0)
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1, _col3
           Statistics: Num rows: 2 Data size: 720 Basic stats: COMPLETE Column stats: NONE
@@ -123,20 +123,20 @@ STAGE PLANS:
               Statistics: Num rows: 1 Data size: 360 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
                 aggregations: count()
-                keys: a (type: string), b (type: string), 0 (type: int)
+                keys: a (type: string), b (type: string), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2, _col3
                 Statistics: Num rows: 4 Data size: 1440 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+                  Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
                   Statistics: Num rows: 4 Data size: 1440 Basic stats: COMPLETE Column stats: NONE
                   value expressions: _col3 (type: bigint)
       Reduce Operator Tree:
         Group By Operator
           aggregations: count(VALUE._col0)
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1, _col3
           Statistics: Num rows: 2 Data size: 720 Basic stats: COMPLETE Column stats: NONE
@@ -193,20 +193,20 @@ STAGE PLANS:
               Statistics: Num rows: 1 Data size: 360 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
                 aggregations: count()
-                keys: a (type: string), b (type: string), 0 (type: int)
+                keys: a (type: string), b (type: string), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2, _col3
                 Statistics: Num rows: 4 Data size: 1440 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+                  Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
                   Statistics: Num rows: 4 Data size: 1440 Basic stats: COMPLETE Column stats: NONE
                   value expressions: _col3 (type: bigint)
       Reduce Operator Tree:
         Group By Operator
           aggregations: count(VALUE._col0)
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1, _col3
           Statistics: Num rows: 2 Data size: 720 Basic stats: COMPLETE Column stats: NONE
@@ -270,20 +270,20 @@ STAGE PLANS:
               Statistics: Num rows: 1 Data size: 360 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
                 aggregations: count()
-                keys: a (type: string), b (type: string), 0 (type: int)
+                keys: a (type: string), b (type: string), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2, _col3
                 Statistics: Num rows: 4 Data size: 1440 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+                  Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
                   Statistics: Num rows: 4 Data size: 1440 Basic stats: COMPLETE Column stats: NONE
                   value expressions: _col3 (type: bigint)
       Reduce Operator Tree:
         Group By Operator
           aggregations: count(VALUE._col0)
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1, _col3
           Statistics: Num rows: 2 Data size: 720 Basic stats: COMPLETE Column stats: NONE
@@ -384,7 +384,7 @@ STAGE PLANS:
       Reduce Operator Tree:
         Group By Operator
           aggregations: count(VALUE._col0)
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), 0 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), 0 (type: bigint)
           mode: partials
           outputColumnNames: _col0, _col1, _col2, _col3
           Statistics: Num rows: 4 Data size: 1440 Basic stats: COMPLETE Column stats: NONE
@@ -400,15 +400,15 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             Reduce Output Operator
-              key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+              key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
               sort order: +++
-              Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+              Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
               Statistics: Num rows: 4 Data size: 1440 Basic stats: COMPLETE Column stats: NONE
               value expressions: _col3 (type: bigint)
       Reduce Operator Tree:
         Group By Operator
           aggregations: count(VALUE._col0)
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: bigint)
           mode: final
           outputColumnNames: _col0, _col1, _col3
           Statistics: Num rows: 2 Data size: 720 Basic stats: COMPLETE Column stats: NONE
@@ -485,7 +485,7 @@ STAGE PLANS:
       Reduce Operator Tree:
         Group By Operator
           aggregations: count(VALUE._col0)
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), 0 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), 0 (type: bigint)
           mode: partials
           outputColumnNames: _col0, _col1, _col2, _col3
           Statistics: Num rows: 4 Data size: 1440 Basic stats: COMPLETE Column stats: NONE
@@ -501,15 +501,15 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             Reduce Output Operator
-              key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+              key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
               sort order: +++
-              Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+              Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
               Statistics: Num rows: 4 Data size: 1440 Basic stats: COMPLETE Column stats: NONE
               value expressions: _col3 (type: bigint)
       Reduce Operator Tree:
         Group By Operator
           aggregations: count(VALUE._col0)
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: bigint)
           mode: final
           outputColumnNames: _col0, _col1, _col3
           Statistics: Num rows: 2 Data size: 720 Basic stats: COMPLETE Column stats: NONE
index 0bb12e1..1766fb9 100644 (file)
@@ -56,7 +56,7 @@ STAGE PLANS:
           Statistics: Num rows: 1 Data size: 360 Basic stats: COMPLETE Column stats: NONE
           Group By Operator
             aggregations: count()
-            keys: _col0 (type: string), _col1 (type: string), 0 (type: int)
+            keys: _col0 (type: string), _col1 (type: string), 0 (type: bigint)
             mode: hash
             outputColumnNames: _col0, _col1, _col2, _col3
             Statistics: Num rows: 4 Data size: 1440 Basic stats: COMPLETE Column stats: NONE
@@ -72,15 +72,15 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             Reduce Output Operator
-              key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+              key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
               sort order: +++
-              Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+              Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
               Statistics: Num rows: 4 Data size: 1440 Basic stats: COMPLETE Column stats: NONE
               value expressions: _col3 (type: bigint)
       Reduce Operator Tree:
         Group By Operator
           aggregations: count(VALUE._col0)
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1, _col3
           Statistics: Num rows: 2 Data size: 720 Basic stats: COMPLETE Column stats: NONE
@@ -145,7 +145,7 @@ STAGE PLANS:
           Statistics: Num rows: 1 Data size: 360 Basic stats: COMPLETE Column stats: NONE
           Group By Operator
             aggregations: count()
-            keys: _col0 (type: string), _col1 (type: string), 0 (type: int)
+            keys: _col0 (type: string), _col1 (type: string), 0 (type: bigint)
             mode: hash
             outputColumnNames: _col0, _col1, _col2, _col3
             Statistics: Num rows: 4 Data size: 1440 Basic stats: COMPLETE Column stats: NONE
@@ -161,15 +161,15 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             Reduce Output Operator
-              key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+              key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
               sort order: +++
-              Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+              Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
               Statistics: Num rows: 4 Data size: 1440 Basic stats: COMPLETE Column stats: NONE
               value expressions: _col3 (type: bigint)
       Reduce Operator Tree:
         Group By Operator
           aggregations: count(VALUE._col0)
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1, _col3
           Statistics: Num rows: 2 Data size: 720 Basic stats: COMPLETE Column stats: NONE
@@ -284,7 +284,7 @@ STAGE PLANS:
       Reduce Operator Tree:
         Group By Operator
           aggregations: count(VALUE._col0)
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), 0 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), 0 (type: bigint)
           mode: partials
           outputColumnNames: _col0, _col1, _col2, _col3
           Statistics: Num rows: 4 Data size: 1440 Basic stats: COMPLETE Column stats: NONE
@@ -300,15 +300,15 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             Reduce Output Operator
-              key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+              key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
               sort order: +++
-              Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+              Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
               Statistics: Num rows: 4 Data size: 1440 Basic stats: COMPLETE Column stats: NONE
               value expressions: _col3 (type: bigint)
       Reduce Operator Tree:
         Group By Operator
           aggregations: count(VALUE._col0)
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: bigint)
           mode: final
           outputColumnNames: _col0, _col1, _col3
           Statistics: Num rows: 2 Data size: 720 Basic stats: COMPLETE Column stats: NONE
index 5b990a1..563b110 100644 (file)
@@ -39,18 +39,18 @@ STAGE PLANS:
               predicate: (UDFToDouble(a) = 5.0) (type: boolean)
               Statistics: Num rows: 1 Data size: 360 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
-                keys: a (type: string), b (type: string), 0 (type: int)
+                keys: a (type: string), b (type: string), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2
                 Statistics: Num rows: 2 Data size: 720 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+                  Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
                   Statistics: Num rows: 2 Data size: 720 Basic stats: COMPLETE Column stats: NONE
       Reduce Operator Tree:
         Group By Operator
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1
           Statistics: Num rows: 1 Data size: 360 Basic stats: COMPLETE Column stats: NONE
@@ -108,18 +108,18 @@ STAGE PLANS:
               predicate: (UDFToDouble(a) = 5.0) (type: boolean)
               Statistics: Num rows: 1 Data size: 360 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
-                keys: a (type: string), b (type: string), 0 (type: int)
+                keys: a (type: string), b (type: string), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2
                 Statistics: Num rows: 2 Data size: 720 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+                  Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
                   Statistics: Num rows: 2 Data size: 720 Basic stats: COMPLETE Column stats: NONE
       Reduce Operator Tree:
         Group By Operator
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1
           Statistics: Num rows: 1 Data size: 360 Basic stats: COMPLETE Column stats: NONE
index 1f2f86b..1f2cd45 100644 (file)
@@ -40,23 +40,23 @@ STAGE PLANS:
               outputColumnNames: _col0, _col1
               Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
-                keys: _col0 (type: int), _col1 (type: int), 0 (type: int)
+                keys: _col0 (type: int), _col1 (type: int), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2
                 Statistics: Num rows: 3 Data size: 900 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: int), _col1 (type: int), _col2 (type: int)
+                  key expressions: _col0 (type: int), _col1 (type: int), _col2 (type: bigint)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: int), _col1 (type: int), _col2 (type: int)
+                  Map-reduce partition columns: _col0 (type: int), _col1 (type: int), _col2 (type: bigint)
                   Statistics: Num rows: 3 Data size: 900 Basic stats: COMPLETE Column stats: NONE
       Reduce Operator Tree:
         Group By Operator
-          keys: KEY._col0 (type: int), KEY._col1 (type: int), KEY._col2 (type: int)
+          keys: KEY._col0 (type: int), KEY._col1 (type: int), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1, _col2
           Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
           Select Operator
-            expressions: _col0 (type: int), _col1 (type: int), _col2 (type: int), grouping(_col2, 1) (type: int), grouping(_col2, 0) (type: int)
+            expressions: _col0 (type: int), _col1 (type: int), _col2 (type: bigint), grouping(_col2, 1) (type: bigint), grouping(_col2, 0) (type: bigint)
             outputColumnNames: _col0, _col1, _col2, _col3, _col4
             Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
             File Output Operator
@@ -122,23 +122,23 @@ STAGE PLANS:
               outputColumnNames: _col0, _col1
               Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
-                keys: _col0 (type: int), _col1 (type: int), 0 (type: int)
+                keys: _col0 (type: int), _col1 (type: int), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2
                 Statistics: Num rows: 4 Data size: 1200 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: int), _col1 (type: int), _col2 (type: int)
+                  key expressions: _col0 (type: int), _col1 (type: int), _col2 (type: bigint)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: int), _col1 (type: int), _col2 (type: int)
+                  Map-reduce partition columns: _col0 (type: int), _col1 (type: int), _col2 (type: bigint)
                   Statistics: Num rows: 4 Data size: 1200 Basic stats: COMPLETE Column stats: NONE
       Reduce Operator Tree:
         Group By Operator
-          keys: KEY._col0 (type: int), KEY._col1 (type: int), KEY._col2 (type: int)
+          keys: KEY._col0 (type: int), KEY._col1 (type: int), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1, _col2
           Statistics: Num rows: 2 Data size: 600 Basic stats: COMPLETE Column stats: NONE
           Select Operator
-            expressions: _col0 (type: int), _col1 (type: int), _col2 (type: int), grouping(_col2, 1) (type: int), grouping(_col2, 0) (type: int)
+            expressions: _col0 (type: int), _col1 (type: int), _col2 (type: bigint), grouping(_col2, 1) (type: bigint), grouping(_col2, 0) (type: bigint)
             outputColumnNames: _col0, _col1, _col2, _col3, _col4
             Statistics: Num rows: 2 Data size: 600 Basic stats: COMPLETE Column stats: NONE
             File Output Operator
@@ -211,18 +211,18 @@ STAGE PLANS:
               outputColumnNames: _col0, _col1
               Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
-                keys: _col0 (type: int), _col1 (type: int), 0 (type: int)
+                keys: _col0 (type: int), _col1 (type: int), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2
                 Statistics: Num rows: 4 Data size: 1200 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: int), _col1 (type: int), _col2 (type: int)
+                  key expressions: _col0 (type: int), _col1 (type: int), _col2 (type: bigint)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: int), _col1 (type: int), _col2 (type: int)
+                  Map-reduce partition columns: _col0 (type: int), _col1 (type: int), _col2 (type: bigint)
                   Statistics: Num rows: 4 Data size: 1200 Basic stats: COMPLETE Column stats: NONE
       Reduce Operator Tree:
         Group By Operator
-          keys: KEY._col0 (type: int), KEY._col1 (type: int), KEY._col2 (type: int)
+          keys: KEY._col0 (type: int), KEY._col1 (type: int), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1, _col2
           Statistics: Num rows: 2 Data size: 600 Basic stats: COMPLETE Column stats: NONE
@@ -298,18 +298,18 @@ STAGE PLANS:
               outputColumnNames: _col0, _col1
               Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
-                keys: _col0 (type: int), _col1 (type: int), 0 (type: int)
+                keys: _col0 (type: int), _col1 (type: int), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2
                 Statistics: Num rows: 4 Data size: 1200 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: int), _col1 (type: int), _col2 (type: int)
+                  key expressions: _col0 (type: int), _col1 (type: int), _col2 (type: bigint)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: int), _col1 (type: int), _col2 (type: int)
+                  Map-reduce partition columns: _col0 (type: int), _col1 (type: int), _col2 (type: bigint)
                   Statistics: Num rows: 4 Data size: 1200 Basic stats: COMPLETE Column stats: NONE
       Reduce Operator Tree:
         Group By Operator
-          keys: KEY._col0 (type: int), KEY._col1 (type: int), KEY._col2 (type: int)
+          keys: KEY._col0 (type: int), KEY._col1 (type: int), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1, _col2
           Statistics: Num rows: 2 Data size: 600 Basic stats: COMPLETE Column stats: NONE
@@ -317,7 +317,7 @@ STAGE PLANS:
             predicate: ((grouping(_col2, 0) = 1) or (grouping(_col2, 1) = 1)) (type: boolean)
             Statistics: Num rows: 2 Data size: 600 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: _col0 (type: int), _col1 (type: int), (grouping(_col2, 1) + grouping(_col2, 0)) (type: int), CASE WHEN (((grouping(_col2, 1) + grouping(_col2, 0)) = 1)) THEN (_col0) ELSE (null) END (type: int)
+              expressions: _col0 (type: int), _col1 (type: int), (grouping(_col2, 1) + grouping(_col2, 0)) (type: bigint), CASE WHEN (((grouping(_col2, 1) + grouping(_col2, 0)) = 1)) THEN (_col0) ELSE (null) END (type: int)
               outputColumnNames: _col0, _col1, _col2, _col3
               Statistics: Num rows: 2 Data size: 600 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -332,13 +332,13 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             Reduce Output Operator
-              key expressions: _col2 (type: int), _col3 (type: int)
+              key expressions: _col2 (type: bigint), _col3 (type: int)
               sort order: -+
               Statistics: Num rows: 2 Data size: 600 Basic stats: COMPLETE Column stats: NONE
               value expressions: _col0 (type: int), _col1 (type: int)
       Reduce Operator Tree:
         Select Operator
-          expressions: VALUE._col0 (type: int), VALUE._col1 (type: int), KEY.reducesinkkey0 (type: int)
+          expressions: VALUE._col0 (type: int), VALUE._col1 (type: int), KEY.reducesinkkey0 (type: bigint)
           outputColumnNames: _col0, _col1, _col2
           Statistics: Num rows: 2 Data size: 600 Basic stats: COMPLETE Column stats: NONE
           File Output Operator
@@ -407,23 +407,23 @@ STAGE PLANS:
               outputColumnNames: key, value
               Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
-                keys: key (type: int), value (type: int), 0 (type: int)
+                keys: key (type: int), value (type: int), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2
                 Statistics: Num rows: 3 Data size: 900 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: int), _col1 (type: int), _col2 (type: int)
+                  key expressions: _col0 (type: int), _col1 (type: int), _col2 (type: bigint)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: int), _col1 (type: int), _col2 (type: int)
+                  Map-reduce partition columns: _col0 (type: int), _col1 (type: int), _col2 (type: bigint)
                   Statistics: Num rows: 3 Data size: 900 Basic stats: COMPLETE Column stats: NONE
       Reduce Operator Tree:
         Group By Operator
-          keys: KEY._col0 (type: int), KEY._col1 (type: int), KEY._col2 (type: int)
+          keys: KEY._col0 (type: int), KEY._col1 (type: int), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1, _col2
           Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
           Select Operator
-            expressions: _col0 (type: int), _col1 (type: int), _col2 (type: int), grouping(_col2, 1) (type: int), grouping(_col2, 0) (type: int)
+            expressions: _col0 (type: int), _col1 (type: int), _col2 (type: bigint), grouping(_col2, 1) (type: bigint), grouping(_col2, 0) (type: bigint)
             outputColumnNames: _col0, _col1, _col2, _col3, _col4
             Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
             File Output Operator
@@ -489,23 +489,23 @@ STAGE PLANS:
               outputColumnNames: key, value
               Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
-                keys: key (type: int), value (type: int), 0 (type: int)
+                keys: key (type: int), value (type: int), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2
                 Statistics: Num rows: 4 Data size: 1200 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: int), _col1 (type: int), _col2 (type: int)
+                  key expressions: _col0 (type: int), _col1 (type: int), _col2 (type: bigint)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: int), _col1 (type: int), _col2 (type: int)
+                  Map-reduce partition columns: _col0 (type: int), _col1 (type: int), _col2 (type: bigint)
                   Statistics: Num rows: 4 Data size: 1200 Basic stats: COMPLETE Column stats: NONE
       Reduce Operator Tree:
         Group By Operator
-          keys: KEY._col0 (type: int), KEY._col1 (type: int), KEY._col2 (type: int)
+          keys: KEY._col0 (type: int), KEY._col1 (type: int), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1, _col2
           Statistics: Num rows: 2 Data size: 600 Basic stats: COMPLETE Column stats: NONE
           Select Operator
-            expressions: _col0 (type: int), _col1 (type: int), _col2 (type: int), grouping(_col2, 1) (type: int), grouping(_col2, 0) (type: int)
+            expressions: _col0 (type: int), _col1 (type: int), _col2 (type: bigint), grouping(_col2, 1) (type: bigint), grouping(_col2, 0) (type: bigint)
             outputColumnNames: _col0, _col1, _col2, _col3, _col4
             Statistics: Num rows: 2 Data size: 600 Basic stats: COMPLETE Column stats: NONE
             File Output Operator
@@ -578,7 +578,7 @@ STAGE PLANS:
               outputColumnNames: key, value
               Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
-                keys: key (type: int), value (type: int), 0 (type: int)
+                keys: key (type: int), value (type: int), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2
                 Statistics: Num rows: 4 Data size: 1200 Basic stats: COMPLETE Column stats: NONE
@@ -586,13 +586,13 @@ STAGE PLANS:
                   predicate: (grouping(_col2, 1) = 1) (type: boolean)
                   Statistics: Num rows: 2 Data size: 600 Basic stats: COMPLETE Column stats: NONE
                   Reduce Output Operator
-                    key expressions: _col0 (type: int), _col1 (type: int), _col2 (type: int)
+                    key expressions: _col0 (type: int), _col1 (type: int), _col2 (type: bigint)
                     sort order: +++
-                    Map-reduce partition columns: _col0 (type: int), _col1 (type: int), _col2 (type: int)
+                    Map-reduce partition columns: _col0 (type: int), _col1 (type: int), _col2 (type: bigint)
                     Statistics: Num rows: 2 Data size: 600 Basic stats: COMPLETE Column stats: NONE
       Reduce Operator Tree:
         Group By Operator
-          keys: KEY._col0 (type: int), KEY._col1 (type: int), KEY._col2 (type: int)
+          keys: KEY._col0 (type: int), KEY._col1 (type: int), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1
           Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
@@ -662,7 +662,7 @@ STAGE PLANS:
               outputColumnNames: key, value
               Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
-                keys: key (type: int), value (type: int), 0 (type: int)
+                keys: key (type: int), value (type: int), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2
                 Statistics: Num rows: 4 Data size: 1200 Basic stats: COMPLETE Column stats: NONE
@@ -670,18 +670,18 @@ STAGE PLANS:
                   predicate: ((grouping(_col2, 0) = 1) or (grouping(_col2, 1) = 1)) (type: boolean)
                   Statistics: Num rows: 4 Data size: 1200 Basic stats: COMPLETE Column stats: NONE
                   Reduce Output Operator
-                    key expressions: _col0 (type: int), _col1 (type: int), _col2 (type: int)
+                    key expressions: _col0 (type: int), _col1 (type: int), _col2 (type: bigint)
                     sort order: +++
-                    Map-reduce partition columns: _col0 (type: int), _col1 (type: int), _col2 (type: int)
+                    Map-reduce partition columns: _col0 (type: int), _col1 (type: int), _col2 (type: bigint)
                     Statistics: Num rows: 4 Data size: 1200 Basic stats: COMPLETE Column stats: NONE
       Reduce Operator Tree:
         Group By Operator
-          keys: KEY._col0 (type: int), KEY._col1 (type: int), KEY._col2 (type: int)
+          keys: KEY._col0 (type: int), KEY._col1 (type: int), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1, _col2
           Statistics: Num rows: 2 Data size: 600 Basic stats: COMPLETE Column stats: NONE
           Select Operator
-            expressions: _col0 (type: int), _col1 (type: int), (grouping(_col2, 1) + grouping(_col2, 0)) (type: int)
+            expressions: _col0 (type: int), _col1 (type: int), (grouping(_col2, 1) + grouping(_col2, 0)) (type: bigint)
             outputColumnNames: _col0, _col1, _col2
             Statistics: Num rows: 2 Data size: 600 Basic stats: COMPLETE Column stats: NONE
             File Output Operator
@@ -696,13 +696,13 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             Reduce Output Operator
-              key expressions: _col2 (type: int), CASE WHEN ((_col2 = 1)) THEN (_col0) END (type: int)
+              key expressions: _col2 (type: bigint), CASE WHEN ((_col2 = 1)) THEN (_col0) END (type: int)
               sort order: -+
               Statistics: Num rows: 2 Data size: 600 Basic stats: COMPLETE Column stats: NONE
               value expressions: _col0 (type: int), _col1 (type: int)
       Reduce Operator Tree:
         Select Operator
-          expressions: VALUE._col0 (type: int), VALUE._col1 (type: int), KEY.reducesinkkey0 (type: int)
+          expressions: VALUE._col0 (type: int), VALUE._col1 (type: int), KEY.reducesinkkey0 (type: bigint)
           outputColumnNames: _col0, _col1, _col2
           Statistics: Num rows: 2 Data size: 600 Basic stats: COMPLETE Column stats: NONE
           File Output Operator
@@ -787,7 +787,7 @@ STAGE PLANS:
           outputColumnNames: _col0, _col1
           Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
           Select Operator
-            expressions: _col0 (type: int), _col1 (type: int), 0 (type: int), 0 (type: int)
+            expressions: _col0 (type: int), _col1 (type: int), 0 (type: bigint), 0 (type: bigint)
             outputColumnNames: _col0, _col1, _col2, _col3
             Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
             File Output Operator
@@ -864,7 +864,7 @@ STAGE PLANS:
           outputColumnNames: _col0, _col1
           Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
           Select Operator
-            expressions: _col0 (type: int), _col1 (type: int), 0 (type: int)
+            expressions: _col0 (type: int), _col1 (type: int), 0 (type: bigint)
             outputColumnNames: _col0, _col1, _col2
             Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
             File Output Operator
@@ -1002,23 +1002,23 @@ STAGE PLANS:
               outputColumnNames: key, value
               Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
-                keys: key (type: int), value (type: int), 0 (type: int)
+                keys: key (type: int), value (type: int), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2
                 Statistics: Num rows: 4 Data size: 1200 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: int), _col1 (type: int), _col2 (type: int)
+                  key expressions: _col0 (type: int), _col1 (type: int), _col2 (type: bigint)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: int), _col1 (type: int), _col2 (type: int)
+                  Map-reduce partition columns: _col0 (type: int), _col1 (type: int), _col2 (type: bigint)
                   Statistics: Num rows: 4 Data size: 1200 Basic stats: COMPLETE Column stats: NONE
       Reduce Operator Tree:
         Group By Operator
-          keys: KEY._col0 (type: int), KEY._col1 (type: int), KEY._col2 (type: int)
+          keys: KEY._col0 (type: int), KEY._col1 (type: int), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1, _col2
           Statistics: Num rows: 2 Data size: 600 Basic stats: COMPLETE Column stats: NONE
           Select Operator
-            expressions: _col0 (type: int), _col1 (type: int), _col2 (type: int), grouping(_col2, 1, 0) (type: int)
+            expressions: _col0 (type: int), _col1 (type: int), _col2 (type: bigint), grouping(_col2, 1, 0) (type: bigint)
             outputColumnNames: _col0, _col1, _col2, _col3
             Statistics: Num rows: 2 Data size: 600 Basic stats: COMPLETE Column stats: NONE
             File Output Operator
@@ -1089,23 +1089,23 @@ STAGE PLANS:
               outputColumnNames: key, value
               Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
-                keys: key (type: int), value (type: int), 0 (type: int)
+                keys: key (type: int), value (type: int), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2
                 Statistics: Num rows: 4 Data size: 1200 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: int), _col1 (type: int), _col2 (type: int)
+                  key expressions: _col0 (type: int), _col1 (type: int), _col2 (type: bigint)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: int), _col1 (type: int), _col2 (type: int)
+                  Map-reduce partition columns: _col0 (type: int), _col1 (type: int), _col2 (type: bigint)
                   Statistics: Num rows: 4 Data size: 1200 Basic stats: COMPLETE Column stats: NONE
       Reduce Operator Tree:
         Group By Operator
-          keys: KEY._col0 (type: int), KEY._col1 (type: int), KEY._col2 (type: int)
+          keys: KEY._col0 (type: int), KEY._col1 (type: int), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1, _col2
           Statistics: Num rows: 2 Data size: 600 Basic stats: COMPLETE Column stats: NONE
           Select Operator
-            expressions: _col0 (type: int), _col1 (type: int), _col2 (type: int), grouping(_col2, 0, 1) (type: int)
+            expressions: _col0 (type: int), _col1 (type: int), _col2 (type: bigint), grouping(_col2, 0, 1) (type: bigint)
             outputColumnNames: _col0, _col1, _col2, _col3
             Statistics: Num rows: 2 Data size: 600 Basic stats: COMPLETE Column stats: NONE
             File Output Operator
@@ -1176,23 +1176,23 @@ STAGE PLANS:
               outputColumnNames: key, value
               Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
-                keys: key (type: int), value (type: int), 0 (type: int)
+                keys: key (type: int), value (type: int), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2
                 Statistics: Num rows: 3 Data size: 900 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: int), _col1 (type: int), _col2 (type: int)
+                  key expressions: _col0 (type: int), _col1 (type: int), _col2 (type: bigint)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: int), _col1 (type: int), _col2 (type: int)
+                  Map-reduce partition columns: _col0 (type: int), _col1 (type: int), _col2 (type: bigint)
                   Statistics: Num rows: 3 Data size: 900 Basic stats: COMPLETE Column stats: NONE
       Reduce Operator Tree:
         Group By Operator
-          keys: KEY._col0 (type: int), KEY._col1 (type: int), KEY._col2 (type: int)
+          keys: KEY._col0 (type: int), KEY._col1 (type: int), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1, _col2
           Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
           Select Operator
-            expressions: _col0 (type: int), _col1 (type: int), _col2 (type: int), grouping(_col2, 1, 0) (type: int)
+            expressions: _col0 (type: int), _col1 (type: int), _col2 (type: bigint), grouping(_col2, 1, 0) (type: bigint)
             outputColumnNames: _col0, _col1, _col2, _col3
             Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
             File Output Operator
@@ -1258,23 +1258,23 @@ STAGE PLANS:
               outputColumnNames: key, value
               Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
-                keys: key (type: int), value (type: int), 0 (type: int)
+                keys: key (type: int), value (type: int), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2
                 Statistics: Num rows: 3 Data size: 900 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: int), _col1 (type: int), _col2 (type: int)
+                  key expressions: _col0 (type: int), _col1 (type: int), _col2 (type: bigint)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: int), _col1 (type: int), _col2 (type: int)
+                  Map-reduce partition columns: _col0 (type: int), _col1 (type: int), _col2 (type: bigint)
                   Statistics: Num rows: 3 Data size: 900 Basic stats: COMPLETE Column stats: NONE
       Reduce Operator Tree:
         Group By Operator
-          keys: KEY._col0 (type: int), KEY._col1 (type: int), KEY._col2 (type: int)
+          keys: KEY._col0 (type: int), KEY._col1 (type: int), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1, _col2
           Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
           Select Operator
-            expressions: _col0 (type: int), _col1 (type: int), _col2 (type: int), grouping(_col2, 0, 1) (type: int)
+            expressions: _col0 (type: int), _col1 (type: int), _col2 (type: bigint), grouping(_col2, 0, 1) (type: bigint)
             outputColumnNames: _col0, _col1, _col2, _col3
             Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
             File Output Operator
index b25b0e5..efa1802 100644 (file)
@@ -37,21 +37,21 @@ STAGE PLANS:
               Statistics: Num rows: 1 Data size: 360 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
                 aggregations: count()
-                keys: a (type: string), b (type: string), 0 (type: int)
+                keys: a (type: string), b (type: string), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2, _col3
                 Statistics: Num rows: 4 Data size: 1440 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+                  Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
                   Statistics: Num rows: 4 Data size: 1440 Basic stats: COMPLETE Column stats: NONE
                   TopN Hash Memory Usage: 0.1
                   value expressions: _col3 (type: bigint)
       Reduce Operator Tree:
         Group By Operator
           aggregations: count(VALUE._col0)
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1, _col3
           Statistics: Num rows: 2 Data size: 720 Basic stats: COMPLETE Column stats: NONE
@@ -118,21 +118,21 @@ STAGE PLANS:
               Statistics: Num rows: 1 Data size: 360 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
                 aggregations: count()
-                keys: a (type: string), b (type: string), 0 (type: int)
+                keys: a (type: string), b (type: string), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2, _col3
                 Statistics: Num rows: 4 Data size: 1440 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+                  Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
                   Statistics: Num rows: 4 Data size: 1440 Basic stats: COMPLETE Column stats: NONE
                   TopN Hash Memory Usage: 0.1
                   value expressions: _col3 (type: bigint)
       Reduce Operator Tree:
         Group By Operator
           aggregations: count(VALUE._col0)
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1, _col3
           Statistics: Num rows: 2 Data size: 720 Basic stats: COMPLETE Column stats: NONE
@@ -199,21 +199,21 @@ STAGE PLANS:
               Statistics: Num rows: 1 Data size: 360 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
                 aggregations: count()
-                keys: a (type: string), b (type: string), 0 (type: int)
+                keys: a (type: string), b (type: string), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2, _col3
                 Statistics: Num rows: 2 Data size: 720 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+                  Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
                   Statistics: Num rows: 2 Data size: 720 Basic stats: COMPLETE Column stats: NONE
                   TopN Hash Memory Usage: 0.1
                   value expressions: _col3 (type: bigint)
       Reduce Operator Tree:
         Group By Operator
           aggregations: count(VALUE._col0)
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1, _col3
           Statistics: Num rows: 1 Data size: 360 Basic stats: COMPLETE Column stats: NONE
@@ -279,19 +279,19 @@ STAGE PLANS:
               outputColumnNames: a, b, c
               Statistics: Num rows: 1 Data size: 360 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
-                keys: a (type: string), b (type: string), c (type: string), 0 (type: int)
+                keys: a (type: string), b (type: string), c (type: string), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2, _col3
                 Statistics: Num rows: 3 Data size: 1080 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string), _col3 (type: int)
+                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string), _col3 (type: bigint)
                   sort order: ++++
-                  Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: string), _col3 (type: int)
+                  Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: string), _col3 (type: bigint)
                   Statistics: Num rows: 3 Data size: 1080 Basic stats: COMPLETE Column stats: NONE
                   TopN Hash Memory Usage: 0.1
       Reduce Operator Tree:
         Group By Operator
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: string), KEY._col3 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: string), KEY._col3 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1, _col2
           Statistics: Num rows: 1 Data size: 360 Basic stats: COMPLETE Column stats: NONE
index 32135e4..0f58f51 100644 (file)
@@ -49,20 +49,20 @@ STAGE PLANS:
               Statistics: Num rows: 3 Data size: 20 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
                 aggregations: max(live), max(comments)
-                keys: category (type: int), 0 (type: int)
+                keys: category (type: int), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2, _col3
                 Statistics: Num rows: 6 Data size: 40 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: int), _col1 (type: int)
+                  key expressions: _col0 (type: int), _col1 (type: bigint)
                   sort order: ++
-                  Map-reduce partition columns: _col0 (type: int), _col1 (type: int)
+                  Map-reduce partition columns: _col0 (type: int), _col1 (type: bigint)
                   Statistics: Num rows: 6 Data size: 40 Basic stats: COMPLETE Column stats: NONE
                   value expressions: _col2 (type: int), _col3 (type: int)
       Reduce Operator Tree:
         Group By Operator
           aggregations: max(VALUE._col0), max(VALUE._col1)
-          keys: KEY._col0 (type: int), KEY._col1 (type: int)
+          keys: KEY._col0 (type: int), KEY._col1 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col2, _col3
           Statistics: Num rows: 3 Data size: 20 Basic stats: COMPLETE Column stats: NONE
index bc1d8a9..a849a8d 100644 (file)
@@ -37,20 +37,20 @@ STAGE PLANS:
               Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
                 aggregations: count()
-                keys: key (type: string), val (type: string), 0 (type: int)
+                keys: key (type: string), val (type: string), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2, _col3
                 Statistics: Num rows: 3 Data size: 900 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+                  Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
                   Statistics: Num rows: 3 Data size: 900 Basic stats: COMPLETE Column stats: NONE
                   value expressions: _col3 (type: bigint)
       Reduce Operator Tree:
         Group By Operator
           aggregations: count(VALUE._col0)
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1, _col3
           Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
@@ -116,19 +116,19 @@ STAGE PLANS:
               Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
                 aggregations: count(DISTINCT val)
-                keys: key (type: string), 0 (type: int), val (type: string)
+                keys: key (type: string), 0 (type: bigint), val (type: string)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2, _col3
                 Statistics: Num rows: 2 Data size: 600 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: string), _col1 (type: int), _col2 (type: string)
+                  key expressions: _col0 (type: string), _col1 (type: bigint), _col2 (type: string)
                   sort order: +++
-                  Map-reduce partition columns: _col0 (type: string), _col1 (type: int)
+                  Map-reduce partition columns: _col0 (type: string), _col1 (type: bigint)
                   Statistics: Num rows: 2 Data size: 600 Basic stats: COMPLETE Column stats: NONE
       Reduce Operator Tree:
         Group By Operator
           aggregations: count(DISTINCT KEY._col2:0._col0)
-          keys: KEY._col0 (type: string), KEY._col1 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col2
           Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
@@ -189,12 +189,12 @@ STAGE PLANS:
               Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
                 aggregations: count()
-                keys: key (type: string), val (type: string), 0 (type: int)
+                keys: key (type: string), val (type: string), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2, _col3
                 Statistics: Num rows: 3 Data size: 900 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
                   sort order: +++
                   Map-reduce partition columns: rand() (type: double)
                   Statistics: Num rows: 3 Data size: 900 Basic stats: COMPLETE Column stats: NONE
@@ -202,7 +202,7 @@ STAGE PLANS:
       Reduce Operator Tree:
         Group By Operator
           aggregations: count(VALUE._col0)
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: bigint)
           mode: partials
           outputColumnNames: _col0, _col1, _col2, _col3
           Statistics: Num rows: 3 Data size: 900 Basic stats: COMPLETE Column stats: NONE
@@ -218,7 +218,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             Reduce Output Operator
-              key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+              key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
               sort order: +++
               Map-reduce partition columns: _col0 (type: string), _col1 (type: string)
               Statistics: Num rows: 3 Data size: 900 Basic stats: COMPLETE Column stats: NONE
@@ -226,7 +226,7 @@ STAGE PLANS:
       Reduce Operator Tree:
         Group By Operator
           aggregations: count(VALUE._col0)
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: bigint)
           mode: final
           outputColumnNames: _col0, _col1, _col3
           Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
@@ -293,19 +293,19 @@ STAGE PLANS:
               Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
                 aggregations: count(DISTINCT val)
-                keys: key (type: string), 0 (type: int), val (type: string)
+                keys: key (type: string), 0 (type: bigint), val (type: string)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2, _col3
                 Statistics: Num rows: 2 Data size: 600 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: string), _col1 (type: int), _col2 (type: string)
+                  key expressions: _col0 (type: string), _col1 (type: bigint), _col2 (type: string)
                   sort order: +++
                   Map-reduce partition columns: _col0 (type: string)
                   Statistics: Num rows: 2 Data size: 600 Basic stats: COMPLETE Column stats: NONE
       Reduce Operator Tree:
         Group By Operator
           aggregations: count(DISTINCT KEY._col2:0._col0)
-          keys: KEY._col0 (type: string), KEY._col1 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: bigint)
           mode: partials
           outputColumnNames: _col0, _col1, _col2
           Statistics: Num rows: 2 Data size: 600 Basic stats: COMPLETE Column stats: NONE
@@ -321,7 +321,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             Reduce Output Operator
-              key expressions: _col0 (type: string), _col1 (type: int)
+              key expressions: _col0 (type: string), _col1 (type: bigint)
               sort order: ++
               Map-reduce partition columns: _col0 (type: string)
               Statistics: Num rows: 2 Data size: 600 Basic stats: COMPLETE Column stats: NONE
@@ -329,7 +329,7 @@ STAGE PLANS:
       Reduce Operator Tree:
         Group By Operator
           aggregations: count(VALUE._col0)
-          keys: KEY._col0 (type: string), KEY._col1 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: bigint)
           mode: final
           outputColumnNames: _col0, _col2
           Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
@@ -417,12 +417,12 @@ STAGE PLANS:
               Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
                 aggregations: count(1)
-                keys: key (type: string), val (type: string), 0 (type: int)
+                keys: key (type: string), val (type: string), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2, _col3
                 Statistics: Num rows: 3 Data size: 900 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+                  key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
                   sort order: +++
                   Map-reduce partition columns: rand() (type: double)
                   Statistics: Num rows: 3 Data size: 900 Basic stats: COMPLETE Column stats: NONE
@@ -433,7 +433,7 @@ STAGE PLANS:
               Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
               Group By Operator
                 aggregations: sum(1)
-                keys: key (type: string), val (type: string), 0 (type: int)
+                keys: key (type: string), val (type: string), 0 (type: bigint)
                 mode: hash
                 outputColumnNames: _col0, _col1, _col2, _col3
                 Statistics: Num rows: 3 Data size: 900 Basic stats: COMPLETE Column stats: NONE
@@ -446,7 +446,7 @@ STAGE PLANS:
       Reduce Operator Tree:
         Group By Operator
           aggregations: count(VALUE._col0)
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: bigint)
           mode: partials
           outputColumnNames: _col0, _col1, _col2, _col3
           Statistics: Num rows: 3 Data size: 900 Basic stats: COMPLETE Column stats: NONE
@@ -462,7 +462,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             Reduce Output Operator
-              key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+              key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
               sort order: +++
               Map-reduce partition columns: _col0 (type: string), _col1 (type: string)
               Statistics: Num rows: 3 Data size: 900 Basic stats: COMPLETE Column stats: NONE
@@ -470,7 +470,7 @@ STAGE PLANS:
       Reduce Operator Tree:
         Group By Operator
           aggregations: count(VALUE._col0)
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: bigint)
           mode: final
           outputColumnNames: _col0, _col1, _col3
           Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
@@ -556,7 +556,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             Reduce Output Operator
-              key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+              key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
               sort order: +++
               Map-reduce partition columns: rand() (type: double)
               Statistics: Num rows: 3 Data size: 900 Basic stats: COMPLETE Column stats: NONE
@@ -564,7 +564,7 @@ STAGE PLANS:
       Reduce Operator Tree:
         Group By Operator
           aggregations: sum(VALUE._col0)
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: bigint)
           mode: partials
           outputColumnNames: _col0, _col1, _col2, _col3
           Statistics: Num rows: 3 Data size: 900 Basic stats: COMPLETE Column stats: NONE
@@ -580,7 +580,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             Reduce Output Operator
-              key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int)
+              key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
               sort order: +++
               Map-reduce partition columns: _col0 (type: string), _col1 (type: string)
               Statistics: Num rows: 3 Data size: 900 Basic stats: COMPLETE Column stats: NONE
@@ -588,7 +588,7 @@ STAGE PLANS:
       Reduce Operator Tree:
         Group By Operator
           aggregations: sum(VALUE._col0)
-          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: int)
+          keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: bigint)
           mode: final
           outputColumnNames: _col0, _col1, _col3
           Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
index 2756d38..dd53fe2 100644 (file)
@@ -169,26 +169,26 @@ STAGE PLANS:
                 Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
                 Group By Operator
                   aggregations: sum(_col2)
-                  keys: _col0 (type: int), _col1 (type: int), 0 (type: int)
+                  keys: _col0 (type: int), _col1 (type: int), 0 (type: bigint)
                   mode: hash
                   outputColumnNames: _col0, _col1, _col2, _col3
                   Statistics: Num rows: 3 Data size: 0 Basic stats: PARTIAL Column stats: NONE
                   Reduce Output Operator
-                    key expressions: _col0 (type: int), _col1 (type: int), _col2 (type: int)
+                    key expressions: _col0 (type: int), _col1 (type: int), _col2 (type: bigint)
                     sort order: +++
-                    Map-reduce partition columns: _col0 (type: int), _col1 (type: int), _col2 (type: int)
+                    Map-reduce partition columns: _col0 (type: int), _col1 (type: int), _col2 (type: bigint)
                     Statistics: Num rows: 3 Data size: 0 Basic stats: PARTIAL Column stats: NONE
                     value expressions: _col3 (type: bigint)
       Execution mode: vectorized
       Reduce Operator Tree:
         Group By Operator
           aggregations: sum(VALUE._col0)
-          keys: KEY._col0 (type: int), KEY._col1 (type: int), KEY._col2 (type: int)
+          keys: KEY._col0 (type: int), KEY._col1 (type: int), KEY._col2 (type: bigint)
           mode: mergepartial
           outputColumnNames: _col0, _col1, _col2, _col3
           Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
           Select Operator
-            expressions: _col3 (type: bigint), grouping(_col2, 0) (type: int), 'NULL,1' (type: string)
+            expressions: _col3 (type: bigint), grouping(_col2, 0) (type: bigint), 'NULL,1' (type: string)
             outputColumnNames: _col0, _col1, _col2
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             File Output Operator
diff --git a/ql/src/test/results/clientpositive/groupingset_high_columns.q.out b/ql/src/test/results/clientpositive/groupingset_high_columns.q.out
new file mode 100644 (file)
index 0000000..3456719
--- /dev/null
@@ -0,0 +1,1169 @@
+PREHOOK: query: create table facts (val string)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@facts
+POSTHOOK: query: create table facts (val string)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@facts
+PREHOOK: query: insert into facts values ('abcdefghijklmnopqrstuvwxyz0123456789')
+PREHOOK: type: QUERY
+PREHOOK: Input: _dummy_database@_dummy_table
+PREHOOK: Output: default@facts
+POSTHOOK: query: insert into facts values ('abcdefghijklmnopqrstuvwxyz0123456789')
+POSTHOOK: type: QUERY
+POSTHOOK: Input: _dummy_database@_dummy_table
+POSTHOOK: Output: default@facts
+POSTHOOK: Lineage: facts.val SCRIPT []
+PREHOOK: query: drop table groupingsets32
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table groupingsets32
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: drop table groupingsets33
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table groupingsets33
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: drop table groupingsets32a
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table groupingsets32a
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: drop table groupingsets33a
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table groupingsets33a
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: create table groupingsets32 as 
+select 
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09, 
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19, 
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29, 
+c30,c31 
+,count(*) as n from ( 
+select 
+substring(val,01,1) as c00, substring(val,02,1) as c01, substring(val,03,1) as c02,substring(val,04,1) as c03,substring(val,05,1) as c04,substring(val,06,1) as c05,substring(val,07,1) as c06, substring(val,08,1) as c07,substring(val,09,1) as c08,substring(val,10,1) as c09, 
+substring(val,11,1) as c10, substring(val,12,1) as c11, substring(val,13,1) as c12,substring(val,14,1) as c13,substring(val,15,1) as c14,substring(val,16,1) as c15,substring(val,17,1) as c16, substring(val,18,1) as c17,substring(val,19,1) as c18,substring(val,20,1) as c19, 
+substring(val,21,1) as c20, substring(val,22,1) as c21, substring(val,23,1) as c22,substring(val,24,1) as c23,substring(val,25,1) as c24,substring(val,26,1) as c25,substring(val,27,1) as c26, substring(val,28,1) as c27,substring(val,29,1) as c28,substring(val,30,1) as c29, 
+substring(val,31,1) as c30,substring(val,32,1) as c31 
+from facts ) x 
+group by 
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09, 
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19, 
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29, 
+c30,c31 
+grouping sets ( 
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09, 
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19, 
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29, 
+c30,c31 
+)
+PREHOOK: type: CREATETABLE_AS_SELECT
+PREHOOK: Input: default@facts
+PREHOOK: Output: database:default
+PREHOOK: Output: default@groupingsets32
+POSTHOOK: query: create table groupingsets32 as 
+select 
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09, 
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19, 
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29, 
+c30,c31 
+,count(*) as n from ( 
+select 
+substring(val,01,1) as c00, substring(val,02,1) as c01, substring(val,03,1) as c02,substring(val,04,1) as c03,substring(val,05,1) as c04,substring(val,06,1) as c05,substring(val,07,1) as c06, substring(val,08,1) as c07,substring(val,09,1) as c08,substring(val,10,1) as c09, 
+substring(val,11,1) as c10, substring(val,12,1) as c11, substring(val,13,1) as c12,substring(val,14,1) as c13,substring(val,15,1) as c14,substring(val,16,1) as c15,substring(val,17,1) as c16, substring(val,18,1) as c17,substring(val,19,1) as c18,substring(val,20,1) as c19, 
+substring(val,21,1) as c20, substring(val,22,1) as c21, substring(val,23,1) as c22,substring(val,24,1) as c23,substring(val,25,1) as c24,substring(val,26,1) as c25,substring(val,27,1) as c26, substring(val,28,1) as c27,substring(val,29,1) as c28,substring(val,30,1) as c29, 
+substring(val,31,1) as c30,substring(val,32,1) as c31 
+from facts ) x 
+group by 
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09, 
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19, 
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29, 
+c30,c31 
+grouping sets ( 
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09, 
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19, 
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29, 
+c30,c31 
+)
+POSTHOOK: type: CREATETABLE_AS_SELECT
+POSTHOOK: Input: default@facts
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@groupingsets32
+POSTHOOK: Lineage: groupingsets32.c00 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c01 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c02 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c03 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c04 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c05 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c06 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c07 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c08 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c09 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c10 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c11 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c12 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c13 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c14 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c15 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c16 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c17 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c18 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c19 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c20 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c21 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c22 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c23 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c24 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c25 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c26 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c27 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c28 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c29 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c30 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c31 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.n EXPRESSION [(facts)facts.null, ]
+PREHOOK: query: select * from groupingsets32
+PREHOOK: type: QUERY
+PREHOOK: Input: default@groupingsets32
+#### A masked pattern was here ####
+POSTHOOK: query: select * from groupingsets32
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@groupingsets32
+#### A masked pattern was here ####
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    5       1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    4       NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    3       NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    2       NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    0       NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    z       NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    y       NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    x       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    w       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    v       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    u       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    t       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    s       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    r       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    q       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    p       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    o       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    n       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    m       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    l       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    k       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    j       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    i       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    h       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    g       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    f       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    e       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    d       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    c       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   b       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+a      NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+PREHOOK: query: create table groupingsets32a as
+select
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09,
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,
+c30,c31,
+count(*) as n,
+grouping__id,
+grouping(c00,c01,c02,c03,c04,c05,c06,c07,c08,c09,
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,
+c30,c31)
+from (
+select
+substring(val,01,1) as c00, substring(val,02,1) as c01, substring(val,03,1) as c02,substring(val,04,1) as c03,substring(val,05,1) as c04,substring(val,06,1) as c05,substring(val,07,1) as c06, substring(val,08,1) as c07,substring(val,09,1) as c08,substring(val,10,1) as c09,
+substring(val,11,1) as c10, substring(val,12,1) as c11, substring(val,13,1) as c12,substring(val,14,1) as c13,substring(val,15,1) as c14,substring(val,16,1) as c15,substring(val,17,1) as c16, substring(val,18,1) as c17,substring(val,19,1) as c18,substring(val,20,1) as c19,
+substring(val,21,1) as c20, substring(val,22,1) as c21, substring(val,23,1) as c22,substring(val,24,1) as c23,substring(val,25,1) as c24,substring(val,26,1) as c25,substring(val,27,1) as c26, substring(val,28,1) as c27,substring(val,29,1) as c28,substring(val,30,1) as c29,
+substring(val,31,1) as c30,substring(val,32,1) as c31
+from facts ) x
+group by
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09,
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,
+c30,c31
+grouping sets (
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09,
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,
+c30,c31
+)
+PREHOOK: type: CREATETABLE_AS_SELECT
+PREHOOK: Input: default@facts
+PREHOOK: Output: database:default
+PREHOOK: Output: default@groupingsets32a
+POSTHOOK: query: create table groupingsets32a as
+select
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09,
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,
+c30,c31,
+count(*) as n,
+grouping__id,
+grouping(c00,c01,c02,c03,c04,c05,c06,c07,c08,c09,
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,
+c30,c31)
+from (
+select
+substring(val,01,1) as c00, substring(val,02,1) as c01, substring(val,03,1) as c02,substring(val,04,1) as c03,substring(val,05,1) as c04,substring(val,06,1) as c05,substring(val,07,1) as c06, substring(val,08,1) as c07,substring(val,09,1) as c08,substring(val,10,1) as c09,
+substring(val,11,1) as c10, substring(val,12,1) as c11, substring(val,13,1) as c12,substring(val,14,1) as c13,substring(val,15,1) as c14,substring(val,16,1) as c15,substring(val,17,1) as c16, substring(val,18,1) as c17,substring(val,19,1) as c18,substring(val,20,1) as c19,
+substring(val,21,1) as c20, substring(val,22,1) as c21, substring(val,23,1) as c22,substring(val,24,1) as c23,substring(val,25,1) as c24,substring(val,26,1) as c25,substring(val,27,1) as c26, substring(val,28,1) as c27,substring(val,29,1) as c28,substring(val,30,1) as c29,
+substring(val,31,1) as c30,substring(val,32,1) as c31
+from facts ) x
+group by
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09,
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,
+c30,c31
+grouping sets (
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09,
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,
+c30,c31
+)
+POSTHOOK: type: CREATETABLE_AS_SELECT
+POSTHOOK: Input: default@facts
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@groupingsets32a
+POSTHOOK: Lineage: groupingsets32a._c34 EXPRESSION []
+POSTHOOK: Lineage: groupingsets32a.c00 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32a.c01 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32a.c02 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32a.c03 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32a.c04 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32a.c05 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32a.c06 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32a.c07 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32a.c08 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32a.c09 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32a.c10 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32a.c11 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32a.c12 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32a.c13 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32a.c14 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32a.c15 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32a.c16 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32a.c17 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32a.c18 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32a.c19 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32a.c20 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32a.c21 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32a.c22 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32a.c23 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32a.c24 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32a.c25 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32a.c26 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32a.c27 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32a.c28 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32a.c29 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32a.c30 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32a.c31 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32a.grouping__id SIMPLE []
+POSTHOOK: Lineage: groupingsets32a.n EXPRESSION [(facts)facts.null, ]
+PREHOOK: query: select * from groupingsets32a
+PREHOOK: type: QUERY
+PREHOOK: Input: default@groupingsets32a
+#### A masked pattern was here ####
+POSTHOOK: query: select * from groupingsets32a
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@groupingsets32a
+#### A masked pattern was here ####
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    5       1       4294967294      4294967294
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    4       NULL    1       4294967293      4294967293
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    3       NULL    NULL    1       4294967291      4294967291
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    2       NULL    NULL    NULL    1       4294967287      4294967287
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       NULL    NULL    NULL    NULL    1       4294967279      4294967279
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    0       NULL    NULL    NULL    NULL    NULL    1       4294967263      4294967263
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    z       NULL    NULL    NULL    NULL    NULL    NULL    1       4294967231      4294967231
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    y       NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       4294967167      4294967167
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    x       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       4294967039      4294967039
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    w       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       4294966783      4294966783
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    v       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       4294966271      4294966271
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    u       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       4294965247      4294965247
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    t       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       4294963199      4294963199
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    s       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       4294959103      4294959103
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    r       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       4294950911      4294950911
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    q       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       4294934527      4294934527
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    p       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       4294901759      4294901759
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    o       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       4294836223      4294836223
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    n       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       4294705151      4294705151
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    m       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       4294443007      4294443007
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    l       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       4293918719      4293918719
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    k       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       4292870143      4292870143
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    j       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       4290772991      4290772991
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    i       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       4286578687      4286578687
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    h       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       4278190079      4278190079
+NULL   NULL    NULL    NULL    NULL    NULL    g       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       4261412863      4261412863
+NULL   NULL    NULL    NULL    NULL    f       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       4227858431      4227858431
+NULL   NULL    NULL    NULL    e       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       4160749567      4160749567
+NULL   NULL    NULL    d       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       4026531839      4026531839
+NULL   NULL    c       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       3758096383      3758096383
+NULL   b       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       3221225471      3221225471
+a      NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       2147483647      2147483647
+PREHOOK: query: create table groupingsets33 as 
+select 
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09, 
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19, 
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29, 
+c30,c31,c32 
+,count(*) as n from ( 
+select 
+substring(val,01,1) as c00, substring(val,02,1) as c01, substring(val,03,1) as c02,substring(val,04,1) as c03,substring(val,05,1) as c04,substring(val,06,1) as c05,substring(val,07,1) as c06, substring(val,08,1) as c07,substring(val,09,1) as c08,substring(val,10,1) as c09, 
+substring(val,11,1) as c10, substring(val,12,1) as c11, substring(val,13,1) as c12,substring(val,14,1) as c13,substring(val,15,1) as c14,substring(val,16,1) as c15,substring(val,17,1) as c16, substring(val,18,1) as c17,substring(val,19,1) as c18,substring(val,20,1) as c19, 
+substring(val,21,1) as c20, substring(val,22,1) as c21, substring(val,23,1) as c22,substring(val,24,1) as c23,substring(val,25,1) as c24,substring(val,26,1) as c25,substring(val,27,1) as c26, substring(val,28,1) as c27,substring(val,29,1) as c28,substring(val,30,1) as c29, 
+substring(val,31,1) as c30,substring(val,32,1) as c31,substring(val,33,1) as c32 
+from facts ) x 
+group by 
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09, 
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19, 
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29, 
+c30,c31,c32 
+grouping sets ( 
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09, 
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19, 
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29, 
+c30,c31,c32 
+)
+PREHOOK: type: CREATETABLE_AS_SELECT
+PREHOOK: Input: default@facts
+PREHOOK: Output: database:default
+PREHOOK: Output: default@groupingsets33
+POSTHOOK: query: create table groupingsets33 as 
+select 
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09, 
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19, 
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29, 
+c30,c31,c32 
+,count(*) as n from ( 
+select 
+substring(val,01,1) as c00, substring(val,02,1) as c01, substring(val,03,1) as c02,substring(val,04,1) as c03,substring(val,05,1) as c04,substring(val,06,1) as c05,substring(val,07,1) as c06, substring(val,08,1) as c07,substring(val,09,1) as c08,substring(val,10,1) as c09, 
+substring(val,11,1) as c10, substring(val,12,1) as c11, substring(val,13,1) as c12,substring(val,14,1) as c13,substring(val,15,1) as c14,substring(val,16,1) as c15,substring(val,17,1) as c16, substring(val,18,1) as c17,substring(val,19,1) as c18,substring(val,20,1) as c19, 
+substring(val,21,1) as c20, substring(val,22,1) as c21, substring(val,23,1) as c22,substring(val,24,1) as c23,substring(val,25,1) as c24,substring(val,26,1) as c25,substring(val,27,1) as c26, substring(val,28,1) as c27,substring(val,29,1) as c28,substring(val,30,1) as c29, 
+substring(val,31,1) as c30,substring(val,32,1) as c31,substring(val,33,1) as c32 
+from facts ) x 
+group by 
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09, 
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19, 
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29, 
+c30,c31,c32 
+grouping sets ( 
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09, 
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19, 
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29, 
+c30,c31,c32 
+)
+POSTHOOK: type: CREATETABLE_AS_SELECT
+POSTHOOK: Input: default@facts
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@groupingsets33
+POSTHOOK: Lineage: groupingsets33.c00 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33.c01 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33.c02 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33.c03 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33.c04 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33.c05 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33.c06 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33.c07 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33.c08 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33.c09 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33.c10 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33.c11 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33.c12 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33.c13 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33.c14 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33.c15 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33.c16 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33.c17 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33.c18 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33.c19 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33.c20 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33.c21 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33.c22 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33.c23 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33.c24 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33.c25 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33.c26 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33.c27 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33.c28 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33.c29 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33.c30 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33.c31 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33.c32 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33.n EXPRESSION [(facts)facts.null, ]
+PREHOOK: query: select * from groupingsets33
+PREHOOK: type: QUERY
+PREHOOK: Input: default@groupingsets33
+#### A masked pattern was here ####
+POSTHOOK: query: select * from groupingsets33
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@groupingsets33
+#### A masked pattern was here ####
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    6       1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    5       NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    4       NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    3       NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    2       NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    0       NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    z       NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    y       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    x       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    w       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    v       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    u       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    t       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    s       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    r       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    q       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    p       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    o       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    n       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    m       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    l       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    k       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    j       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    i       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    h       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    g       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    f       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    e       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    d       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    c       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   b       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+a      NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+PREHOOK: query: create table groupingsets33a as
+select
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09,
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,
+c30,c31,c32
+,count(*) as n,
+grouping__id,
+grouping(c00,c01,c02,c03,c04,c05,c06,c07,c08,c09,
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,
+c30,c31,c32) 
+from (
+select
+substring(val,01,1) as c00, substring(val,02,1) as c01, substring(val,03,1) as c02,substring(val,04,1) as c03,substring(val,05,1) as c04,substring(val,06,1) as c05,substring(val,07,1) as c06, substring(val,08,1) as c07,substring(val,09,1) as c08,substring(val,10,1) as c09,
+substring(val,11,1) as c10, substring(val,12,1) as c11, substring(val,13,1) as c12,substring(val,14,1) as c13,substring(val,15,1) as c14,substring(val,16,1) as c15,substring(val,17,1) as c16, substring(val,18,1) as c17,substring(val,19,1) as c18,substring(val,20,1) as c19,
+substring(val,21,1) as c20, substring(val,22,1) as c21, substring(val,23,1) as c22,substring(val,24,1) as c23,substring(val,25,1) as c24,substring(val,26,1) as c25,substring(val,27,1) as c26, substring(val,28,1) as c27,substring(val,29,1) as c28,substring(val,30,1) as c29,
+substring(val,31,1) as c30,substring(val,32,1) as c31,substring(val,33,1) as c32
+from facts ) x
+group by
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09,
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,
+c30,c31,c32
+grouping sets (
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09,
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,
+c30,c31,c32
+)
+PREHOOK: type: CREATETABLE_AS_SELECT
+PREHOOK: Input: default@facts
+PREHOOK: Output: database:default
+PREHOOK: Output: default@groupingsets33a
+POSTHOOK: query: create table groupingsets33a as
+select
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09,
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,
+c30,c31,c32
+,count(*) as n,
+grouping__id,
+grouping(c00,c01,c02,c03,c04,c05,c06,c07,c08,c09,
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,
+c30,c31,c32) 
+from (
+select
+substring(val,01,1) as c00, substring(val,02,1) as c01, substring(val,03,1) as c02,substring(val,04,1) as c03,substring(val,05,1) as c04,substring(val,06,1) as c05,substring(val,07,1) as c06, substring(val,08,1) as c07,substring(val,09,1) as c08,substring(val,10,1) as c09,
+substring(val,11,1) as c10, substring(val,12,1) as c11, substring(val,13,1) as c12,substring(val,14,1) as c13,substring(val,15,1) as c14,substring(val,16,1) as c15,substring(val,17,1) as c16, substring(val,18,1) as c17,substring(val,19,1) as c18,substring(val,20,1) as c19,
+substring(val,21,1) as c20, substring(val,22,1) as c21, substring(val,23,1) as c22,substring(val,24,1) as c23,substring(val,25,1) as c24,substring(val,26,1) as c25,substring(val,27,1) as c26, substring(val,28,1) as c27,substring(val,29,1) as c28,substring(val,30,1) as c29,
+substring(val,31,1) as c30,substring(val,32,1) as c31,substring(val,33,1) as c32
+from facts ) x
+group by
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09,
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,
+c30,c31,c32
+grouping sets (
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09,
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29,
+c30,c31,c32
+)
+POSTHOOK: type: CREATETABLE_AS_SELECT
+POSTHOOK: Input: default@facts
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@groupingsets33a
+POSTHOOK: Lineage: groupingsets33a._c35 EXPRESSION []
+POSTHOOK: Lineage: groupingsets33a.c00 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33a.c01 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33a.c02 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33a.c03 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33a.c04 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33a.c05 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33a.c06 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33a.c07 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33a.c08 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33a.c09 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33a.c10 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33a.c11 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33a.c12 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33a.c13 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33a.c14 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33a.c15 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33a.c16 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33a.c17 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33a.c18 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33a.c19 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33a.c20 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33a.c21 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33a.c22 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33a.c23 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33a.c24 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33a.c25 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33a.c26 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33a.c27 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33a.c28 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33a.c29 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33a.c30 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33a.c31 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33a.c32 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets33a.grouping__id SIMPLE []
+POSTHOOK: Lineage: groupingsets33a.n EXPRESSION [(facts)facts.null, ]
+PREHOOK: query: select * from groupingsets33a
+PREHOOK: type: QUERY
+PREHOOK: Input: default@groupingsets33a
+#### A masked pattern was here ####
+POSTHOOK: query: select * from groupingsets33a
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@groupingsets33a
+#### A masked pattern was here ####
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    6       1       8589934590      8589934590
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    5       NULL    1       8589934589      8589934589
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    4       NULL    NULL    1       8589934587      8589934587
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    3       NULL    NULL    NULL    1       8589934583      8589934583
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    2       NULL    NULL    NULL    NULL    1       8589934575      8589934575
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       NULL    NULL    NULL    NULL    NULL    1       8589934559      8589934559
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    0       NULL    NULL    NULL    NULL    NULL    NULL    1       8589934527      8589934527
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    z       NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       8589934463      8589934463
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    y       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       8589934335      8589934335
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    x       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       8589934079      8589934079
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    w       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       8589933567      8589933567
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    v       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       8589932543      8589932543
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    u       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       8589930495      8589930495
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    t       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       8589926399      8589926399
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    s       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       8589918207      8589918207
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    r       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       8589901823      8589901823
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    q       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       8589869055      8589869055
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    p       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       8589803519      8589803519
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    o       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       8589672447      8589672447
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    n       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       8589410303      8589410303
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    m       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       8588886015      8588886015
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    l       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       8587837439      8587837439
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    k       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       8585740287      8585740287
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    j       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       8581545983      8581545983
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    i       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       8573157375      8573157375
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    h       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       8556380159      8556380159
+NULL   NULL    NULL    NULL    NULL    NULL    g       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       8522825727      8522825727
+NULL   NULL    NULL    NULL    NULL    f       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       8455716863      8455716863
+NULL   NULL    NULL    NULL    e       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       8321499135      8321499135
+NULL   NULL    NULL    d       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       8053063679      8053063679
+NULL   NULL    c       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       7516192767      7516192767
+NULL   b       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       6442450943      6442450943
+a      NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       4294967295      4294967295
+PREHOOK: query: drop table groupingsets32
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@groupingsets32
+PREHOOK: Output: default@groupingsets32
+POSTHOOK: query: drop table groupingsets32
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@groupingsets32
+POSTHOOK: Output: default@groupingsets32
+PREHOOK: query: drop table groupingsets33
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@groupingsets33
+PREHOOK: Output: default@groupingsets33
+POSTHOOK: query: drop table groupingsets33
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@groupingsets33
+POSTHOOK: Output: default@groupingsets33
+PREHOOK: query: drop table groupingsets32
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table groupingsets32
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: drop table groupingsets33
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table groupingsets33
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: drop table groupingsets32a
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@groupingsets32a
+PREHOOK: Output: default@groupingsets32a
+POSTHOOK: query: drop table groupingsets32a
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@groupingsets32a
+POSTHOOK: Output: default@groupingsets32a
+PREHOOK: query: drop table groupingsets33a
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@groupingsets33a
+PREHOOK: Output: default@groupingsets33a
+POSTHOOK: query: drop table groupingsets33a
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@groupingsets33a
+POSTHOOK: Output: default@groupingsets33a
+PREHOOK: query: create table groupingsets32 as 
+select 
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09, 
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19, 
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29, 
+c30,c31 
+,count(*) as n from ( 
+select 
+substring(val,01,1) as c00, substring(val,02,1) as c01, substring(val,03,1) as c02,substring(val,04,1) as c03,substring(val,05,1) as c04,substring(val,06,1) as c05,substring(val,07,1) as c06, substring(val,08,1) as c07,substring(val,09,1) as c08,substring(val,10,1) as c09, 
+substring(val,11,1) as c10, substring(val,12,1) as c11, substring(val,13,1) as c12,substring(val,14,1) as c13,substring(val,15,1) as c14,substring(val,16,1) as c15,substring(val,17,1) as c16, substring(val,18,1) as c17,substring(val,19,1) as c18,substring(val,20,1) as c19, 
+substring(val,21,1) as c20, substring(val,22,1) as c21, substring(val,23,1) as c22,substring(val,24,1) as c23,substring(val,25,1) as c24,substring(val,26,1) as c25,substring(val,27,1) as c26, substring(val,28,1) as c27,substring(val,29,1) as c28,substring(val,30,1) as c29, 
+substring(val,31,1) as c30,substring(val,32,1) as c31 
+from facts ) x 
+group by 
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09, 
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19, 
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29, 
+c30,c31 
+grouping sets ( 
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09, 
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19, 
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29, 
+c30,c31 
+)
+PREHOOK: type: CREATETABLE_AS_SELECT
+PREHOOK: Input: default@facts
+PREHOOK: Output: database:default
+PREHOOK: Output: default@groupingsets32
+POSTHOOK: query: create table groupingsets32 as 
+select 
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09, 
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19, 
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29, 
+c30,c31 
+,count(*) as n from ( 
+select 
+substring(val,01,1) as c00, substring(val,02,1) as c01, substring(val,03,1) as c02,substring(val,04,1) as c03,substring(val,05,1) as c04,substring(val,06,1) as c05,substring(val,07,1) as c06, substring(val,08,1) as c07,substring(val,09,1) as c08,substring(val,10,1) as c09, 
+substring(val,11,1) as c10, substring(val,12,1) as c11, substring(val,13,1) as c12,substring(val,14,1) as c13,substring(val,15,1) as c14,substring(val,16,1) as c15,substring(val,17,1) as c16, substring(val,18,1) as c17,substring(val,19,1) as c18,substring(val,20,1) as c19, 
+substring(val,21,1) as c20, substring(val,22,1) as c21, substring(val,23,1) as c22,substring(val,24,1) as c23,substring(val,25,1) as c24,substring(val,26,1) as c25,substring(val,27,1) as c26, substring(val,28,1) as c27,substring(val,29,1) as c28,substring(val,30,1) as c29, 
+substring(val,31,1) as c30,substring(val,32,1) as c31 
+from facts ) x 
+group by 
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09, 
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19, 
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29, 
+c30,c31 
+grouping sets ( 
+c00,c01,c02,c03,c04,c05,c06,c07,c08,c09, 
+c10,c11,c12,c13,c14,c15,c16,c17,c18,c19, 
+c20,c21,c22,c23,c24,c25,c26,c27,c28,c29, 
+c30,c31 
+)
+POSTHOOK: type: CREATETABLE_AS_SELECT
+POSTHOOK: Input: default@facts
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@groupingsets32
+POSTHOOK: Lineage: groupingsets32.c00 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c01 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c02 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c03 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c04 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c05 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c06 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c07 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c08 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c09 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c10 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c11 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c12 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c13 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c14 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c15 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c16 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c17 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c18 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c19 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c20 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c21 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c22 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c23 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c24 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c25 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c26 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c27 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c28 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c29 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c30 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.c31 EXPRESSION [(facts)facts.FieldSchema(name:val, type:string, comment:null), ]
+POSTHOOK: Lineage: groupingsets32.n EXPRESSION [(facts)facts.null, ]
+PREHOOK: query: select * from groupingsets32
+PREHOOK: type: QUERY
+PREHOOK: Input: default@groupingsets32
+#### A masked pattern was here ####
+POSTHOOK: query: select * from groupingsets32
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@groupingsets32
+#### A masked pattern was here ####
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    5       1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    4       NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    3       NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    2       NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1       NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    0       NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    z       NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    y       NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    x       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    w       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    v       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    u       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    t       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    s       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    r       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    q       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    p       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    o       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    n       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    m       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    l       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    k       NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    1
+NULL   NULL    NULL    NULL    NULL  &n