You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@impala.apache.org by jo...@apache.org on 2020/05/13 02:51:02 UTC

[impala] 03/04: IMPALA-8205: Support number of true and false statistics for boolean column

This is an automated email from the ASF dual-hosted git repository.

joemcdonnell pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/impala.git

commit a93f2c2675d72d03a6e8430126f3f461b153ca26
Author: Chang Wu <58...@qq.com>
AuthorDate: Sat Sep 14 12:33:39 2019 +0800

    IMPALA-8205: Support number of true and false statistics for boolean column
    
    This change compute the real number of true and false statistics
    information for boolean columns. Before this, impala used to set
    numTrues and numFalses to hardcoded -1 to indicate that its
    statistics is missing.
    
    Test Done:
    Append the numTrue and numFalse test for all the statistics-related
    test cases including the non-incremental, incremental and other test
    cases.
    
    Change-Id: I991bee8e7fdc644d908289f5fe2ee8032cc2c431
    Reviewed-on: http://gerrit.cloudera.org:8080/14666
    Reviewed-by: Impala Public Jenkins <im...@cloudera.com>
    Tested-by: Impala Public Jenkins <im...@cloudera.com>
---
 be/src/exec/catalog-op-executor.cc                 |    7 +-
 be/src/exec/incr-stats-util-test.cc                |   20 +-
 be/src/exec/incr-stats-util.cc                     |   46 +-
 be/src/exec/incr-stats-util.h                      |   18 +-
 common/thrift/CatalogObjects.thrift                |    8 +
 .../impala/analysis/AlterTableSetColumnStats.java  |    8 +-
 .../apache/impala/analysis/ComputeStatsStmt.java   |   11 +
 .../org/apache/impala/catalog/ColumnStats.java     |   54 +-
 .../java/org/apache/impala/service/Frontend.java   |   13 +-
 .../org/apache/impala/analysis/ParserTest.java     |    3 +
 .../org/apache/impala/catalog/CatalogTest.java     |    2 +
 .../queries/QueryTest/acid-compute-stats.test      |   22 +-
 .../QueryTest/alter-table-set-column-stats.test    |  120 +-
 .../queries/QueryTest/alter-table.test             |   12 +-
 .../QueryTest/compute-stats-avro-catalog-v2.test   |  264 +--
 .../queries/QueryTest/compute-stats-avro.test      |  262 +--
 .../queries/QueryTest/compute-stats-date.test      |   32 +-
 .../queries/QueryTest/compute-stats-decimal.test   |   24 +-
 .../QueryTest/compute-stats-incremental.test       |  172 +-
 .../queries/QueryTest/compute-stats.test           | 2446 ++++++++++----------
 .../QueryTest/hbase-compute-stats-incremental.test |   40 +-
 .../queries/QueryTest/hbase-compute-stats.test     |  104 +-
 .../queries/QueryTest/hbase-show-stats.test        |   30 +-
 .../queries/QueryTest/show-stats.test              |   64 +-
 .../queries/QueryTest/truncate-table.test          |   76 +-
 25 files changed, 1986 insertions(+), 1872 deletions(-)

