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