Files
impala/testdata/workloads/functional-query/queries/QueryTest/compute-stats.test
Aman Sinha e644c99724 IMPALA-10723: Treat materialized view as a table instead of a view
The existing behavior is that materialized views are treated
as views and therefore expanded similar to a view when one
queries the MV directly (SELECT * FROM materialized_view).
This is incorrect since an MV is a regular table with physical
properties such as partitioning, clustering etc. and should be
treated as such even though it has a view definition associated
with it.

This patch focuses on the use case where MVs are created as
HDFS tables and makes the MVs a derived class of HdfsTable,
therefore making it a Table object. It adds support for
collecting and displaying statistics on materialized views
and these statistics could be leveraged by an external frontend
that supports MV based query rewrites (note that such a rewrite
is not supported by Impala with or without this patch). Note
that we are not introducing new syntax for MVs since DDL, DML
operations on MVs are only supported through Hive.

Directly querying a MV is permitted but inserts into MVs is not
since MVs are supposed to be only modified through an external
refresh when the source tables have modifications.

If the source tables associated with a materialized view have
column masking or row-filtering Ranger policies, querying the
MV will throw an error. This behavior is consistent with that
of Hive.

Testing:
 - Added transactional tables for alltypes, jointbl and used
   them as source tables to create materialized view.
 - Added tests for compute stats, drop stats, show stats and
   simple select query on a materialized view.
 - Added test for select on a materialized view when the
   source table has a column mask.
 - Modified analyzer tests related to alter, insert, drop of
   materialized view.

Change-Id: If3108996124c6544a97fb0c34b6aff5e324a6cff
Reviewed-on: http://gerrit.cloudera.org:8080/17595
Tested-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com>
Reviewed-by: Quanlong Huang <huangquanlong@gmail.com>
2022-04-14 11:56:20 +00:00

1873 lines
70 KiB
Plaintext