diff --git a/be/src/exec/catalog-op-executor.cc b/be/src/exec/catalog-op-executor.cc
index a0566fd..53fa88a 100644
--- a/be/src/exec/catalog-op-executor.cc
+++ b/be/src/exec/catalog-op-executor.cc
@@ -284,13 +284,16 @@ void CatalogOpExecutor::SetColumnStats(const TTableSchema& col_stats_schema,
   // Set per-column stats. For a column at position i in its source table,
   // the NDVs and the number of NULLs are at position i and i + 1 of the
   // col_stats_row, respectively. Positions i + 2 and i + 3 contain the max/avg
-  // length for string columns, and -1 for non-string columns.
-  for (int i = 0; i < col_stats_row.colVals.size(); i += 4) {
+  // length for string columns, Positions i+4 and i+5 contains the numTrues/numFalses
+  // and -1 for non-string columns.
+  for (int i = 0; i < col_stats_row.colVals.size(); i += 6) {
     TColumnStats col_stats;
     col_stats.__set_num_distinct_values(col_stats_row.colVals[i].i64Val.value);
     col_stats.__set_num_nulls(col_stats_row.colVals[i + 1].i64Val.value);
     col_stats.__set_max_size(col_stats_row.colVals[i + 2].i32Val.value);
     col_stats.__set_avg_size(col_stats_row.colVals[i + 3].doubleVal.value);
+    col_stats.__set_num_trues(col_stats_row.colVals[i + 4].i64Val.value);
+    col_stats.__set_num_falses(col_stats_row.colVals[i + 5].i64Val.value);
     params->column_stats[col_stats_schema.columns[i].columnName] = col_stats;
   }
   params->__isset.column_stats = true;
diff --git a/be/src/exec/incr-stats-util-test.cc b/be/src/exec/incr-stats-util-test.cc
index 989f385..a955633 100644
--- a/be/src/exec/incr-stats-util-test.cc
+++ b/be/src/exec/incr-stats-util-test.cc
@@ -82,25 +82,25 @@ TEST(IncrStatsUtilTest, TestNumNullAggregation) {
   PerColumnStats* stat = new PerColumnStats();
   ASSERT_EQ(0, stat->ToTColumnStats().num_nulls);
 
-  stat->Update(string(AggregateFunctions::HLL_LEN, 0), 0, 0, 0, 1);
+  stat->Update(string(AggregateFunctions::HLL_LEN, 0), 0, 0, 0, 1, 0, 0);
   ASSERT_EQ(1, stat->ToTColumnStats().num_nulls);
 
-  stat->Update(string(AggregateFunctions::HLL_LEN, 0), 0, 0, 0, 0);
+  stat->Update(string(AggregateFunctions::HLL_LEN, 0), 0, 0, 0, 0, 0, 0);
   ASSERT_EQ(1, stat->ToTColumnStats().num_nulls);
 
-  stat->Update(string(AggregateFunctions::HLL_LEN, 0), 0, 0, 0, 2);
+  stat->Update(string(AggregateFunctions::HLL_LEN, 0), 0, 0, 0, 2, 0, 0);
   ASSERT_EQ(3, stat->ToTColumnStats().num_nulls);
 
-  stat->Update(string(AggregateFunctions::HLL_LEN, 0), 0, 0, 0, -1);
+  stat->Update(string(AggregateFunctions::HLL_LEN, 0), 0, 0, 0, -1, 0, 0);
   ASSERT_EQ(-1, stat->ToTColumnStats().num_nulls);
 
-  stat->Update(string(AggregateFunctions::HLL_LEN, 0), 0, 0, 0, 0);
+  stat->Update(string(AggregateFunctions::HLL_LEN, 0), 0, 0, 0, 0, 0, 0);
   ASSERT_EQ(-1, stat->ToTColumnStats().num_nulls);
 
-  stat->Update(string(AggregateFunctions::HLL_LEN, 0), 0, 0, 0, 3);
+  stat->Update(string(AggregateFunctions::HLL_LEN, 0), 0, 0, 0, 3, 0, 0);
   ASSERT_EQ(-1, stat->ToTColumnStats().num_nulls);
 
-  stat->Update(string(AggregateFunctions::HLL_LEN, 0), 0, 0, 0, -1);
+  stat->Update(string(AggregateFunctions::HLL_LEN, 0), 0, 0, 0, -1, 0, 0);
   ASSERT_EQ(-1, stat->ToTColumnStats().num_nulls);
 }
 
@@ -112,15 +112,15 @@ TEST(IncrStatsUtilTest, TestNumNullAggregation) {
 TEST(IncrStatsUtilTest, TestAvgSizehAggregation) {
   PerColumnStats* stat = new PerColumnStats();
 
-  stat->Update(string(AggregateFunctions::HLL_LEN, 0), 1, 4, 0, 0);
+  stat->Update(string(AggregateFunctions::HLL_LEN, 0), 1, 4, 0, 0, 0, 0);
   stat->Finalize();
   ASSERT_EQ(4, stat->ToTColumnStats().avg_size);
 
-  stat->Update(string(AggregateFunctions::HLL_LEN, 0), 2, 7, 0, 0);
+  stat->Update(string(AggregateFunctions::HLL_LEN, 0), 2, 7, 0, 0, 0, 0);
   stat->Finalize();
   ASSERT_EQ(6, stat->ToTColumnStats().avg_size);
 
-  stat->Update(string(AggregateFunctions::HLL_LEN, 0), 0, 0, 0, 0);
+  stat->Update(string(AggregateFunctions::HLL_LEN, 0), 0, 0, 0, 0, 0, 0);
   stat->Finalize();
   ASSERT_EQ(6, stat->ToTColumnStats().avg_size);
 }
diff --git a/be/src/exec/incr-stats-util.cc b/be/src/exec/incr-stats-util.cc
index c25265e..e867cc0 100644
--- a/be/src/exec/incr-stats-util.cc
+++ b/be/src/exec/incr-stats-util.cc
@@ -113,13 +113,15 @@ string DecodeNdv(const string& ndv, bool is_encoded) {
 }
 
 void PerColumnStats::Update(const string& ndv, int64_t num_new_rows, double new_avg_width,
-    int32_t max_new_width, int64_t num_new_nulls) {
-  DCHECK_EQ(intermediate_ndv.size(), ndv.size())
-      << "Incompatible intermediate NDVs";
+    int32_t max_new_width, int64_t num_new_nulls, int64_t num_new_trues,
+    int64_t num_new_falses) {
+  DCHECK_EQ(intermediate_ndv.size(), ndv.size()) << "Incompatible intermediate NDVs";
   DCHECK_GE(num_new_rows, 0);
   DCHECK_GE(max_new_width, 0);
   DCHECK_GE(new_avg_width, 0);
   DCHECK_GE(num_new_nulls, -1); // '-1' needed to be backward compatible
+  DCHECK_GE(num_trues, 0);
+  DCHECK_GE(num_falses, 0);
   for (int j = 0; j < ndv.size(); ++j) {
     intermediate_ndv[j] = ::max(intermediate_ndv[j], ndv[j]);
   }
@@ -132,6 +134,9 @@ void PerColumnStats::Update(const string& ndv, int64_t num_new_rows, double new_
       num_nulls = -1;
     }
   }
+
+  num_trues += num_new_trues;
+  num_falses += num_new_falses;
   max_width = ::max(max_width, max_new_width);
   total_width += (new_avg_width * num_new_rows);
   num_rows += num_new_rows;
@@ -149,13 +154,15 @@ TColumnStats PerColumnStats::ToTColumnStats() const {
   col_stats.__set_num_nulls(num_nulls);
   col_stats.__set_max_size(max_width);
   col_stats.__set_avg_size(avg_width);
+  col_stats.__set_num_trues(num_trues);
+  col_stats.__set_num_falses(num_falses);
   return col_stats;
 }
 
 string PerColumnStats::DebugString() const {
-  return Substitute(
-      "ndv: $0, num_nulls: $1, max_width: $2, avg_width: $3, num_rows: $4",
-      ndv_estimate, num_nulls, max_width, avg_width, num_rows);
+  return Substitute("ndv: $0, num_nulls: $1, max_width: $2, avg_width: $3, num_rows: "
+                    "$4, num_trues: $5, num_falses: $6",
+      ndv_estimate, num_nulls, max_width, avg_width, num_rows, num_trues, num_falses);
 }
 
 namespace impala {
@@ -165,9 +172,10 @@ void FinalizePartitionedColumnStats(const TTableSchema& col_stats_schema,
     const vector<vector<string>>& expected_partitions, const TRowSet& rowset,
     int32_t num_partition_cols, TAlterTableUpdateStatsParams* params) {
   // The rowset should have the following schema: for every column in the source table,
-  // five columns are produced, one row per partition.
-  // <ndv buckets>, <num nulls>, <max width>, <avg width>, <count rows>
-  static const int COLUMNS_PER_STAT = 5;
+  // seven columns are produced, one row per partition.
+  // <ndv buckets>, <num nulls>, <max width>, <avg width>, <count rows>,
+  // <num trues>, <num falses>
+  static const int COLUMNS_PER_STAT = 7;
 
   const int num_cols =
       (col_stats_schema.columns.size() - num_partition_cols) / COLUMNS_PER_STAT;
@@ -198,8 +206,15 @@ void FinalizePartitionedColumnStats(const TTableSchema& col_stats_schema,
         double avg_width = col_stats_row.colVals[i + 3].doubleVal.value;
         int32_t max_width = col_stats_row.colVals[i + 2].i32Val.value;
         int64_t num_nulls = col_stats_row.colVals[i + 1].i64Val.value;
+        int64_t num_trues = col_stats_row.colVals[i + 5].i64Val.value;
+        int64_t num_falses = col_stats_row.colVals[i + 6].i64Val.value;
 
-        stat->Update(ndv, num_rows, avg_width, max_width, num_nulls);
+        VLOG(3) << "Updated statistics for column=["
+                << col_stats_schema.columns[i].columnName << "]," << " statistics={"
+                << ndv << "," << num_rows << "," << avg_width << "," << num_trues
+                << "," << max_width << "," << num_nulls << "," << num_falses << "}";
+        stat->Update(
+            ndv, num_rows, avg_width, max_width, num_nulls, num_trues, num_falses);
 
         // Save the intermediate state per-column, per-partition
         TIntermediateColumnStats int_stats;
@@ -210,6 +225,8 @@ void FinalizePartitionedColumnStats(const TTableSchema& col_stats_schema,
         int_stats.__set_max_width(max_width);
         int_stats.__set_avg_width(avg_width);
         int_stats.__set_num_rows(num_rows);
+        int_stats.__set_num_trues(num_trues);
+        int_stats.__set_num_falses(num_falses);
 
         part_stat->intermediate_col_stats[col_stats_schema.columns[i].columnName] =
             int_stats;
@@ -229,6 +246,8 @@ void FinalizePartitionedColumnStats(const TTableSchema& col_stats_schema,
   empty_column_stats.__set_max_width(0);
   empty_column_stats.__set_avg_width(0);
   empty_column_stats.__set_num_rows(0);
+  empty_column_stats.__set_num_trues(0);
+  empty_column_stats.__set_num_falses(0);
   TPartitionStats empty_part_stats;
   for (int i = 0; i < num_cols * COLUMNS_PER_STAT; i += COLUMNS_PER_STAT) {
     empty_part_stats.intermediate_col_stats[col_stats_schema.columns[i].columnName] =
@@ -260,9 +279,14 @@ void FinalizePartitionedColumnStats(const TTableSchema& col_stats_schema,
       }
 
       const TIntermediateColumnStats& int_stats = it->second;
+      VLOG(3) << "Updated intermediate value for column=[" << col_name << "], "
+              << "statistics={" << int_stats.intermediate_ndv << ","
+              << int_stats.num_rows << "," << int_stats.avg_width << ","
+              << int_stats.max_width << ","<< int_stats.num_nulls << ","
+              << int_stats.num_trues << "," << int_stats.num_falses << "}";
       stats[i].Update(DecodeNdv(int_stats.intermediate_ndv, int_stats.is_ndv_encoded),
           int_stats.num_rows, int_stats.avg_width, int_stats.max_width,
-          int_stats.num_nulls);
+          int_stats.num_nulls, int_stats.num_trues, int_stats.num_falses);
     }
   }
 
diff --git a/be/src/exec/incr-stats-util.h b/be/src/exec/incr-stats-util.h
index bf617ab..f534d49 100644
--- a/be/src/exec/incr-stats-util.h
+++ b/be/src/exec/incr-stats-util.h
@@ -42,6 +42,12 @@ struct PerColumnStats {
   // The total number of rows
   int64_t num_rows;
 
+  // The total number of true
+  int64_t num_trues;
+
+  // The total number of false
+  int64_t num_falses;
+
   // The sum of avg_width * num_rows for each partition, so that avg_width can be
   // correctly computed during Finalize()
   double total_width;
@@ -54,12 +60,18 @@ struct PerColumnStats {
   double avg_width;
 
   PerColumnStats()
-      : intermediate_ndv(AggregateFunctions::HLL_LEN, 0), num_nulls(0),
-      max_width(0), num_rows(0), total_width(0) { }
+    : intermediate_ndv(AggregateFunctions::HLL_LEN, 0),
+      num_nulls(0),
+      max_width(0),
+      num_rows(0),
+      num_trues(0),
+      num_falses(0),
+      total_width(0) {}
 
   /// Updates all aggregate statistics with a new set of measurements.
   void Update(const string& ndv, int64_t num_new_rows, double new_avg_width,
-      int32_t max_new_width, int64_t num_new_nulls);
+      int32_t max_new_width, int64_t num_new_nulls, int64_t num_new_trues,
+      int64_t num_new_falses);
 
   /// Performs any stats computations that are not distributive, that is they may not be
   /// computed in part during Update(). After this method returns, ndv_estimate and
diff --git a/common/thrift/CatalogObjects.thrift b/common/thrift/CatalogObjects.thrift
index b31eb5e..192b0cf 100644
--- a/common/thrift/CatalogObjects.thrift
+++ b/common/thrift/CatalogObjects.thrift
@@ -169,6 +169,10 @@ struct TColumnStats {
 
   // Estimated number of null values.
   4: required i64 num_nulls
+
+  // Estimated number of true and false value for boolean type
+  5: required i64 num_trues
+  6: required i64 num_falses
 }
 
 // Intermediate state for the computation of per-column stats. Impala can aggregate these
@@ -191,6 +195,10 @@ struct TIntermediateColumnStats {
 
   // The number of rows counted, needed to compute NDVs from intermediate_ndv
   6: optional i64 num_rows
+
+  // The number of true and false value, of the column
+  7: required i64 num_trues
+  8: required i64 num_falses
 }
 
 // Per-partition statistics
diff --git a/fe/src/main/java/org/apache/impala/analysis/AlterTableSetColumnStats.java b/fe/src/main/java/org/apache/impala/analysis/AlterTableSetColumnStats.java
index 6a3fcee..7aa6f1f 100644
--- a/fe/src/main/java/org/apache/impala/analysis/AlterTableSetColumnStats.java
+++ b/fe/src/main/java/org/apache/impala/analysis/AlterTableSetColumnStats.java
@@ -109,9 +109,11 @@ public class AlterTableSetColumnStats extends AlterTableStmt {
           statsKey, col.getName(), col.getType().toSql(), statsKey));
     }
 
-    if (statsKey == ColumnStats.StatsKey.NUM_DISTINCT_VALUES ||
-        statsKey == ColumnStats.StatsKey.NUM_NULLS ||
-        statsKey == ColumnStats.StatsKey.MAX_SIZE) {
+    if (statsKey == ColumnStats.StatsKey.NUM_DISTINCT_VALUES
+        || statsKey == ColumnStats.StatsKey.NUM_NULLS
+        || statsKey == ColumnStats.StatsKey.MAX_SIZE
+        || statsKey == ColumnStats.StatsKey.NUM_TRUES
+        || statsKey == ColumnStats.StatsKey.NUM_FALSES) {
       Long statsVal = null;
       try {
         statsVal = Long.parseLong(statsValue);
diff --git a/fe/src/main/java/org/apache/impala/analysis/ComputeStatsStmt.java b/fe/src/main/java/org/apache/impala/analysis/ComputeStatsStmt.java
index f3254e5..7cda266 100644
--- a/fe/src/main/java/org/apache/impala/analysis/ComputeStatsStmt.java
+++ b/fe/src/main/java/org/apache/impala/analysis/ComputeStatsStmt.java
@@ -287,6 +287,17 @@ public class ComputeStatsStmt extends StatementBase {
         // Need the count in order to properly combine per-partition column stats
         columnStatsSelectList.add("COUNT(" + colRefSql + ")");
       }
+
+      // For boolean column, compute the numTrue and numFalse
+      if (type.isBoolean()) {
+        columnStatsSelectList.add(
+            "COUNT(CASE WHEN " + colRefSql + " = TRUE THEN 1 ELSE NULL END)");
+        columnStatsSelectList.add(
+            "COUNT(CASE WHEN " + colRefSql + " = FALSE THEN 1 ELSE NULL END)");
+      } else {
+        columnStatsSelectList.add("NULL");
+        columnStatsSelectList.add("NULL");
+      }
     }
     return columnStatsSelectList;
   }
diff --git a/fe/src/main/java/org/apache/impala/catalog/ColumnStats.java b/fe/src/main/java/org/apache/impala/catalog/ColumnStats.java
index 85fda27..7b08d25 100644
--- a/fe/src/main/java/org/apache/impala/catalog/ColumnStats.java
+++ b/fe/src/main/java/org/apache/impala/catalog/ColumnStats.java
@@ -52,7 +52,9 @@ public class ColumnStats {
     NUM_DISTINCT_VALUES("numDVs"),
     NUM_NULLS("numNulls"),
     AVG_SIZE("avgSize"),
-    MAX_SIZE("maxSize");
+    MAX_SIZE("maxSize"),
+    NUM_TRUES("numTrues"),
+    NUM_FALSES("numFalses");
 
     private final String name_;
 
@@ -83,6 +85,8 @@ public class ColumnStats {
   private long maxSize_;  // in bytes
   private long numDistinctValues_;
   private long numNulls_;
+  private long numTrues_;
+  private long numFalses_;
 
   public ColumnStats(Type colType) {
     initColStats(colType);
@@ -98,6 +102,8 @@ public class ColumnStats {
     maxSize_ = other.maxSize_;
     numDistinctValues_ = other.numDistinctValues_;
     numNulls_ = other.numNulls_;
+    numTrues_ = other.numTrues_;
+    numFalses_ = other.numFalses_;
     validate(null);
   }
 
@@ -112,6 +118,8 @@ public class ColumnStats {
     maxSize_ = -1;
     numDistinctValues_ = -1;
     numNulls_ = -1;
+    numTrues_ = -1;
+    numFalses_ = -1;
     if (colType.isFixedLengthType()) {
       avgSerializedSize_ = colType.getSlotSize();
       avgSize_ = colType.getSlotSize();
@@ -139,12 +147,14 @@ public class ColumnStats {
       stats.avgSize_ = slotStats.getAvgSize();
       stats.maxSize_ = slotStats.getMaxSize();
     }
+    stats.numTrues_ = slotStats.getNumTrues();
+    stats.numFalses_ = slotStats.getNumFalses();
     stats.validate(colType);
     return stats;
   }
 
   /**
-   * Adds other's numDistinctValues and numNulls to this ColumnStats.
+   * Adds other's numDistinctValues, numNulls, numTrues, numFalses to this ColumnStats.
    * If this or other's stats are invalid, sets the corresponding stat to invalid,
    * Returns this with the updated stats.
    * This method is used to aggregate stats for slots that originate from multiple
@@ -161,6 +171,16 @@ public class ColumnStats {
     } else {
       numNulls_ += other.numNulls_;
     }
+    if (numTrues_ == -1 || other.numTrues_ == -1) {
+      numTrues_ = -1;
+    } else {
+      numTrues_ += other.numTrues_;
+    }
+    if (numFalses_ == -1 || other.numFalses_ == -1) {
+      numFalses_ = -1;
+    } else {
+      numFalses_ += other.numFalses_;
+    }
     validate(null);
     return this;
   }
@@ -177,6 +197,8 @@ public class ColumnStats {
   public long getNumNulls() { return numNulls_; }
   // True iff getAvgSize() and getAvgSerializedSize() will return valid values.
   public boolean hasAvgSize() { return avgSize_ >= 0; }
+  public long getNumTrues() { return numTrues_; }
+  public long getNumFalses() { return numFalses_; }
   public boolean hasNumDistinctValues() { return numDistinctValues_ >= 0; }
   public boolean hasStats() { return numNulls_ != -1 || numDistinctValues_ != -1; }
 
@@ -205,6 +227,8 @@ public class ColumnStats {
           } else {
             numDistinctValues_ = -1;
           }
+          numTrues_ = boolStats.getNumTrues();
+          numFalses_ = boolStats.getNumFalses();
         }
         break;
       case TINYINT:
@@ -303,12 +327,12 @@ public class ColumnStats {
     if (capNdv >= 0) ndv = Math.min(ndv, capNdv);
 
     long numNulls = colStats.getNum_nulls();
+    long numTrues = colStats.getNum_trues();
+    long numFalses = colStats.getNum_falses();
     switch(colType.getPrimitiveType()) {
       case BOOLEAN:
-        // TODO(IMPALA-8205): actually compute the count of true/false
-        // values.
-        colStatsData.setBooleanStats(new BooleanColumnStatsData(
-            /*numTrues=*/-1, /*numFalse=*/-1, numNulls));
+        colStatsData.setBooleanStats(
+            new BooleanColumnStatsData(numTrues, numFalses, numNulls));
         break;
       case TINYINT:
         ndv = Math.min(ndv, LongMath.pow(2, Byte.SIZE));
@@ -401,6 +425,14 @@ public class ColumnStats {
         maxSize_ = (Long) value;
         break;
       }
+      case NUM_TRUES: {
+        numTrues_ = (Long) value;
+        break;
+      }
+      case NUM_FALSES: {
+        numFalses_ = (Long) value;
+        break;
+      }
       default: Preconditions.checkState(false);
     }
     validate(colType);
@@ -423,6 +455,10 @@ public class ColumnStats {
       avgSize_ = Double.valueOf(stats.getAvg_size()).floatValue();
       avgSerializedSize_ = colType.getSlotSize() + avgSize_;
     }
+    if (colType.getPrimitiveType() == PrimitiveType.BOOLEAN) {
+      numTrues_ = stats.getNum_trues();
+      numFalses_ = stats.getNum_falses();
+    }
     maxSize_ = stats.getMax_size();
     numDistinctValues_ = stats.getNum_distinct_values();
     numNulls_ = stats.getNum_nulls();
@@ -435,6 +471,8 @@ public class ColumnStats {
     colStats.setMax_size(maxSize_);
     colStats.setNum_distinct_values(numDistinctValues_);
     colStats.setNum_nulls(numNulls_);
+    colStats.setNum_trues(numTrues_);
+    colStats.setNum_falses(numFalses_);
     return colStats;
   }
 
@@ -452,6 +490,8 @@ public class ColumnStats {
     Preconditions.checkState(maxSize_ == -1 || maxSize_ >= 0, this);
     Preconditions.checkState(numDistinctValues_ == -1 || numDistinctValues_ >= 0, this);
     Preconditions.checkState(numNulls_ == -1 || numNulls_ >= 0, this);
+    Preconditions.checkState(numTrues_ == -1 || numTrues_ >= 0, this);
+    Preconditions.checkState(numFalses_ == -1 || numFalses_ >= 0, this);
     if (colType != null && colType.isFixedLengthType()) {
       Preconditions.checkState(avgSize_ == colType.getSlotSize(), this);
       Preconditions.checkState(avgSerializedSize_ == colType.getSlotSize(), this);
@@ -467,6 +507,8 @@ public class ColumnStats {
         .add("maxSize_", maxSize_)
         .add("numDistinct_", numDistinctValues_)
         .add("numNulls_", numNulls_)
+        .add("numTrues", numTrues_)
+        .add("numFalses", numFalses_)
         .toString();
   }
 
diff --git a/fe/src/main/java/org/apache/impala/service/Frontend.java b/fe/src/main/java/org/apache/impala/service/Frontend.java
index d4ed406..fff37d4 100644
--- a/fe/src/main/java/org/apache/impala/service/Frontend.java
+++ b/fe/src/main/java/org/apache/impala/service/Frontend.java
@@ -1142,13 +1142,20 @@ public class Frontend {
     resultSchema.addToColumns(new TColumn("#Nulls", Type.BIGINT.toThrift()));
     resultSchema.addToColumns(new TColumn("Max Size", Type.BIGINT.toThrift()));
     resultSchema.addToColumns(new TColumn("Avg Size", Type.DOUBLE.toThrift()));
+    resultSchema.addToColumns(new TColumn("#Trues", Type.BIGINT.toThrift()));
+    resultSchema.addToColumns(new TColumn("#Falses", Type.BIGINT.toThrift()));
 
     for (Column c: table.getColumnsInHiveOrder()) {
       TResultRowBuilder rowBuilder = new TResultRowBuilder();
       // Add name, type, NDVs, numNulls, max size and avg size.
-      rowBuilder.add(c.getName()).add(c.getType().toSql())
-          .add(c.getStats().getNumDistinctValues()).add(c.getStats().getNumNulls())
-          .add(c.getStats().getMaxSize()).add(c.getStats().getAvgSize());
+      rowBuilder.add(c.getName())
+          .add(c.getType().toSql())
+          .add(c.getStats().getNumDistinctValues())
+          .add(c.getStats().getNumNulls())
+          .add(c.getStats().getMaxSize())
+          .add(c.getStats().getAvgSize())
+          .add(c.getStats().getNumTrues())
+          .add(c.getStats().getNumFalses());
       result.addToRows(rowBuilder.get());
     }
     return result;
diff --git a/fe/src/test/java/org/apache/impala/analysis/ParserTest.java b/fe/src/test/java/org/apache/impala/analysis/ParserTest.java
index 431a5dd..dced41c 100644
--- a/fe/src/test/java/org/apache/impala/analysis/ParserTest.java
+++ b/fe/src/test/java/org/apache/impala/analysis/ParserTest.java
@@ -2442,6 +2442,9 @@ public class ParserTest extends FrontendTestBase {
     // Test SET COLUMN STATS.
     ParsesOk("ALTER TABLE Foo SET COLUMN STATS col ('numDVs'='10')");
     ParsesOk("ALTER TABLE Foo SET COLUMN STATS col ('numDVs'='10','maxSize'='20')");
+    ParsesOk("ALTER TABLE Foo SET COLUMN STATS col ('NUM_TRUES'='10')");
+    ParsesOk("ALTER TABLE Foo SET COLUMN STATS col ('NUM_FALSES'='20')");
+    ParsesOk("ALTER TABLE Foo SET COLUMN STATS col ('NUM_TRUES'='10','NUM_FALSES'='20')");
     ParsesOk("ALTER TABLE TestDb.Foo SET COLUMN STATS col ('avgSize'='20')");
     ParserError("ALTER TABLE SET COLUMN STATS col ('numDVs'='10'");
     ParserError("ALTER TABLE Foo SET COLUMN STATS ('numDVs'='10'");
diff --git a/fe/src/test/java/org/apache/impala/catalog/CatalogTest.java b/fe/src/test/java/org/apache/impala/catalog/CatalogTest.java
index 3a27e19..68fd6e4 100644
--- a/fe/src/test/java/org/apache/impala/catalog/CatalogTest.java
+++ b/fe/src/test/java/org/apache/impala/catalog/CatalogTest.java
@@ -652,6 +652,8 @@ public class CatalogTest {
   private void assertStatsUnknown(Column column) {
     assertEquals(-1, column.getStats().getNumDistinctValues());
     assertEquals(-1, column.getStats().getNumNulls());
+    assertEquals(-1, column.getStats().getNumTrues());
+    assertEquals(-1, column.getStats().getNumFalses());
     double expectedSize = column.getType().isFixedLengthType() ?
         column.getType().getSlotSize() : -1;
     assertEquals(expectedSize, column.getStats().getAvgSerializedSize(), 0.0001);
diff --git a/testdata/workloads/functional-query/queries/QueryTest/acid-compute-stats.test b/testdata/workloads/functional-query/queries/QueryTest/acid-compute-stats.test
index 0740d24..bd02dee 100644
--- a/testdata/workloads/functional-query/queries/QueryTest/acid-compute-stats.test
+++ b/testdata/workloads/functional-query/queries/QueryTest/acid-compute-stats.test
@@ -18,11 +18,11 @@ BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
 ---- QUERY
 show column stats tt;
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'i','INT',1,0,4,4
+'i','INT',1,0,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 # Test partitioned table with non-incremental stats.
@@ -44,12 +44,12 @@ STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
 ---- QUERY
 show column stats pt;
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'x','INT',1,0,4,4
-'p','INT',1,0,4,4
+'x','INT',1,0,4,4,-1,-1
+'p','INT',1,0,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 show partitions pt
@@ -84,12 +84,12 @@ STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
 ---- QUERY
 show column stats pt;
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'x','INT',1,0,4,4
-'p','INT',1,0,4,4
+'x','INT',1,0,4,4,-1,-1
+'p','INT',1,0,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 show partitions pt
diff --git a/testdata/workloads/functional-query/queries/QueryTest/alter-table-set-column-stats.test b/testdata/workloads/functional-query/queries/QueryTest/alter-table-set-column-stats.test
index c18e56a..2987267 100644
--- a/testdata/workloads/functional-query/queries/QueryTest/alter-table-set-column-stats.test
+++ b/testdata/workloads/functional-query/queries/QueryTest/alter-table-set-column-stats.test
@@ -14,23 +14,23 @@ alter table alltypes_clone set column stats string_col ('maxSize'='555','avgSize
 ---- QUERY
 show column stats alltypes_clone
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'id','INT',-1,-1,4,4
-'bool_col','BOOLEAN',-1,-1,1,1
-'tinyint_col','TINYINT',-1,-1,1,1
-'smallint_col','SMALLINT',-1,-1,2,2
-'int_col','INT',100,20,4,4
-'bigint_col','BIGINT',-1,-1,8,8
-'float_col','FLOAT',-1,-1,4,4
-'double_col','DOUBLE',2,-1,8,8
-'date_string_col','STRING',-1,-1,-1,-1
-'string_col','STRING',-1,-1,555,60
-'timestamp_col','TIMESTAMP',-1,9,16,16
-'year','INT',2,0,4,4
-'month','INT',12,0,4,4
+'id','INT',-1,-1,4,4,-1,-1
+'bool_col','BOOLEAN',-1,-1,1,1,-1,-1
+'tinyint_col','TINYINT',-1,-1,1,1,-1,-1
+'smallint_col','SMALLINT',-1,-1,2,2,-1,-1
+'int_col','INT',100,20,4,4,-1,-1
+'bigint_col','BIGINT',-1,-1,8,8,-1,-1
+'float_col','FLOAT',-1,-1,4,4,-1,-1
+'double_col','DOUBLE',2,-1,8,8,-1,-1
+'date_string_col','STRING',-1,-1,-1,-1,-1,-1
+'string_col','STRING',-1,-1,555,60,-1,-1
+'timestamp_col','TIMESTAMP',-1,9,16,16,-1,-1
+'year','INT',2,0,4,4,-1,-1
+'month','INT',12,0,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 # Make sure compute stats still works.
@@ -50,23 +50,23 @@ alter table alltypes_clone set column stats string_col ('maxSize'='-1','avgSize'
 ---- QUERY
 show column stats alltypes_clone
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'id','INT',7300,0,4,4
-'bool_col','BOOLEAN',2,0,1,1
-'tinyint_col','TINYINT',10,0,1,1
-'smallint_col','SMALLINT',10,0,2,2
-'int_col','INT',-1,-1,4,4
-'bigint_col','BIGINT',10,0,8,8
-'float_col','FLOAT',10,0,4,4
-'double_col','DOUBLE',-1,0,8,8
-'date_string_col','STRING',736,0,8,8
-'string_col','STRING',10,0,-1,-1
-'timestamp_col','TIMESTAMP',7300,-1,16,16
-'year','INT',2,0,4,4
-'month','INT',12,0,4,4
+'id','INT',7300,0,4,4,-1,-1
+'bool_col','BOOLEAN',2,0,1,1,3650,3650
+'tinyint_col','TINYINT',10,0,1,1,-1,-1
+'smallint_col','SMALLINT',10,0,2,2,-1,-1
+'int_col','INT',-1,-1,4,4,-1,-1
+'bigint_col','BIGINT',10,0,8,8,-1,-1
+'float_col','FLOAT',10,0,4,4,-1,-1
+'double_col','DOUBLE',-1,0,8,8,-1,-1
+'date_string_col','STRING',736,0,8,8,-1,-1
+'string_col','STRING',10,0,-1,-1,-1,-1
+'timestamp_col','TIMESTAMP',7300,-1,16,16,-1,-1
+'year','INT',2,0,4,4,-1,-1
+'month','INT',12,0,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 # Also alter a few 'numRows' parameters to make sure manually setting all stats works.
@@ -103,23 +103,23 @@ alter table alltypes_hbase_clone set column stats string_col ('maxSize'='555','a
 ---- QUERY
 show column stats alltypes_hbase_clone
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'id','INT',-1,-1,4,4
-'bool_col','BOOLEAN',-1,-1,1,1
-'tinyint_col','TINYINT',-1,-1,1,1
-'smallint_col','SMALLINT',-1,-1,2,2
-'int_col','INT',100,20,4,4
-'bigint_col','BIGINT',-1,-1,8,8
-'float_col','FLOAT',-1,-1,4,4
-'double_col','DOUBLE',2,-1,8,8
-'date_string_col','STRING',-1,-1,-1,-1
-'string_col','STRING',-1,-1,555,60
-'timestamp_col','TIMESTAMP',-1,9,16,16
-'year','INT',-1,-1,4,4
-'month','INT',-1,-1,4,4
+'id','INT',-1,-1,4,4,-1,-1
+'bool_col','BOOLEAN',-1,-1,1,1,-1,-1
+'tinyint_col','TINYINT',-1,-1,1,1,-1,-1
+'smallint_col','SMALLINT',-1,-1,2,2,-1,-1
+'int_col','INT',100,20,4,4,-1,-1
+'bigint_col','BIGINT',-1,-1,8,8,-1,-1
+'float_col','FLOAT',-1,-1,4,4,-1,-1
+'double_col','DOUBLE',2,-1,8,8,-1,-1
+'date_string_col','STRING',-1,-1,-1,-1,-1,-1
+'string_col','STRING',-1,-1,555,60,-1,-1
+'timestamp_col','TIMESTAMP',-1,9,16,16,-1,-1
+'year','INT',-1,-1,4,4,-1,-1
+'month','INT',-1,-1,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 # Reset the column stats to an unknown state by setting the values to -1
@@ -131,21 +131,21 @@ alter table alltypes_hbase_clone set column stats string_col ('maxSize'='-1','av
 ---- QUERY
 show column stats alltypes_hbase_clone
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'id','INT',-1,-1,4,4
-'bool_col','BOOLEAN',-1,-1,1,1
-'tinyint_col','TINYINT',-1,-1,1,1
-'smallint_col','SMALLINT',-1,-1,2,2
-'int_col','INT',-1,-1,4,4
-'bigint_col','BIGINT',-1,-1,8,8
-'float_col','FLOAT',-1,-1,4,4
-'double_col','DOUBLE',-1,-1,8,8
-'date_string_col','STRING',-1,-1,-1,-1
-'string_col','STRING',-1,-1,-1,-1
-'timestamp_col','TIMESTAMP',-1,-1,16,16
-'year','INT',-1,-1,4,4
-'month','INT',-1,-1,4,4
+'id','INT',-1,-1,4,4,-1,-1
+'bool_col','BOOLEAN',-1,-1,1,1,-1,-1
+'tinyint_col','TINYINT',-1,-1,1,1,-1,-1
+'smallint_col','SMALLINT',-1,-1,2,2,-1,-1
+'int_col','INT',-1,-1,4,4,-1,-1
+'bigint_col','BIGINT',-1,-1,8,8,-1,-1
+'float_col','FLOAT',-1,-1,4,4,-1,-1
+'double_col','DOUBLE',-1,-1,8,8,-1,-1
+'date_string_col','STRING',-1,-1,-1,-1,-1,-1
+'string_col','STRING',-1,-1,-1,-1,-1,-1
+'timestamp_col','TIMESTAMP',-1,-1,16,16,-1,-1
+'year','INT',-1,-1,4,4,-1,-1
+'month','INT',-1,-1,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
diff --git a/testdata/workloads/functional-query/queries/QueryTest/alter-table.test b/testdata/workloads/functional-query/queries/QueryTest/alter-table.test
index ac65d29..7f97eca 100644
--- a/testdata/workloads/functional-query/queries/QueryTest/alter-table.test
+++ b/testdata/workloads/functional-query/queries/QueryTest/alter-table.test
@@ -884,10 +884,10 @@ BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
 ---- QUERY
 show column stats $DATABASE2.mv2
 ---- RESULTS
-'x','INT',2,1,4,4
-'y','STRING',2,1,1,1
+'x','INT',2,1,4,4,-1,-1
+'y','STRING',2,1,1,1,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 drop table $DATABASE2.mv2
@@ -951,10 +951,10 @@ STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
 ---- QUERY
 show column stats $DATABASE2.mv2
 ---- RESULTS: VERIFY_IS_EQUAL_SORTED
-'x','INT',2,1,4,4
-'y','STRING',3,1,-1,-1
+'x','INT',2,1,4,4,-1,-1
+'y','STRING',3,1,-1,-1,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- HIVE_MAJOR_VERSION
 2
diff --git a/testdata/workloads/functional-query/queries/QueryTest/compute-stats-avro-catalog-v2.test b/testdata/workloads/functional-query/queries/QueryTest/compute-stats-avro-catalog-v2.test
index a411806..11c74f2 100644
--- a/testdata/workloads/functional-query/queries/QueryTest/compute-stats-avro-catalog-v2.test
+++ b/testdata/workloads/functional-query/queries/QueryTest/compute-stats-avro-catalog-v2.test
@@ -34,23 +34,23 @@ STRING, STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
 ---- QUERY
 show column stats avro_hive_alltypes
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'id','INT',0,0,4,4
-'bool_col','BOOLEAN',2,0,1,1
-'tinyint_col','INT',0,0,4,4
-'smallint_col','INT',0,0,4,4
-'int_col','INT',0,0,4,4
-'bigint_col','BIGINT',0,0,8,8
-'float_col','FLOAT',0,0,4,4
-'double_col','DOUBLE',0,0,8,8
-'date_string_col','STRING',0,0,0,0
-'string_col','STRING',0,0,0,0
-'timestamp_col','STRING',0,0,0,0
-'year','INT',0,0,4,4
-'month','INT',0,0,4,4
+'id','INT',0,0,4,4,-1,-1
+'bool_col','BOOLEAN',2,0,1,1,0,0
+'tinyint_col','INT',0,0,4,4,-1,-1
+'smallint_col','INT',0,0,4,4,-1,-1
+'int_col','INT',0,0,4,4,-1,-1
+'bigint_col','BIGINT',0,0,8,8,-1,-1
+'float_col','FLOAT',0,0,4,4,-1,-1
+'double_col','DOUBLE',0,0,8,8,-1,-1
+'date_string_col','STRING',0,0,0,0,-1,-1
+'string_col','STRING',0,0,0,0,-1,-1
+'timestamp_col','STRING',0,0,0,0,-1,-1
+'year','INT',0,0,4,4,-1,-1
+'month','INT',0,0,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 # Avro table with an extra column definition.
@@ -72,23 +72,23 @@ STRING, STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
 ---- QUERY
 show column stats avro_hive_alltypes_extra_coldef
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'id','INT',-1,-1,4,4
-'bool_col','BOOLEAN',-1,-1,1,1
-'tinyint_col','INT',-1,-1,4,4
-'smallint_col','INT',-1,-1,4,4
-'int_col','INT',-1,-1,4,4
-'bigint_col','BIGINT',-1,-1,8,8
-'float_col','FLOAT',-1,-1,4,4
-'double_col','DOUBLE',-1,-1,8,8
-'date_string_col','STRING',-1,-1,-1,-1
-'string_col','STRING',-1,-1,-1,-1
-'timestamp_col','STRING',-1,-1,-1,-1
-'year','INT',0,0,4,4
-'month','INT',0,0,4,4
+'id','INT',-1,-1,4,4,-1,-1
+'bool_col','BOOLEAN',-1,-1,1,1,-1,-1
+'tinyint_col','INT',-1,-1,4,4,-1,-1
+'smallint_col','INT',-1,-1,4,4,-1,-1
+'int_col','INT',-1,-1,4,4,-1,-1
+'bigint_col','BIGINT',-1,-1,8,8,-1,-1
+'float_col','FLOAT',-1,-1,4,4,-1,-1
+'double_col','DOUBLE',-1,-1,8,8,-1,-1
+'date_string_col','STRING',-1,-1,-1,-1,-1,-1
+'string_col','STRING',-1,-1,-1,-1,-1,-1
+'timestamp_col','STRING',-1,-1,-1,-1,-1,-1
+'year','INT',0,0,4,4,-1,-1
+'month','INT',0,0,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 # Avro table with missing two column definitions.
@@ -110,23 +110,23 @@ STRING, STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
 ---- QUERY
 show column stats avro_hive_alltypes_missing_coldef
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'bigint_col','BIGINT',-1,-1,8,8
-'bool_col','BOOLEAN',-1,-1,1,1
-'date_string_col','STRING',-1,-1,-1,-1
-'double_col','DOUBLE',-1,-1,8,8
-'float_col','FLOAT',-1,-1,4,4
-'id','INT',-1,-1,4,4
-'int_col','INT',-1,-1,4,4
-'month','INT',0,0,4,4
-'smallint_col','INT',-1,-1,4,4
-'string_col','STRING',-1,-1,-1,-1
-'timestamp_col','STRING',-1,-1,-1,-1
-'tinyint_col','INT',-1,-1,4,4
-'year','INT',0,0,4,4
+'bigint_col','BIGINT',-1,-1,8,8,-1,-1
+'bool_col','BOOLEAN',-1,-1,1,1,-1,-1
+'date_string_col','STRING',-1,-1,-1,-1,-1,-1
+'double_col','DOUBLE',-1,-1,8,8,-1,-1
+'float_col','FLOAT',-1,-1,4,4,-1,-1
+'id','INT',-1,-1,4,4,-1,-1
+'int_col','INT',-1,-1,4,4,-1,-1
+'month','INT',0,0,4,4,-1,-1
+'smallint_col','INT',-1,-1,4,4,-1,-1
+'string_col','STRING',-1,-1,-1,-1,-1,-1
+'timestamp_col','STRING',-1,-1,-1,-1,-1,-1
+'tinyint_col','INT',-1,-1,4,4,-1,-1
+'year','INT',0,0,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 # Avro table with one column definition having a different
@@ -149,23 +149,23 @@ STRING, STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
 ---- QUERY
 show column stats avro_hive_alltypes_type_mismatch
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'id','INT',0,0,4,4
-'bool_col','BOOLEAN',2,0,1,1
-'tinyint_col','INT',0,0,4,4
-'smallint_col','INT',0,0,4,4
-'int_col','INT',0,0,4,4
-'bigint_col','BIGINT',-1,-1,8,8
-'float_col','FLOAT',0,0,4,4
-'double_col','DOUBLE',0,0,8,8
-'date_string_col','STRING',0,0,0,0
-'string_col','STRING',0,0,0,0
-'timestamp_col','STRING',-1,-1,-1,-1
-'year','INT',0,0,4,4
-'month','INT',0,0,4,4
+'id','INT',0,0,4,4,-1,-1
+'bool_col','BOOLEAN',2,0,1,1,0,0
+'tinyint_col','INT',0,0,4,4,-1,-1
+'smallint_col','INT',0,0,4,4,-1,-1
+'int_col','INT',0,0,4,4,-1,-1
+'bigint_col','BIGINT',-1,-1,8,8,-1,-1
+'float_col','FLOAT',0,0,4,4,-1,-1
+'double_col','DOUBLE',0,0,8,8,-1,-1
+'date_string_col','STRING',0,0,0,0,-1,-1
+'string_col','STRING',0,0,0,0,-1,-1
+'timestamp_col','STRING',-1,-1,-1,-1,-1,-1
+'year','INT',0,0,4,4,-1,-1
+'month','INT',0,0,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 # Avro table without an Avro schema created by Hive.
@@ -188,23 +188,23 @@ STRING, STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
 ---- QUERY
 show column stats avro_hive_no_avro_schema
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'id','INT',0,0,4,4
-'bool_col','BOOLEAN',2,0,1,1
-'tinyint_col','INT',0,0,4,4
-'smallint_col','INT',0,0,4,4
-'int_col','INT',0,0,4,4
-'bigint_col','BIGINT',0,0,8,8
-'float_col','FLOAT',0,0,4,4
-'double_col','DOUBLE',0,0,8,8
-'date_string_col','STRING',0,0,0,0
-'string_col','STRING',0,0,0,0
-'timestamp_col','STRING',0,0,0,0
-'year','INT',0,0,4,4
-'month','INT',0,0,4,4
+'id','INT',0,0,4,4,-1,-1
+'bool_col','BOOLEAN',2,0,1,1,0,0
+'tinyint_col','INT',0,0,4,4,-1,-1
+'smallint_col','INT',0,0,4,4,-1,-1
+'int_col','INT',0,0,4,4,-1,-1
+'bigint_col','BIGINT',0,0,8,8,-1,-1
+'float_col','FLOAT',0,0,4,4,-1,-1
+'double_col','DOUBLE',0,0,8,8,-1,-1
+'date_string_col','STRING',0,0,0,0,-1,-1
+'string_col','STRING',0,0,0,0,-1,-1
+'timestamp_col','STRING',0,0,0,0,-1,-1
+'year','INT',0,0,4,4,-1,-1
+'month','INT',0,0,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 # Test Avro table created without any column definitions.
@@ -233,23 +233,23 @@ STRING, STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
 ---- QUERY
 show column stats avro_impala_alltypes_no_coldefs
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'id','INT',0,0,4,4
-'bool_col','BOOLEAN',2,0,1,1
-'tinyint_col','INT',0,0,4,4
-'smallint_col','INT',0,0,4,4
-'int_col','INT',0,0,4,4
-'bigint_col','BIGINT',0,0,8,8
-'float_col','FLOAT',0,0,4,4
-'double_col','DOUBLE',0,0,8,8
-'date_string_col','STRING',0,0,0,0
-'string_col','STRING',0,0,0,0
-'timestamp_col','STRING',0,0,0,0
-'year','INT',0,0,4,4
-'month','INT',0,0,4,4
+'id','INT',0,0,4,4,-1,-1
+'bool_col','BOOLEAN',2,0,1,1,0,0
+'tinyint_col','INT',0,0,4,4,-1,-1
+'smallint_col','INT',0,0,4,4,-1,-1
+'int_col','INT',0,0,4,4,-1,-1
+'bigint_col','BIGINT',0,0,8,8,-1,-1
+'float_col','FLOAT',0,0,4,4,-1,-1
+'double_col','DOUBLE',0,0,8,8,-1,-1
+'date_string_col','STRING',0,0,0,0,-1,-1
+'string_col','STRING',0,0,0,0,-1,-1
+'timestamp_col','STRING',0,0,0,0,-1,-1
+'year','INT',0,0,4,4,-1,-1
+'month','INT',0,0,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 # IMPALA-1104: Test computing stats on Avro tables created by Impala
@@ -282,23 +282,23 @@ STRING, STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
 ---- QUERY
 show column stats avro_impala_alltypes_bad_colname
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'id','INT',0,0,4,4
-'bool_col','BOOLEAN',2,0,1,1
-'tinyint_col','INT',0,0,4,4
-'smallint_col','INT',0,0,4,4
-'int_col','INT',0,0,4,4
-'bigint_col','BIGINT',0,0,8,8
-'float_col','FLOAT',0,0,4,4
-'double_col','DOUBLE',0,0,8,8
-'date_string_col','STRING',0,0,0,0
-'string_col','STRING',0,0,0,0
-'timestamp_col','STRING',0,0,0,0
-'year','INT',0,0,4,4
-'month','INT',0,0,4,4
+'id','INT',0,0,4,4,-1,-1
+'bool_col','BOOLEAN',2,0,1,1,0,0
+'tinyint_col','INT',0,0,4,4,-1,-1
+'smallint_col','INT',0,0,4,4,-1,-1
+'int_col','INT',0,0,4,4,-1,-1
+'bigint_col','BIGINT',0,0,8,8,-1,-1
+'float_col','FLOAT',0,0,4,4,-1,-1
+'double_col','DOUBLE',0,0,8,8,-1,-1
+'date_string_col','STRING',0,0,0,0,-1,-1
+'string_col','STRING',0,0,0,0,-1,-1
+'timestamp_col','STRING',0,0,0,0,-1,-1
+'year','INT',0,0,4,4,-1,-1
+'month','INT',0,0,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 # IMPALA-1104: Test computing stats on Avro tables created by Impala
@@ -331,23 +331,23 @@ STRING, STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
 ---- QUERY
 show column stats avro_impala_alltypes_bad_coltype
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'id','INT',0,0,4,4
-'bool_col','BOOLEAN',2,0,1,1
-'tinyint_col','INT',0,0,4,4
-'smallint_col','INT',0,0,4,4
-'int_col','INT',0,0,4,4
-'bigint_col','BIGINT',0,0,8,8
-'float_col','FLOAT',0,0,4,4
-'double_col','DOUBLE',0,0,8,8
-'date_string_col','STRING',0,0,0,0
-'string_col','STRING',0,0,0,0
-'timestamp_col','STRING',0,0,0,0
-'year','INT',0,0,4,4
-'month','INT',0,0,4,4
+'id','INT',0,0,4,4,-1,-1
+'bool_col','BOOLEAN',2,0,1,1,0,0
+'tinyint_col','INT',0,0,4,4,-1,-1
+'smallint_col','INT',0,0,4,4,-1,-1
+'int_col','INT',0,0,4,4,-1,-1
+'bigint_col','BIGINT',0,0,8,8,-1,-1
+'float_col','FLOAT',0,0,4,4,-1,-1
+'double_col','DOUBLE',0,0,8,8,-1,-1
+'date_string_col','STRING',0,0,0,0,-1,-1
+'string_col','STRING',0,0,0,0,-1,-1
+'timestamp_col','STRING',0,0,0,0,-1,-1
+'year','INT',0,0,4,4,-1,-1
+'month','INT',0,0,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 # Test that compute stats on a Hive-created Avro table without column defs
@@ -362,17 +362,17 @@ STRING
 ---- QUERY
 show column stats alltypes_no_coldef
 ---- RESULTS
-'id','INT',0,0,4,4
-'bool_col','BOOLEAN',2,0,1,1
-'tinyint_col','INT',0,0,4,4
-'smallint_col','INT',0,0,4,4
-'int_col','INT',0,0,4,4
-'bigint_col','BIGINT',0,0,8,8
-'float_col','FLOAT',0,0,4,4
-'double_col','DOUBLE',0,0,8,8
-'date_string_col','STRING',0,0,0,0
-'string_col','STRING',0,0,0,0
-'timestamp_col','STRING',0,0,0,0
+'id','INT',0,0,4,4,-1,-1
+'bool_col','BOOLEAN',2,0,1,1,0,0
+'tinyint_col','INT',0,0,4,4,-1,-1
+'smallint_col','INT',0,0,4,4,-1,-1
+'int_col','INT',0,0,4,4,-1,-1
+'bigint_col','BIGINT',0,0,8,8,-1,-1
+'float_col','FLOAT',0,0,4,4,-1,-1
+'double_col','DOUBLE',0,0,8,8,-1,-1
+'date_string_col','STRING',0,0,0,0,-1,-1
+'string_col','STRING',0,0,0,0,-1,-1
+'timestamp_col','STRING',0,0,0,0,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
diff --git a/testdata/workloads/functional-query/queries/QueryTest/compute-stats-avro.test b/testdata/workloads/functional-query/queries/QueryTest/compute-stats-avro.test
index 6052d57..2d6d190 100644
--- a/testdata/workloads/functional-query/queries/QueryTest/compute-stats-avro.test
+++ b/testdata/workloads/functional-query/queries/QueryTest/compute-stats-avro.test
@@ -34,23 +34,23 @@ STRING, STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
 ---- QUERY
 show column stats avro_hive_alltypes
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'id','INT',0,0,4,4
-'bool_col','BOOLEAN',2,0,1,1
-'tinyint_col','INT',0,0,4,4
-'smallint_col','INT',0,0,4,4
-'int_col','INT',0,0,4,4
-'bigint_col','BIGINT',0,0,8,8
-'float_col','FLOAT',0,0,4,4
-'double_col','DOUBLE',0,0,8,8
-'date_string_col','STRING',0,0,0,0
-'string_col','STRING',0,0,0,0
-'timestamp_col','STRING',0,0,0,0
-'year','INT',0,0,4,4
-'month','INT',0,0,4,4
+'id','INT',0,0,4,4,-1,-1
+'bool_col','BOOLEAN',2,0,1,1,0,0
+'tinyint_col','INT',0,0,4,4,-1,-1
+'smallint_col','INT',0,0,4,4,-1,-1
+'int_col','INT',0,0,4,4,-1,-1
+'bigint_col','BIGINT',0,0,8,8,-1,-1
+'float_col','FLOAT',0,0,4,4,-1,-1
+'double_col','DOUBLE',0,0,8,8,-1,-1
+'date_string_col','STRING',0,0,0,0,-1,-1
+'string_col','STRING',0,0,0,0,-1,-1
+'timestamp_col','STRING',0,0,0,0,-1,-1
+'year','INT',0,0,4,4,-1,-1
+'month','INT',0,0,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 # Avro table with an extra column definition.
@@ -72,24 +72,24 @@ STRING, STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
 ---- QUERY
 show column stats avro_hive_alltypes_extra_coldef
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'id','INT',0,0,4,4
-'bool_col','BOOLEAN',2,0,1,1
-'tinyint_col','TINYINT',0,0,1,1
-'smallint_col','SMALLINT',0,0,2,2
-'int_col','INT',0,0,4,4
-'bigint_col','BIGINT',0,0,8,8
-'float_col','FLOAT',0,0,4,4
-'double_col','DOUBLE',0,0,8,8
-'date_string_col','STRING',0,0,0,0
-'string_col','STRING',0,0,0,0
-'timestamp_col','TIMESTAMP',0,0,16,16
-'extra_col','STRING',0,0,0,0
-'year','INT',0,0,4,4
-'month','INT',0,0,4,4
+'id','INT',0,0,4,4,-1,-1
+'bool_col','BOOLEAN',2,0,1,1,0,0
+'tinyint_col','TINYINT',0,0,1,1,-1,-1
+'smallint_col','SMALLINT',0,0,2,2,-1,-1
+'int_col','INT',0,0,4,4,-1,-1
+'bigint_col','BIGINT',0,0,8,8,-1,-1
+'float_col','FLOAT',0,0,4,4,-1,-1
+'double_col','DOUBLE',0,0,8,8,-1,-1
+'date_string_col','STRING',0,0,0,0,-1,-1
+'string_col','STRING',0,0,0,0,-1,-1
+'timestamp_col','TIMESTAMP',0,0,16,16,-1,-1
+'extra_col','STRING',0,0,0,0,-1,-1
+'year','INT',0,0,4,4,-1,-1
+'month','INT',0,0,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 # Avro table with missing two column definitions.
@@ -111,21 +111,21 @@ STRING, STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
 ---- QUERY
 show column stats avro_hive_alltypes_missing_coldef
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'id','INT',0,0,4,4
-'bool_col','BOOLEAN',2,0,1,1
-'smallint_col','SMALLINT',0,0,2,2
-'int_col','INT',0,0,4,4
-'bigint_col','BIGINT',0,0,8,8
-'float_col','FLOAT',0,0,4,4
-'double_col','DOUBLE',0,0,8,8
-'date_string_col','STRING',0,0,0,0
-'string_col','STRING',0,0,0,0
-'year','INT',0,0,4,4
-'month','INT',0,0,4,4
+'id','INT',0,0,4,4,-1,-1
+'bool_col','BOOLEAN',2,0,1,1,0,0
+'smallint_col','SMALLINT',0,0,2,2,-1,-1
+'int_col','INT',0,0,4,4,-1,-1
+'bigint_col','BIGINT',0,0,8,8,-1,-1
+'float_col','FLOAT',0,0,4,4,-1,-1
+'double_col','DOUBLE',0,0,8,8,-1,-1
+'date_string_col','STRING',0,0,0,0,-1,-1
+'string_col','STRING',0,0,0,0,-1,-1
+'year','INT',0,0,4,4,-1,-1
+'month','INT',0,0,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 # Avro table with one column definition having a different
@@ -148,23 +148,23 @@ STRING, STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
 ---- QUERY
 show column stats avro_hive_alltypes_type_mismatch
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'id','INT',0,0,4,4
-'bool_col','BOOLEAN',2,0,1,1
-'tinyint_col','TINYINT',0,0,1,1
-'smallint_col','SMALLINT',0,0,2,2
-'int_col','INT',0,0,4,4
-'bigint_col','STRING',0,0,0,0
-'float_col','FLOAT',0,0,4,4
-'double_col','DOUBLE',0,0,8,8
-'date_string_col','STRING',0,0,0,0
-'string_col','STRING',0,0,0,0
-'timestamp_col','TIMESTAMP',0,0,16,16
-'year','INT',0,0,4,4
-'month','INT',0,0,4,4
+'id','INT',0,0,4,4,-1,-1
+'bool_col','BOOLEAN',2,0,1,1,0,0
+'tinyint_col','TINYINT',0,0,1,1,-1,-1
+'smallint_col','SMALLINT',0,0,2,2,-1,-1
+'int_col','INT',0,0,4,4,-1,-1
+'bigint_col','STRING',0,0,0,0,-1,-1
+'float_col','FLOAT',0,0,4,4,-1,-1
+'double_col','DOUBLE',0,0,8,8,-1,-1
+'date_string_col','STRING',0,0,0,0,-1,-1
+'string_col','STRING',0,0,0,0,-1,-1
+'timestamp_col','TIMESTAMP',0,0,16,16,-1,-1
+'year','INT',0,0,4,4,-1,-1
+'month','INT',0,0,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 # Avro table without an Avro schema created by Hive.
@@ -187,23 +187,23 @@ STRING, STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
 ---- QUERY
 show column stats avro_hive_no_avro_schema
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'id','INT',0,0,4,4
-'bool_col','BOOLEAN',2,0,1,1
-'tinyint_col','INT',0,0,4,4
-'smallint_col','INT',0,0,4,4
-'int_col','INT',0,0,4,4
-'bigint_col','BIGINT',0,0,8,8
-'float_col','FLOAT',0,0,4,4
-'double_col','DOUBLE',0,0,8,8
-'date_string_col','STRING',0,0,0,0
-'string_col','STRING',0,0,0,0
-'timestamp_col','STRING',0,0,0,0
-'year','INT',0,0,4,4
-'month','INT',0,0,4,4
+'id','INT',0,0,4,4,-1,-1
+'bool_col','BOOLEAN',2,0,1,1,0,0
+'tinyint_col','INT',0,0,4,4,-1,-1
+'smallint_col','INT',0,0,4,4,-1,-1
+'int_col','INT',0,0,4,4,-1,-1
+'bigint_col','BIGINT',0,0,8,8,-1,-1
+'float_col','FLOAT',0,0,4,4,-1,-1
+'double_col','DOUBLE',0,0,8,8,-1,-1
+'date_string_col','STRING',0,0,0,0,-1,-1
+'string_col','STRING',0,0,0,0,-1,-1
+'timestamp_col','STRING',0,0,0,0,-1,-1
+'year','INT',0,0,4,4,-1,-1
+'month','INT',0,0,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 # Test Avro table created without any column definitions.
@@ -232,23 +232,23 @@ STRING, STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
 ---- QUERY
 show column stats avro_impala_alltypes_no_coldefs
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'id','INT',0,0,4,4
-'bool_col','BOOLEAN',2,0,1,1
-'tinyint_col','INT',0,0,4,4
-'smallint_col','INT',0,0,4,4
-'int_col','INT',0,0,4,4
-'bigint_col','BIGINT',0,0,8,8
-'float_col','FLOAT',0,0,4,4
-'double_col','DOUBLE',0,0,8,8
-'date_string_col','STRING',0,0,0,0
-'string_col','STRING',0,0,0,0
-'timestamp_col','STRING',0,0,0,0
-'year','INT',0,0,4,4
-'month','INT',0,0,4,4
+'id','INT',0,0,4,4,-1,-1
+'bool_col','BOOLEAN',2,0,1,1,0,0
+'tinyint_col','INT',0,0,4,4,-1,-1
+'smallint_col','INT',0,0,4,4,-1,-1
+'int_col','INT',0,0,4,4,-1,-1
+'bigint_col','BIGINT',0,0,8,8,-1,-1
+'float_col','FLOAT',0,0,4,4,-1,-1
+'double_col','DOUBLE',0,0,8,8,-1,-1
+'date_string_col','STRING',0,0,0,0,-1,-1
+'string_col','STRING',0,0,0,0,-1,-1
+'timestamp_col','STRING',0,0,0,0,-1,-1
+'year','INT',0,0,4,4,-1,-1
+'month','INT',0,0,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 # IMPALA-1104: Test computing stats on Avro tables created by Impala
@@ -281,23 +281,23 @@ STRING, STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
 ---- QUERY
 show column stats avro_impala_alltypes_bad_colname
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'id','INT',0,0,4,4
-'bool_col','BOOLEAN',2,0,1,1
-'tinyint_col','INT',0,0,4,4
-'smallint_col','INT',0,0,4,4
-'int_col','INT',0,0,4,4
-'bigint_col','BIGINT',0,0,8,8
-'float_col','FLOAT',0,0,4,4
-'double_col','DOUBLE',0,0,8,8
-'date_string_col','STRING',0,0,0,0
-'string_col','STRING',0,0,0,0
-'timestamp_col','STRING',0,0,0,0
-'year','INT',0,0,4,4
-'month','INT',0,0,4,4
+'id','INT',0,0,4,4,-1,-1
+'bool_col','BOOLEAN',2,0,1,1,0,0
+'tinyint_col','INT',0,0,4,4,-1,-1
+'smallint_col','INT',0,0,4,4,-1,-1
+'int_col','INT',0,0,4,4,-1,-1
+'bigint_col','BIGINT',0,0,8,8,-1,-1
+'float_col','FLOAT',0,0,4,4,-1,-1
+'double_col','DOUBLE',0,0,8,8,-1,-1
+'date_string_col','STRING',0,0,0,0,-1,-1
+'string_col','STRING',0,0,0,0,-1,-1
+'timestamp_col','STRING',0,0,0,0,-1,-1
+'year','INT',0,0,4,4,-1,-1
+'month','INT',0,0,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 # IMPALA-1104: Test computing stats on Avro tables created by Impala
@@ -330,23 +330,23 @@ STRING, STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
 ---- QUERY
 show column stats avro_impala_alltypes_bad_coltype
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'id','INT',0,0,4,4
-'bool_col','BOOLEAN',2,0,1,1
-'tinyint_col','INT',0,0,4,4
-'smallint_col','INT',0,0,4,4
-'int_col','INT',0,0,4,4
-'bigint_col','BIGINT',0,0,8,8
-'float_col','FLOAT',0,0,4,4
-'double_col','DOUBLE',0,0,8,8
-'date_string_col','STRING',0,0,0,0
-'string_col','STRING',0,0,0,0
-'timestamp_col','STRING',0,0,0,0
-'year','INT',0,0,4,4
-'month','INT',0,0,4,4
+'id','INT',0,0,4,4,-1,-1
+'bool_col','BOOLEAN',2,0,1,1,0,0
+'tinyint_col','INT',0,0,4,4,-1,-1
+'smallint_col','INT',0,0,4,4,-1,-1
+'int_col','INT',0,0,4,4,-1,-1
+'bigint_col','BIGINT',0,0,8,8,-1,-1
+'float_col','FLOAT',0,0,4,4,-1,-1
+'double_col','DOUBLE',0,0,8,8,-1,-1
+'date_string_col','STRING',0,0,0,0,-1,-1
+'string_col','STRING',0,0,0,0,-1,-1
+'timestamp_col','STRING',0,0,0,0,-1,-1
+'year','INT',0,0,4,4,-1,-1
+'month','INT',0,0,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 # Test that compute stats on a Hive-created Avro table without column defs
@@ -361,17 +361,17 @@ STRING
 ---- QUERY
 show column stats alltypes_no_coldef
 ---- RESULTS
-'id','INT',0,0,4,4
-'bool_col','BOOLEAN',2,0,1,1
-'tinyint_col','INT',0,0,4,4
-'smallint_col','INT',0,0,4,4
-'int_col','INT',0,0,4,4
-'bigint_col','BIGINT',0,0,8,8
-'float_col','FLOAT',0,0,4,4
-'double_col','DOUBLE',0,0,8,8
-'date_string_col','STRING',0,0,0,0
-'string_col','STRING',0,0,0,0
-'timestamp_col','STRING',0,0,0,0
+'id','INT',0,0,4,4,-1,-1
+'bool_col','BOOLEAN',2,0,1,1,0,0
+'tinyint_col','INT',0,0,4,4,-1,-1
+'smallint_col','INT',0,0,4,4,-1,-1
+'int_col','INT',0,0,4,4,-1,-1
+'bigint_col','BIGINT',0,0,8,8,-1,-1
+'float_col','FLOAT',0,0,4,4,-1,-1
+'double_col','DOUBLE',0,0,8,8,-1,-1
+'date_string_col','STRING',0,0,0,0,-1,-1
+'string_col','STRING',0,0,0,0,-1,-1
+'timestamp_col','STRING',0,0,0,0,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
diff --git a/testdata/workloads/functional-query/queries/QueryTest/compute-stats-date.test b/testdata/workloads/functional-query/queries/QueryTest/compute-stats-date.test
index 5268d37..7abdb99 100644
--- a/testdata/workloads/functional-query/queries/QueryTest/compute-stats-date.test
+++ b/testdata/workloads/functional-query/queries/QueryTest/compute-stats-date.test
@@ -27,14 +27,14 @@ STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
 ---- QUERY
 show column stats date_tbl_copy;
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'d','DATE',0,22,4,4
-'date_part','DATE',4,0,4,4
-'date_col','DATE',16,2,4,4
-'id_col','INT',22,0,4,4
+'d','DATE',0,22,4,4,-1,-1
+'date_part','DATE',4,0,4,4,-1,-1
+'date_col','DATE',16,2,4,4,-1,-1
+'id_col','INT',22,0,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 # Removing a column shouldn't cause the stats to be dropped.
@@ -45,13 +45,13 @@ alter table date_tbl_copy drop column date_col;
 ---- QUERY
 show column stats date_tbl_copy;
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'d','DATE',0,22,4,4
-'id_col','INT',22,0,4,4
-'date_part','DATE',4,0,4,4
+'d','DATE',0,22,4,4,-1,-1
+'id_col','INT',22,0,4,4,-1,-1
+'date_part','DATE',4,0,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 # drop stats from this table
@@ -73,11 +73,11 @@ STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
 ---- QUERY
 show column stats date_tbl_copy;
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'d','DATE',-1,-1,4,4
-'id_col','INT',-1,-1,4,4
-'date_part','DATE',4,0,4,4
+'d','DATE',-1,-1,4,4,-1,-1
+'id_col','INT',-1,-1,4,4,-1,-1
+'date_part','DATE',4,0,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
diff --git a/testdata/workloads/functional-query/queries/QueryTest/compute-stats-decimal.test b/testdata/workloads/functional-query/queries/QueryTest/compute-stats-decimal.test
index e43ffea..ee0699a 100644
--- a/testdata/workloads/functional-query/queries/QueryTest/compute-stats-decimal.test
+++ b/testdata/workloads/functional-query/queries/QueryTest/compute-stats-decimal.test
@@ -23,16 +23,16 @@ STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
 ---- QUERY
 show column stats decimal_tbl
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'d1','DECIMAL(9,0)',4,0,4,4
-'d2','DECIMAL(10,0)',3,0,8,8
-'d3','DECIMAL(20,10)',5,0,16,16
-'d4','DECIMAL(38,38)',1,0,16,16
-'d5','DECIMAL(10,5)',5,0,8,8
-'d6','DECIMAL(9,0)',1,0,4,4
+'d1','DECIMAL(9,0)',4,0,4,4,-1,-1
+'d2','DECIMAL(10,0)',3,0,8,8,-1,-1
+'d3','DECIMAL(20,10)',5,0,16,16,-1,-1
+'d4','DECIMAL(38,38)',1,0,16,16,-1,-1
+'d5','DECIMAL(10,5)',5,0,8,8,-1,-1
+'d6','DECIMAL(9,0)',1,0,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 # test compute stats on a mixed-type parquet table
@@ -56,10 +56,10 @@ BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
 ---- QUERY
 show column stats mixed_types
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'a','INT',2,0,4,4
-'b','DECIMAL(10,0)',2,0,8,8
+'a','INT',2,0,4,4,-1,-1
+'b','DECIMAL(10,0)',2,0,8,8,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
\ No newline at end of file
diff --git a/testdata/workloads/functional-query/queries/QueryTest/compute-stats-incremental.test b/testdata/workloads/functional-query/queries/QueryTest/compute-stats-incremental.test
index ce80222..087ca2d 100644
--- a/testdata/workloads/functional-query/queries/QueryTest/compute-stats-incremental.test
+++ b/testdata/workloads/functional-query/queries/QueryTest/compute-stats-incremental.test
@@ -46,23 +46,23 @@ STRING, STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
 ---- QUERY
 show column stats alltypes_incremental
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'id','INT',7300,0,4,4
-'bool_col','BOOLEAN',2,0,1,1
-'tinyint_col','TINYINT',10,0,1,1
-'smallint_col','SMALLINT',10,0,2,2
-'int_col','INT',10,0,4,4
-'bigint_col','BIGINT',10,0,8,8
-'float_col','FLOAT',10,0,4,4
-'double_col','DOUBLE',10,0,8,8
-'date_string_col','STRING',736,0,8,8
-'string_col','STRING',10,0,1,1
-'timestamp_col','TIMESTAMP',7300,0,16,16
-'year','INT',2,0,4,4
-'month','INT',12,0,4,4
+'id','INT',7300,0,4,4,-1,-1
+'bool_col','BOOLEAN',2,0,1,1,3650,3650
+'tinyint_col','TINYINT',10,0,1,1,-1,-1
+'smallint_col','SMALLINT',10,0,2,2,-1,-1
+'int_col','INT',10,0,4,4,-1,-1
+'bigint_col','BIGINT',10,0,8,8,-1,-1
+'float_col','FLOAT',10,0,4,4,-1,-1
+'double_col','DOUBLE',10,0,8,8,-1,-1
+'date_string_col','STRING',736,0,8,8,-1,-1
+'string_col','STRING',10,0,1,1,-1,-1
+'timestamp_col','TIMESTAMP',7300,0,16,16,-1,-1
+'year','INT',2,0,4,4,-1,-1
+'month','INT',12,0,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 drop incremental stats alltypes_incremental partition(year=2010, month=12)
@@ -139,23 +139,23 @@ STRING, STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
 ---- QUERY
 show column stats alltypes_incremental
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'id','INT',7300,0,4,4
-'bool_col','BOOLEAN',2,0,1,1
-'tinyint_col','TINYINT',10,0,1,1
-'smallint_col','SMALLINT',10,0,2,2
-'int_col','INT',10,0,4,4
-'bigint_col','BIGINT',10,0,8,8
-'float_col','FLOAT',10,0,4,4
-'double_col','DOUBLE',10,0,8,8
-'date_string_col','STRING',736,0,8,8
-'string_col','STRING',10,0,1,1
-'timestamp_col','TIMESTAMP',7300,0,16,16
-'year','INT',2,0,4,4
-'month','INT',12,0,4,4
+'id','INT',7300,0,4,4,-1,-1
+'bool_col','BOOLEAN',2,0,1,1,3650,3650
+'tinyint_col','TINYINT',10,0,1,1,-1,-1
+'smallint_col','SMALLINT',10,0,2,2,-1,-1
+'int_col','INT',10,0,4,4,-1,-1
+'bigint_col','BIGINT',10,0,8,8,-1,-1
+'float_col','FLOAT',10,0,4,4,-1,-1
+'double_col','DOUBLE',10,0,8,8,-1,-1
+'date_string_col','STRING',736,0,8,8,-1,-1
+'string_col','STRING',10,0,1,1,-1,-1
+'timestamp_col','TIMESTAMP',7300,0,16,16,-1,-1
+'year','INT',2,0,4,4,-1,-1
+'month','INT',12,0,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 create table incremental_empty_partitioned (i int) partitioned by (j int);
@@ -240,23 +240,23 @@ STRING, STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
 ---- QUERY
 show column stats alltypes_incremental
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'id','INT',6990,0,4,4
-'bool_col','BOOLEAN',2,0,1,1
-'tinyint_col','TINYINT',10,0,1,1
-'smallint_col','SMALLINT',10,0,2,2
-'int_col','INT',10,0,4,4
-'bigint_col','BIGINT',10,0,8,8
-'float_col','FLOAT',10,0,4,4
-'double_col','DOUBLE',10,0,8,8
-'date_string_col','STRING',688,0,8,8
-'string_col','STRING',10,0,1,1
-'timestamp_col','TIMESTAMP',6990,0,16,16
-'year','INT',2,0,4,4
-'month','INT',12,0,4,4
+'id','INT',6990,0,4,4,-1,-1
+'bool_col','BOOLEAN',2,0,1,1,3495,3495
+'tinyint_col','TINYINT',10,0,1,1,-1,-1
+'smallint_col','SMALLINT',10,0,2,2,-1,-1
+'int_col','INT',10,0,4,4,-1,-1
+'bigint_col','BIGINT',10,0,8,8,-1,-1
+'float_col','FLOAT',10,0,4,4,-1,-1
+'double_col','DOUBLE',10,0,8,8,-1,-1
+'date_string_col','STRING',688,0,8,8,-1,-1
+'string_col','STRING',10,0,1,1,-1,-1
+'timestamp_col','TIMESTAMP',6990,0,16,16,-1,-1
+'year','INT',2,0,4,4,-1,-1
+'month','INT',12,0,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 # Drop and recompute incremental stats for general partition expressions
@@ -303,23 +303,23 @@ STRING, STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
 ---- QUERY
 show column stats alltypes_incremental
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'id','INT',7300,0,4,4
-'bool_col','BOOLEAN',2,0,1,1
-'tinyint_col','TINYINT',10,0,1,1
-'smallint_col','SMALLINT',10,0,2,2
-'int_col','INT',10,0,4,4
-'bigint_col','BIGINT',10,0,8,8
-'float_col','FLOAT',10,0,4,4
-'double_col','DOUBLE',10,0,8,8
-'date_string_col','STRING',736,0,8,8
-'string_col','STRING',10,0,1,1
-'timestamp_col','TIMESTAMP',7300,0,16,16
-'year','INT',2,0,4,4
-'month','INT',12,0,4,4
+'id','INT',7300,0,4,4,-1,-1
+'bool_col','BOOLEAN',2,0,1,1,3650,3650
+'tinyint_col','TINYINT',10,0,1,1,-1,-1
+'smallint_col','SMALLINT',10,0,2,2,-1,-1
+'int_col','INT',10,0,4,4,-1,-1
+'bigint_col','BIGINT',10,0,8,8,-1,-1
+'float_col','FLOAT',10,0,4,4,-1,-1
+'double_col','DOUBLE',10,0,8,8,-1,-1
+'date_string_col','STRING',736,0,8,8,-1,-1
+'string_col','STRING',10,0,1,1,-1,-1
+'timestamp_col','TIMESTAMP',7300,0,16,16,-1,-1
+'year','INT',2,0,4,4,-1,-1
+'month','INT',12,0,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 # Confirm that dropping stats drops incremental stats as well
@@ -544,20 +544,20 @@ STRING
 ---- QUERY
 show column stats chars_tbl
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'id','INT',2915,0,4,4
-'ch1','CHAR(1)',1,0,1,1
-'ch2','CHAR(8)',10,0,8,8
-'ch3','CHAR(20)',10,0,20,20
-'ts','TIMESTAMP',2871,0,16,16
-'vc1','VARCHAR(1)',1,0,1,1
-'vc2','VARCHAR(8)',10,0,8,8
-'vc3','VARCHAR(20)',10,0,8,8
-'year','CHAR(5)',1,0,5,5
-'day','VARCHAR(13)',3,1,-1,-1
+'id','INT',2915,0,4,4,-1,-1
+'ch1','CHAR(1)',1,0,1,1,-1,-1
+'ch2','CHAR(8)',10,0,8,8,-1,-1
+'ch3','CHAR(20)',10,0,20,20,-1,-1
+'ts','TIMESTAMP',2871,0,16,16,-1,-1
+'vc1','VARCHAR(1)',1,0,1,1,-1,-1
+'vc2','VARCHAR(8)',10,0,8,8,-1,-1
+'vc3','VARCHAR(20)',10,0,8,8,-1,-1
+'year','CHAR(5)',1,0,5,5,-1,-1
+'day','VARCHAR(13)',3,1,-1,-1,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 # Populate a new partition to verify the incremental stats update
@@ -574,20 +574,20 @@ STRING
 ---- QUERY
 show column stats chars_tbl
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
----- RESULTS
-'id','INT',2915,1,4,4
-'ch1','CHAR(1)',2,0,1,1
-'ch2','CHAR(8)',11,0,8,8
-'ch3','CHAR(20)',11,0,20,20
-'ts','TIMESTAMP',2871,1,16,16
-'vc1','VARCHAR(1)',2,0,1,1
-'vc2','VARCHAR(8)',11,0,8,7.99766731262207
-'vc3','VARCHAR(20)',11,0,8,7.99766731262207
-'year','CHAR(5)',2,0,5,5
-'day','VARCHAR(13)',4,1,-1,-1
----- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
+---- RESULTS
+'id','INT',2915,1,4,4,-1,-1
+'ch1','CHAR(1)',2,0,1,1,-1,-1
+'ch2','CHAR(8)',11,0,8,8,-1,-1
+'ch3','CHAR(20)',11,0,20,20,-1,-1
+'ts','TIMESTAMP',2871,1,16,16,-1,-1
+'vc1','VARCHAR(1)',2,0,1,1,-1,-1
+'vc2','VARCHAR(8)',11,0,8,7.99766731262207,-1,-1
+'vc3','VARCHAR(20)',11,0,8,7.99766731262207,-1,-1
+'year','CHAR(5)',2,0,5,5,-1,-1
+'day','VARCHAR(13)',4,1,-1,-1,-1,-1
+---- TYPES
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 # IMPALA-4854: Tests incremental computation in the presence of complex-typed columns.
diff --git a/testdata/workloads/functional-query/queries/QueryTest/compute-stats.test b/testdata/workloads/functional-query/queries/QueryTest/compute-stats.test
index ccee48f..c797181 100644
--- a/testdata/workloads/functional-query/queries/QueryTest/compute-stats.test
+++ b/testdata/workloads/functional-query/queries/QueryTest/compute-stats.test
@@ -48,23 +48,23 @@ STRING, STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
 ---- QUERY
 show column stats alltypes
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'id','INT',7300,0,4,4
-'bool_col','BOOLEAN',2,0,1,1
-'tinyint_col','TINYINT',10,0,1,1
-'smallint_col','SMALLINT',10,0,2,2
-'int_col','INT',10,0,4,4
-'bigint_col','BIGINT',10,0,8,8
-'float_col','FLOAT',10,0,4,4
-'double_col','DOUBLE',10,0,8,8
-'date_string_col','STRING',736,0,8,8
-'string_col','STRING',10,0,1,1
-'timestamp_col','TIMESTAMP',7300,0,16,16
-'year','INT',2,0,4,4
-'month','INT',12,0,4,4
+'id','INT',7300,0,4,4,-1,-1
+'bool_col','BOOLEAN',2,0,1,1,3650,3650
+'tinyint_col','TINYINT',10,0,1,1,-1,-1
+'smallint_col','SMALLINT',10,0,2,2,-1,-1
+'int_col','INT',10,0,4,4,-1,-1
+'bigint_col','BIGINT',10,0,8,8,-1,-1
+'float_col','FLOAT',10,0,4,4,-1,-1
+'double_col','DOUBLE',10,0,8,8,-1,-1
+'date_string_col','STRING',736,0,8,8,-1,-1
+'string_col','STRING',10,0,1,1,-1,-1
+'timestamp_col','TIMESTAMP',7300,0,16,16,-1,-1
+'year','INT',2,0,4,4,-1,-1
+'month','INT',12,0,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 # Adding a column shouldn't cause the stats to be dropped.
@@ -75,24 +75,24 @@ alter table alltypes add columns (new_col int)
 ---- QUERY
 show column stats alltypes
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'id','INT',7300,0,4,4
-'bool_col','BOOLEAN',2,0,1,1
-'tinyint_col','TINYINT',10,0,1,1
-'smallint_col','SMALLINT',10,0,2,2
-'int_col','INT',10,0,4,4
-'bigint_col','BIGINT',10,0,8,8
-'float_col','FLOAT',10,0,4,4
-'double_col','DOUBLE',10,0,8,8
-'date_string_col','STRING',736,0,8,8
-'string_col','STRING',10,0,1,1
-'timestamp_col','TIMESTAMP',7300,0,16,16
-'new_col','INT',-1,-1,4,4
-'year','INT',2,0,4,4
-'month','INT',12,0,4,4
+'id','INT',7300,0,4,4,-1,-1
+'bool_col','BOOLEAN',2,0,1,1,3650,3650
+'tinyint_col','TINYINT',10,0,1,1,-1,-1
+'smallint_col','SMALLINT',10,0,2,2,-1,-1
+'int_col','INT',10,0,4,4,-1,-1
+'bigint_col','BIGINT',10,0,8,8,-1,-1
+'float_col','FLOAT',10,0,4,4,-1,-1
+'double_col','DOUBLE',10,0,8,8,-1,-1
+'date_string_col','STRING',736,0,8,8,-1,-1
+'string_col','STRING',10,0,1,1,-1,-1
+'timestamp_col','TIMESTAMP',7300,0,16,16,-1,-1
+'new_col','INT',-1,-1,4,4,-1,-1
+'year','INT',2,0,4,4,-1,-1
+'month','INT',12,0,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 # Changing a column shouldn't cause the stats of other columns to be dropped.
@@ -105,24 +105,24 @@ alter table alltypes change new_col new_col2 int
 ---- QUERY
 show column stats alltypes
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'id','INT',7300,0,4,4
-'bool_col','BOOLEAN',2,0,1,1
-'tinyint_col','TINYINT',10,0,1,1
-'smallint_col','SMALLINT',10,0,2,2
-'int_col','INT',10,0,4,4
-'bigint_col','BIGINT',10,0,8,8
-'float_col','FLOAT',10,0,4,4
-'double_col','DOUBLE',10,0,8,8
-'date_string_col','STRING',736,0,8,8
-'string_col','STRING',10,0,1,1
-'timestamp_col','TIMESTAMP',7300,0,16,16
-'new_col2','INT',-1,-1,4,4
-'year','INT',2,0,4,4
-'month','INT',12,0,4,4
+'id','INT',7300,0,4,4,-1,-1
+'bool_col','BOOLEAN',2,0,1,1,3650,3650
+'tinyint_col','TINYINT',10,0,1,1,-1,-1
+'smallint_col','SMALLINT',10,0,2,2,-1,-1
+'int_col','INT',10,0,4,4,-1,-1
+'bigint_col','BIGINT',10,0,8,8,-1,-1
+'float_col','FLOAT',10,0,4,4,-1,-1
+'double_col','DOUBLE',10,0,8,8,-1,-1
+'date_string_col','STRING',736,0,8,8,-1,-1
+'string_col','STRING',10,0,1,1,-1,-1
+'timestamp_col','TIMESTAMP',7300,0,16,16,-1,-1
+'new_col2','INT',-1,-1,4,4,-1,-1
+'year','INT',2,0,4,4,-1,-1
+'month','INT',12,0,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 # Removing a column shouldn't cause the stats to be dropped.
@@ -133,23 +133,23 @@ alter table alltypes drop column new_col2
 ---- QUERY
 show column stats alltypes
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'id','INT',7300,0,4,4
-'bool_col','BOOLEAN',2,0,1,1
-'tinyint_col','TINYINT',10,0,1,1
-'smallint_col','SMALLINT',10,0,2,2
-'int_col','INT',10,0,4,4
-'bigint_col','BIGINT',10,0,8,8
-'float_col','FLOAT',10,0,4,4
-'double_col','DOUBLE',10,0,8,8
-'date_string_col','STRING',736,0,8,8
-'string_col','STRING',10,0,1,1
-'timestamp_col','TIMESTAMP',7300,0,16,16
-'year','INT',2,0,4,4
-'month','INT',12,0,4,4
+'id','INT',7300,0,4,4,-1,-1
+'bool_col','BOOLEAN',2,0,1,1,3650,3650
+'tinyint_col','TINYINT',10,0,1,1,-1,-1
+'smallint_col','SMALLINT',10,0,2,2,-1,-1
+'int_col','INT',10,0,4,4,-1,-1
+'bigint_col','BIGINT',10,0,8,8,-1,-1
+'float_col','FLOAT',10,0,4,4,-1,-1
+'double_col','DOUBLE',10,0,8,8,-1,-1
+'date_string_col','STRING',736,0,8,8,-1,-1
+'string_col','STRING',10,0,1,1,-1,-1
+'timestamp_col','TIMESTAMP',7300,0,16,16,-1,-1
+'year','INT',2,0,4,4,-1,-1
+'month','INT',12,0,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 # drop stats from this table
@@ -192,23 +192,23 @@ STRING, STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
 # Note - the NDV for partition columns is read from the table metadata.
 show column stats alltypes
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'id','INT',-1,-1,4,4
-'bool_col','BOOLEAN',-1,-1,1,1
-'tinyint_col','TINYINT',-1,-1,1,1
-'smallint_col','SMALLINT',-1,-1,2,2
-'int_col','INT',-1,-1,4,4
-'bigint_col','BIGINT',-1,-1,8,8
-'float_col','FLOAT',-1,-1,4,4
-'double_col','DOUBLE',-1,-1,8,8
-'date_string_col','STRING',-1,-1,-1,-1
-'string_col','STRING',-1,-1,-1,-1
-'timestamp_col','TIMESTAMP',-1,-1,16,16
-'year','INT',2,0,4,4
-'month','INT',12,0,4,4
+'id','INT',-1,-1,4,4,-1,-1
+'bool_col','BOOLEAN',-1,-1,1,1,-1,-1
+'tinyint_col','TINYINT',-1,-1,1,1,-1,-1
+'smallint_col','SMALLINT',-1,-1,2,2,-1,-1
+'int_col','INT',-1,-1,4,4,-1,-1
+'bigint_col','BIGINT',-1,-1,8,8,-1,-1
+'float_col','FLOAT',-1,-1,4,4,-1,-1
+'double_col','DOUBLE',-1,-1,8,8,-1,-1
+'date_string_col','STRING',-1,-1,-1,-1,-1,-1
+'string_col','STRING',-1,-1,-1,-1,-1,-1
+'timestamp_col','TIMESTAMP',-1,-1,16,16,-1,-1
+'year','INT',2,0,4,4,-1,-1
+'month','INT',12,0,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 # Restricts stats to a subset of columns.
@@ -259,23 +259,23 @@ STRING, STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
 ---- QUERY
 show column stats alltypes_for_coltest
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'id','INT',-1,-1,4,4
-'bool_col','BOOLEAN',-1,-1,1,1
-'tinyint_col','TINYINT',10,0,1,1
-'smallint_col','SMALLINT',-1,-1,2,2
-'int_col','INT',-1,-1,4,4
-'bigint_col','BIGINT',-1,-1,8,8
-'float_col','FLOAT',10,0,4,4
-'double_col','DOUBLE',-1,-1,8,8
-'date_string_col','STRING',-1,-1,-1,-1
-'string_col','STRING',-1,-1,-1,-1
-'timestamp_col','TIMESTAMP',-1,-1,16,16
-'year','INT',2,0,4,4
-'month','INT',12,0,4,4
+'id','INT',-1,-1,4,4,-1,-1
+'bool_col','BOOLEAN',-1,-1,1,1,-1,-1
+'tinyint_col','TINYINT',10,0,1,1,-1,-1
+'smallint_col','SMALLINT',-1,-1,2,2,-1,-1
+'int_col','INT',-1,-1,4,4,-1,-1
+'bigint_col','BIGINT',-1,-1,8,8,-1,-1
+'float_col','FLOAT',10,0,4,4,-1,-1
+'double_col','DOUBLE',-1,-1,8,8,-1,-1
+'date_string_col','STRING',-1,-1,-1,-1,-1,-1
+'string_col','STRING',-1,-1,-1,-1,-1,-1
+'timestamp_col','TIMESTAMP',-1,-1,16,16,-1,-1
+'year','INT',2,0,4,4,-1,-1
+'month','INT',12,0,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 # Computes only table statistics; no column statistics.
@@ -326,23 +326,23 @@ STRING, STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
 ---- QUERY
 show column stats alltypes_no_col_stats
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'id','INT',-1,-1,4,4
-'bool_col','BOOLEAN',-1,-1,1,1
-'tinyint_col','TINYINT',-1,-1,1,1
-'smallint_col','SMALLINT',-1,-1,2,2
-'int_col','INT',-1,-1,4,4
-'bigint_col','BIGINT',-1,-1,8,8
-'float_col','FLOAT',-1,-1,4,4
-'double_col','DOUBLE',-1,-1,8,8
-'date_string_col','STRING',-1,-1,-1,-1
-'string_col','STRING',-1,-1,-1,-1
-'timestamp_col','TIMESTAMP',-1,-1,16,16
-'year','INT',2,0,4,4
-'month','INT',12,0,4,4
+'id','INT',-1,-1,4,4,-1,-1
+'bool_col','BOOLEAN',-1,-1,1,1,-1,-1
+'tinyint_col','TINYINT',-1,-1,1,1,-1,-1
+'smallint_col','SMALLINT',-1,-1,2,2,-1,-1
+'int_col','INT',-1,-1,4,4,-1,-1
+'bigint_col','BIGINT',-1,-1,8,8,-1,-1
+'float_col','FLOAT',-1,-1,4,4,-1,-1
+'double_col','DOUBLE',-1,-1,8,8,-1,-1
+'date_string_col','STRING',-1,-1,-1,-1,-1,-1
+'string_col','STRING',-1,-1,-1,-1,-1,-1
+'timestamp_col','TIMESTAMP',-1,-1,16,16,-1,-1
+'year','INT',2,0,4,4,-1,-1
+'month','INT',12,0,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 # Add partitions with NULL values and check for stats.
@@ -353,23 +353,23 @@ alter table alltypes add partition (year=NULL, month=NULL)
 ---- QUERY
 show column stats alltypes
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'id','INT',-1,-1,4,4
-'bool_col','BOOLEAN',-1,-1,1,1
-'tinyint_col','TINYINT',-1,-1,1,1
-'smallint_col','SMALLINT',-1,-1,2,2
-'int_col','INT',-1,-1,4,4
-'bigint_col','BIGINT',-1,-1,8,8
-'float_col','FLOAT',-1,-1,4,4
-'double_col','DOUBLE',-1,-1,8,8
-'date_string_col','STRING',-1,-1,-1,-1
-'string_col','STRING',-1,-1,-1,-1
-'timestamp_col','TIMESTAMP',-1,-1,16,16
-'year','INT',3,1,4,4
-'month','INT',13,1,4,4
+'id','INT',-1,-1,4,4,-1,-1
+'bool_col','BOOLEAN',-1,-1,1,1,-1,-1
+'tinyint_col','TINYINT',-1,-1,1,1,-1,-1
+'smallint_col','SMALLINT',-1,-1,2,2,-1,-1
+'int_col','INT',-1,-1,4,4,-1,-1
+'bigint_col','BIGINT',-1,-1,8,8,-1,-1
+'float_col','FLOAT',-1,-1,4,4,-1,-1
+'double_col','DOUBLE',-1,-1,8,8,-1,-1
+'date_string_col','STRING',-1,-1,-1,-1,-1,-1
+'string_col','STRING',-1,-1,-1,-1,-1,-1
+'timestamp_col','TIMESTAMP',-1,-1,16,16,-1,-1
+'year','INT',3,1,4,4,-1,-1
+'month','INT',13,1,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 alter table alltypes add partition (year=2011, month=NULL)
@@ -379,23 +379,23 @@ alter table alltypes add partition (year=2011, month=NULL)
 ---- QUERY
 show column stats alltypes
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'id','INT',-1,-1,4,4
-'bool_col','BOOLEAN',-1,-1,1,1
-'tinyint_col','TINYINT',-1,-1,1,1
-'smallint_col','SMALLINT',-1,-1,2,2
-'int_col','INT',-1,-1,4,4
-'bigint_col','BIGINT',-1,-1,8,8
-'float_col','FLOAT',-1,-1,4,4
-'double_col','DOUBLE',-1,-1,8,8
-'date_string_col','STRING',-1,-1,-1,-1
-'string_col','STRING',-1,-1,-1,-1
-'timestamp_col','TIMESTAMP',-1,-1,16,16
-'year','INT',4,1,4,4
-'month','INT',13,2,4,4
+'id','INT',-1,-1,4,4,-1,-1
+'bool_col','BOOLEAN',-1,-1,1,1,-1,-1
+'tinyint_col','TINYINT',-1,-1,1,1,-1,-1
+'smallint_col','SMALLINT',-1,-1,2,2,-1,-1
+'int_col','INT',-1,-1,4,4,-1,-1
+'bigint_col','BIGINT',-1,-1,8,8,-1,-1
+'float_col','FLOAT',-1,-1,4,4,-1,-1
+'double_col','DOUBLE',-1,-1,8,8,-1,-1
+'date_string_col','STRING',-1,-1,-1,-1,-1,-1
+'string_col','STRING',-1,-1,-1,-1,-1,-1
+'timestamp_col','TIMESTAMP',-1,-1,16,16,-1,-1
+'year','INT',4,1,4,4,-1,-1
+'month','INT',13,2,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 # Drop the partitions with NULL values and check for stats.
@@ -406,23 +406,23 @@ alter table alltypes drop partition (year=NULL, month=NULL)
 ---- QUERY
 show column stats alltypes
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'id','INT',-1,-1,4,4
-'bool_col','BOOLEAN',-1,-1,1,1
-'tinyint_col','TINYINT',-1,-1,1,1
-'smallint_col','SMALLINT',-1,-1,2,2
-'int_col','INT',-1,-1,4,4
-'bigint_col','BIGINT',-1,-1,8,8
-'float_col','FLOAT',-1,-1,4,4
-'double_col','DOUBLE',-1,-1,8,8
-'date_string_col','STRING',-1,-1,-1,-1
-'string_col','STRING',-1,-1,-1,-1
-'timestamp_col','TIMESTAMP',-1,-1,16,16
-'year','INT',3,0,4,4
-'month','INT',13,1,4,4
+'id','INT',-1,-1,4,4,-1,-1
+'bool_col','BOOLEAN',-1,-1,1,1,-1,-1
+'tinyint_col','TINYINT',-1,-1,1,1,-1,-1
+'smallint_col','SMALLINT',-1,-1,2,2,-1,-1
+'int_col','INT',-1,-1,4,4,-1,-1
+'bigint_col','BIGINT',-1,-1,8,8,-1,-1
+'float_col','FLOAT',-1,-1,4,4,-1,-1
+'double_col','DOUBLE',-1,-1,8,8,-1,-1
+'date_string_col','STRING',-1,-1,-1,-1,-1,-1
+'string_col','STRING',-1,-1,-1,-1,-1,-1
+'timestamp_col','TIMESTAMP',-1,-1,16,16,-1,-1
+'year','INT',3,0,4,4,-1,-1
+'month','INT',13,1,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 alter table alltypes drop partition (year=2011, month=NULL)
@@ -432,23 +432,23 @@ alter table alltypes drop partition (year=2011, month=NULL)
 ---- QUERY
 show column stats alltypes
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'id','INT',-1,-1,4,4
-'bool_col','BOOLEAN',-1,-1,1,1
-'tinyint_col','TINYINT',-1,-1,1,1
-'smallint_col','SMALLINT',-1,-1,2,2
-'int_col','INT',-1,-1,4,4
-'bigint_col','BIGINT',-1,-1,8,8
-'float_col','FLOAT',-1,-1,4,4
-'double_col','DOUBLE',-1,-1,8,8
-'date_string_col','STRING',-1,-1,-1,-1
-'string_col','STRING',-1,-1,-1,-1
-'timestamp_col','TIMESTAMP',-1,-1,16,16
-'year','INT',2,0,4,4
-'month','INT',12,0,4,4
+'id','INT',-1,-1,4,4,-1,-1
+'bool_col','BOOLEAN',-1,-1,1,1,-1,-1
+'tinyint_col','TINYINT',-1,-1,1,1,-1,-1
+'smallint_col','SMALLINT',-1,-1,2,2,-1,-1
+'int_col','INT',-1,-1,4,4,-1,-1
+'bigint_col','BIGINT',-1,-1,8,8,-1,-1
+'float_col','FLOAT',-1,-1,4,4,-1,-1
+'double_col','DOUBLE',-1,-1,8,8,-1,-1
+'date_string_col','STRING',-1,-1,-1,-1,-1,-1
+'string_col','STRING',-1,-1,-1,-1,-1,-1
+'timestamp_col','TIMESTAMP',-1,-1,16,16,-1,-1
+'year','INT',2,0,4,4,-1,-1
+'month','INT',12,0,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 # drop stats from this table a second time, should not throw an error.
@@ -481,21 +481,21 @@ BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
 ---- QUERY
 show column stats alltypesnopart
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'id','INT',99,0,4,4
-'bool_col','BOOLEAN',2,0,1,1
-'tinyint_col','TINYINT',10,0,1,1
-'smallint_col','SMALLINT',10,0,2,2
-'int_col','INT',10,0,4,4
-'bigint_col','BIGINT',10,0,8,8
-'float_col','FLOAT',10,0,4,4
-'double_col','DOUBLE',10,0,8,8
-'date_string_col','STRING',12,0,8,8
-'string_col','STRING',10,0,1,1
-'timestamp_col','TIMESTAMP',100,0,16,16
+'id','INT',99,0,4,4,-1,-1
+'bool_col','BOOLEAN',2,0,1,1,50,50
+'tinyint_col','TINYINT',10,0,1,1,-1,-1
+'smallint_col','SMALLINT',10,0,2,2,-1,-1
+'int_col','INT',10,0,4,4,-1,-1
+'bigint_col','BIGINT',10,0,8,8,-1,-1
+'float_col','FLOAT',10,0,4,4,-1,-1
+'double_col','DOUBLE',10,0,8,8,-1,-1
+'date_string_col','STRING',12,0,8,8,-1,-1
+'string_col','STRING',10,0,1,1,-1,-1
+'timestamp_col','TIMESTAMP',100,0,16,16,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 # IMPALA-4767: Test that ALTER TABLE commands preserve table stats.
@@ -560,23 +560,23 @@ STRING, STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
 ---- QUERY
 show column stats alltypes_parquet
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'id','INT',7300,0,4,4
-'bool_col','BOOLEAN',2,0,1,1
-'tinyint_col','TINYINT',10,0,1,1
-'smallint_col','SMALLINT',10,0,2,2
-'int_col','INT',10,0,4,4
-'bigint_col','BIGINT',10,0,8,8
-'float_col','FLOAT',10,0,4,4
-'double_col','DOUBLE',10,0,8,8
-'date_string_col','STRING',736,0,8,8
-'string_col','STRING',10,0,1,1
-'timestamp_col','TIMESTAMP',7300,0,16,16
-'year','INT',2,0,4,4
-'month','INT',12,0,4,4
+'id','INT',7300,0,4,4,-1,-1
+'bool_col','BOOLEAN',2,0,1,1,3650,3650
+'tinyint_col','TINYINT',10,0,1,1,-1,-1
+'smallint_col','SMALLINT',10,0,2,2,-1,-1
+'int_col','INT',10,0,4,4,-1,-1
+'bigint_col','BIGINT',10,0,8,8,-1,-1
+'float_col','FLOAT',10,0,4,4,-1,-1
+'double_col','DOUBLE',10,0,8,8,-1,-1
+'date_string_col','STRING',736,0,8,8,-1,-1
+'string_col','STRING',10,0,1,1,-1,-1
+'timestamp_col','TIMESTAMP',7300,0,16,16,-1,-1
+'year','INT',2,0,4,4,-1,-1
+'month','INT',12,0,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 # IMPALA-4767: Test that ALTER TABLE commands preserve table stats.
@@ -638,23 +638,23 @@ STRING, STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
 ---- QUERY
 show column stats alltypes_empty
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'id','INT',0,0,4,4
-'bool_col','BOOLEAN',2,0,1,1
-'tinyint_col','TINYINT',0,0,1,1
-'smallint_col','SMALLINT',0,0,2,2
-'int_col','INT',0,0,4,4
-'bigint_col','BIGINT',0,0,8,8
-'float_col','FLOAT',0,0,4,4
-'double_col','DOUBLE',0,0,8,8
-'date_string_col','STRING',0,0,0,0
-'string_col','STRING',0,0,0,0
-'timestamp_col','TIMESTAMP',0,0,16,16
-'year','INT',0,0,4,4
-'month','INT',0,0,4,4
+'id','INT',0,0,4,4,-1,-1
+'bool_col','BOOLEAN',2,0,1,1,0,0
+'tinyint_col','TINYINT',0,0,1,1,-1,-1
+'smallint_col','SMALLINT',0,0,2,2,-1,-1
+'int_col','INT',0,0,4,4,-1,-1
+'bigint_col','BIGINT',0,0,8,8,-1,-1
+'float_col','FLOAT',0,0,4,4,-1,-1
+'double_col','DOUBLE',0,0,8,8,-1,-1
+'date_string_col','STRING',0,0,0,0,-1,-1
+'string_col','STRING',0,0,0,0,-1,-1
+'timestamp_col','TIMESTAMP',0,0,16,16,-1,-1
+'year','INT',0,0,4,4,-1,-1
+'month','INT',0,0,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 # IMPALA-883: Compute table stats for an empty partition.
@@ -789,20 +789,20 @@ STRING
 ---- QUERY
 show column stats chars_tbl
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'id','INT',2915,0,4,4
-'ch1','CHAR(1)',1,0,1,1
-'ch2','CHAR(8)',10,0,8,8
-'ch3','CHAR(20)',10,0,20,20
-'ts','TIMESTAMP',2871,0,16,16
-'vc1','VARCHAR(1)',1,0,1,1
-'vc2','VARCHAR(8)',10,0,8,8
-'vc3','VARCHAR(20)',10,0,8,8
-'year','CHAR(5)',1,0,5,5
-'day','VARCHAR(13)',3,1,-1,-1
+'id','INT',2915,0,4,4,-1,-1
+'ch1','CHAR(1)',1,0,1,1,-1,-1
+'ch2','CHAR(8)',10,0,8,8,-1,-1
+'ch3','CHAR(20)',10,0,20,20,-1,-1
+'ts','TIMESTAMP',2871,0,16,16,-1,-1
+'vc1','VARCHAR(1)',1,0,1,1,-1,-1
+'vc2','VARCHAR(8)',10,0,8,8,-1,-1
+'vc3','VARCHAR(20)',10,0,8,8,-1,-1
+'year','CHAR(5)',1,0,5,5,-1,-1
+'day','VARCHAR(13)',3,1,-1,-1,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 # Test that compute stats works on wide tables.
@@ -817,1008 +817,1008 @@ compute stats widetable_1000_cols
 ---- QUERY
 show column stats widetable_1000_cols
 ---- RESULTS
-'bool_col1','BOOLEAN',2,0,1,1
-'tinyint_col1','TINYINT',5,0,1,1
-'smallint_col1','SMALLINT',5,0,2,2
-'int_col1','INT',5,0,4,4
-'bigint_col1','BIGINT',5,0,8,8
-'float_col1','FLOAT',5,0,4,4
-'double_col1','DOUBLE',5,0,8,8
-'string_col1','STRING',5,0,1,1
-'bool_col2','BOOLEAN',2,0,1,1
-'tinyint_col2','TINYINT',5,0,1,1
-'smallint_col2','SMALLINT',5,0,2,2
-'int_col2','INT',5,0,4,4
-'bigint_col2','BIGINT',5,0,8,8
-'float_col2','FLOAT',5,0,4,4
-'double_col2','DOUBLE',5,0,8,8
-'string_col2','STRING',5,0,1,1
-'bool_col3','BOOLEAN',2,0,1,1
-'tinyint_col3','TINYINT',5,0,1,1
-'smallint_col3','SMALLINT',5,0,2,2
-'int_col3','INT',5,0,4,4
-'bigint_col3','BIGINT',5,0,8,8
-'float_col3','FLOAT',5,0,4,4
-'double_col3','DOUBLE',5,0,8,8
-'string_col3','STRING',5,0,1,1
-'bool_col4','BOOLEAN',2,0,1,1
-'tinyint_col4','TINYINT',5,0,1,1
-'smallint_col4','SMALLINT',5,0,2,2
-'int_col4','INT',5,0,4,4
-'bigint_col4','BIGINT',5,0,8,8
-'float_col4','FLOAT',5,0,4,4
-'double_col4','DOUBLE',5,0,8,8
-'string_col4','STRING',5,0,1,1
-'bool_col5','BOOLEAN',2,0,1,1
-'tinyint_col5','TINYINT',5,0,1,1
-'smallint_col5','SMALLINT',5,0,2,2
-'int_col5','INT',5,0,4,4
-'bigint_col5','BIGINT',5,0,8,8
-'float_col5','FLOAT',5,0,4,4
-'double_col5','DOUBLE',5,0,8,8
-'string_col5','STRING',5,0,1,1
-'bool_col6','BOOLEAN',2,0,1,1
-'tinyint_col6','TINYINT',5,0,1,1
-'smallint_col6','SMALLINT',5,0,2,2
-'int_col6','INT',5,0,4,4
-'bigint_col6','BIGINT',5,0,8,8
-'float_col6','FLOAT',5,0,4,4
-'double_col6','DOUBLE',5,0,8,8
-'string_col6','STRING',5,0,1,1
-'bool_col7','BOOLEAN',2,0,1,1
-'tinyint_col7','TINYINT',5,0,1,1
-'smallint_col7','SMALLINT',5,0,2,2
-'int_col7','INT',5,0,4,4
-'bigint_col7','BIGINT',5,0,8,8
-'float_col7','FLOAT',5,0,4,4
-'double_col7','DOUBLE',5,0,8,8
-'string_col7','STRING',5,0,1,1
-'bool_col8','BOOLEAN',2,0,1,1
-'tinyint_col8','TINYINT',5,0,1,1
-'smallint_col8','SMALLINT',5,0,2,2
-'int_col8','INT',5,0,4,4
-'bigint_col8','BIGINT',5,0,8,8
-'float_col8','FLOAT',5,0,4,4
-'double_col8','DOUBLE',5,0,8,8
-'string_col8','STRING',5,0,1,1
-'bool_col9','BOOLEAN',2,0,1,1
-'tinyint_col9','TINYINT',5,0,1,1
-'smallint_col9','SMALLINT',5,0,2,2
-'int_col9','INT',5,0,4,4
-'bigint_col9','BIGINT',5,0,8,8
-'float_col9','FLOAT',5,0,4,4
-'double_col9','DOUBLE',5,0,8,8
-'string_col9','STRING',5,0,1,1
-'bool_col10','BOOLEAN',2,0,1,1
-'tinyint_col10','TINYINT',5,0,1,1
-'smallint_col10','SMALLINT',5,0,2,2
-'int_col10','INT',5,0,4,4
-'bigint_col10','BIGINT',5,0,8,8
-'float_col10','FLOAT',5,0,4,4
-'double_col10','DOUBLE',5,0,8,8
-'string_col10','STRING',5,0,1,1
-'bool_col11','BOOLEAN',2,0,1,1
-'tinyint_col11','TINYINT',5,0,1,1
-'smallint_col11','SMALLINT',5,0,2,2
-'int_col11','INT',5,0,4,4
-'bigint_col11','BIGINT',5,0,8,8
-'float_col11','FLOAT',5,0,4,4
-'double_col11','DOUBLE',5,0,8,8
-'string_col11','STRING',5,0,1,1
-'bool_col12','BOOLEAN',2,0,1,1
-'tinyint_col12','TINYINT',5,0,1,1
-'smallint_col12','SMALLINT',5,0,2,2
-'int_col12','INT',5,0,4,4
-'bigint_col12','BIGINT',5,0,8,8
-'float_col12','FLOAT',5,0,4,4
-'double_col12','DOUBLE',5,0,8,8
-'string_col12','STRING',5,0,1,1
-'bool_col13','BOOLEAN',2,0,1,1
-'tinyint_col13','TINYINT',5,0,1,1
-'smallint_col13','SMALLINT',5,0,2,2
-'int_col13','INT',5,0,4,4
-'bigint_col13','BIGINT',5,0,8,8
-'float_col13','FLOAT',5,0,4,4
-'double_col13','DOUBLE',5,0,8,8
-'string_col13','STRING',5,0,1,1
-'bool_col14','BOOLEAN',2,0,1,1
-'tinyint_col14','TINYINT',5,0,1,1
-'smallint_col14','SMALLINT',5,0,2,2
-'int_col14','INT',5,0,4,4
-'bigint_col14','BIGINT',5,0,8,8
-'float_col14','FLOAT',5,0,4,4
-'double_col14','DOUBLE',5,0,8,8
-'string_col14','STRING',5,0,1,1
-'bool_col15','BOOLEAN',2,0,1,1
-'tinyint_col15','TINYINT',5,0,1,1
-'smallint_col15','SMALLINT',5,0,2,2
-'int_col15','INT',5,0,4,4
-'bigint_col15','BIGINT',5,0,8,8
-'float_col15','FLOAT',5,0,4,4
-'double_col15','DOUBLE',5,0,8,8
-'string_col15','STRING',5,0,1,1
-'bool_col16','BOOLEAN',2,0,1,1
-'tinyint_col16','TINYINT',5,0,1,1
-'smallint_col16','SMALLINT',5,0,2,2
-'int_col16','INT',5,0,4,4
-'bigint_col16','BIGINT',5,0,8,8
-'float_col16','FLOAT',5,0,4,4
-'double_col16','DOUBLE',5,0,8,8
-'string_col16','STRING',5,0,1,1
-'bool_col17','BOOLEAN',2,0,1,1
-'tinyint_col17','TINYINT',5,0,1,1
-'smallint_col17','SMALLINT',5,0,2,2
-'int_col17','INT',5,0,4,4
-'bigint_col17','BIGINT',5,0,8,8
-'float_col17','FLOAT',5,0,4,4
-'double_col17','DOUBLE',5,0,8,8
-'string_col17','STRING',5,0,1,1
-'bool_col18','BOOLEAN',2,0,1,1
-'tinyint_col18','TINYINT',5,0,1,1
-'smallint_col18','SMALLINT',5,0,2,2
-'int_col18','INT',5,0,4,4
-'bigint_col18','BIGINT',5,0,8,8
-'float_col18','FLOAT',5,0,4,4
-'double_col18','DOUBLE',5,0,8,8
-'string_col18','STRING',5,0,1,1
-'bool_col19','BOOLEAN',2,0,1,1
-'tinyint_col19','TINYINT',5,0,1,1
-'smallint_col19','SMALLINT',5,0,2,2
-'int_col19','INT',5,0,4,4
-'bigint_col19','BIGINT',5,0,8,8
-'float_col19','FLOAT',5,0,4,4
-'double_col19','DOUBLE',5,0,8,8
-'string_col19','STRING',5,0,1,1
-'bool_col20','BOOLEAN',2,0,1,1
-'tinyint_col20','TINYINT',5,0,1,1
-'smallint_col20','SMALLINT',5,0,2,2
-'int_col20','INT',5,0,4,4
-'bigint_col20','BIGINT',5,0,8,8
-'float_col20','FLOAT',5,0,4,4
-'double_col20','DOUBLE',5,0,8,8
-'string_col20','STRING',5,0,1,1
-'bool_col21','BOOLEAN',2,0,1,1
-'tinyint_col21','TINYINT',5,0,1,1
-'smallint_col21','SMALLINT',5,0,2,2
-'int_col21','INT',5,0,4,4
-'bigint_col21','BIGINT',5,0,8,8
-'float_col21','FLOAT',5,0,4,4
-'double_col21','DOUBLE',5,0,8,8
-'string_col21','STRING',5,0,1,1
-'bool_col22','BOOLEAN',2,0,1,1
-'tinyint_col22','TINYINT',5,0,1,1
-'smallint_col22','SMALLINT',5,0,2,2
-'int_col22','INT',5,0,4,4
-'bigint_col22','BIGINT',5,0,8,8
-'float_col22','FLOAT',5,0,4,4
-'double_col22','DOUBLE',5,0,8,8
-'string_col22','STRING',5,0,1,1
-'bool_col23','BOOLEAN',2,0,1,1
-'tinyint_col23','TINYINT',5,0,1,1
-'smallint_col23','SMALLINT',5,0,2,2
-'int_col23','INT',5,0,4,4
-'bigint_col23','BIGINT',5,0,8,8
-'float_col23','FLOAT',5,0,4,4
-'double_col23','DOUBLE',5,0,8,8
-'string_col23','STRING',5,0,1,1
-'bool_col24','BOOLEAN',2,0,1,1
-'tinyint_col24','TINYINT',5,0,1,1
-'smallint_col24','SMALLINT',5,0,2,2
-'int_col24','INT',5,0,4,4
-'bigint_col24','BIGINT',5,0,8,8
-'float_col24','FLOAT',5,0,4,4
-'double_col24','DOUBLE',5,0,8,8
-'string_col24','STRING',5,0,1,1
-'bool_col25','BOOLEAN',2,0,1,1
-'tinyint_col25','TINYINT',5,0,1,1
-'smallint_col25','SMALLINT',5,0,2,2
-'int_col25','INT',5,0,4,4
-'bigint_col25','BIGINT',5,0,8,8
-'float_col25','FLOAT',5,0,4,4
-'double_col25','DOUBLE',5,0,8,8
-'string_col25','STRING',5,0,1,1
-'bool_col26','BOOLEAN',2,0,1,1
-'tinyint_col26','TINYINT',5,0,1,1
-'smallint_col26','SMALLINT',5,0,2,2
-'int_col26','INT',5,0,4,4
-'bigint_col26','BIGINT',5,0,8,8
-'float_col26','FLOAT',5,0,4,4
-'double_col26','DOUBLE',5,0,8,8
-'string_col26','STRING',5,0,1,1
-'bool_col27','BOOLEAN',2,0,1,1
-'tinyint_col27','TINYINT',5,0,1,1
-'smallint_col27','SMALLINT',5,0,2,2
-'int_col27','INT',5,0,4,4
-'bigint_col27','BIGINT',5,0,8,8
-'float_col27','FLOAT',5,0,4,4
-'double_col27','DOUBLE',5,0,8,8
-'string_col27','STRING',5,0,1,1
-'bool_col28','BOOLEAN',2,0,1,1
-'tinyint_col28','TINYINT',5,0,1,1
-'smallint_col28','SMALLINT',5,0,2,2
-'int_col28','INT',5,0,4,4
-'bigint_col28','BIGINT',5,0,8,8
-'float_col28','FLOAT',5,0,4,4
-'double_col28','DOUBLE',5,0,8,8
-'string_col28','STRING',5,0,1,1
-'bool_col29','BOOLEAN',2,0,1,1
-'tinyint_col29','TINYINT',5,0,1,1
-'smallint_col29','SMALLINT',5,0,2,2
-'int_col29','INT',5,0,4,4
-'bigint_col29','BIGINT',5,0,8,8
-'float_col29','FLOAT',5,0,4,4
-'double_col29','DOUBLE',5,0,8,8
-'string_col29','STRING',5,0,1,1
-'bool_col30','BOOLEAN',2,0,1,1
-'tinyint_col30','TINYINT',5,0,1,1
-'smallint_col30','SMALLINT',5,0,2,2
-'int_col30','INT',5,0,4,4
-'bigint_col30','BIGINT',5,0,8,8
-'float_col30','FLOAT',5,0,4,4
-'double_col30','DOUBLE',5,0,8,8
-'string_col30','STRING',5,0,1,1
-'bool_col31','BOOLEAN',2,0,1,1
-'tinyint_col31','TINYINT',5,0,1,1
-'smallint_col31','SMALLINT',5,0,2,2
-'int_col31','INT',5,0,4,4
-'bigint_col31','BIGINT',5,0,8,8
-'float_col31','FLOAT',5,0,4,4
-'double_col31','DOUBLE',5,0,8,8
-'string_col31','STRING',5,0,1,1
-'bool_col32','BOOLEAN',2,0,1,1
-'tinyint_col32','TINYINT',5,0,1,1
-'smallint_col32','SMALLINT',5,0,2,2
-'int_col32','INT',5,0,4,4
-'bigint_col32','BIGINT',5,0,8,8
-'float_col32','FLOAT',5,0,4,4
-'double_col32','DOUBLE',5,0,8,8
-'string_col32','STRING',5,0,1,1
-'bool_col33','BOOLEAN',2,0,1,1
-'tinyint_col33','TINYINT',5,0,1,1
-'smallint_col33','SMALLINT',5,0,2,2
-'int_col33','INT',5,0,4,4
-'bigint_col33','BIGINT',5,0,8,8
-'float_col33','FLOAT',5,0,4,4
-'double_col33','DOUBLE',5,0,8,8
-'string_col33','STRING',5,0,1,1
-'bool_col34','BOOLEAN',2,0,1,1
-'tinyint_col34','TINYINT',5,0,1,1
-'smallint_col34','SMALLINT',5,0,2,2
-'int_col34','INT',5,0,4,4
-'bigint_col34','BIGINT',5,0,8,8
-'float_col34','FLOAT',5,0,4,4
-'double_col34','DOUBLE',5,0,8,8
-'string_col34','STRING',5,0,1,1
-'bool_col35','BOOLEAN',2,0,1,1
-'tinyint_col35','TINYINT',5,0,1,1
-'smallint_col35','SMALLINT',5,0,2,2
-'int_col35','INT',5,0,4,4
-'bigint_col35','BIGINT',5,0,8,8
-'float_col35','FLOAT',5,0,4,4
-'double_col35','DOUBLE',5,0,8,8
-'string_col35','STRING',5,0,1,1
-'bool_col36','BOOLEAN',2,0,1,1
-'tinyint_col36','TINYINT',5,0,1,1
-'smallint_col36','SMALLINT',5,0,2,2
-'int_col36','INT',5,0,4,4
-'bigint_col36','BIGINT',5,0,8,8
-'float_col36','FLOAT',5,0,4,4
-'double_col36','DOUBLE',5,0,8,8
-'string_col36','STRING',5,0,1,1
-'bool_col37','BOOLEAN',2,0,1,1
-'tinyint_col37','TINYINT',5,0,1,1
-'smallint_col37','SMALLINT',5,0,2,2
-'int_col37','INT',5,0,4,4
-'bigint_col37','BIGINT',5,0,8,8
-'float_col37','FLOAT',5,0,4,4
-'double_col37','DOUBLE',5,0,8,8
-'string_col37','STRING',5,0,1,1
-'bool_col38','BOOLEAN',2,0,1,1
-'tinyint_col38','TINYINT',5,0,1,1
-'smallint_col38','SMALLINT',5,0,2,2
-'int_col38','INT',5,0,4,4
-'bigint_col38','BIGINT',5,0,8,8
-'float_col38','FLOAT',5,0,4,4
-'double_col38','DOUBLE',5,0,8,8
-'string_col38','STRING',5,0,1,1
-'bool_col39','BOOLEAN',2,0,1,1
-'tinyint_col39','TINYINT',5,0,1,1
-'smallint_col39','SMALLINT',5,0,2,2
-'int_col39','INT',5,0,4,4
-'bigint_col39','BIGINT',5,0,8,8
-'float_col39','FLOAT',5,0,4,4
-'double_col39','DOUBLE',5,0,8,8
-'string_col39','STRING',5,0,1,1
-'bool_col40','BOOLEAN',2,0,1,1
-'tinyint_col40','TINYINT',5,0,1,1
-'smallint_col40','SMALLINT',5,0,2,2
-'int_col40','INT',5,0,4,4
-'bigint_col40','BIGINT',5,0,8,8
-'float_col40','FLOAT',5,0,4,4
-'double_col40','DOUBLE',5,0,8,8
-'string_col40','STRING',5,0,1,1
-'bool_col41','BOOLEAN',2,0,1,1
-'tinyint_col41','TINYINT',5,0,1,1
-'smallint_col41','SMALLINT',5,0,2,2
-'int_col41','INT',5,0,4,4
-'bigint_col41','BIGINT',5,0,8,8
-'float_col41','FLOAT',5,0,4,4
-'double_col41','DOUBLE',5,0,8,8
-'string_col41','STRING',5,0,1,1
-'bool_col42','BOOLEAN',2,0,1,1
-'tinyint_col42','TINYINT',5,0,1,1
-'smallint_col42','SMALLINT',5,0,2,2
-'int_col42','INT',5,0,4,4
-'bigint_col42','BIGINT',5,0,8,8
-'float_col42','FLOAT',5,0,4,4
-'double_col42','DOUBLE',5,0,8,8
-'string_col42','STRING',5,0,1,1
-'bool_col43','BOOLEAN',2,0,1,1
-'tinyint_col43','TINYINT',5,0,1,1
-'smallint_col43','SMALLINT',5,0,2,2
-'int_col43','INT',5,0,4,4
-'bigint_col43','BIGINT',5,0,8,8
-'float_col43','FLOAT',5,0,4,4
-'double_col43','DOUBLE',5,0,8,8
-'string_col43','STRING',5,0,1,1
-'bool_col44','BOOLEAN',2,0,1,1
-'tinyint_col44','TINYINT',5,0,1,1
-'smallint_col44','SMALLINT',5,0,2,2
-'int_col44','INT',5,0,4,4
-'bigint_col44','BIGINT',5,0,8,8
-'float_col44','FLOAT',5,0,4,4
-'double_col44','DOUBLE',5,0,8,8
-'string_col44','STRING',5,0,1,1
-'bool_col45','BOOLEAN',2,0,1,1
-'tinyint_col45','TINYINT',5,0,1,1
-'smallint_col45','SMALLINT',5,0,2,2
-'int_col45','INT',5,0,4,4
-'bigint_col45','BIGINT',5,0,8,8
-'float_col45','FLOAT',5,0,4,4
-'double_col45','DOUBLE',5,0,8,8
-'string_col45','STRING',5,0,1,1
-'bool_col46','BOOLEAN',2,0,1,1
-'tinyint_col46','TINYINT',5,0,1,1
-'smallint_col46','SMALLINT',5,0,2,2
-'int_col46','INT',5,0,4,4
-'bigint_col46','BIGINT',5,0,8,8
-'float_col46','FLOAT',5,0,4,4
-'double_col46','DOUBLE',5,0,8,8
-'string_col46','STRING',5,0,1,1
-'bool_col47','BOOLEAN',2,0,1,1
-'tinyint_col47','TINYINT',5,0,1,1
-'smallint_col47','SMALLINT',5,0,2,2
-'int_col47','INT',5,0,4,4
-'bigint_col47','BIGINT',5,0,8,8
-'float_col47','FLOAT',5,0,4,4
-'double_col47','DOUBLE',5,0,8,8
-'string_col47','STRING',5,0,1,1
-'bool_col48','BOOLEAN',2,0,1,1
-'tinyint_col48','TINYINT',5,0,1,1
-'smallint_col48','SMALLINT',5,0,2,2
-'int_col48','INT',5,0,4,4
-'bigint_col48','BIGINT',5,0,8,8
-'float_col48','FLOAT',5,0,4,4
-'double_col48','DOUBLE',5,0,8,8
-'string_col48','STRING',5,0,1,1
-'bool_col49','BOOLEAN',2,0,1,1
-'tinyint_col49','TINYINT',5,0,1,1
-'smallint_col49','SMALLINT',5,0,2,2
-'int_col49','INT',5,0,4,4
-'bigint_col49','BIGINT',5,0,8,8
-'float_col49','FLOAT',5,0,4,4
-'double_col49','DOUBLE',5,0,8,8
-'string_col49','STRING',5,0,1,1
-'bool_col50','BOOLEAN',2,0,1,1
-'tinyint_col50','TINYINT',5,0,1,1
-'smallint_col50','SMALLINT',5,0,2,2
-'int_col50','INT',5,0,4,4
-'bigint_col50','BIGINT',5,0,8,8
-'float_col50','FLOAT',5,0,4,4
-'double_col50','DOUBLE',5,0,8,8
-'string_col50','STRING',5,0,1,1
-'bool_col51','BOOLEAN',2,0,1,1
-'tinyint_col51','TINYINT',5,0,1,1
-'smallint_col51','SMALLINT',5,0,2,2
-'int_col51','INT',5,0,4,4
-'bigint_col51','BIGINT',5,0,8,8
-'float_col51','FLOAT',5,0,4,4
-'double_col51','DOUBLE',5,0,8,8
-'string_col51','STRING',5,0,1,1
-'bool_col52','BOOLEAN',2,0,1,1
-'tinyint_col52','TINYINT',5,0,1,1
-'smallint_col52','SMALLINT',5,0,2,2
-'int_col52','INT',5,0,4,4
-'bigint_col52','BIGINT',5,0,8,8
-'float_col52','FLOAT',5,0,4,4
-'double_col52','DOUBLE',5,0,8,8
-'string_col52','STRING',5,0,1,1
-'bool_col53','BOOLEAN',2,0,1,1
-'tinyint_col53','TINYINT',5,0,1,1
-'smallint_col53','SMALLINT',5,0,2,2
-'int_col53','INT',5,0,4,4
-'bigint_col53','BIGINT',5,0,8,8
-'float_col53','FLOAT',5,0,4,4
-'double_col53','DOUBLE',5,0,8,8
-'string_col53','STRING',5,0,1,1
-'bool_col54','BOOLEAN',2,0,1,1
-'tinyint_col54','TINYINT',5,0,1,1
-'smallint_col54','SMALLINT',5,0,2,2
-'int_col54','INT',5,0,4,4
-'bigint_col54','BIGINT',5,0,8,8
-'float_col54','FLOAT',5,0,4,4
-'double_col54','DOUBLE',5,0,8,8
-'string_col54','STRING',5,0,1,1
-'bool_col55','BOOLEAN',2,0,1,1
-'tinyint_col55','TINYINT',5,0,1,1
-'smallint_col55','SMALLINT',5,0,2,2
-'int_col55','INT',5,0,4,4
-'bigint_col55','BIGINT',5,0,8,8
-'float_col55','FLOAT',5,0,4,4
-'double_col55','DOUBLE',5,0,8,8
-'string_col55','STRING',5,0,1,1
-'bool_col56','BOOLEAN',2,0,1,1
-'tinyint_col56','TINYINT',5,0,1,1
-'smallint_col56','SMALLINT',5,0,2,2
-'int_col56','INT',5,0,4,4
-'bigint_col56','BIGINT',5,0,8,8
-'float_col56','FLOAT',5,0,4,4
-'double_col56','DOUBLE',5,0,8,8
-'string_col56','STRING',5,0,1,1
-'bool_col57','BOOLEAN',2,0,1,1
-'tinyint_col57','TINYINT',5,0,1,1
-'smallint_col57','SMALLINT',5,0,2,2
-'int_col57','INT',5,0,4,4
-'bigint_col57','BIGINT',5,0,8,8
-'float_col57','FLOAT',5,0,4,4
-'double_col57','DOUBLE',5,0,8,8
-'string_col57','STRING',5,0,1,1
-'bool_col58','BOOLEAN',2,0,1,1
-'tinyint_col58','TINYINT',5,0,1,1
-'smallint_col58','SMALLINT',5,0,2,2
-'int_col58','INT',5,0,4,4
-'bigint_col58','BIGINT',5,0,8,8
-'float_col58','FLOAT',5,0,4,4
-'double_col58','DOUBLE',5,0,8,8
-'string_col58','STRING',5,0,1,1
-'bool_col59','BOOLEAN',2,0,1,1
-'tinyint_col59','TINYINT',5,0,1,1
-'smallint_col59','SMALLINT',5,0,2,2
-'int_col59','INT',5,0,4,4
-'bigint_col59','BIGINT',5,0,8,8
-'float_col59','FLOAT',5,0,4,4
-'double_col59','DOUBLE',5,0,8,8
-'string_col59','STRING',5,0,1,1
-'bool_col60','BOOLEAN',2,0,1,1
-'tinyint_col60','TINYINT',5,0,1,1
-'smallint_col60','SMALLINT',5,0,2,2
-'int_col60','INT',5,0,4,4
-'bigint_col60','BIGINT',5,0,8,8
-'float_col60','FLOAT',5,0,4,4
-'double_col60','DOUBLE',5,0,8,8
-'string_col60','STRING',5,0,1,1
-'bool_col61','BOOLEAN',2,0,1,1
-'tinyint_col61','TINYINT',5,0,1,1
-'smallint_col61','SMALLINT',5,0,2,2
-'int_col61','INT',5,0,4,4
-'bigint_col61','BIGINT',5,0,8,8
-'float_col61','FLOAT',5,0,4,4
-'double_col61','DOUBLE',5,0,8,8
-'string_col61','STRING',5,0,1,1
-'bool_col62','BOOLEAN',2,0,1,1
-'tinyint_col62','TINYINT',5,0,1,1
-'smallint_col62','SMALLINT',5,0,2,2
-'int_col62','INT',5,0,4,4
-'bigint_col62','BIGINT',5,0,8,8
-'float_col62','FLOAT',5,0,4,4
-'double_col62','DOUBLE',5,0,8,8
-'string_col62','STRING',5,0,1,1
-'bool_col63','BOOLEAN',2,0,1,1
-'tinyint_col63','TINYINT',5,0,1,1
-'smallint_col63','SMALLINT',5,0,2,2
-'int_col63','INT',5,0,4,4
-'bigint_col63','BIGINT',5,0,8,8
-'float_col63','FLOAT',5,0,4,4
-'double_col63','DOUBLE',5,0,8,8
-'string_col63','STRING',5,0,1,1
-'bool_col64','BOOLEAN',2,0,1,1
-'tinyint_col64','TINYINT',5,0,1,1
-'smallint_col64','SMALLINT',5,0,2,2
-'int_col64','INT',5,0,4,4
-'bigint_col64','BIGINT',5,0,8,8
-'float_col64','FLOAT',5,0,4,4
-'double_col64','DOUBLE',5,0,8,8
-'string_col64','STRING',5,0,1,1
-'bool_col65','BOOLEAN',2,0,1,1
-'tinyint_col65','TINYINT',5,0,1,1
-'smallint_col65','SMALLINT',5,0,2,2
-'int_col65','INT',5,0,4,4
-'bigint_col65','BIGINT',5,0,8,8
-'float_col65','FLOAT',5,0,4,4
-'double_col65','DOUBLE',5,0,8,8
-'string_col65','STRING',5,0,1,1
-'bool_col66','BOOLEAN',2,0,1,1
-'tinyint_col66','TINYINT',5,0,1,1
-'smallint_col66','SMALLINT',5,0,2,2
-'int_col66','INT',5,0,4,4
-'bigint_col66','BIGINT',5,0,8,8
-'float_col66','FLOAT',5,0,4,4
-'double_col66','DOUBLE',5,0,8,8
-'string_col66','STRING',5,0,1,1
-'bool_col67','BOOLEAN',2,0,1,1
-'tinyint_col67','TINYINT',5,0,1,1
-'smallint_col67','SMALLINT',5,0,2,2
-'int_col67','INT',5,0,4,4
-'bigint_col67','BIGINT',5,0,8,8
-'float_col67','FLOAT',5,0,4,4
-'double_col67','DOUBLE',5,0,8,8
-'string_col67','STRING',5,0,1,1
-'bool_col68','BOOLEAN',2,0,1,1
-'tinyint_col68','TINYINT',5,0,1,1
-'smallint_col68','SMALLINT',5,0,2,2
-'int_col68','INT',5,0,4,4
-'bigint_col68','BIGINT',5,0,8,8
-'float_col68','FLOAT',5,0,4,4
-'double_col68','DOUBLE',5,0,8,8
-'string_col68','STRING',5,0,1,1
-'bool_col69','BOOLEAN',2,0,1,1
-'tinyint_col69','TINYINT',5,0,1,1
-'smallint_col69','SMALLINT',5,0,2,2
-'int_col69','INT',5,0,4,4
-'bigint_col69','BIGINT',5,0,8,8
-'float_col69','FLOAT',5,0,4,4
-'double_col69','DOUBLE',5,0,8,8
-'string_col69','STRING',5,0,1,1
-'bool_col70','BOOLEAN',2,0,1,1
-'tinyint_col70','TINYINT',5,0,1,1
-'smallint_col70','SMALLINT',5,0,2,2
-'int_col70','INT',5,0,4,4
-'bigint_col70','BIGINT',5,0,8,8
-'float_col70','FLOAT',5,0,4,4
-'double_col70','DOUBLE',5,0,8,8
-'string_col70','STRING',5,0,1,1
-'bool_col71','BOOLEAN',2,0,1,1
-'tinyint_col71','TINYINT',5,0,1,1
-'smallint_col71','SMALLINT',5,0,2,2
-'int_col71','INT',5,0,4,4
-'bigint_col71','BIGINT',5,0,8,8
-'float_col71','FLOAT',5,0,4,4
-'double_col71','DOUBLE',5,0,8,8
-'string_col71','STRING',5,0,1,1
-'bool_col72','BOOLEAN',2,0,1,1
-'tinyint_col72','TINYINT',5,0,1,1
-'smallint_col72','SMALLINT',5,0,2,2
-'int_col72','INT',5,0,4,4
-'bigint_col72','BIGINT',5,0,8,8
-'float_col72','FLOAT',5,0,4,4
-'double_col72','DOUBLE',5,0,8,8
-'string_col72','STRING',5,0,1,1
-'bool_col73','BOOLEAN',2,0,1,1
-'tinyint_col73','TINYINT',5,0,1,1
-'smallint_col73','SMALLINT',5,0,2,2
-'int_col73','INT',5,0,4,4
-'bigint_col73','BIGINT',5,0,8,8
-'float_col73','FLOAT',5,0,4,4
-'double_col73','DOUBLE',5,0,8,8
-'string_col73','STRING',5,0,1,1
-'bool_col74','BOOLEAN',2,0,1,1
-'tinyint_col74','TINYINT',5,0,1,1
-'smallint_col74','SMALLINT',5,0,2,2
-'int_col74','INT',5,0,4,4
-'bigint_col74','BIGINT',5,0,8,8
-'float_col74','FLOAT',5,0,4,4
-'double_col74','DOUBLE',5,0,8,8
-'string_col74','STRING',5,0,1,1
-'bool_col75','BOOLEAN',2,0,1,1
-'tinyint_col75','TINYINT',5,0,1,1
-'smallint_col75','SMALLINT',5,0,2,2
-'int_col75','INT',5,0,4,4
-'bigint_col75','BIGINT',5,0,8,8
-'float_col75','FLOAT',5,0,4,4
-'double_col75','DOUBLE',5,0,8,8
-'string_col75','STRING',5,0,1,1
-'bool_col76','BOOLEAN',2,0,1,1
-'tinyint_col76','TINYINT',5,0,1,1
-'smallint_col76','SMALLINT',5,0,2,2
-'int_col76','INT',5,0,4,4
-'bigint_col76','BIGINT',5,0,8,8
-'float_col76','FLOAT',5,0,4,4
-'double_col76','DOUBLE',5,0,8,8
-'string_col76','STRING',5,0,1,1
-'bool_col77','BOOLEAN',2,0,1,1
-'tinyint_col77','TINYINT',5,0,1,1
-'smallint_col77','SMALLINT',5,0,2,2
-'int_col77','INT',5,0,4,4
-'bigint_col77','BIGINT',5,0,8,8
-'float_col77','FLOAT',5,0,4,4
-'double_col77','DOUBLE',5,0,8,8
-'string_col77','STRING',5,0,1,1
-'bool_col78','BOOLEAN',2,0,1,1
-'tinyint_col78','TINYINT',5,0,1,1
-'smallint_col78','SMALLINT',5,0,2,2
-'int_col78','INT',5,0,4,4
-'bigint_col78','BIGINT',5,0,8,8
-'float_col78','FLOAT',5,0,4,4
-'double_col78','DOUBLE',5,0,8,8
-'string_col78','STRING',5,0,1,1
-'bool_col79','BOOLEAN',2,0,1,1
-'tinyint_col79','TINYINT',5,0,1,1
-'smallint_col79','SMALLINT',5,0,2,2
-'int_col79','INT',5,0,4,4
-'bigint_col79','BIGINT',5,0,8,8
-'float_col79','FLOAT',5,0,4,4
-'double_col79','DOUBLE',5,0,8,8
-'string_col79','STRING',5,0,1,1
-'bool_col80','BOOLEAN',2,0,1,1
-'tinyint_col80','TINYINT',5,0,1,1
-'smallint_col80','SMALLINT',5,0,2,2
-'int_col80','INT',5,0,4,4
-'bigint_col80','BIGINT',5,0,8,8
-'float_col80','FLOAT',5,0,4,4
-'double_col80','DOUBLE',5,0,8,8
-'string_col80','STRING',5,0,1,1
-'bool_col81','BOOLEAN',2,0,1,1
-'tinyint_col81','TINYINT',5,0,1,1
-'smallint_col81','SMALLINT',5,0,2,2
-'int_col81','INT',5,0,4,4
-'bigint_col81','BIGINT',5,0,8,8
-'float_col81','FLOAT',5,0,4,4
-'double_col81','DOUBLE',5,0,8,8
-'string_col81','STRING',5,0,1,1
-'bool_col82','BOOLEAN',2,0,1,1
-'tinyint_col82','TINYINT',5,0,1,1
-'smallint_col82','SMALLINT',5,0,2,2
-'int_col82','INT',5,0,4,4
-'bigint_col82','BIGINT',5,0,8,8
-'float_col82','FLOAT',5,0,4,4
-'double_col82','DOUBLE',5,0,8,8
-'string_col82','STRING',5,0,1,1
-'bool_col83','BOOLEAN',2,0,1,1
-'tinyint_col83','TINYINT',5,0,1,1
-'smallint_col83','SMALLINT',5,0,2,2
-'int_col83','INT',5,0,4,4
-'bigint_col83','BIGINT',5,0,8,8
-'float_col83','FLOAT',5,0,4,4
-'double_col83','DOUBLE',5,0,8,8
-'string_col83','STRING',5,0,1,1
-'bool_col84','BOOLEAN',2,0,1,1
-'tinyint_col84','TINYINT',5,0,1,1
-'smallint_col84','SMALLINT',5,0,2,2
-'int_col84','INT',5,0,4,4
-'bigint_col84','BIGINT',5,0,8,8
-'float_col84','FLOAT',5,0,4,4
-'double_col84','DOUBLE',5,0,8,8
-'string_col84','STRING',5,0,1,1
-'bool_col85','BOOLEAN',2,0,1,1
-'tinyint_col85','TINYINT',5,0,1,1
-'smallint_col85','SMALLINT',5,0,2,2
-'int_col85','INT',5,0,4,4
-'bigint_col85','BIGINT',5,0,8,8
-'float_col85','FLOAT',5,0,4,4
-'double_col85','DOUBLE',5,0,8,8
-'string_col85','STRING',5,0,1,1
-'bool_col86','BOOLEAN',2,0,1,1
-'tinyint_col86','TINYINT',5,0,1,1
-'smallint_col86','SMALLINT',5,0,2,2
-'int_col86','INT',5,0,4,4
-'bigint_col86','BIGINT',5,0,8,8
-'float_col86','FLOAT',5,0,4,4
-'double_col86','DOUBLE',5,0,8,8
-'string_col86','STRING',5,0,1,1
-'bool_col87','BOOLEAN',2,0,1,1
-'tinyint_col87','TINYINT',5,0,1,1
-'smallint_col87','SMALLINT',5,0,2,2
-'int_col87','INT',5,0,4,4
-'bigint_col87','BIGINT',5,0,8,8
-'float_col87','FLOAT',5,0,4,4
-'double_col87','DOUBLE',5,0,8,8
-'string_col87','STRING',5,0,1,1
-'bool_col88','BOOLEAN',2,0,1,1
-'tinyint_col88','TINYINT',5,0,1,1
-'smallint_col88','SMALLINT',5,0,2,2
-'int_col88','INT',5,0,4,4
-'bigint_col88','BIGINT',5,0,8,8
-'float_col88','FLOAT',5,0,4,4
-'double_col88','DOUBLE',5,0,8,8
-'string_col88','STRING',5,0,1,1
-'bool_col89','BOOLEAN',2,0,1,1
-'tinyint_col89','TINYINT',5,0,1,1
-'smallint_col89','SMALLINT',5,0,2,2
-'int_col89','INT',5,0,4,4
-'bigint_col89','BIGINT',5,0,8,8
-'float_col89','FLOAT',5,0,4,4
-'double_col89','DOUBLE',5,0,8,8
-'string_col89','STRING',5,0,1,1
-'bool_col90','BOOLEAN',2,0,1,1
-'tinyint_col90','TINYINT',5,0,1,1
-'smallint_col90','SMALLINT',5,0,2,2
-'int_col90','INT',5,0,4,4
-'bigint_col90','BIGINT',5,0,8,8
-'float_col90','FLOAT',5,0,4,4
-'double_col90','DOUBLE',5,0,8,8
-'string_col90','STRING',5,0,1,1
-'bool_col91','BOOLEAN',2,0,1,1
-'tinyint_col91','TINYINT',5,0,1,1
-'smallint_col91','SMALLINT',5,0,2,2
-'int_col91','INT',5,0,4,4
-'bigint_col91','BIGINT',5,0,8,8
-'float_col91','FLOAT',5,0,4,4
-'double_col91','DOUBLE',5,0,8,8
-'string_col91','STRING',5,0,1,1
-'bool_col92','BOOLEAN',2,0,1,1
-'tinyint_col92','TINYINT',5,0,1,1
-'smallint_col92','SMALLINT',5,0,2,2
-'int_col92','INT',5,0,4,4
-'bigint_col92','BIGINT',5,0,8,8
-'float_col92','FLOAT',5,0,4,4
-'double_col92','DOUBLE',5,0,8,8
-'string_col92','STRING',5,0,1,1
-'bool_col93','BOOLEAN',2,0,1,1
-'tinyint_col93','TINYINT',5,0,1,1
-'smallint_col93','SMALLINT',5,0,2,2
-'int_col93','INT',5,0,4,4
-'bigint_col93','BIGINT',5,0,8,8
-'float_col93','FLOAT',5,0,4,4
-'double_col93','DOUBLE',5,0,8,8
-'string_col93','STRING',5,0,1,1
-'bool_col94','BOOLEAN',2,0,1,1
-'tinyint_col94','TINYINT',5,0,1,1
-'smallint_col94','SMALLINT',5,0,2,2
-'int_col94','INT',5,0,4,4
-'bigint_col94','BIGINT',5,0,8,8
-'float_col94','FLOAT',5,0,4,4
-'double_col94','DOUBLE',5,0,8,8
-'string_col94','STRING',5,0,1,1
-'bool_col95','BOOLEAN',2,0,1,1
-'tinyint_col95','TINYINT',5,0,1,1
-'smallint_col95','SMALLINT',5,0,2,2
-'int_col95','INT',5,0,4,4
-'bigint_col95','BIGINT',5,0,8,8
-'float_col95','FLOAT',5,0,4,4
-'double_col95','DOUBLE',5,0,8,8
-'string_col95','STRING',5,0,1,1
-'bool_col96','BOOLEAN',2,0,1,1
-'tinyint_col96','TINYINT',5,0,1,1
-'smallint_col96','SMALLINT',5,0,2,2
-'int_col96','INT',5,0,4,4
-'bigint_col96','BIGINT',5,0,8,8
-'float_col96','FLOAT',5,0,4,4
-'double_col96','DOUBLE',5,0,8,8
-'string_col96','STRING',5,0,1,1
-'bool_col97','BOOLEAN',2,0,1,1
-'tinyint_col97','TINYINT',5,0,1,1
-'smallint_col97','SMALLINT',5,0,2,2
-'int_col97','INT',5,0,4,4
-'bigint_col97','BIGINT',5,0,8,8
-'float_col97','FLOAT',5,0,4,4
-'double_col97','DOUBLE',5,0,8,8
-'string_col97','STRING',5,0,1,1
-'bool_col98','BOOLEAN',2,0,1,1
-'tinyint_col98','TINYINT',5,0,1,1
-'smallint_col98','SMALLINT',5,0,2,2
-'int_col98','INT',5,0,4,4
-'bigint_col98','BIGINT',5,0,8,8
-'float_col98','FLOAT',5,0,4,4
-'double_col98','DOUBLE',5,0,8,8
-'string_col98','STRING',5,0,1,1
-'bool_col99','BOOLEAN',2,0,1,1
-'tinyint_col99','TINYINT',5,0,1,1
-'smallint_col99','SMALLINT',5,0,2,2
-'int_col99','INT',5,0,4,4
-'bigint_col99','BIGINT',5,0,8,8
-'float_col99','FLOAT',5,0,4,4
-'double_col99','DOUBLE',5,0,8,8
-'string_col99','STRING',5,0,1,1
-'bool_col100','BOOLEAN',2,0,1,1
-'tinyint_col100','TINYINT',5,0,1,1
-'smallint_col100','SMALLINT',5,0,2,2
-'int_col100','INT',5,0,4,4
-'bigint_col100','BIGINT',5,0,8,8
-'float_col100','FLOAT',5,0,4,4
-'double_col100','DOUBLE',5,0,8,8
-'string_col100','STRING',5,0,1,1
-'bool_col101','BOOLEAN',2,0,1,1
-'tinyint_col101','TINYINT',5,0,1,1
-'smallint_col101','SMALLINT',5,0,2,2
-'int_col101','INT',5,0,4,4
-'bigint_col101','BIGINT',5,0,8,8
-'float_col101','FLOAT',5,0,4,4
-'double_col101','DOUBLE',5,0,8,8
-'string_col101','STRING',5,0,1,1
-'bool_col102','BOOLEAN',2,0,1,1
-'tinyint_col102','TINYINT',5,0,1,1
-'smallint_col102','SMALLINT',5,0,2,2
-'int_col102','INT',5,0,4,4
-'bigint_col102','BIGINT',5,0,8,8
-'float_col102','FLOAT',5,0,4,4
-'double_col102','DOUBLE',5,0,8,8
-'string_col102','STRING',5,0,1,1
-'bool_col103','BOOLEAN',2,0,1,1
-'tinyint_col103','TINYINT',5,0,1,1
-'smallint_col103','SMALLINT',5,0,2,2
-'int_col103','INT',5,0,4,4
-'bigint_col103','BIGINT',5,0,8,8
-'float_col103','FLOAT',5,0,4,4
-'double_col103','DOUBLE',5,0,8,8
-'string_col103','STRING',5,0,1,1
-'bool_col104','BOOLEAN',2,0,1,1
-'tinyint_col104','TINYINT',5,0,1,1
-'smallint_col104','SMALLINT',5,0,2,2
-'int_col104','INT',5,0,4,4
-'bigint_col104','BIGINT',5,0,8,8
-'float_col104','FLOAT',5,0,4,4
-'double_col104','DOUBLE',5,0,8,8
-'string_col104','STRING',5,0,1,1
-'bool_col105','BOOLEAN',2,0,1,1
-'tinyint_col105','TINYINT',5,0,1,1
-'smallint_col105','SMALLINT',5,0,2,2
-'int_col105','INT',5,0,4,4
-'bigint_col105','BIGINT',5,0,8,8
-'float_col105','FLOAT',5,0,4,4
-'double_col105','DOUBLE',5,0,8,8
-'string_col105','STRING',5,0,1,1
-'bool_col106','BOOLEAN',2,0,1,1
-'tinyint_col106','TINYINT',5,0,1,1
-'smallint_col106','SMALLINT',5,0,2,2
-'int_col106','INT',5,0,4,4
-'bigint_col106','BIGINT',5,0,8,8
-'float_col106','FLOAT',5,0,4,4
-'double_col106','DOUBLE',5,0,8,8
-'string_col106','STRING',5,0,1,1
-'bool_col107','BOOLEAN',2,0,1,1
-'tinyint_col107','TINYINT',5,0,1,1
-'smallint_col107','SMALLINT',5,0,2,2
-'int_col107','INT',5,0,4,4
-'bigint_col107','BIGINT',5,0,8,8
-'float_col107','FLOAT',5,0,4,4
-'double_col107','DOUBLE',5,0,8,8
-'string_col107','STRING',5,0,1,1
-'bool_col108','BOOLEAN',2,0,1,1
-'tinyint_col108','TINYINT',5,0,1,1
-'smallint_col108','SMALLINT',5,0,2,2
-'int_col108','INT',5,0,4,4
-'bigint_col108','BIGINT',5,0,8,8
-'float_col108','FLOAT',5,0,4,4
-'double_col108','DOUBLE',5,0,8,8
-'string_col108','STRING',5,0,1,1
-'bool_col109','BOOLEAN',2,0,1,1
-'tinyint_col109','TINYINT',5,0,1,1
-'smallint_col109','SMALLINT',5,0,2,2
-'int_col109','INT',5,0,4,4
-'bigint_col109','BIGINT',5,0,8,8
-'float_col109','FLOAT',5,0,4,4
-'double_col109','DOUBLE',5,0,8,8
-'string_col109','STRING',5,0,1,1
-'bool_col110','BOOLEAN',2,0,1,1
-'tinyint_col110','TINYINT',5,0,1,1
-'smallint_col110','SMALLINT',5,0,2,2
-'int_col110','INT',5,0,4,4
-'bigint_col110','BIGINT',5,0,8,8
-'float_col110','FLOAT',5,0,4,4
-'double_col110','DOUBLE',5,0,8,8
-'string_col110','STRING',5,0,1,1
-'bool_col111','BOOLEAN',2,0,1,1
-'tinyint_col111','TINYINT',5,0,1,1
-'smallint_col111','SMALLINT',5,0,2,2
-'int_col111','INT',5,0,4,4
-'bigint_col111','BIGINT',5,0,8,8
-'float_col111','FLOAT',5,0,4,4
-'double_col111','DOUBLE',5,0,8,8
-'string_col111','STRING',5,0,1,1
-'bool_col112','BOOLEAN',2,0,1,1
-'tinyint_col112','TINYINT',5,0,1,1
-'smallint_col112','SMALLINT',5,0,2,2
-'int_col112','INT',5,0,4,4
-'bigint_col112','BIGINT',5,0,8,8
-'float_col112','FLOAT',5,0,4,4
-'double_col112','DOUBLE',5,0,8,8
-'string_col112','STRING',5,0,1,1
-'bool_col113','BOOLEAN',2,0,1,1
-'tinyint_col113','TINYINT',5,0,1,1
-'smallint_col113','SMALLINT',5,0,2,2
-'int_col113','INT',5,0,4,4
-'bigint_col113','BIGINT',5,0,8,8
-'float_col113','FLOAT',5,0,4,4
-'double_col113','DOUBLE',5,0,8,8
-'string_col113','STRING',5,0,1,1
-'bool_col114','BOOLEAN',2,0,1,1
-'tinyint_col114','TINYINT',5,0,1,1
-'smallint_col114','SMALLINT',5,0,2,2
-'int_col114','INT',5,0,4,4
-'bigint_col114','BIGINT',5,0,8,8
-'float_col114','FLOAT',5,0,4,4
-'double_col114','DOUBLE',5,0,8,8
-'string_col114','STRING',5,0,1,1
-'bool_col115','BOOLEAN',2,0,1,1
-'tinyint_col115','TINYINT',5,0,1,1
-'smallint_col115','SMALLINT',5,0,2,2
-'int_col115','INT',5,0,4,4
-'bigint_col115','BIGINT',5,0,8,8
-'float_col115','FLOAT',5,0,4,4
-'double_col115','DOUBLE',5,0,8,8
-'string_col115','STRING',5,0,1,1
-'bool_col116','BOOLEAN',2,0,1,1
-'tinyint_col116','TINYINT',5,0,1,1
-'smallint_col116','SMALLINT',5,0,2,2
-'int_col116','INT',5,0,4,4
-'bigint_col116','BIGINT',5,0,8,8
-'float_col116','FLOAT',5,0,4,4
-'double_col116','DOUBLE',5,0,8,8
-'string_col116','STRING',5,0,1,1
-'bool_col117','BOOLEAN',2,0,1,1
-'tinyint_col117','TINYINT',5,0,1,1
-'smallint_col117','SMALLINT',5,0,2,2
-'int_col117','INT',5,0,4,4
-'bigint_col117','BIGINT',5,0,8,8
-'float_col117','FLOAT',5,0,4,4
-'double_col117','DOUBLE',5,0,8,8
-'string_col117','STRING',5,0,1,1
-'bool_col118','BOOLEAN',2,0,1,1
-'tinyint_col118','TINYINT',5,0,1,1
-'smallint_col118','SMALLINT',5,0,2,2
-'int_col118','INT',5,0,4,4
-'bigint_col118','BIGINT',5,0,8,8
-'float_col118','FLOAT',5,0,4,4
-'double_col118','DOUBLE',5,0,8,8
-'string_col118','STRING',5,0,1,1
-'bool_col119','BOOLEAN',2,0,1,1
-'tinyint_col119','TINYINT',5,0,1,1
-'smallint_col119','SMALLINT',5,0,2,2
-'int_col119','INT',5,0,4,4
-'bigint_col119','BIGINT',5,0,8,8
-'float_col119','FLOAT',5,0,4,4
-'double_col119','DOUBLE',5,0,8,8
-'string_col119','STRING',5,0,1,1
-'bool_col120','BOOLEAN',2,0,1,1
-'tinyint_col120','TINYINT',5,0,1,1
-'smallint_col120','SMALLINT',5,0,2,2
-'int_col120','INT',5,0,4,4
-'bigint_col120','BIGINT',5,0,8,8
-'float_col120','FLOAT',5,0,4,4
-'double_col120','DOUBLE',5,0,8,8
-'string_col120','STRING',5,0,1,1
-'bool_col121','BOOLEAN',2,0,1,1
-'tinyint_col121','TINYINT',5,0,1,1
-'smallint_col121','SMALLINT',5,0,2,2
-'int_col121','INT',5,0,4,4
-'bigint_col121','BIGINT',5,0,8,8
-'float_col121','FLOAT',5,0,4,4
-'double_col121','DOUBLE',5,0,8,8
-'string_col121','STRING',5,0,1,1
-'bool_col122','BOOLEAN',2,0,1,1
-'tinyint_col122','TINYINT',5,0,1,1
-'smallint_col122','SMALLINT',5,0,2,2
-'int_col122','INT',5,0,4,4
-'bigint_col122','BIGINT',5,0,8,8
-'float_col122','FLOAT',5,0,4,4
-'double_col122','DOUBLE',5,0,8,8
-'string_col122','STRING',5,0,1,1
-'bool_col123','BOOLEAN',2,0,1,1
-'tinyint_col123','TINYINT',5,0,1,1
-'smallint_col123','SMALLINT',5,0,2,2
-'int_col123','INT',5,0,4,4
-'bigint_col123','BIGINT',5,0,8,8
-'float_col123','FLOAT',5,0,4,4
-'double_col123','DOUBLE',5,0,8,8
-'string_col123','STRING',5,0,1,1
-'bool_col124','BOOLEAN',2,0,1,1
-'tinyint_col124','TINYINT',5,0,1,1
-'smallint_col124','SMALLINT',5,0,2,2
-'int_col124','INT',5,0,4,4
-'bigint_col124','BIGINT',5,0,8,8
-'float_col124','FLOAT',5,0,4,4
-'double_col124','DOUBLE',5,0,8,8
-'string_col124','STRING',5,0,1,1
-'bool_col125','BOOLEAN',2,0,1,1
-'tinyint_col125','TINYINT',5,0,1,1
-'smallint_col125','SMALLINT',5,0,2,2
-'int_col125','INT',5,0,4,4
-'bigint_col125','BIGINT',5,0,8,8
-'float_col125','FLOAT',5,0,4,4
-'double_col125','DOUBLE',5,0,8,8
-'string_col125','STRING',5,0,1,1
+'bool_col1','BOOLEAN',2,0,1,1,5,5
+'tinyint_col1','TINYINT',5,0,1,1,-1,-1
+'smallint_col1','SMALLINT',5,0,2,2,-1,-1
+'int_col1','INT',5,0,4,4,-1,-1
+'bigint_col1','BIGINT',5,0,8,8,-1,-1
+'float_col1','FLOAT',5,0,4,4,-1,-1
+'double_col1','DOUBLE',5,0,8,8,-1,-1
+'string_col1','STRING',5,0,1,1,-1,-1
+'bool_col2','BOOLEAN',2,0,1,1,5,5
+'tinyint_col2','TINYINT',5,0,1,1,-1,-1
+'smallint_col2','SMALLINT',5,0,2,2,-1,-1
+'int_col2','INT',5,0,4,4,-1,-1
+'bigint_col2','BIGINT',5,0,8,8,-1,-1
+'float_col2','FLOAT',5,0,4,4,-1,-1
+'double_col2','DOUBLE',5,0,8,8,-1,-1
+'string_col2','STRING',5,0,1,1,-1,-1
+'bool_col3','BOOLEAN',2,0,1,1,5,5
+'tinyint_col3','TINYINT',5,0,1,1,-1,-1
+'smallint_col3','SMALLINT',5,0,2,2,-1,-1
+'int_col3','INT',5,0,4,4,-1,-1
+'bigint_col3','BIGINT',5,0,8,8,-1,-1
+'float_col3','FLOAT',5,0,4,4,-1,-1
+'double_col3','DOUBLE',5,0,8,8,-1,-1
+'string_col3','STRING',5,0,1,1,-1,-1
+'bool_col4','BOOLEAN',2,0,1,1,5,5
+'tinyint_col4','TINYINT',5,0,1,1,-1,-1
+'smallint_col4','SMALLINT',5,0,2,2,-1,-1
+'int_col4','INT',5,0,4,4,-1,-1
+'bigint_col4','BIGINT',5,0,8,8,-1,-1
+'float_col4','FLOAT',5,0,4,4,-1,-1
+'double_col4','DOUBLE',5,0,8,8,-1,-1
+'string_col4','STRING',5,0,1,1,-1,-1
+'bool_col5','BOOLEAN',2,0,1,1,5,5
+'tinyint_col5','TINYINT',5,0,1,1,-1,-1
+'smallint_col5','SMALLINT',5,0,2,2,-1,-1
+'int_col5','INT',5,0,4,4,-1,-1
+'bigint_col5','BIGINT',5,0,8,8,-1,-1
+'float_col5','FLOAT',5,0,4,4,-1,-1
+'double_col5','DOUBLE',5,0,8,8,-1,-1
+'string_col5','STRING',5,0,1,1,-1,-1
+'bool_col6','BOOLEAN',2,0,1,1,5,5
+'tinyint_col6','TINYINT',5,0,1,1,-1,-1
+'smallint_col6','SMALLINT',5,0,2,2,-1,-1
+'int_col6','INT',5,0,4,4,-1,-1
+'bigint_col6','BIGINT',5,0,8,8,-1,-1
+'float_col6','FLOAT',5,0,4,4,-1,-1
+'double_col6','DOUBLE',5,0,8,8,-1,-1
+'string_col6','STRING',5,0,1,1,-1,-1
+'bool_col7','BOOLEAN',2,0,1,1,5,5
+'tinyint_col7','TINYINT',5,0,1,1,-1,-1
+'smallint_col7','SMALLINT',5,0,2,2,-1,-1
+'int_col7','INT',5,0,4,4,-1,-1
+'bigint_col7','BIGINT',5,0,8,8,-1,-1
+'float_col7','FLOAT',5,0,4,4,-1,-1
+'double_col7','DOUBLE',5,0,8,8,-1,-1
+'string_col7','STRING',5,0,1,1,-1,-1
+'bool_col8','BOOLEAN',2,0,1,1,5,5
+'tinyint_col8','TINYINT',5,0,1,1,-1,-1
+'smallint_col8','SMALLINT',5,0,2,2,-1,-1
+'int_col8','INT',5,0,4,4,-1,-1
+'bigint_col8','BIGINT',5,0,8,8,-1,-1
+'float_col8','FLOAT',5,0,4,4,-1,-1
+'double_col8','DOUBLE',5,0,8,8,-1,-1
+'string_col8','STRING',5,0,1,1,-1,-1
+'bool_col9','BOOLEAN',2,0,1,1,5,5
+'tinyint_col9','TINYINT',5,0,1,1,-1,-1
+'smallint_col9','SMALLINT',5,0,2,2,-1,-1
+'int_col9','INT',5,0,4,4,-1,-1
+'bigint_col9','BIGINT',5,0,8,8,-1,-1
+'float_col9','FLOAT',5,0,4,4,-1,-1
+'double_col9','DOUBLE',5,0,8,8,-1,-1
+'string_col9','STRING',5,0,1,1,-1,-1
+'bool_col10','BOOLEAN',2,0,1,1,5,5
+'tinyint_col10','TINYINT',5,0,1,1,-1,-1
+'smallint_col10','SMALLINT',5,0,2,2,-1,-1
+'int_col10','INT',5,0,4,4,-1,-1
+'bigint_col10','BIGINT',5,0,8,8,-1,-1
+'float_col10','FLOAT',5,0,4,4,-1,-1
+'double_col10','DOUBLE',5,0,8,8,-1,-1
+'string_col10','STRING',5,0,1,1,-1,-1
+'bool_col11','BOOLEAN',2,0,1,1,5,5
+'tinyint_col11','TINYINT',5,0,1,1,-1,-1
+'smallint_col11','SMALLINT',5,0,2,2,-1,-1
+'int_col11','INT',5,0,4,4,-1,-1
+'bigint_col11','BIGINT',5,0,8,8,-1,-1
+'float_col11','FLOAT',5,0,4,4,-1,-1
+'double_col11','DOUBLE',5,0,8,8,-1,-1
+'string_col11','STRING',5,0,1,1,-1,-1
+'bool_col12','BOOLEAN',2,0,1,1,5,5
+'tinyint_col12','TINYINT',5,0,1,1,-1,-1
+'smallint_col12','SMALLINT',5,0,2,2,-1,-1
+'int_col12','INT',5,0,4,4,-1,-1
+'bigint_col12','BIGINT',5,0,8,8,-1,-1
+'float_col12','FLOAT',5,0,4,4,-1,-1
+'double_col12','DOUBLE',5,0,8,8,-1,-1
+'string_col12','STRING',5,0,1,1,-1,-1
+'bool_col13','BOOLEAN',2,0,1,1,5,5
+'tinyint_col13','TINYINT',5,0,1,1,-1,-1
+'smallint_col13','SMALLINT',5,0,2,2,-1,-1
+'int_col13','INT',5,0,4,4,-1,-1
+'bigint_col13','BIGINT',5,0,8,8,-1,-1
+'float_col13','FLOAT',5,0,4,4,-1,-1
+'double_col13','DOUBLE',5,0,8,8,-1,-1
+'string_col13','STRING',5,0,1,1,-1,-1
+'bool_col14','BOOLEAN',2,0,1,1,5,5
+'tinyint_col14','TINYINT',5,0,1,1,-1,-1
+'smallint_col14','SMALLINT',5,0,2,2,-1,-1
+'int_col14','INT',5,0,4,4,-1,-1
+'bigint_col14','BIGINT',5,0,8,8,-1,-1
+'float_col14','FLOAT',5,0,4,4,-1,-1
+'double_col14','DOUBLE',5,0,8,8,-1,-1
+'string_col14','STRING',5,0,1,1,-1,-1
+'bool_col15','BOOLEAN',2,0,1,1,5,5
+'tinyint_col15','TINYINT',5,0,1,1,-1,-1
+'smallint_col15','SMALLINT',5,0,2,2,-1,-1
+'int_col15','INT',5,0,4,4,-1,-1
+'bigint_col15','BIGINT',5,0,8,8,-1,-1
+'float_col15','FLOAT',5,0,4,4,-1,-1
+'double_col15','DOUBLE',5,0,8,8,-1,-1
+'string_col15','STRING',5,0,1,1,-1,-1
+'bool_col16','BOOLEAN',2,0,1,1,5,5
+'tinyint_col16','TINYINT',5,0,1,1,-1,-1
+'smallint_col16','SMALLINT',5,0,2,2,-1,-1
+'int_col16','INT',5,0,4,4,-1,-1
+'bigint_col16','BIGINT',5,0,8,8,-1,-1
+'float_col16','FLOAT',5,0,4,4,-1,-1
+'double_col16','DOUBLE',5,0,8,8,-1,-1
+'string_col16','STRING',5,0,1,1,-1,-1
+'bool_col17','BOOLEAN',2,0,1,1,5,5
+'tinyint_col17','TINYINT',5,0,1,1,-1,-1
+'smallint_col17','SMALLINT',5,0,2,2,-1,-1
+'int_col17','INT',5,0,4,4,-1,-1
+'bigint_col17','BIGINT',5,0,8,8,-1,-1
+'float_col17','FLOAT',5,0,4,4,-1,-1
+'double_col17','DOUBLE',5,0,8,8,-1,-1
+'string_col17','STRING',5,0,1,1,-1,-1
+'bool_col18','BOOLEAN',2,0,1,1,5,5
+'tinyint_col18','TINYINT',5,0,1,1,-1,-1
+'smallint_col18','SMALLINT',5,0,2,2,-1,-1
+'int_col18','INT',5,0,4,4,-1,-1
+'bigint_col18','BIGINT',5,0,8,8,-1,-1
+'float_col18','FLOAT',5,0,4,4,-1,-1
+'double_col18','DOUBLE',5,0,8,8,-1,-1
+'string_col18','STRING',5,0,1,1,-1,-1
+'bool_col19','BOOLEAN',2,0,1,1,5,5
+'tinyint_col19','TINYINT',5,0,1,1,-1,-1
+'smallint_col19','SMALLINT',5,0,2,2,-1,-1
+'int_col19','INT',5,0,4,4,-1,-1
+'bigint_col19','BIGINT',5,0,8,8,-1,-1
+'float_col19','FLOAT',5,0,4,4,-1,-1
+'double_col19','DOUBLE',5,0,8,8,-1,-1
+'string_col19','STRING',5,0,1,1,-1,-1
+'bool_col20','BOOLEAN',2,0,1,1,5,5
+'tinyint_col20','TINYINT',5,0,1,1,-1,-1
+'smallint_col20','SMALLINT',5,0,2,2,-1,-1
+'int_col20','INT',5,0,4,4,-1,-1
+'bigint_col20','BIGINT',5,0,8,8,-1,-1
+'float_col20','FLOAT',5,0,4,4,-1,-1
+'double_col20','DOUBLE',5,0,8,8,-1,-1
+'string_col20','STRING',5,0,1,1,-1,-1
+'bool_col21','BOOLEAN',2,0,1,1,5,5
+'tinyint_col21','TINYINT',5,0,1,1,-1,-1
+'smallint_col21','SMALLINT',5,0,2,2,-1,-1
+'int_col21','INT',5,0,4,4,-1,-1
+'bigint_col21','BIGINT',5,0,8,8,-1,-1
+'float_col21','FLOAT',5,0,4,4,-1,-1
+'double_col21','DOUBLE',5,0,8,8,-1,-1
+'string_col21','STRING',5,0,1,1,-1,-1
+'bool_col22','BOOLEAN',2,0,1,1,5,5
+'tinyint_col22','TINYINT',5,0,1,1,-1,-1
+'smallint_col22','SMALLINT',5,0,2,2,-1,-1
+'int_col22','INT',5,0,4,4,-1,-1
+'bigint_col22','BIGINT',5,0,8,8,-1,-1
+'float_col22','FLOAT',5,0,4,4,-1,-1
+'double_col22','DOUBLE',5,0,8,8,-1,-1
+'string_col22','STRING',5,0,1,1,-1,-1
+'bool_col23','BOOLEAN',2,0,1,1,5,5
+'tinyint_col23','TINYINT',5,0,1,1,-1,-1
+'smallint_col23','SMALLINT',5,0,2,2,-1,-1
+'int_col23','INT',5,0,4,4,-1,-1
+'bigint_col23','BIGINT',5,0,8,8,-1,-1
+'float_col23','FLOAT',5,0,4,4,-1,-1
+'double_col23','DOUBLE',5,0,8,8,-1,-1
+'string_col23','STRING',5,0,1,1,-1,-1
+'bool_col24','BOOLEAN',2,0,1,1,5,5
+'tinyint_col24','TINYINT',5,0,1,1,-1,-1
+'smallint_col24','SMALLINT',5,0,2,2,-1,-1
+'int_col24','INT',5,0,4,4,-1,-1
+'bigint_col24','BIGINT',5,0,8,8,-1,-1
+'float_col24','FLOAT',5,0,4,4,-1,-1
+'double_col24','DOUBLE',5,0,8,8,-1,-1
+'string_col24','STRING',5,0,1,1,-1,-1
+'bool_col25','BOOLEAN',2,0,1,1,5,5
+'tinyint_col25','TINYINT',5,0,1,1,-1,-1
+'smallint_col25','SMALLINT',5,0,2,2,-1,-1
+'int_col25','INT',5,0,4,4,-1,-1
+'bigint_col25','BIGINT',5,0,8,8,-1,-1
+'float_col25','FLOAT',5,0,4,4,-1,-1
+'double_col25','DOUBLE',5,0,8,8,-1,-1
+'string_col25','STRING',5,0,1,1,-1,-1
+'bool_col26','BOOLEAN',2,0,1,1,5,5
+'tinyint_col26','TINYINT',5,0,1,1,-1,-1
+'smallint_col26','SMALLINT',5,0,2,2,-1,-1
+'int_col26','INT',5,0,4,4,-1,-1
+'bigint_col26','BIGINT',5,0,8,8,-1,-1
+'float_col26','FLOAT',5,0,4,4,-1,-1
+'double_col26','DOUBLE',5,0,8,8,-1,-1
+'string_col26','STRING',5,0,1,1,-1,-1
+'bool_col27','BOOLEAN',2,0,1,1,5,5
+'tinyint_col27','TINYINT',5,0,1,1,-1,-1
+'smallint_col27','SMALLINT',5,0,2,2,-1,-1
+'int_col27','INT',5,0,4,4,-1,-1
+'bigint_col27','BIGINT',5,0,8,8,-1,-1
+'float_col27','FLOAT',5,0,4,4,-1,-1
+'double_col27','DOUBLE',5,0,8,8,-1,-1
+'string_col27','STRING',5,0,1,1,-1,-1
+'bool_col28','BOOLEAN',2,0,1,1,5,5
+'tinyint_col28','TINYINT',5,0,1,1,-1,-1
+'smallint_col28','SMALLINT',5,0,2,2,-1,-1
+'int_col28','INT',5,0,4,4,-1,-1
+'bigint_col28','BIGINT',5,0,8,8,-1,-1
+'float_col28','FLOAT',5,0,4,4,-1,-1
+'double_col28','DOUBLE',5,0,8,8,-1,-1
+'string_col28','STRING',5,0,1,1,-1,-1
+'bool_col29','BOOLEAN',2,0,1,1,5,5
+'tinyint_col29','TINYINT',5,0,1,1,-1,-1
+'smallint_col29','SMALLINT',5,0,2,2,-1,-1
+'int_col29','INT',5,0,4,4,-1,-1
+'bigint_col29','BIGINT',5,0,8,8,-1,-1
+'float_col29','FLOAT',5,0,4,4,-1,-1
+'double_col29','DOUBLE',5,0,8,8,-1,-1
+'string_col29','STRING',5,0,1,1,-1,-1
+'bool_col30','BOOLEAN',2,0,1,1,5,5
+'tinyint_col30','TINYINT',5,0,1,1,-1,-1
+'smallint_col30','SMALLINT',5,0,2,2,-1,-1
+'int_col30','INT',5,0,4,4,-1,-1
+'bigint_col30','BIGINT',5,0,8,8,-1,-1
+'float_col30','FLOAT',5,0,4,4,-1,-1
+'double_col30','DOUBLE',5,0,8,8,-1,-1
+'string_col30','STRING',5,0,1,1,-1,-1
+'bool_col31','BOOLEAN',2,0,1,1,5,5
+'tinyint_col31','TINYINT',5,0,1,1,-1,-1
+'smallint_col31','SMALLINT',5,0,2,2,-1,-1
+'int_col31','INT',5,0,4,4,-1,-1
+'bigint_col31','BIGINT',5,0,8,8,-1,-1
+'float_col31','FLOAT',5,0,4,4,-1,-1
+'double_col31','DOUBLE',5,0,8,8,-1,-1
+'string_col31','STRING',5,0,1,1,-1,-1
+'bool_col32','BOOLEAN',2,0,1,1,5,5
+'tinyint_col32','TINYINT',5,0,1,1,-1,-1
+'smallint_col32','SMALLINT',5,0,2,2,-1,-1
+'int_col32','INT',5,0,4,4,-1,-1
+'bigint_col32','BIGINT',5,0,8,8,-1,-1
+'float_col32','FLOAT',5,0,4,4,-1,-1
+'double_col32','DOUBLE',5,0,8,8,-1,-1
+'string_col32','STRING',5,0,1,1,-1,-1
+'bool_col33','BOOLEAN',2,0,1,1,5,5
+'tinyint_col33','TINYINT',5,0,1,1,-1,-1
+'smallint_col33','SMALLINT',5,0,2,2,-1,-1
+'int_col33','INT',5,0,4,4,-1,-1
+'bigint_col33','BIGINT',5,0,8,8,-1,-1
+'float_col33','FLOAT',5,0,4,4,-1,-1
+'double_col33','DOUBLE',5,0,8,8,-1,-1
+'string_col33','STRING',5,0,1,1,-1,-1
+'bool_col34','BOOLEAN',2,0,1,1,5,5
+'tinyint_col34','TINYINT',5,0,1,1,-1,-1
+'smallint_col34','SMALLINT',5,0,2,2,-1,-1
+'int_col34','INT',5,0,4,4,-1,-1
+'bigint_col34','BIGINT',5,0,8,8,-1,-1
+'float_col34','FLOAT',5,0,4,4,-1,-1
+'double_col34','DOUBLE',5,0,8,8,-1,-1
+'string_col34','STRING',5,0,1,1,-1,-1
+'bool_col35','BOOLEAN',2,0,1,1,5,5
+'tinyint_col35','TINYINT',5,0,1,1,-1,-1
+'smallint_col35','SMALLINT',5,0,2,2,-1,-1
+'int_col35','INT',5,0,4,4,-1,-1
+'bigint_col35','BIGINT',5,0,8,8,-1,-1
+'float_col35','FLOAT',5,0,4,4,-1,-1
+'double_col35','DOUBLE',5,0,8,8,-1,-1
+'string_col35','STRING',5,0,1,1,-1,-1
+'bool_col36','BOOLEAN',2,0,1,1,5,5
+'tinyint_col36','TINYINT',5,0,1,1,-1,-1
+'smallint_col36','SMALLINT',5,0,2,2,-1,-1
+'int_col36','INT',5,0,4,4,-1,-1
+'bigint_col36','BIGINT',5,0,8,8,-1,-1
+'float_col36','FLOAT',5,0,4,4,-1,-1
+'double_col36','DOUBLE',5,0,8,8,-1,-1
+'string_col36','STRING',5,0,1,1,-1,-1
+'bool_col37','BOOLEAN',2,0,1,1,5,5
+'tinyint_col37','TINYINT',5,0,1,1,-1,-1
+'smallint_col37','SMALLINT',5,0,2,2,-1,-1
+'int_col37','INT',5,0,4,4,-1,-1
+'bigint_col37','BIGINT',5,0,8,8,-1,-1
+'float_col37','FLOAT',5,0,4,4,-1,-1
+'double_col37','DOUBLE',5,0,8,8,-1,-1
+'string_col37','STRING',5,0,1,1,-1,-1
+'bool_col38','BOOLEAN',2,0,1,1,5,5
+'tinyint_col38','TINYINT',5,0,1,1,-1,-1
+'smallint_col38','SMALLINT',5,0,2,2,-1,-1
+'int_col38','INT',5,0,4,4,-1,-1
+'bigint_col38','BIGINT',5,0,8,8,-1,-1
+'float_col38','FLOAT',5,0,4,4,-1,-1
+'double_col38','DOUBLE',5,0,8,8,-1,-1
+'string_col38','STRING',5,0,1,1,-1,-1
+'bool_col39','BOOLEAN',2,0,1,1,5,5
+'tinyint_col39','TINYINT',5,0,1,1,-1,-1
+'smallint_col39','SMALLINT',5,0,2,2,-1,-1
+'int_col39','INT',5,0,4,4,-1,-1
+'bigint_col39','BIGINT',5,0,8,8,-1,-1
+'float_col39','FLOAT',5,0,4,4,-1,-1
+'double_col39','DOUBLE',5,0,8,8,-1,-1
+'string_col39','STRING',5,0,1,1,-1,-1
+'bool_col40','BOOLEAN',2,0,1,1,5,5
+'tinyint_col40','TINYINT',5,0,1,1,-1,-1
+'smallint_col40','SMALLINT',5,0,2,2,-1,-1
+'int_col40','INT',5,0,4,4,-1,-1
+'bigint_col40','BIGINT',5,0,8,8,-1,-1
+'float_col40','FLOAT',5,0,4,4,-1,-1
+'double_col40','DOUBLE',5,0,8,8,-1,-1
+'string_col40','STRING',5,0,1,1,-1,-1
+'bool_col41','BOOLEAN',2,0,1,1,5,5
+'tinyint_col41','TINYINT',5,0,1,1,-1,-1
+'smallint_col41','SMALLINT',5,0,2,2,-1,-1
+'int_col41','INT',5,0,4,4,-1,-1
+'bigint_col41','BIGINT',5,0,8,8,-1,-1
+'float_col41','FLOAT',5,0,4,4,-1,-1
+'double_col41','DOUBLE',5,0,8,8,-1,-1
+'string_col41','STRING',5,0,1,1,-1,-1
+'bool_col42','BOOLEAN',2,0,1,1,5,5
+'tinyint_col42','TINYINT',5,0,1,1,-1,-1
+'smallint_col42','SMALLINT',5,0,2,2,-1,-1
+'int_col42','INT',5,0,4,4,-1,-1
+'bigint_col42','BIGINT',5,0,8,8,-1,-1
+'float_col42','FLOAT',5,0,4,4,-1,-1
+'double_col42','DOUBLE',5,0,8,8,-1,-1
+'string_col42','STRING',5,0,1,1,-1,-1
+'bool_col43','BOOLEAN',2,0,1,1,5,5
+'tinyint_col43','TINYINT',5,0,1,1,-1,-1
+'smallint_col43','SMALLINT',5,0,2,2,-1,-1
+'int_col43','INT',5,0,4,4,-1,-1
+'bigint_col43','BIGINT',5,0,8,8,-1,-1
+'float_col43','FLOAT',5,0,4,4,-1,-1
+'double_col43','DOUBLE',5,0,8,8,-1,-1
+'string_col43','STRING',5,0,1,1,-1,-1
+'bool_col44','BOOLEAN',2,0,1,1,5,5
+'tinyint_col44','TINYINT',5,0,1,1,-1,-1
+'smallint_col44','SMALLINT',5,0,2,2,-1,-1
+'int_col44','INT',5,0,4,4,-1,-1
+'bigint_col44','BIGINT',5,0,8,8,-1,-1
+'float_col44','FLOAT',5,0,4,4,-1,-1
+'double_col44','DOUBLE',5,0,8,8,-1,-1
+'string_col44','STRING',5,0,1,1,-1,-1
+'bool_col45','BOOLEAN',2,0,1,1,5,5
+'tinyint_col45','TINYINT',5,0,1,1,-1,-1
+'smallint_col45','SMALLINT',5,0,2,2,-1,-1
+'int_col45','INT',5,0,4,4,-1,-1
+'bigint_col45','BIGINT',5,0,8,8,-1,-1
+'float_col45','FLOAT',5,0,4,4,-1,-1
+'double_col45','DOUBLE',5,0,8,8,-1,-1
+'string_col45','STRING',5,0,1,1,-1,-1
+'bool_col46','BOOLEAN',2,0,1,1,5,5
+'tinyint_col46','TINYINT',5,0,1,1,-1,-1
+'smallint_col46','SMALLINT',5,0,2,2,-1,-1
+'int_col46','INT',5,0,4,4,-1,-1
+'bigint_col46','BIGINT',5,0,8,8,-1,-1
+'float_col46','FLOAT',5,0,4,4,-1,-1
+'double_col46','DOUBLE',5,0,8,8,-1,-1
+'string_col46','STRING',5,0,1,1,-1,-1
+'bool_col47','BOOLEAN',2,0,1,1,5,5
+'tinyint_col47','TINYINT',5,0,1,1,-1,-1
+'smallint_col47','SMALLINT',5,0,2,2,-1,-1
+'int_col47','INT',5,0,4,4,-1,-1
+'bigint_col47','BIGINT',5,0,8,8,-1,-1
+'float_col47','FLOAT',5,0,4,4,-1,-1
+'double_col47','DOUBLE',5,0,8,8,-1,-1
+'string_col47','STRING',5,0,1,1,-1,-1
+'bool_col48','BOOLEAN',2,0,1,1,5,5
+'tinyint_col48','TINYINT',5,0,1,1,-1,-1
+'smallint_col48','SMALLINT',5,0,2,2,-1,-1
+'int_col48','INT',5,0,4,4,-1,-1
+'bigint_col48','BIGINT',5,0,8,8,-1,-1
+'float_col48','FLOAT',5,0,4,4,-1,-1
+'double_col48','DOUBLE',5,0,8,8,-1,-1
+'string_col48','STRING',5,0,1,1,-1,-1
+'bool_col49','BOOLEAN',2,0,1,1,5,5
+'tinyint_col49','TINYINT',5,0,1,1,-1,-1
+'smallint_col49','SMALLINT',5,0,2,2,-1,-1
+'int_col49','INT',5,0,4,4,-1,-1
+'bigint_col49','BIGINT',5,0,8,8,-1,-1
+'float_col49','FLOAT',5,0,4,4,-1,-1
+'double_col49','DOUBLE',5,0,8,8,-1,-1
+'string_col49','STRING',5,0,1,1,-1,-1
+'bool_col50','BOOLEAN',2,0,1,1,5,5
+'tinyint_col50','TINYINT',5,0,1,1,-1,-1
+'smallint_col50','SMALLINT',5,0,2,2,-1,-1
+'int_col50','INT',5,0,4,4,-1,-1
+'bigint_col50','BIGINT',5,0,8,8,-1,-1
+'float_col50','FLOAT',5,0,4,4,-1,-1
+'double_col50','DOUBLE',5,0,8,8,-1,-1
+'string_col50','STRING',5,0,1,1,-1,-1
+'bool_col51','BOOLEAN',2,0,1,1,5,5
+'tinyint_col51','TINYINT',5,0,1,1,-1,-1
+'smallint_col51','SMALLINT',5,0,2,2,-1,-1
+'int_col51','INT',5,0,4,4,-1,-1
+'bigint_col51','BIGINT',5,0,8,8,-1,-1
+'float_col51','FLOAT',5,0,4,4,-1,-1
+'double_col51','DOUBLE',5,0,8,8,-1,-1
+'string_col51','STRING',5,0,1,1,-1,-1
+'bool_col52','BOOLEAN',2,0,1,1,5,5
+'tinyint_col52','TINYINT',5,0,1,1,-1,-1
+'smallint_col52','SMALLINT',5,0,2,2,-1,-1
+'int_col52','INT',5,0,4,4,-1,-1
+'bigint_col52','BIGINT',5,0,8,8,-1,-1
+'float_col52','FLOAT',5,0,4,4,-1,-1
+'double_col52','DOUBLE',5,0,8,8,-1,-1
+'string_col52','STRING',5,0,1,1,-1,-1
+'bool_col53','BOOLEAN',2,0,1,1,5,5
+'tinyint_col53','TINYINT',5,0,1,1,-1,-1
+'smallint_col53','SMALLINT',5,0,2,2,-1,-1
+'int_col53','INT',5,0,4,4,-1,-1
+'bigint_col53','BIGINT',5,0,8,8,-1,-1
+'float_col53','FLOAT',5,0,4,4,-1,-1
+'double_col53','DOUBLE',5,0,8,8,-1,-1
+'string_col53','STRING',5,0,1,1,-1,-1
+'bool_col54','BOOLEAN',2,0,1,1,5,5
+'tinyint_col54','TINYINT',5,0,1,1,-1,-1
+'smallint_col54','SMALLINT',5,0,2,2,-1,-1
+'int_col54','INT',5,0,4,4,-1,-1
+'bigint_col54','BIGINT',5,0,8,8,-1,-1
+'float_col54','FLOAT',5,0,4,4,-1,-1
+'double_col54','DOUBLE',5,0,8,8,-1,-1
+'string_col54','STRING',5,0,1,1,-1,-1
+'bool_col55','BOOLEAN',2,0,1,1,5,5
+'tinyint_col55','TINYINT',5,0,1,1,-1,-1
+'smallint_col55','SMALLINT',5,0,2,2,-1,-1
+'int_col55','INT',5,0,4,4,-1,-1
+'bigint_col55','BIGINT',5,0,8,8,-1,-1
+'float_col55','FLOAT',5,0,4,4,-1,-1
+'double_col55','DOUBLE',5,0,8,8,-1,-1
+'string_col55','STRING',5,0,1,1,-1,-1
+'bool_col56','BOOLEAN',2,0,1,1,5,5
+'tinyint_col56','TINYINT',5,0,1,1,-1,-1
+'smallint_col56','SMALLINT',5,0,2,2,-1,-1
+'int_col56','INT',5,0,4,4,-1,-1
+'bigint_col56','BIGINT',5,0,8,8,-1,-1
+'float_col56','FLOAT',5,0,4,4,-1,-1
+'double_col56','DOUBLE',5,0,8,8,-1,-1
+'string_col56','STRING',5,0,1,1,-1,-1
+'bool_col57','BOOLEAN',2,0,1,1,5,5
+'tinyint_col57','TINYINT',5,0,1,1,-1,-1
+'smallint_col57','SMALLINT',5,0,2,2,-1,-1
+'int_col57','INT',5,0,4,4,-1,-1
+'bigint_col57','BIGINT',5,0,8,8,-1,-1
+'float_col57','FLOAT',5,0,4,4,-1,-1
+'double_col57','DOUBLE',5,0,8,8,-1,-1
+'string_col57','STRING',5,0,1,1,-1,-1
+'bool_col58','BOOLEAN',2,0,1,1,5,5
+'tinyint_col58','TINYINT',5,0,1,1,-1,-1
+'smallint_col58','SMALLINT',5,0,2,2,-1,-1
+'int_col58','INT',5,0,4,4,-1,-1
+'bigint_col58','BIGINT',5,0,8,8,-1,-1
+'float_col58','FLOAT',5,0,4,4,-1,-1
+'double_col58','DOUBLE',5,0,8,8,-1,-1
+'string_col58','STRING',5,0,1,1,-1,-1
+'bool_col59','BOOLEAN',2,0,1,1,5,5
+'tinyint_col59','TINYINT',5,0,1,1,-1,-1
+'smallint_col59','SMALLINT',5,0,2,2,-1,-1
+'int_col59','INT',5,0,4,4,-1,-1
+'bigint_col59','BIGINT',5,0,8,8,-1,-1
+'float_col59','FLOAT',5,0,4,4,-1,-1
+'double_col59','DOUBLE',5,0,8,8,-1,-1
+'string_col59','STRING',5,0,1,1,-1,-1
+'bool_col60','BOOLEAN',2,0,1,1,5,5
+'tinyint_col60','TINYINT',5,0,1,1,-1,-1
+'smallint_col60','SMALLINT',5,0,2,2,-1,-1
+'int_col60','INT',5,0,4,4,-1,-1
+'bigint_col60','BIGINT',5,0,8,8,-1,-1
+'float_col60','FLOAT',5,0,4,4,-1,-1
+'double_col60','DOUBLE',5,0,8,8,-1,-1
+'string_col60','STRING',5,0,1,1,-1,-1
+'bool_col61','BOOLEAN',2,0,1,1,5,5
+'tinyint_col61','TINYINT',5,0,1,1,-1,-1
+'smallint_col61','SMALLINT',5,0,2,2,-1,-1
+'int_col61','INT',5,0,4,4,-1,-1
+'bigint_col61','BIGINT',5,0,8,8,-1,-1
+'float_col61','FLOAT',5,0,4,4,-1,-1
+'double_col61','DOUBLE',5,0,8,8,-1,-1
+'string_col61','STRING',5,0,1,1,-1,-1
+'bool_col62','BOOLEAN',2,0,1,1,5,5
+'tinyint_col62','TINYINT',5,0,1,1,-1,-1
+'smallint_col62','SMALLINT',5,0,2,2,-1,-1
+'int_col62','INT',5,0,4,4,-1,-1
+'bigint_col62','BIGINT',5,0,8,8,-1,-1
+'float_col62','FLOAT',5,0,4,4,-1,-1
+'double_col62','DOUBLE',5,0,8,8,-1,-1
+'string_col62','STRING',5,0,1,1,-1,-1
+'bool_col63','BOOLEAN',2,0,1,1,5,5
+'tinyint_col63','TINYINT',5,0,1,1,-1,-1
+'smallint_col63','SMALLINT',5,0,2,2,-1,-1
+'int_col63','INT',5,0,4,4,-1,-1
+'bigint_col63','BIGINT',5,0,8,8,-1,-1
+'float_col63','FLOAT',5,0,4,4,-1,-1
+'double_col63','DOUBLE',5,0,8,8,-1,-1
+'string_col63','STRING',5,0,1,1,-1,-1
+'bool_col64','BOOLEAN',2,0,1,1,5,5
+'tinyint_col64','TINYINT',5,0,1,1,-1,-1
+'smallint_col64','SMALLINT',5,0,2,2,-1,-1
+'int_col64','INT',5,0,4,4,-1,-1
+'bigint_col64','BIGINT',5,0,8,8,-1,-1
+'float_col64','FLOAT',5,0,4,4,-1,-1
+'double_col64','DOUBLE',5,0,8,8,-1,-1
+'string_col64','STRING',5,0,1,1,-1,-1
+'bool_col65','BOOLEAN',2,0,1,1,5,5
+'tinyint_col65','TINYINT',5,0,1,1,-1,-1
+'smallint_col65','SMALLINT',5,0,2,2,-1,-1
+'int_col65','INT',5,0,4,4,-1,-1
+'bigint_col65','BIGINT',5,0,8,8,-1,-1
+'float_col65','FLOAT',5,0,4,4,-1,-1
+'double_col65','DOUBLE',5,0,8,8,-1,-1
+'string_col65','STRING',5,0,1,1,-1,-1
+'bool_col66','BOOLEAN',2,0,1,1,5,5
+'tinyint_col66','TINYINT',5,0,1,1,-1,-1
+'smallint_col66','SMALLINT',5,0,2,2,-1,-1
+'int_col66','INT',5,0,4,4,-1,-1
+'bigint_col66','BIGINT',5,0,8,8,-1,-1
+'float_col66','FLOAT',5,0,4,4,-1,-1
+'double_col66','DOUBLE',5,0,8,8,-1,-1
+'string_col66','STRING',5,0,1,1,-1,-1
+'bool_col67','BOOLEAN',2,0,1,1,5,5
+'tinyint_col67','TINYINT',5,0,1,1,-1,-1
+'smallint_col67','SMALLINT',5,0,2,2,-1,-1
+'int_col67','INT',5,0,4,4,-1,-1
+'bigint_col67','BIGINT',5,0,8,8,-1,-1
+'float_col67','FLOAT',5,0,4,4,-1,-1
+'double_col67','DOUBLE',5,0,8,8,-1,-1
+'string_col67','STRING',5,0,1,1,-1,-1
+'bool_col68','BOOLEAN',2,0,1,1,5,5
+'tinyint_col68','TINYINT',5,0,1,1,-1,-1
+'smallint_col68','SMALLINT',5,0,2,2,-1,-1
+'int_col68','INT',5,0,4,4,-1,-1
+'bigint_col68','BIGINT',5,0,8,8,-1,-1
+'float_col68','FLOAT',5,0,4,4,-1,-1
+'double_col68','DOUBLE',5,0,8,8,-1,-1
+'string_col68','STRING',5,0,1,1,-1,-1
+'bool_col69','BOOLEAN',2,0,1,1,5,5
+'tinyint_col69','TINYINT',5,0,1,1,-1,-1
+'smallint_col69','SMALLINT',5,0,2,2,-1,-1
+'int_col69','INT',5,0,4,4,-1,-1
+'bigint_col69','BIGINT',5,0,8,8,-1,-1
+'float_col69','FLOAT',5,0,4,4,-1,-1
+'double_col69','DOUBLE',5,0,8,8,-1,-1
+'string_col69','STRING',5,0,1,1,-1,-1
+'bool_col70','BOOLEAN',2,0,1,1,5,5
+'tinyint_col70','TINYINT',5,0,1,1,-1,-1
+'smallint_col70','SMALLINT',5,0,2,2,-1,-1
+'int_col70','INT',5,0,4,4,-1,-1
+'bigint_col70','BIGINT',5,0,8,8,-1,-1
+'float_col70','FLOAT',5,0,4,4,-1,-1
+'double_col70','DOUBLE',5,0,8,8,-1,-1
+'string_col70','STRING',5,0,1,1,-1,-1
+'bool_col71','BOOLEAN',2,0,1,1,5,5
+'tinyint_col71','TINYINT',5,0,1,1,-1,-1
+'smallint_col71','SMALLINT',5,0,2,2,-1,-1
+'int_col71','INT',5,0,4,4,-1,-1
+'bigint_col71','BIGINT',5,0,8,8,-1,-1
+'float_col71','FLOAT',5,0,4,4,-1,-1
+'double_col71','DOUBLE',5,0,8,8,-1,-1
+'string_col71','STRING',5,0,1,1,-1,-1
+'bool_col72','BOOLEAN',2,0,1,1,5,5
+'tinyint_col72','TINYINT',5,0,1,1,-1,-1
+'smallint_col72','SMALLINT',5,0,2,2,-1,-1
+'int_col72','INT',5,0,4,4,-1,-1
+'bigint_col72','BIGINT',5,0,8,8,-1,-1
+'float_col72','FLOAT',5,0,4,4,-1,-1
+'double_col72','DOUBLE',5,0,8,8,-1,-1
+'string_col72','STRING',5,0,1,1,-1,-1
+'bool_col73','BOOLEAN',2,0,1,1,5,5
+'tinyint_col73','TINYINT',5,0,1,1,-1,-1
+'smallint_col73','SMALLINT',5,0,2,2,-1,-1
+'int_col73','INT',5,0,4,4,-1,-1
+'bigint_col73','BIGINT',5,0,8,8,-1,-1
+'float_col73','FLOAT',5,0,4,4,-1,-1
+'double_col73','DOUBLE',5,0,8,8,-1,-1
+'string_col73','STRING',5,0,1,1,-1,-1
+'bool_col74','BOOLEAN',2,0,1,1,5,5
+'tinyint_col74','TINYINT',5,0,1,1,-1,-1
+'smallint_col74','SMALLINT',5,0,2,2,-1,-1
+'int_col74','INT',5,0,4,4,-1,-1
+'bigint_col74','BIGINT',5,0,8,8,-1,-1
+'float_col74','FLOAT',5,0,4,4,-1,-1
+'double_col74','DOUBLE',5,0,8,8,-1,-1
+'string_col74','STRING',5,0,1,1,-1,-1
+'bool_col75','BOOLEAN',2,0,1,1,5,5
+'tinyint_col75','TINYINT',5,0,1,1,-1,-1
+'smallint_col75','SMALLINT',5,0,2,2,-1,-1
+'int_col75','INT',5,0,4,4,-1,-1
+'bigint_col75','BIGINT',5,0,8,8,-1,-1
+'float_col75','FLOAT',5,0,4,4,-1,-1
+'double_col75','DOUBLE',5,0,8,8,-1,-1
+'string_col75','STRING',5,0,1,1,-1,-1
+'bool_col76','BOOLEAN',2,0,1,1,5,5
+'tinyint_col76','TINYINT',5,0,1,1,-1,-1
+'smallint_col76','SMALLINT',5,0,2,2,-1,-1
+'int_col76','INT',5,0,4,4,-1,-1
+'bigint_col76','BIGINT',5,0,8,8,-1,-1
+'float_col76','FLOAT',5,0,4,4,-1,-1
+'double_col76','DOUBLE',5,0,8,8,-1,-1
+'string_col76','STRING',5,0,1,1,-1,-1
+'bool_col77','BOOLEAN',2,0,1,1,5,5
+'tinyint_col77','TINYINT',5,0,1,1,-1,-1
+'smallint_col77','SMALLINT',5,0,2,2,-1,-1
+'int_col77','INT',5,0,4,4,-1,-1
+'bigint_col77','BIGINT',5,0,8,8,-1,-1
+'float_col77','FLOAT',5,0,4,4,-1,-1
+'double_col77','DOUBLE',5,0,8,8,-1,-1
+'string_col77','STRING',5,0,1,1,-1,-1
+'bool_col78','BOOLEAN',2,0,1,1,5,5
+'tinyint_col78','TINYINT',5,0,1,1,-1,-1
+'smallint_col78','SMALLINT',5,0,2,2,-1,-1
+'int_col78','INT',5,0,4,4,-1,-1
+'bigint_col78','BIGINT',5,0,8,8,-1,-1
+'float_col78','FLOAT',5,0,4,4,-1,-1
+'double_col78','DOUBLE',5,0,8,8,-1,-1
+'string_col78','STRING',5,0,1,1,-1,-1
+'bool_col79','BOOLEAN',2,0,1,1,5,5
+'tinyint_col79','TINYINT',5,0,1,1,-1,-1
+'smallint_col79','SMALLINT',5,0,2,2,-1,-1
+'int_col79','INT',5,0,4,4,-1,-1
+'bigint_col79','BIGINT',5,0,8,8,-1,-1
+'float_col79','FLOAT',5,0,4,4,-1,-1
+'double_col79','DOUBLE',5,0,8,8,-1,-1
+'string_col79','STRING',5,0,1,1,-1,-1
+'bool_col80','BOOLEAN',2,0,1,1,5,5
+'tinyint_col80','TINYINT',5,0,1,1,-1,-1
+'smallint_col80','SMALLINT',5,0,2,2,-1,-1
+'int_col80','INT',5,0,4,4,-1,-1
+'bigint_col80','BIGINT',5,0,8,8,-1,-1
+'float_col80','FLOAT',5,0,4,4,-1,-1
+'double_col80','DOUBLE',5,0,8,8,-1,-1
+'string_col80','STRING',5,0,1,1,-1,-1
+'bool_col81','BOOLEAN',2,0,1,1,5,5
+'tinyint_col81','TINYINT',5,0,1,1,-1,-1
+'smallint_col81','SMALLINT',5,0,2,2,-1,-1
+'int_col81','INT',5,0,4,4,-1,-1
+'bigint_col81','BIGINT',5,0,8,8,-1,-1
+'float_col81','FLOAT',5,0,4,4,-1,-1
+'double_col81','DOUBLE',5,0,8,8,-1,-1
+'string_col81','STRING',5,0,1,1,-1,-1
+'bool_col82','BOOLEAN',2,0,1,1,5,5
+'tinyint_col82','TINYINT',5,0,1,1,-1,-1
+'smallint_col82','SMALLINT',5,0,2,2,-1,-1
+'int_col82','INT',5,0,4,4,-1,-1
+'bigint_col82','BIGINT',5,0,8,8,-1,-1
+'float_col82','FLOAT',5,0,4,4,-1,-1
+'double_col82','DOUBLE',5,0,8,8,-1,-1
+'string_col82','STRING',5,0,1,1,-1,-1
+'bool_col83','BOOLEAN',2,0,1,1,5,5
+'tinyint_col83','TINYINT',5,0,1,1,-1,-1
+'smallint_col83','SMALLINT',5,0,2,2,-1,-1
+'int_col83','INT',5,0,4,4,-1,-1
+'bigint_col83','BIGINT',5,0,8,8,-1,-1
+'float_col83','FLOAT',5,0,4,4,-1,-1
+'double_col83','DOUBLE',5,0,8,8,-1,-1
+'string_col83','STRING',5,0,1,1,-1,-1
+'bool_col84','BOOLEAN',2,0,1,1,5,5
+'tinyint_col84','TINYINT',5,0,1,1,-1,-1
+'smallint_col84','SMALLINT',5,0,2,2,-1,-1
+'int_col84','INT',5,0,4,4,-1,-1
+'bigint_col84','BIGINT',5,0,8,8,-1,-1
+'float_col84','FLOAT',5,0,4,4,-1,-1
+'double_col84','DOUBLE',5,0,8,8,-1,-1
+'string_col84','STRING',5,0,1,1,-1,-1
+'bool_col85','BOOLEAN',2,0,1,1,5,5
+'tinyint_col85','TINYINT',5,0,1,1,-1,-1
+'smallint_col85','SMALLINT',5,0,2,2,-1,-1
+'int_col85','INT',5,0,4,4,-1,-1
+'bigint_col85','BIGINT',5,0,8,8,-1,-1
+'float_col85','FLOAT',5,0,4,4,-1,-1
+'double_col85','DOUBLE',5,0,8,8,-1,-1
+'string_col85','STRING',5,0,1,1,-1,-1
+'bool_col86','BOOLEAN',2,0,1,1,5,5
+'tinyint_col86','TINYINT',5,0,1,1,-1,-1
+'smallint_col86','SMALLINT',5,0,2,2,-1,-1
+'int_col86','INT',5,0,4,4,-1,-1
+'bigint_col86','BIGINT',5,0,8,8,-1,-1
+'float_col86','FLOAT',5,0,4,4,-1,-1
+'double_col86','DOUBLE',5,0,8,8,-1,-1
+'string_col86','STRING',5,0,1,1,-1,-1
+'bool_col87','BOOLEAN',2,0,1,1,5,5
+'tinyint_col87','TINYINT',5,0,1,1,-1,-1
+'smallint_col87','SMALLINT',5,0,2,2,-1,-1
+'int_col87','INT',5,0,4,4,-1,-1
+'bigint_col87','BIGINT',5,0,8,8,-1,-1
+'float_col87','FLOAT',5,0,4,4,-1,-1
+'double_col87','DOUBLE',5,0,8,8,-1,-1
+'string_col87','STRING',5,0,1,1,-1,-1
+'bool_col88','BOOLEAN',2,0,1,1,5,5
+'tinyint_col88','TINYINT',5,0,1,1,-1,-1
+'smallint_col88','SMALLINT',5,0,2,2,-1,-1
+'int_col88','INT',5,0,4,4,-1,-1
+'bigint_col88','BIGINT',5,0,8,8,-1,-1
+'float_col88','FLOAT',5,0,4,4,-1,-1
+'double_col88','DOUBLE',5,0,8,8,-1,-1
+'string_col88','STRING',5,0,1,1,-1,-1
+'bool_col89','BOOLEAN',2,0,1,1,5,5
+'tinyint_col89','TINYINT',5,0,1,1,-1,-1
+'smallint_col89','SMALLINT',5,0,2,2,-1,-1
+'int_col89','INT',5,0,4,4,-1,-1
+'bigint_col89','BIGINT',5,0,8,8,-1,-1
+'float_col89','FLOAT',5,0,4,4,-1,-1
+'double_col89','DOUBLE',5,0,8,8,-1,-1
+'string_col89','STRING',5,0,1,1,-1,-1
+'bool_col90','BOOLEAN',2,0,1,1,5,5
+'tinyint_col90','TINYINT',5,0,1,1,-1,-1
+'smallint_col90','SMALLINT',5,0,2,2,-1,-1
+'int_col90','INT',5,0,4,4,-1,-1
+'bigint_col90','BIGINT',5,0,8,8,-1,-1
+'float_col90','FLOAT',5,0,4,4,-1,-1
+'double_col90','DOUBLE',5,0,8,8,-1,-1
+'string_col90','STRING',5,0,1,1,-1,-1
+'bool_col91','BOOLEAN',2,0,1,1,5,5
+'tinyint_col91','TINYINT',5,0,1,1,-1,-1
+'smallint_col91','SMALLINT',5,0,2,2,-1,-1
+'int_col91','INT',5,0,4,4,-1,-1
+'bigint_col91','BIGINT',5,0,8,8,-1,-1
+'float_col91','FLOAT',5,0,4,4,-1,-1
+'double_col91','DOUBLE',5,0,8,8,-1,-1
+'string_col91','STRING',5,0,1,1,-1,-1
+'bool_col92','BOOLEAN',2,0,1,1,5,5
+'tinyint_col92','TINYINT',5,0,1,1,-1,-1
+'smallint_col92','SMALLINT',5,0,2,2,-1,-1
+'int_col92','INT',5,0,4,4,-1,-1
+'bigint_col92','BIGINT',5,0,8,8,-1,-1
+'float_col92','FLOAT',5,0,4,4,-1,-1
+'double_col92','DOUBLE',5,0,8,8,-1,-1
+'string_col92','STRING',5,0,1,1,-1,-1
+'bool_col93','BOOLEAN',2,0,1,1,5,5
+'tinyint_col93','TINYINT',5,0,1,1,-1,-1
+'smallint_col93','SMALLINT',5,0,2,2,-1,-1
+'int_col93','INT',5,0,4,4,-1,-1
+'bigint_col93','BIGINT',5,0,8,8,-1,-1
+'float_col93','FLOAT',5,0,4,4,-1,-1
+'double_col93','DOUBLE',5,0,8,8,-1,-1
+'string_col93','STRING',5,0,1,1,-1,-1
+'bool_col94','BOOLEAN',2,0,1,1,5,5
+'tinyint_col94','TINYINT',5,0,1,1,-1,-1
+'smallint_col94','SMALLINT',5,0,2,2,-1,-1
+'int_col94','INT',5,0,4,4,-1,-1
+'bigint_col94','BIGINT',5,0,8,8,-1,-1
+'float_col94','FLOAT',5,0,4,4,-1,-1
+'double_col94','DOUBLE',5,0,8,8,-1,-1
+'string_col94','STRING',5,0,1,1,-1,-1
+'bool_col95','BOOLEAN',2,0,1,1,5,5
+'tinyint_col95','TINYINT',5,0,1,1,-1,-1
+'smallint_col95','SMALLINT',5,0,2,2,-1,-1
+'int_col95','INT',5,0,4,4,-1,-1
+'bigint_col95','BIGINT',5,0,8,8,-1,-1
+'float_col95','FLOAT',5,0,4,4,-1,-1
+'double_col95','DOUBLE',5,0,8,8,-1,-1
+'string_col95','STRING',5,0,1,1,-1,-1
+'bool_col96','BOOLEAN',2,0,1,1,5,5
+'tinyint_col96','TINYINT',5,0,1,1,-1,-1
+'smallint_col96','SMALLINT',5,0,2,2,-1,-1
+'int_col96','INT',5,0,4,4,-1,-1
+'bigint_col96','BIGINT',5,0,8,8,-1,-1
+'float_col96','FLOAT',5,0,4,4,-1,-1
+'double_col96','DOUBLE',5,0,8,8,-1,-1
+'string_col96','STRING',5,0,1,1,-1,-1
+'bool_col97','BOOLEAN',2,0,1,1,5,5
+'tinyint_col97','TINYINT',5,0,1,1,-1,-1
+'smallint_col97','SMALLINT',5,0,2,2,-1,-1
+'int_col97','INT',5,0,4,4,-1,-1
+'bigint_col97','BIGINT',5,0,8,8,-1,-1
+'float_col97','FLOAT',5,0,4,4,-1,-1
+'double_col97','DOUBLE',5,0,8,8,-1,-1
+'string_col97','STRING',5,0,1,1,-1,-1
+'bool_col98','BOOLEAN',2,0,1,1,5,5
+'tinyint_col98','TINYINT',5,0,1,1,-1,-1
+'smallint_col98','SMALLINT',5,0,2,2,-1,-1
+'int_col98','INT',5,0,4,4,-1,-1
+'bigint_col98','BIGINT',5,0,8,8,-1,-1
+'float_col98','FLOAT',5,0,4,4,-1,-1
+'double_col98','DOUBLE',5,0,8,8,-1,-1
+'string_col98','STRING',5,0,1,1,-1,-1
+'bool_col99','BOOLEAN',2,0,1,1,5,5
+'tinyint_col99','TINYINT',5,0,1,1,-1,-1
+'smallint_col99','SMALLINT',5,0,2,2,-1,-1
+'int_col99','INT',5,0,4,4,-1,-1
+'bigint_col99','BIGINT',5,0,8,8,-1,-1
+'float_col99','FLOAT',5,0,4,4,-1,-1
+'double_col99','DOUBLE',5,0,8,8,-1,-1
+'string_col99','STRING',5,0,1,1,-1,-1
+'bool_col100','BOOLEAN',2,0,1,1,5,5
+'tinyint_col100','TINYINT',5,0,1,1,-1,-1
+'smallint_col100','SMALLINT',5,0,2,2,-1,-1
+'int_col100','INT',5,0,4,4,-1,-1
+'bigint_col100','BIGINT',5,0,8,8,-1,-1
+'float_col100','FLOAT',5,0,4,4,-1,-1
+'double_col100','DOUBLE',5,0,8,8,-1,-1
+'string_col100','STRING',5,0,1,1,-1,-1
+'bool_col101','BOOLEAN',2,0,1,1,5,5
+'tinyint_col101','TINYINT',5,0,1,1,-1,-1
+'smallint_col101','SMALLINT',5,0,2,2,-1,-1
+'int_col101','INT',5,0,4,4,-1,-1
+'bigint_col101','BIGINT',5,0,8,8,-1,-1
+'float_col101','FLOAT',5,0,4,4,-1,-1
+'double_col101','DOUBLE',5,0,8,8,-1,-1
+'string_col101','STRING',5,0,1,1,-1,-1
+'bool_col102','BOOLEAN',2,0,1,1,5,5
+'tinyint_col102','TINYINT',5,0,1,1,-1,-1
+'smallint_col102','SMALLINT',5,0,2,2,-1,-1
+'int_col102','INT',5,0,4,4,-1,-1
+'bigint_col102','BIGINT',5,0,8,8,-1,-1
+'float_col102','FLOAT',5,0,4,4,-1,-1
+'double_col102','DOUBLE',5,0,8,8,-1,-1
+'string_col102','STRING',5,0,1,1,-1,-1
+'bool_col103','BOOLEAN',2,0,1,1,5,5
+'tinyint_col103','TINYINT',5,0,1,1,-1,-1
+'smallint_col103','SMALLINT',5,0,2,2,-1,-1
+'int_col103','INT',5,0,4,4,-1,-1
+'bigint_col103','BIGINT',5,0,8,8,-1,-1
+'float_col103','FLOAT',5,0,4,4,-1,-1
+'double_col103','DOUBLE',5,0,8,8,-1,-1
+'string_col103','STRING',5,0,1,1,-1,-1
+'bool_col104','BOOLEAN',2,0,1,1,5,5
+'tinyint_col104','TINYINT',5,0,1,1,-1,-1
+'smallint_col104','SMALLINT',5,0,2,2,-1,-1
+'int_col104','INT',5,0,4,4,-1,-1
+'bigint_col104','BIGINT',5,0,8,8,-1,-1
+'float_col104','FLOAT',5,0,4,4,-1,-1
+'double_col104','DOUBLE',5,0,8,8,-1,-1
+'string_col104','STRING',5,0,1,1,-1,-1
+'bool_col105','BOOLEAN',2,0,1,1,5,5
+'tinyint_col105','TINYINT',5,0,1,1,-1,-1
+'smallint_col105','SMALLINT',5,0,2,2,-1,-1
+'int_col105','INT',5,0,4,4,-1,-1
+'bigint_col105','BIGINT',5,0,8,8,-1,-1
+'float_col105','FLOAT',5,0,4,4,-1,-1
+'double_col105','DOUBLE',5,0,8,8,-1,-1
+'string_col105','STRING',5,0,1,1,-1,-1
+'bool_col106','BOOLEAN',2,0,1,1,5,5
+'tinyint_col106','TINYINT',5,0,1,1,-1,-1
+'smallint_col106','SMALLINT',5,0,2,2,-1,-1
+'int_col106','INT',5,0,4,4,-1,-1
+'bigint_col106','BIGINT',5,0,8,8,-1,-1
+'float_col106','FLOAT',5,0,4,4,-1,-1
+'double_col106','DOUBLE',5,0,8,8,-1,-1
+'string_col106','STRING',5,0,1,1,-1,-1
+'bool_col107','BOOLEAN',2,0,1,1,5,5
+'tinyint_col107','TINYINT',5,0,1,1,-1,-1
+'smallint_col107','SMALLINT',5,0,2,2,-1,-1
+'int_col107','INT',5,0,4,4,-1,-1
+'bigint_col107','BIGINT',5,0,8,8,-1,-1
+'float_col107','FLOAT',5,0,4,4,-1,-1
+'double_col107','DOUBLE',5,0,8,8,-1,-1
+'string_col107','STRING',5,0,1,1,-1,-1
+'bool_col108','BOOLEAN',2,0,1,1,5,5
+'tinyint_col108','TINYINT',5,0,1,1,-1,-1
+'smallint_col108','SMALLINT',5,0,2,2,-1,-1
+'int_col108','INT',5,0,4,4,-1,-1
+'bigint_col108','BIGINT',5,0,8,8,-1,-1
+'float_col108','FLOAT',5,0,4,4,-1,-1
+'double_col108','DOUBLE',5,0,8,8,-1,-1
+'string_col108','STRING',5,0,1,1,-1,-1
+'bool_col109','BOOLEAN',2,0,1,1,5,5
+'tinyint_col109','TINYINT',5,0,1,1,-1,-1
+'smallint_col109','SMALLINT',5,0,2,2,-1,-1
+'int_col109','INT',5,0,4,4,-1,-1
+'bigint_col109','BIGINT',5,0,8,8,-1,-1
+'float_col109','FLOAT',5,0,4,4,-1,-1
+'double_col109','DOUBLE',5,0,8,8,-1,-1
+'string_col109','STRING',5,0,1,1,-1,-1
+'bool_col110','BOOLEAN',2,0,1,1,5,5
+'tinyint_col110','TINYINT',5,0,1,1,-1,-1
+'smallint_col110','SMALLINT',5,0,2,2,-1,-1
+'int_col110','INT',5,0,4,4,-1,-1
+'bigint_col110','BIGINT',5,0,8,8,-1,-1
+'float_col110','FLOAT',5,0,4,4,-1,-1
+'double_col110','DOUBLE',5,0,8,8,-1,-1
+'string_col110','STRING',5,0,1,1,-1,-1
+'bool_col111','BOOLEAN',2,0,1,1,5,5
+'tinyint_col111','TINYINT',5,0,1,1,-1,-1
+'smallint_col111','SMALLINT',5,0,2,2,-1,-1
+'int_col111','INT',5,0,4,4,-1,-1
+'bigint_col111','BIGINT',5,0,8,8,-1,-1
+'float_col111','FLOAT',5,0,4,4,-1,-1
+'double_col111','DOUBLE',5,0,8,8,-1,-1
+'string_col111','STRING',5,0,1,1,-1,-1
+'bool_col112','BOOLEAN',2,0,1,1,5,5
+'tinyint_col112','TINYINT',5,0,1,1,-1,-1
+'smallint_col112','SMALLINT',5,0,2,2,-1,-1
+'int_col112','INT',5,0,4,4,-1,-1
+'bigint_col112','BIGINT',5,0,8,8,-1,-1
+'float_col112','FLOAT',5,0,4,4,-1,-1
+'double_col112','DOUBLE',5,0,8,8,-1,-1
+'string_col112','STRING',5,0,1,1,-1,-1
+'bool_col113','BOOLEAN',2,0,1,1,5,5
+'tinyint_col113','TINYINT',5,0,1,1,-1,-1
+'smallint_col113','SMALLINT',5,0,2,2,-1,-1
+'int_col113','INT',5,0,4,4,-1,-1
+'bigint_col113','BIGINT',5,0,8,8,-1,-1
+'float_col113','FLOAT',5,0,4,4,-1,-1
+'double_col113','DOUBLE',5,0,8,8,-1,-1
+'string_col113','STRING',5,0,1,1,-1,-1
+'bool_col114','BOOLEAN',2,0,1,1,5,5
+'tinyint_col114','TINYINT',5,0,1,1,-1,-1
+'smallint_col114','SMALLINT',5,0,2,2,-1,-1
+'int_col114','INT',5,0,4,4,-1,-1
+'bigint_col114','BIGINT',5,0,8,8,-1,-1
+'float_col114','FLOAT',5,0,4,4,-1,-1
+'double_col114','DOUBLE',5,0,8,8,-1,-1
+'string_col114','STRING',5,0,1,1,-1,-1
+'bool_col115','BOOLEAN',2,0,1,1,5,5
+'tinyint_col115','TINYINT',5,0,1,1,-1,-1
+'smallint_col115','SMALLINT',5,0,2,2,-1,-1
+'int_col115','INT',5,0,4,4,-1,-1
+'bigint_col115','BIGINT',5,0,8,8,-1,-1
+'float_col115','FLOAT',5,0,4,4,-1,-1
+'double_col115','DOUBLE',5,0,8,8,-1,-1
+'string_col115','STRING',5,0,1,1,-1,-1
+'bool_col116','BOOLEAN',2,0,1,1,5,5
+'tinyint_col116','TINYINT',5,0,1,1,-1,-1
+'smallint_col116','SMALLINT',5,0,2,2,-1,-1
+'int_col116','INT',5,0,4,4,-1,-1
+'bigint_col116','BIGINT',5,0,8,8,-1,-1
+'float_col116','FLOAT',5,0,4,4,-1,-1
+'double_col116','DOUBLE',5,0,8,8,-1,-1
+'string_col116','STRING',5,0,1,1,-1,-1
+'bool_col117','BOOLEAN',2,0,1,1,5,5
+'tinyint_col117','TINYINT',5,0,1,1,-1,-1
+'smallint_col117','SMALLINT',5,0,2,2,-1,-1
+'int_col117','INT',5,0,4,4,-1,-1
+'bigint_col117','BIGINT',5,0,8,8,-1,-1
+'float_col117','FLOAT',5,0,4,4,-1,-1
+'double_col117','DOUBLE',5,0,8,8,-1,-1
+'string_col117','STRING',5,0,1,1,-1,-1
+'bool_col118','BOOLEAN',2,0,1,1,5,5
+'tinyint_col118','TINYINT',5,0,1,1,-1,-1
+'smallint_col118','SMALLINT',5,0,2,2,-1,-1
+'int_col118','INT',5,0,4,4,-1,-1
+'bigint_col118','BIGINT',5,0,8,8,-1,-1
+'float_col118','FLOAT',5,0,4,4,-1,-1
+'double_col118','DOUBLE',5,0,8,8,-1,-1
+'string_col118','STRING',5,0,1,1,-1,-1
+'bool_col119','BOOLEAN',2,0,1,1,5,5
+'tinyint_col119','TINYINT',5,0,1,1,-1,-1
+'smallint_col119','SMALLINT',5,0,2,2,-1,-1
+'int_col119','INT',5,0,4,4,-1,-1
+'bigint_col119','BIGINT',5,0,8,8,-1,-1
+'float_col119','FLOAT',5,0,4,4,-1,-1
+'double_col119','DOUBLE',5,0,8,8,-1,-1
+'string_col119','STRING',5,0,1,1,-1,-1
+'bool_col120','BOOLEAN',2,0,1,1,5,5
+'tinyint_col120','TINYINT',5,0,1,1,-1,-1
+'smallint_col120','SMALLINT',5,0,2,2,-1,-1
+'int_col120','INT',5,0,4,4,-1,-1
+'bigint_col120','BIGINT',5,0,8,8,-1,-1
+'float_col120','FLOAT',5,0,4,4,-1,-1
+'double_col120','DOUBLE',5,0,8,8,-1,-1
+'string_col120','STRING',5,0,1,1,-1,-1
+'bool_col121','BOOLEAN',2,0,1,1,5,5
+'tinyint_col121','TINYINT',5,0,1,1,-1,-1
+'smallint_col121','SMALLINT',5,0,2,2,-1,-1
+'int_col121','INT',5,0,4,4,-1,-1
+'bigint_col121','BIGINT',5,0,8,8,-1,-1
+'float_col121','FLOAT',5,0,4,4,-1,-1
+'double_col121','DOUBLE',5,0,8,8,-1,-1
+'string_col121','STRING',5,0,1,1,-1,-1
+'bool_col122','BOOLEAN',2,0,1,1,5,5
+'tinyint_col122','TINYINT',5,0,1,1,-1,-1
+'smallint_col122','SMALLINT',5,0,2,2,-1,-1
+'int_col122','INT',5,0,4,4,-1,-1
+'bigint_col122','BIGINT',5,0,8,8,-1,-1
+'float_col122','FLOAT',5,0,4,4,-1,-1
+'double_col122','DOUBLE',5,0,8,8,-1,-1
+'string_col122','STRING',5,0,1,1,-1,-1
+'bool_col123','BOOLEAN',2,0,1,1,5,5
+'tinyint_col123','TINYINT',5,0,1,1,-1,-1
+'smallint_col123','SMALLINT',5,0,2,2,-1,-1
+'int_col123','INT',5,0,4,4,-1,-1
+'bigint_col123','BIGINT',5,0,8,8,-1,-1
+'float_col123','FLOAT',5,0,4,4,-1,-1
+'double_col123','DOUBLE',5,0,8,8,-1,-1
+'string_col123','STRING',5,0,1,1,-1,-1
+'bool_col124','BOOLEAN',2,0,1,1,5,5
+'tinyint_col124','TINYINT',5,0,1,1,-1,-1
+'smallint_col124','SMALLINT',5,0,2,2,-1,-1
+'int_col124','INT',5,0,4,4,-1,-1
+'bigint_col124','BIGINT',5,0,8,8,-1,-1
+'float_col124','FLOAT',5,0,4,4,-1,-1
+'double_col124','DOUBLE',5,0,8,8,-1,-1
+'string_col124','STRING',5,0,1,1,-1,-1
+'bool_col125','BOOLEAN',2,0,1,1,5,5
+'tinyint_col125','TINYINT',5,0,1,1,-1,-1
+'smallint_col125','SMALLINT',5,0,2,2,-1,-1
+'int_col125','INT',5,0,4,4,-1,-1
+'bigint_col125','BIGINT',5,0,8,8,-1,-1
+'float_col125','FLOAT',5,0,4,4,-1,-1
+'double_col125','DOUBLE',5,0,8,8,-1,-1
+'string_col125','STRING',5,0,1,1,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 # Tests that the child query error status is propagated back to the parent
diff --git a/testdata/workloads/functional-query/queries/QueryTest/hbase-compute-stats-incremental.test b/testdata/workloads/functional-query/queries/QueryTest/hbase-compute-stats-incremental.test
index e9ba293..a16cdfb 100644
--- a/testdata/workloads/functional-query/queries/QueryTest/hbase-compute-stats-incremental.test
+++ b/testdata/workloads/functional-query/queries/QueryTest/hbase-compute-stats-incremental.test
@@ -29,23 +29,23 @@ STRING, STRING, BIGINT, STRING
 ---- QUERY
 show column stats alltypessmall_hbase
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'id','INT',99,0,4,4
-'bigint_col','BIGINT',10,0,8,8
-'bool_col','BOOLEAN',2,0,1,1
-'date_string_col','STRING',12,0,8,8
-'double_col','DOUBLE',10,0,8,8
-'float_col','FLOAT',10,0,4,4
-'int_col','INT',10,0,4,4
-'month','INT',4,0,4,4
-'smallint_col','SMALLINT',10,0,2,2
-'string_col','STRING',10,0,1,1
-'timestamp_col','TIMESTAMP',100,0,16,16
-'tinyint_col','TINYINT',10,0,1,1
-'year','INT',1,0,4,4
+'id','INT',99,0,4,4,-1,-1
+'bigint_col','BIGINT',10,0,8,8,-1,-1
+'bool_col','BOOLEAN',2,0,1,1,50,50
+'date_string_col','STRING',12,0,8,8,-1,-1
+'double_col','DOUBLE',10,0,8,8,-1,-1
+'float_col','FLOAT',10,0,4,4,-1,-1
+'int_col','INT',10,0,4,4,-1,-1
+'month','INT',4,0,4,4,-1,-1
+'smallint_col','SMALLINT',10,0,2,2,-1,-1
+'string_col','STRING',10,0,1,1,-1,-1
+'timestamp_col','TIMESTAMP',100,0,16,16,-1,-1
+'tinyint_col','TINYINT',10,0,1,1,-1,-1
+'year','INT',1,0,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 create table date_tbl_hbase like functional_hbase.date_tbl
@@ -77,11 +77,11 @@ STRING, STRING, BIGINT, STRING
 ---- QUERY
 show column stats date_tbl_hbase
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'id_col','INT',22,0,4,4
-'date_col','DATE',16,2,4,4
-'date_part','DATE',4,0,4,4
+'id_col','INT',22,0,4,4,-1,-1
+'date_col','DATE',16,2,4,4,-1,-1
+'date_part','DATE',4,0,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
diff --git a/testdata/workloads/functional-query/queries/QueryTest/hbase-compute-stats.test b/testdata/workloads/functional-query/queries/QueryTest/hbase-compute-stats.test
index 0bde722..2308b24 100644
--- a/testdata/workloads/functional-query/queries/QueryTest/hbase-compute-stats.test
+++ b/testdata/workloads/functional-query/queries/QueryTest/hbase-compute-stats.test
@@ -28,23 +28,23 @@ STRING, STRING, BIGINT, STRING
 ---- QUERY
 show column stats alltypessmall_hbase
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'id','INT',99,0,4,4
-'bigint_col','BIGINT',10,0,8,8
-'bool_col','BOOLEAN',2,0,1,1
-'date_string_col','STRING',12,0,8,8
-'double_col','DOUBLE',10,0,8,8
-'float_col','FLOAT',10,0,4,4
-'int_col','INT',10,0,4,4
-'month','INT',4,0,4,4
-'smallint_col','SMALLINT',10,0,2,2
-'string_col','STRING',10,0,1,1
-'timestamp_col','TIMESTAMP',100,0,16,16
-'tinyint_col','TINYINT',10,0,1,1
-'year','INT',1,0,4,4
+'id','INT',99,0,4,4,-1,-1
+'bigint_col','BIGINT',10,0,8,8,-1,-1
+'bool_col','BOOLEAN',2,0,1,1,50,50
+'date_string_col','STRING',12,0,8,8,-1,-1
+'double_col','DOUBLE',10,0,8,8,-1,-1
+'float_col','FLOAT',10,0,4,4,-1,-1
+'int_col','INT',10,0,4,4,-1,-1
+'month','INT',4,0,4,4,-1,-1
+'smallint_col','SMALLINT',10,0,2,2,-1,-1
+'string_col','STRING',10,0,1,1,-1,-1
+'timestamp_col','TIMESTAMP',100,0,16,16,-1,-1
+'tinyint_col','TINYINT',10,0,1,1,-1,-1
+'year','INT',1,0,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 # test computing stats on an binary HBase table
@@ -69,23 +69,23 @@ STRING, STRING, BIGINT, STRING
 ---- QUERY
 show column stats alltypessmall_hbase_bin
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'id','INT',99,0,4,4
-'bigint_col','BIGINT',10,0,8,8
-'bool_col','BOOLEAN',2,0,1,1
-'date_string_col','STRING',12,0,8,8
-'double_col','DOUBLE',10,0,8,8
-'float_col','FLOAT',10,0,4,4
-'int_col','INT',10,0,4,4
-'month','INT',4,0,4,4
-'smallint_col','SMALLINT',10,0,2,2
-'string_col','STRING',10,0,1,1
-'timestamp_col','TIMESTAMP',100,0,16,16
-'tinyint_col','TINYINT',10,0,1,1
-'year','INT',1,0,4,4
+'id','INT',99,0,4,4,-1,-1
+'bigint_col','BIGINT',10,0,8,8,-1,-1
+'bool_col','BOOLEAN',2,0,1,1,50,50
+'date_string_col','STRING',12,0,8,8,-1,-1
+'double_col','DOUBLE',10,0,8,8,-1,-1
+'float_col','FLOAT',10,0,4,4,-1,-1
+'int_col','INT',10,0,4,4,-1,-1
+'month','INT',4,0,4,4,-1,-1
+'smallint_col','SMALLINT',10,0,2,2,-1,-1
+'string_col','STRING',10,0,1,1,-1,-1
+'timestamp_col','TIMESTAMP',100,0,16,16,-1,-1
+'tinyint_col','TINYINT',10,0,1,1,-1,-1
+'year','INT',1,0,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 # IMP-1227: Test computing stats on an HBase table that has a
@@ -111,25 +111,25 @@ STRING, STRING, BIGINT, STRING
 ---- QUERY
 show column stats allcomplextypes_hbase
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'id','INT',0,0,4,4
-'array_array_col','ARRAY<ARRAY<INT>>',-1,-1,-1,-1
-'array_map_col','MAP<STRING,ARRAY<INT>>',-1,-1,-1,-1
-'complex_nested_struct_col','STRUCT<f1:INT,f2:ARRAY<STRUCT<f11:BIGINT,f12:MAP<STRING,STRUCT<f21:BIGINT>>>>>',-1,-1,-1,-1
-'complex_struct_col','STRUCT<f1:INT,f2:ARRAY<INT>,f3:MAP<STRING,INT>>',-1,-1,-1,-1
-'int_array_col','ARRAY<INT>',-1,-1,-1,-1
-'int_map_col','MAP<STRING,INT>',-1,-1,-1,-1
-'int_struct_col','STRUCT<f1:INT,f2:INT>',-1,-1,-1,-1
-'map_array_col','ARRAY<MAP<STRING,INT>>',-1,-1,-1,-1
-'map_map_col','MAP<STRING,MAP<STRING,INT>>',-1,-1,-1,-1
-'month','INT',0,0,4,4
-'nested_struct_col','STRUCT<f1:INT,f2:STRUCT<f11:BIGINT,f12:STRUCT<f21:BIGINT>>>',-1,-1,-1,-1
-'struct_array_col','ARRAY<STRUCT<f1:BIGINT,f2:STRING>>',-1,-1,-1,-1
-'struct_map_col','MAP<STRING,STRUCT<f1:BIGINT,f2:STRING>>',-1,-1,-1,-1
-'year','INT',0,0,4,4
+'id','INT',0,0,4,4,-1,-1
+'array_array_col','ARRAY<ARRAY<INT>>',-1,-1,-1,-1,-1,-1
+'array_map_col','MAP<STRING,ARRAY<INT>>',-1,-1,-1,-1,-1,-1
+'complex_nested_struct_col','STRUCT<f1:INT,f2:ARRAY<STRUCT<f11:BIGINT,f12:MAP<STRING,STRUCT<f21:BIGINT>>>>>',-1,-1,-1,-1,-1,-1
+'complex_struct_col','STRUCT<f1:INT,f2:ARRAY<INT>,f3:MAP<STRING,INT>>',-1,-1,-1,-1,-1,-1
+'int_array_col','ARRAY<INT>',-1,-1,-1,-1,-1,-1
+'int_map_col','MAP<STRING,INT>',-1,-1,-1,-1,-1,-1
+'int_struct_col','STRUCT<f1:INT,f2:INT>',-1,-1,-1,-1,-1,-1
+'map_array_col','ARRAY<MAP<STRING,INT>>',-1,-1,-1,-1,-1,-1
+'map_map_col','MAP<STRING,MAP<STRING,INT>>',-1,-1,-1,-1,-1,-1
+'month','INT',0,0,4,4,-1,-1
+'nested_struct_col','STRUCT<f1:INT,f2:STRUCT<f11:BIGINT,f12:STRUCT<f21:BIGINT>>>',-1,-1,-1,-1,-1,-1
+'struct_array_col','ARRAY<STRUCT<f1:BIGINT,f2:STRING>>',-1,-1,-1,-1,-1,-1
+'struct_map_col','MAP<STRING,STRUCT<f1:BIGINT,f2:STRING>>',-1,-1,-1,-1,-1,-1
+'year','INT',0,0,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 # test computing stats on an HBase table
@@ -160,11 +160,11 @@ STRING, STRING, BIGINT, STRING
 ---- QUERY
 show column stats date_tbl_hbase
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'id_col','INT',22,0,4,4
-'date_col','DATE',16,2,4,4
-'date_part','DATE',4,0,4,4
+'id_col','INT',22,0,4,4,-1,-1
+'date_col','DATE',16,2,4,4,-1,-1
+'date_part','DATE',4,0,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
diff --git a/testdata/workloads/functional-query/queries/QueryTest/hbase-show-stats.test b/testdata/workloads/functional-query/queries/QueryTest/hbase-show-stats.test
index ea8e34c..c35fc89 100644
--- a/testdata/workloads/functional-query/queries/QueryTest/hbase-show-stats.test
+++ b/testdata/workloads/functional-query/queries/QueryTest/hbase-show-stats.test
@@ -19,21 +19,21 @@ STRING, STRING, BIGINT, STRING
 # Column stats on an HBaseTable
 show column stats alltypessmall
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'id','INT',105,-1,4,4
-'bigint_col','BIGINT',10,-1,8,8
-'bool_col','BOOLEAN',2,-1,1,1
-'date_string_col','STRING',12,-1,8,8
-'double_col','DOUBLE',10,-1,8,8
-'float_col','FLOAT',10,-1,4,4
-'int_col','INT',10,-1,4,4
-'month','INT',4,-1,4,4
-'smallint_col','SMALLINT',10,-1,2,2
-'string_col','STRING',10,-1,1,1
-'timestamp_col','TIMESTAMP',101,-1,16,16
-'tinyint_col','TINYINT',10,-1,1,1
-'year','INT',1,-1,4,4
+'id','INT',105,-1,4,4,-1,-1
+'bigint_col','BIGINT',10,-1,8,8,-1,-1
+'bool_col','BOOLEAN',2,-1,1,1,53,53
+'date_string_col','STRING',12,-1,8,8,-1,-1
+'double_col','DOUBLE',10,-1,8,8,-1,-1
+'float_col','FLOAT',10,-1,4,4,-1,-1
+'int_col','INT',10,-1,4,4,-1,-1
+'month','INT',4,-1,4,4,-1,-1
+'smallint_col','SMALLINT',10,-1,2,2,-1,-1
+'string_col','STRING',10,-1,1,1,-1,-1
+'timestamp_col','TIMESTAMP',101,-1,16,16,-1,-1
+'tinyint_col','TINYINT',10,-1,1,1,-1,-1
+'year','INT',1,-1,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
diff --git a/testdata/workloads/functional-query/queries/QueryTest/show-stats.test b/testdata/workloads/functional-query/queries/QueryTest/show-stats.test
index 22b38bc..e729e91 100644
--- a/testdata/workloads/functional-query/queries/QueryTest/show-stats.test
+++ b/testdata/workloads/functional-query/queries/QueryTest/show-stats.test
@@ -129,48 +129,48 @@ STRING, STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
 # Column stats on an HdfsTable
 show column stats alltypes
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'id','INT',7300,0,4,4
-'bool_col','BOOLEAN',2,0,1,1
-'tinyint_col','TINYINT',10,0,1,1
-'smallint_col','SMALLINT',10,0,2,2
-'int_col','INT',10,0,4,4
-'bigint_col','BIGINT',10,0,8,8
-'float_col','FLOAT',10,0,4,4
-'double_col','DOUBLE',10,0,8,8
-'date_string_col','STRING',736,0,8,8
-'string_col','STRING',10,0,1,1
-'timestamp_col','TIMESTAMP',7300,0,16,16
-'year','INT',2,0,4,4
-'month','INT',12,0,4,4
+'id','INT',7300,0,4,4,-1,-1
+'bool_col','BOOLEAN',2,0,1,1,3650,3650
+'tinyint_col','TINYINT',10,0,1,1,-1,-1
+'smallint_col','SMALLINT',10,0,2,2,-1,-1
+'int_col','INT',10,0,4,4,-1,-1
+'bigint_col','BIGINT',10,0,8,8,-1,-1
+'float_col','FLOAT',10,0,4,4,-1,-1
+'double_col','DOUBLE',10,0,8,8,-1,-1
+'date_string_col','STRING',736,0,8,8,-1,-1
+'string_col','STRING',10,0,1,1,-1,-1
+'timestamp_col','TIMESTAMP',7300,0,16,16,-1,-1
+'year','INT',2,0,4,4,-1,-1
+'month','INT',12,0,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 # Column stats for a table with complex types.
 # TODO: when complex type stats are supported revisit: compute-stats-complextype-warning.test
 show column stats functional.allcomplextypes
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'id','INT',-1,-1,4,4
-'int_array_col','ARRAY<INT>',-1,-1,-1,-1
-'array_array_col','ARRAY<ARRAY<INT>>',-1,-1,-1,-1
-'map_array_col','ARRAY<MAP<STRING,INT>>',-1,-1,-1,-1
-'struct_array_col','ARRAY<STRUCT<f1:BIGINT,f2:STRING>>',-1,-1,-1,-1
-'int_map_col','MAP<STRING,INT>',-1,-1,-1,-1
-'array_map_col','MAP<STRING,ARRAY<INT>>',-1,-1,-1,-1
-'map_map_col','MAP<STRING,MAP<STRING,INT>>',-1,-1,-1,-1
-'struct_map_col','MAP<STRING,STRUCT<f1:BIGINT,f2:STRING>>',-1,-1,-1,-1
-'int_struct_col','STRUCT<f1:INT,f2:INT>',-1,-1,-1,-1
-'complex_struct_col','STRUCT<f1:INT,f2:ARRAY<INT>,f3:MAP<STRING,INT>>',-1,-1,-1,-1
-'nested_struct_col','STRUCT<f1:INT,f2:STRUCT<f11:BIGINT,f12:STRUCT<f21:BIGINT>>>',-1,-1,-1,-1
-'complex_nested_struct_col','STRUCT<f1:INT,f2:ARRAY<STRUCT<f11:BIGINT,f12:MAP<STRING,STRUCT<f21:BIGINT>>>>>',-1,-1,-1,-1
-'year','INT',0,0,4,4
-'month','INT',0,0,4,4
+'id','INT',-1,-1,4,4,-1,-1
+'int_array_col','ARRAY<INT>',-1,-1,-1,-1,-1,-1
+'array_array_col','ARRAY<ARRAY<INT>>',-1,-1,-1,-1,-1,-1
+'map_array_col','ARRAY<MAP<STRING,INT>>',-1,-1,-1,-1,-1,-1
+'struct_array_col','ARRAY<STRUCT<f1:BIGINT,f2:STRING>>',-1,-1,-1,-1,-1,-1
+'int_map_col','MAP<STRING,INT>',-1,-1,-1,-1,-1,-1
+'array_map_col','MAP<STRING,ARRAY<INT>>',-1,-1,-1,-1,-1,-1
+'map_map_col','MAP<STRING,MAP<STRING,INT>>',-1,-1,-1,-1,-1,-1
+'struct_map_col','MAP<STRING,STRUCT<f1:BIGINT,f2:STRING>>',-1,-1,-1,-1,-1,-1
+'int_struct_col','STRUCT<f1:INT,f2:INT>',-1,-1,-1,-1,-1,-1
+'complex_struct_col','STRUCT<f1:INT,f2:ARRAY<INT>,f3:MAP<STRING,INT>>',-1,-1,-1,-1,-1,-1
+'nested_struct_col','STRUCT<f1:INT,f2:STRUCT<f11:BIGINT,f12:STRUCT<f21:BIGINT>>>',-1,-1,-1,-1,-1,-1
+'complex_nested_struct_col','STRUCT<f1:INT,f2:ARRAY<STRUCT<f11:BIGINT,f12:MAP<STRING,STRUCT<f21:BIGINT>>>>>',-1,-1,-1,-1,-1,-1
+'year','INT',0,0,4,4,-1,-1
+'month','INT',0,0,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 # IMPALA-7784: Show unescaped partition string values. Note that in our test framework,
diff --git a/testdata/workloads/functional-query/queries/QueryTest/truncate-table.test b/testdata/workloads/functional-query/queries/QueryTest/truncate-table.test
index 9ad769f..4f3e7fa 100644
--- a/testdata/workloads/functional-query/queries/QueryTest/truncate-table.test
+++ b/testdata/workloads/functional-query/queries/QueryTest/truncate-table.test
@@ -40,23 +40,23 @@ STRING, STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
 ---- QUERY
 show column stats t1;
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'id','INT',7300,0,4,4
-'bool_col','BOOLEAN',2,0,1,1
-'tinyint_col','TINYINT',10,0,1,1
-'smallint_col','SMALLINT',10,0,2,2
-'int_col','INT',10,0,4,4
-'bigint_col','BIGINT',10,0,8,8
-'float_col','FLOAT',10,0,4,4
-'double_col','DOUBLE',10,0,8,8
-'date_string_col','STRING',736,0,8,8
-'string_col','STRING',10,0,1,1
-'timestamp_col','TIMESTAMP',7300,0,16,16
-'year','INT',2,0,4,4
-'month','INT',12,0,4,4
+'id','INT',7300,0,4,4,-1,-1
+'bool_col','BOOLEAN',2,0,1,1,3650,3650
+'tinyint_col','TINYINT',10,0,1,1,-1,-1
+'smallint_col','SMALLINT',10,0,2,2,-1,-1
+'int_col','INT',10,0,4,4,-1,-1
+'bigint_col','BIGINT',10,0,8,8,-1,-1
+'float_col','FLOAT',10,0,4,4,-1,-1
+'double_col','DOUBLE',10,0,8,8,-1,-1
+'date_string_col','STRING',736,0,8,8,-1,-1
+'string_col','STRING',10,0,1,1,-1,-1
+'timestamp_col','TIMESTAMP',7300,0,16,16,-1,-1
+'year','INT',2,0,4,4,-1,-1
+'month','INT',12,0,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 # Show that the truncation removed all files, table stats, and incremental stats,
@@ -98,23 +98,23 @@ STRING, STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
 # Show that the truncation removed the column stats.
 show column stats t1;
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'id','INT',-1,-1,4,4
-'bool_col','BOOLEAN',-1,-1,1,1
-'tinyint_col','TINYINT',-1,-1,1,1
-'smallint_col','SMALLINT',-1,-1,2,2
-'int_col','INT',-1,-1,4,4
-'bigint_col','BIGINT',-1,-1,8,8
-'float_col','FLOAT',-1,-1,4,4
-'double_col','DOUBLE',-1,-1,8,8
-'date_string_col','STRING',-1,-1,-1,-1
-'string_col','STRING',-1,-1,-1,-1
-'timestamp_col','TIMESTAMP',-1,-1,16,16
-'year','INT',2,0,4,4
-'month','INT',12,0,4,4
+'id','INT',-1,-1,4,4,-1,-1
+'bool_col','BOOLEAN',-1,-1,1,1,-1,-1
+'tinyint_col','TINYINT',-1,-1,1,1,-1,-1
+'smallint_col','SMALLINT',-1,-1,2,2,-1,-1
+'int_col','INT',-1,-1,4,4,-1,-1
+'bigint_col','BIGINT',-1,-1,8,8,-1,-1
+'float_col','FLOAT',-1,-1,4,4,-1,-1
+'double_col','DOUBLE',-1,-1,8,8,-1,-1
+'date_string_col','STRING',-1,-1,-1,-1,-1,-1
+'string_col','STRING',-1,-1,-1,-1,-1,-1
+'timestamp_col','TIMESTAMP',-1,-1,16,16,-1,-1
+'year','INT',2,0,4,4,-1,-1
+'month','INT',12,0,4,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 # Create an unpartitioned table.
@@ -133,12 +133,12 @@ BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
 ---- QUERY
 show column stats t2;
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'a','STRING',3,0,8,6.666666507720947
-'b','STRING',3,0,7,4
+'a','STRING',3,0,8,6.666666507720947,-1,-1
+'b','STRING',3,0,7,4,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 # Show that the truncation removed all files, table stats, and incremental stats.
@@ -155,12 +155,12 @@ BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
 # Show that the truncation removed the column stats.
 show column stats t2;
 ---- LABELS
-COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE
+COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
 ---- RESULTS
-'a','STRING',-1,-1,-1,-1
-'b','STRING',-1,-1,-1,-1
+'a','STRING',-1,-1,-1,-1,-1,-1
+'b','STRING',-1,-1,-1,-1,-1,-1
 ---- TYPES
-STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE
+STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
 ====
 ---- QUERY
 # TRUNCATE IF EXISTS does not fail on non existent table