====
---- QUERY
# test computing stats on a partitioned text table with all types
create table alltypes like functional.alltypes;
insert into alltypes partition(year, month)
select * from functional.alltypes;
====
---- QUERY
compute stats alltypes
---- RESULTS
'Updated 24 partition(s) and 11 column(s).'
---- TYPES
STRING
====
---- QUERY
show table stats alltypes
---- LABELS
YEAR, MONTH, #ROWS, #FILES, SIZE, BYTES CACHED, CACHE REPLICATION, FORMAT, INCREMENTAL STATS, LOCATION
---- RESULTS
'2009','1',310,1,'24.56KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2009','2',280,1,'22.27KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2009','3',310,1,'24.67KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2009','4',300,1,'24.06KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2009','5',310,1,'24.97KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2009','6',300,1,'24.16KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2009','7',310,1,'24.97KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2009','8',310,1,'24.97KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2009','9',300,1,'24.16KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2009','10',310,1,'24.97KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2009','11',300,1,'24.16KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2009','12',310,1,'24.97KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2010','1',310,1,'24.97KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2010','2',280,1,'22.54KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2010','3',310,1,'24.97KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2010','4',300,1,'24.16KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2010','5',310,1,'24.97KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2010','6',300,1,'24.16KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2010','7',310,1,'24.97KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2010','8',310,1,'24.97KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2010','9',300,1,'24.16KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2010','10',310,1,'24.97KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2010','11',300,1,'24.16KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2010','12',310,1,'24.97KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'Total','',7300,24,'586.84KB','0B','','','',''
---- TYPES
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, #TRUES, #FALSES
---- RESULTS
'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, BIGINT, BIGINT
====
---- QUERY
# Adding a column shouldn't cause the stats to be dropped.
alter table alltypes add columns (new_col int)
---- RESULTS
'New column(s) have been added to the table.'
====
---- QUERY
show column stats alltypes
---- LABELS
COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
---- RESULTS
'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, BIGINT, BIGINT
====
---- QUERY
# Changing a column shouldn't cause the stats of other columns to be dropped.
# Check that the column's own stats aren't dropped if the type matches once
# HIVE-15075 is resolved.
alter table alltypes change new_col new_col2 int
---- RESULTS
'Column has been altered.'
====
---- QUERY
show column stats alltypes
---- LABELS
COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
---- RESULTS
'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, BIGINT, BIGINT
====
---- QUERY
# Removing a column shouldn't cause the stats to be dropped.
alter table alltypes drop column new_col2
---- RESULTS
'Column has been dropped.'
====
---- QUERY
show column stats alltypes
---- LABELS
COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
---- RESULTS
'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, BIGINT, BIGINT
====
---- QUERY
# drop stats from this table
drop stats alltypes
====
---- QUERY
show table stats alltypes
---- LABELS
YEAR, MONTH, #ROWS, #FILES, SIZE, BYTES CACHED, CACHE REPLICATION, FORMAT, INCREMENTAL STATS, LOCATION
---- RESULTS
'2009','1',-1,1,'24.56KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2009','10',-1,1,'24.97KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2009','11',-1,1,'24.16KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2009','12',-1,1,'24.97KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2009','2',-1,1,'22.27KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2009','3',-1,1,'24.67KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2009','4',-1,1,'24.06KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2009','5',-1,1,'24.97KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2009','6',-1,1,'24.16KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2009','7',-1,1,'24.97KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2009','8',-1,1,'24.97KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2009','9',-1,1,'24.16KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2010','1',-1,1,'24.97KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2010','10',-1,1,'24.97KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2010','11',-1,1,'24.16KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2010','12',-1,1,'24.97KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2010','2',-1,1,'22.54KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2010','3',-1,1,'24.97KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2010','4',-1,1,'24.16KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2010','5',-1,1,'24.97KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2010','6',-1,1,'24.16KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2010','7',-1,1,'24.97KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2010','8',-1,1,'24.97KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2010','9',-1,1,'24.16KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'Total','',-1,24,'586.84KB','0B','','','',''
---- TYPES
STRING, STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
====
---- QUERY
# 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, #TRUES, #FALSES
---- RESULTS
'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, BIGINT, BIGINT
====
---- QUERY
# Restricts stats to a subset of columns.
create table alltypes_for_coltest like functional.alltypes;
insert into alltypes_for_coltest partition(year, month)
select * from functional.alltypes;
====
---- QUERY
compute stats alltypes_for_coltest(tinyint_col, float_col)
---- RESULTS
'Updated 24 partition(s) and 2 column(s).'
---- TYPES
STRING
====
---- QUERY
show table stats alltypes_for_coltest
---- LABELS
YEAR, MONTH, #ROWS, #FILES, SIZE, BYTES CACHED, CACHE REPLICATION, FORMAT, INCREMENTAL STATS, LOCATION
---- RESULTS
'2009','1',310,1,'24.56KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2009','2',280,1,'22.27KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2009','3',310,1,'24.67KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2009','4',300,1,'24.06KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2009','5',310,1,'24.97KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2009','6',300,1,'24.16KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2009','7',310,1,'24.97KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2009','8',310,1,'24.97KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2009','9',300,1,'24.16KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2009','10',310,1,'24.97KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2009','11',300,1,'24.16KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2009','12',310,1,'24.97KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2010','1',310,1,'24.97KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2010','2',280,1,'22.54KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2010','3',310,1,'24.97KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2010','4',300,1,'24.16KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2010','5',310,1,'24.97KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2010','6',300,1,'24.16KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2010','7',310,1,'24.97KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2010','8',310,1,'24.97KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2010','9',300,1,'24.16KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2010','10',310,1,'24.97KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2010','11',300,1,'24.16KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2010','12',310,1,'24.97KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'Total','',7300,24,'586.84KB','0B','','','',''
---- TYPES
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, #TRUES, #FALSES
---- RESULTS
'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, BIGINT, BIGINT
====
---- QUERY
# Computes only table statistics; no column statistics.
create table alltypes_no_col_stats like functional.alltypes;
insert into alltypes_no_col_stats partition(year, month)
select * from functional.alltypes;
====
---- QUERY
compute stats alltypes_no_col_stats()
---- RESULTS
'Updated 24 partition(s) and 0 column(s).'
---- TYPES
STRING
====
---- QUERY
show table stats alltypes_no_col_stats
---- LABELS
YEAR, MONTH, #ROWS, #FILES, SIZE, BYTES CACHED, CACHE REPLICATION, FORMAT, INCREMENTAL STATS, LOCATION
---- RESULTS
'2009','1',310,1,'24.56KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2009','2',280,1,'22.27KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2009','3',310,1,'24.67KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2009','4',300,1,'24.06KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2009','5',310,1,'24.97KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2009','6',300,1,'24.16KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2009','7',310,1,'24.97KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2009','8',310,1,'24.97KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2009','9',300,1,'24.16KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2009','10',310,1,'24.97KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2009','11',300,1,'24.16KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2009','12',310,1,'24.97KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2010','1',310,1,'24.97KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2010','2',280,1,'22.54KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2010','3',310,1,'24.97KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2010','4',300,1,'24.16KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2010','5',310,1,'24.97KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2010','6',300,1,'24.16KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2010','7',310,1,'24.97KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2010','8',310,1,'24.97KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2010','9',300,1,'24.16KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2010','10',310,1,'24.97KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2010','11',300,1,'24.16KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2010','12',310,1,'24.97KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'Total','',7300,24,'586.84KB','0B','','','',''
---- TYPES
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, #TRUES, #FALSES
---- RESULTS
'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, BIGINT, BIGINT
====
---- QUERY
# Add partitions with NULL values and check for stats.
alter table alltypes add partition (year=NULL, month=NULL)
---- RESULTS
'New partition has been added to the table.'
====
---- QUERY
show column stats alltypes
---- LABELS
COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
---- RESULTS
'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, BIGINT, BIGINT
====
---- QUERY
alter table alltypes add partition (year=2011, month=NULL)
---- RESULTS
'New partition has been added to the table.'
====
---- QUERY
show column stats alltypes
---- LABELS
COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
---- RESULTS
'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, BIGINT, BIGINT
====
---- QUERY
# Drop the partitions with NULL values and check for stats.
alter table alltypes drop partition (year=NULL, month=NULL)
---- RESULTS
'Dropped 1 partition(s).'
====
---- QUERY
show column stats alltypes
---- LABELS
COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
---- RESULTS
'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, BIGINT, BIGINT
====
---- QUERY
alter table alltypes drop partition (year=2011, month=NULL)
---- RESULTS
'Dropped 1 partition(s).'
====
---- QUERY
show column stats alltypes
---- LABELS
COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
---- RESULTS
'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, BIGINT, BIGINT
====
---- QUERY
# drop stats from this table a second time, should not throw an error.
drop stats alltypes
====
---- QUERY
# test computing stats on an unpartitioned text table with all types
create table alltypesnopart like functional.alltypesnopart;
insert into alltypesnopart
select id, bool_col, tinyint_col, smallint_col, int_col, bigint_col, float_col,
double_col, date_string_col, string_col, timestamp_col
from functional.alltypessmall;
====
---- QUERY
compute stats alltypesnopart
---- RESULTS
'Updated 1 partition(s) and 11 column(s).'
---- TYPES
STRING
====
---- QUERY
show table stats alltypesnopart
---- LABELS
#ROWS, #FILES, SIZE, BYTES CACHED, CACHE REPLICATION, FORMAT, INCREMENTAL STATS, LOCATION
---- RESULTS
100,3,'7.73KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
---- TYPES
BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
====
---- QUERY
show column stats alltypesnopart
---- LABELS
COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
---- RESULTS
'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, BIGINT, BIGINT
====
---- QUERY
# IMPALA-4767: Test that ALTER TABLE commands preserve table stats.
alter table alltypesnopart set tblproperties('test'='test');
alter table alltypesnopart set column stats string_col ('numDVs'='10');
alter table alltypesnopart add columns (new_col int);
show table stats alltypesnopart;
---- LABELS
#ROWS, #FILES, SIZE, BYTES CACHED, CACHE REPLICATION, FORMAT, INCREMENTAL STATS, LOCATION
---- RESULTS
100,3,'7.73KB','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
---- TYPES
BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
====
---- QUERY
# test computing stats on a partitioned parquet table with all types
create table alltypes_parquet
like functional_parquet.alltypes;
insert into alltypes_parquet partition(year, month)
select * from functional.alltypes;
====
---- QUERY
compute stats alltypes_parquet
---- RESULTS
'Updated 24 partition(s) and 11 column(s).'
---- TYPES
STRING
====
---- QUERY
show table stats alltypes_parquet
---- LABELS
YEAR, MONTH, #ROWS, #FILES, SIZE, BYTES CACHED, CACHE REPLICATION, FORMAT, INCREMENTAL STATS, LOCATION
---- RESULTS
'2009','1',310,1,regex:.+KB,'NOT CACHED','NOT CACHED','PARQUET','false',regex:.*
'2009','2',280,1,regex:.+KB,'NOT CACHED','NOT CACHED','PARQUET','false',regex:.*
'2009','3',310,1,regex:.+KB,'NOT CACHED','NOT CACHED','PARQUET','false',regex:.*
'2009','4',300,1,regex:.+KB,'NOT CACHED','NOT CACHED','PARQUET','false',regex:.*
'2009','5',310,1,regex:.+KB,'NOT CACHED','NOT CACHED','PARQUET','false',regex:.*
'2009','6',300,1,regex:.+KB,'NOT CACHED','NOT CACHED','PARQUET','false',regex:.*
'2009','7',310,1,regex:.+KB,'NOT CACHED','NOT CACHED','PARQUET','false',regex:.*
'2009','8',310,1,regex:.+KB,'NOT CACHED','NOT CACHED','PARQUET','false',regex:.*
'2009','9',300,1,regex:.+KB,'NOT CACHED','NOT CACHED','PARQUET','false',regex:.*
'2009','10',310,1,regex:.+KB,'NOT CACHED','NOT CACHED','PARQUET','false',regex:.*
'2009','11',300,1,regex:.+KB,'NOT CACHED','NOT CACHED','PARQUET','false',regex:.*
'2009','12',310,1,regex:.+KB,'NOT CACHED','NOT CACHED','PARQUET','false',regex:.*
'2010','1',310,1,regex:.+KB,'NOT CACHED','NOT CACHED','PARQUET','false',regex:.*
'2010','2',280,1,regex:.+KB,'NOT CACHED','NOT CACHED','PARQUET','false',regex:.*
'2010','3',310,1,regex:.+KB,'NOT CACHED','NOT CACHED','PARQUET','false',regex:.*
'2010','4',300,1,regex:.+KB,'NOT CACHED','NOT CACHED','PARQUET','false',regex:.*
'2010','5',310,1,regex:.+KB,'NOT CACHED','NOT CACHED','PARQUET','false',regex:.*
'2010','6',300,1,regex:.+KB,'NOT CACHED','NOT CACHED','PARQUET','false',regex:.*
'2010','7',310,1,regex:.+KB,'NOT CACHED','NOT CACHED','PARQUET','false',regex:.*
'2010','8',310,1,regex:.+KB,'NOT CACHED','NOT CACHED','PARQUET','false',regex:.*
'2010','9',300,1,regex:.+KB,'NOT CACHED','NOT CACHED','PARQUET','false',regex:.*
'2010','10',310,1,regex:.+KB,'NOT CACHED','NOT CACHED','PARQUET','false',regex:.*
'2010','11',300,1,regex:.+KB,'NOT CACHED','NOT CACHED','PARQUET','false',regex:.*
'2010','12',310,1,regex:.+KB,'NOT CACHED','NOT CACHED','PARQUET','false',regex:.*
'Total','',7300,24,regex:.+KB,'0B','','','',''
---- TYPES
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, #TRUES, #FALSES
---- RESULTS
'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, BIGINT, BIGINT
====
---- QUERY
# IMPALA-4767: Test that ALTER TABLE commands preserve table stats.
alter table alltypes_parquet set tblproperties('test'='test');
alter table alltypes_parquet set column stats string_col ('numDVs'='10');
alter table alltypes_parquet add columns (new_col int);
show table stats alltypes_parquet;
---- LABELS
YEAR, MONTH, #ROWS, #FILES, SIZE, BYTES CACHED, CACHE REPLICATION, FORMAT, INCREMENTAL STATS, LOCATION
---- RESULTS
'2009','1',310,1,regex:.+KB,'NOT CACHED','NOT CACHED','PARQUET','false',regex:.*
'2009','2',280,1,regex:.+KB,'NOT CACHED','NOT CACHED','PARQUET','false',regex:.*
'2009','3',310,1,regex:.+KB,'NOT CACHED','NOT CACHED','PARQUET','false',regex:.*
'2009','4',300,1,regex:.+KB,'NOT CACHED','NOT CACHED','PARQUET','false',regex:.*
'2009','5',310,1,regex:.+KB,'NOT CACHED','NOT CACHED','PARQUET','false',regex:.*
'2009','6',300,1,regex:.+KB,'NOT CACHED','NOT CACHED','PARQUET','false',regex:.*
'2009','7',310,1,regex:.+KB,'NOT CACHED','NOT CACHED','PARQUET','false',regex:.*
'2009','8',310,1,regex:.+KB,'NOT CACHED','NOT CACHED','PARQUET','false',regex:.*
'2009','9',300,1,regex:.+KB,'NOT CACHED','NOT CACHED','PARQUET','false',regex:.*
'2009','10',310,1,regex:.+KB,'NOT CACHED','NOT CACHED','PARQUET','false',regex:.*
'2009','11',300,1,regex:.+KB,'NOT CACHED','NOT CACHED','PARQUET','false',regex:.*
'2009','12',310,1,regex:.+KB,'NOT CACHED','NOT CACHED','PARQUET','false',regex:.*
'2010','1',310,1,regex:.+KB,'NOT CACHED','NOT CACHED','PARQUET','false',regex:.*
'2010','2',280,1,regex:.+KB,'NOT CACHED','NOT CACHED','PARQUET','false',regex:.*
'2010','3',310,1,regex:.+KB,'NOT CACHED','NOT CACHED','PARQUET','false',regex:.*
'2010','4',300,1,regex:.+KB,'NOT CACHED','NOT CACHED','PARQUET','false',regex:.*
'2010','5',310,1,regex:.+KB,'NOT CACHED','NOT CACHED','PARQUET','false',regex:.*
'2010','6',300,1,regex:.+KB,'NOT CACHED','NOT CACHED','PARQUET','false',regex:.*
'2010','7',310,1,regex:.+KB,'NOT CACHED','NOT CACHED','PARQUET','false',regex:.*
'2010','8',310,1,regex:.+KB,'NOT CACHED','NOT CACHED','PARQUET','false',regex:.*
'2010','9',300,1,regex:.+KB,'NOT CACHED','NOT CACHED','PARQUET','false',regex:.*
'2010','10',310,1,regex:.+KB,'NOT CACHED','NOT CACHED','PARQUET','false',regex:.*
'2010','11',300,1,regex:.+KB,'NOT CACHED','NOT CACHED','PARQUET','false',regex:.*
'2010','12',310,1,regex:.+KB,'NOT CACHED','NOT CACHED','PARQUET','false',regex:.*
'Total','',7300,24,regex:.+KB,'0B','','','',''
---- TYPES
STRING, STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
====
---- QUERY
# test computing stats on an empty table
create table alltypes_empty like functional_rc_snap.alltypes
====
---- QUERY
compute stats alltypes_empty
---- RESULTS
'Updated 0 partition(s) and 11 column(s).'
---- TYPES
STRING
====
---- QUERY
show table stats alltypes_empty
---- LABELS
YEAR, MONTH, #ROWS, #FILES, SIZE, BYTES CACHED, CACHE REPLICATION, FORMAT, INCREMENTAL STATS, LOCATION
---- RESULTS
'Total','',0,0,'0B','0B','','','',''
---- TYPES
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, #TRUES, #FALSES
---- RESULTS
'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, BIGINT, BIGINT
====
---- QUERY
# IMPALA-883: Compute table stats for an empty partition.
create table empty_partitioned (i int) partitioned by (j int);
alter table empty_partitioned add partition (j=1);
====
---- QUERY
compute stats empty_partitioned
---- RESULTS
'Updated 1 partition(s) and 1 column(s).'
---- TYPES
STRING
====
---- QUERY
show table stats empty_partitioned
---- RESULTS
'1',0,0,'0B','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'Total',0,0,'0B','0B','','','',''
---- TYPES
STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
====
---- QUERY
# Insert non empty partition to the table with empty partition.
insert into table empty_partitioned partition (j=2) select 1;
====
---- QUERY
drop stats empty_partitioned
---- RESULTS
'Stats have been dropped.'
====
---- QUERY
# Verify partition stats work with empty and non-empty partition.
compute stats empty_partitioned
---- RESULTS
'Updated 2 partition(s) and 1 column(s).'
---- TYPES
STRING
====
---- QUERY
show table stats empty_partitioned
---- RESULTS
'1',0,0,'0B','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2',1,1,'2B','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'Total',1,1,'2B','0B','','','',''
---- TYPES
STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
====
---- QUERY
# Verify partition stats work with empty and non-empty partition.
drop stats empty_partitioned;
compute stats empty_partitioned;
---- RESULTS
'Updated 2 partition(s) and 1 column(s).'
---- TYPES
STRING
====
---- QUERY
show table stats empty_partitioned
---- RESULTS
'1',0,0,'0B','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'2',1,1,'2B','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'Total',1,1,'2B','0B','','','',''
---- TYPES
STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
====
---- QUERY
# IMPALA-1614 Verify that COMPUTE STATS works on a table whose name starts with numbers.
create table `123_table` (i int, 1p int) partitioned by (2j int);
alter table `123_table` add partition (2j=1);
====
---- QUERY
compute stats `123_table`
---- RESULTS
'Updated 1 partition(s) and 2 column(s).'
---- TYPES
STRING
====
---- QUERY
show table stats `123_table`
---- RESULTS
'1',0,0,'0B','NOT CACHED','NOT CACHED','TEXT','false',regex:.*
'Total',0,0,'0B','0B','','','',''
---- TYPES
STRING, BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
====
---- QUERY
# IMPALA-1629: Verify that the column stats for CHAR/VARCHAR columns are populated.
# The values of date_string_col always have exactly 8 characters. The CHAR/VARCHAR
# sizes below are chosen such that they are smaller, equal, and greater than the
# source data values, in particular, to test the CHAR padding behavior.
create table chars_tbl (
id int,
ch1 char(1),
ch2 char(8),
ch3 char(20),
ts timestamp,
vc1 varchar(1),
vc2 varchar(8),
vc3 varchar(20)
)
partitioned by (
year char(5),
day varchar(13)
);
insert overwrite chars_tbl partition(year, day)
select
id,
cast(date_string_col as char(1)),
cast(date_string_col as char(8)),
cast(date_string_col as char(20)),
timestamp_col,
cast(date_string_col as varchar(1)),
cast(date_string_col as varchar(8)),
cast(date_string_col as varchar(20)),
cast(year as char(5)),
cast(day as varchar(13))
from functional.alltypesagg
where day is null or day in (3, 7);
---- RESULTS: VERIFY_IS_EQUAL_SORTED
year=2010 /day=7: 1000
year=2010 /day=3: 1000
year=2010 /day=__HIVE_DEFAULT_PARTITION__: 1000
====
---- QUERY
compute stats chars_tbl
---- RESULTS
'Updated 3 partition(s) and 8 column(s).'
---- TYPES
STRING
====
---- QUERY
show column stats chars_tbl
---- LABELS
COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
---- RESULTS
'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, BIGINT, BIGINT
====
---- QUERY
# Test that compute stats works on wide tables.
create table widetable_1000_cols
stored as parquet
as
select * from functional_parquet.widetable_1000_cols
====
---- QUERY
compute stats widetable_1000_cols
====
---- QUERY
show column stats widetable_1000_cols
---- RESULTS
'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, BIGINT, BIGINT
====
---- QUERY
# Tests that the child query error status is propagated back to the parent
# compute stats query. Forces an error by setting low mem limit.
set mem_limit=1m;
compute stats tpch_parquet.customer;
---- CATCH
row_regex: .*Rejected query from pool .*: minimum memory reservation is greater than memory available to the query for buffer reservations.*
====
---- QUERY
# test compute stats on a materialized view
# NOTE: we use mv2_alltypes_jointbl here not mv1_alltypes_jointbl
# because the latter is used for planner testing and we don't want
# to modify its stats. Creation of MVs is not supported in Impala
# so we do the creation only once in the initial load script.
compute stats functional_orc_def.mv2_alltypes_jointbl;
---- RESULTS
'Updated 1 partition(s) and 5 column(s).'
---- TYPES
STRING
====
---- QUERY
# test show table stats on a materialized view
show table stats functional_orc_def.mv2_alltypes_jointbl;
---- LABELS
#ROWS, #FILES, SIZE, BYTES CACHED, CACHE REPLICATION, FORMAT, INCREMENTAL STATS, LOCATION
---- RESULTS
7,1,regex:.+B,'NOT CACHED','NOT CACHED','ORC','false',regex:.*
---- TYPES
BIGINT, BIGINT, STRING, STRING, STRING, STRING, STRING, STRING
====
---- QUERY
# test show column stats on a materialized view
show column stats functional_orc_def.mv2_alltypes_jointbl;
---- LABELS
COLUMN, TYPE, #DISTINCT VALUES, #NULLS, MAX SIZE, AVG SIZE, #TRUES, #FALSES
---- RESULTS
'c1','SMALLINT',1,0,2,2,-1,-1
'c2','BOOLEAN',2,0,1,1,7,0
'c3','BIGINT',7,0,8,8,-1,-1
'max_bigint','BIGINT',1,0,8,8,-1,-1
'max_zip','INT',2,0,4,4,-1,-1
---- TYPES
STRING, STRING, BIGINT, BIGINT, BIGINT, DOUBLE, BIGINT, BIGINT
====
---- QUERY
# test drop stats on a materialized view
drop stats functional_orc_def.mv2_alltypes_jointbl;
---- RESULTS
'Stats have been dropped.'
====