From commits-return-31409-archive-asf-public=cust-asf.ponee.io@hive.apache.org Wed Jan 24 00:34:43 2018 Return-Path: X-Original-To: archive-asf-public@eu.ponee.io Delivered-To: archive-asf-public@eu.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by mx-eu-01.ponee.io (Postfix) with ESMTP id 561AF180621 for ; Wed, 24 Jan 2018 00:34:43 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 45E3B160C4E; Tue, 23 Jan 2018 23:34:43 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id DB166160C4D for ; Wed, 24 Jan 2018 00:34:41 +0100 (CET) Received: (qmail 6057 invoked by uid 500); 23 Jan 2018 23:34:41 -0000 Mailing-List: contact commits-help@hive.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: hive-dev@hive.apache.org Delivered-To: mailing list commits@hive.apache.org Received: (qmail 6036 invoked by uid 99); 23 Jan 2018 23:34:41 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 23 Jan 2018 23:34:41 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 50DDEE2F03; Tue, 23 Jan 2018 23:34:40 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: vihangk1@apache.org To: commits@hive.apache.org Date: Tue, 23 Jan 2018 23:34:42 -0000 Message-Id: <5fbd4fb7478344e4947a52a5dc42d333@git.apache.org> In-Reply-To: References: X-Mailer: ASF-Git Admin Mailer Subject: [3/3] hive git commit: HIVE-18393 : Error returned when some other type is read as string from parquet tables (Janaki Lahorani via Vihang Karajgaonkar) HIVE-18393 : Error returned when some other type is read as string from parquet tables (Janaki Lahorani via Vihang Karajgaonkar) Project: http://git-wip-us.apache.org/repos/asf/hive/repo Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/00e8826b Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/00e8826b Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/00e8826b Branch: refs/heads/master Commit: 00e8826ba85f24b2bc47ae2e85664f4574732874 Parents: fff86f3 Author: Vihang Karajgaonkar Authored: Tue Jan 23 15:10:03 2018 -0800 Committer: Vihang Karajgaonkar Committed: Tue Jan 23 15:10:03 2018 -0800 ---------------------------------------------------------------------- .../serde/primitive/ParquetStringInspector.java | 25 +- .../queries/clientpositive/typechangetest.q | 569 ++++ .../results/clientpositive/typechangetest.q.out | 2540 ++++++++++++++++++ .../WritableHiveCharObjectInspector.java | 21 +- .../WritableHiveVarcharObjectInspector.java | 27 +- 5 files changed, 3168 insertions(+), 14 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hive/blob/00e8826b/ql/src/java/org/apache/hadoop/hive/ql/io/parquet/serde/primitive/ParquetStringInspector.java ---------------------------------------------------------------------- diff --git a/ql/src/java/org/apache/hadoop/hive/ql/io/parquet/serde/primitive/ParquetStringInspector.java b/ql/src/java/org/apache/hadoop/hive/ql/io/parquet/serde/primitive/ParquetStringInspector.java index 64dd79e..dead324 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/io/parquet/serde/primitive/ParquetStringInspector.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/io/parquet/serde/primitive/ParquetStringInspector.java @@ -16,13 +16,22 @@ package org.apache.hadoop.hive.ql.io.parquet.serde.primitive; import java.io.UnsupportedEncodingException; import java.nio.charset.CharacterCodingException; +import org.apache.hadoop.hive.serde2.io.DoubleWritable; +import org.apache.hadoop.hive.serde2.io.HiveDecimalWritable; +import org.apache.hadoop.hive.serde2.io.TimestampWritable; import org.apache.hadoop.hive.serde2.objectinspector.primitive.JavaStringObjectInspector; import org.apache.hadoop.hive.serde2.objectinspector.primitive.SettableStringObjectInspector; import org.apache.hadoop.io.BytesWritable; import org.apache.hadoop.io.Text; +import org.apache.hadoop.io.FloatWritable; +import org.apache.hadoop.io.LongWritable; +import org.apache.hadoop.io.IntWritable; +import org.apache.hadoop.io.BooleanWritable; /** - * The ParquetStringInspector inspects a BinaryWritable to give a Text or String. + * The ParquetStringInspector inspects a BytesWritable, TimestampWritable, HiveDecimalWritable, + * DoubleWritable, FloatWritable, LongWritable, IntWritable, and BooleanWritable to give a Text + * or String. * */ public class ParquetStringInspector extends JavaStringObjectInspector implements SettableStringObjectInspector { @@ -49,6 +58,13 @@ public class ParquetStringInspector extends JavaStringObjectInspector implements return new Text((String) o); } + if ((o instanceof TimestampWritable) || (o instanceof HiveDecimalWritable) + || (o instanceof DoubleWritable) || (o instanceof FloatWritable) + || (o instanceof LongWritable) || (o instanceof IntWritable) + || (o instanceof BooleanWritable)) { + return new Text(o.toString()); + } + throw new UnsupportedOperationException("Cannot inspect " + o.getClass().getCanonicalName()); } @@ -74,6 +90,13 @@ public class ParquetStringInspector extends JavaStringObjectInspector implements return (String) o; } + if ((o instanceof TimestampWritable) || (o instanceof HiveDecimalWritable) + || (o instanceof DoubleWritable) || (o instanceof FloatWritable) + || (o instanceof LongWritable) || (o instanceof IntWritable) + || (o instanceof BooleanWritable)) { + return (String) o.toString(); + } + throw new UnsupportedOperationException("Cannot inspect " + o.getClass().getCanonicalName()); } http://git-wip-us.apache.org/repos/asf/hive/blob/00e8826b/ql/src/test/queries/clientpositive/typechangetest.q ---------------------------------------------------------------------- diff --git a/ql/src/test/queries/clientpositive/typechangetest.q b/ql/src/test/queries/clientpositive/typechangetest.q new file mode 100644 index 0000000..314fc8b --- /dev/null +++ b/ql/src/test/queries/clientpositive/typechangetest.q @@ -0,0 +1,569 @@ + +-- Create a base table to be used for loading data: Begin +drop table if exists testAltCol; +create table testAltCol +(cId TINYINT, + cTimeStamp TIMESTAMP, + cDecimal DECIMAL(38,18), + cDouble DOUBLE, + cFloat FLOAT, + cBigInt BIGINT, + cInt INT, + cSmallInt SMALLINT, + cTinyint TINYINT, + cBoolean BOOLEAN); + +insert into testAltCol values +(1, + '2017-11-07 09:02:49.999999999', + 12345678901234567890.123456789012345678, + 1.79e308, + 3.4e38, + 1234567890123456789, + 1234567890, + 12345, + 123, + TRUE); + +insert into testAltCol values +(2, + '1400-01-01 01:01:01.000000001', + 1.1, + 2.2, + 3.3, + 1, + 2, + 3, + 4, + FALSE); + +insert into testAltCol values +(3, + '1400-01-01 01:01:01.000000001', + 10.1, + 20.2, + 30.3, + 1234567890123456789, + 1234567890, + 12345, + 123, + TRUE); + +insert into testAltCol values +(4, + '1400-01-01 01:01:01.000000001', + -10.1, + -20.2, + -30.3, + -1234567890123456789, + -1234567890, + -12345, + -123, + FALSE); + +select cId, cTimeStamp from testAltCol order by cId; +select cId, cDecimal, cDouble, cFloat from testAltCol order by cId; +select cId, cBigInt, cInt, cSmallInt, cTinyint from testAltCol order by cId; +select cId, cBoolean from testAltCol order by cId; +-- Create a base table to be used for loading data: Begin + +-- Enable change of column type +SET hive.metastore.disallow.incompatible.col.type.changes=false; + +-- Text type: Begin +-- timestamp, decimal, double, float, bigint, int, smallint, tinyint and boolean: after type +-- changed to string, varchar and char return correct data. +drop table if exists testAltColT; + +create table testAltColT stored as textfile as select * from testAltCol; + +select cId, cTimeStamp from testAltColT order by cId; +select cId, cDecimal, cDouble, cFloat from testAltColT order by cId; +select cId, cBigInt, cInt, cSmallInt, cTinyint from testAltColT order by cId; +select cId, cBoolean from testAltColT order by cId; + +alter table testAltColT replace columns +(cId TINYINT, + cTimeStamp STRING, + cDecimal STRING, + cDouble STRING, + cFloat STRING, + cBigInt STRING, + cInt STRING, + cSmallInt STRING, + cTinyint STRING, + cBoolean STRING); + +select cId, cTimeStamp from testAltColT order by cId; +select cId, cDecimal, cDouble, cFloat from testAltColT order by cId; +select cId, cBigInt, cInt, cSmallInt, cTinyint from testAltColT order by cId; +select cId, cBoolean from testAltColT order by cId; + +alter table testAltColT replace columns +(cId TINYINT, + cTimeStamp VARCHAR(100), + cDecimal VARCHAR(100), + cDouble VARCHAR(100), + cFloat VARCHAR(100), + cBigInt VARCHAR(100), + cInt VARCHAR(100), + cSmallInt VARCHAR(100), + cTinyint VARCHAR(100), + cBoolean VARCHAR(100)); + +select cId, cTimeStamp from testAltColT order by cId; +select cId, cDecimal, cDouble, cFloat from testAltColT order by cId; +select cId, cBigInt, cInt, cSmallInt, cTinyint from testAltColT order by cId; +select cId, cBoolean from testAltColT order by cId; + +alter table testAltColT replace columns +(cId TINYINT, + cTimeStamp CHAR(100), + cDecimal CHAR(100), + cDouble CHAR(100), + cFloat CHAR(100), + cBigInt CHAR(100), + cInt CHAR(100), + cSmallInt CHAR(100), + cTinyint CHAR(100), + cBoolean CHAR(100)); + +select cId, cTimeStamp from testAltColT order by cId; +select cId, cDecimal, cDouble, cFloat from testAltColT order by cId; +select cId, cBigInt, cInt, cSmallInt, cTinyint from testAltColT order by cId; +select cId, cBoolean from testAltColT order by cId; + +alter table testAltColT replace columns +(cId TINYINT, + cTimeStamp VARCHAR(4), + cDecimal VARCHAR(4), + cDouble VARCHAR(4), + cFloat VARCHAR(4), + cBigInt VARCHAR(4), + cInt VARCHAR(4), + cSmallInt VARCHAR(4), + cTinyint VARCHAR(4), + cBoolean VARCHAR(4)); + +select cId, cTimeStamp from testAltColT order by cId; +select cId, cDecimal, cDouble, cFloat from testAltColT order by cId; +select cId, cBigInt, cInt, cSmallInt, cTinyint from testAltColT order by cId; +select cId, cBoolean from testAltColT order by cId; + +alter table testAltColT replace columns +(cId TINYINT, + cTimeStamp CHAR(4), + cDecimal CHAR(4), + cDouble CHAR(4), + cFloat CHAR(4), + cBigInt CHAR(4), + cInt CHAR(4), + cSmallInt CHAR(4), + cTinyint CHAR(4), + cBoolean CHAR(4)); + +select cId, cTimeStamp from testAltColT order by cId; +select cId, cDecimal, cDouble, cFloat from testAltColT order by cId; +select cId, cBigInt, cInt, cSmallInt, cTinyint from testAltColT order by cId; +select cId, cBoolean from testAltColT order by cId; +drop table if exists testAltColT; +-- Text type: End + +-- Sequence File type: Begin +-- timestamp, decimal, double, float, bigint, int, smallint, tinyint and boolean: after type +-- changed to string, varchar and char return correct data. +drop table if exists testAltColSF; + +create table testAltColSF stored as sequencefile as select * from testAltCol; + +select cId, cTimeStamp from testAltColSF order by cId; +select cId, cDecimal, cDouble, cFloat from testAltColSF order by cId; +select cId, cBigInt, cInt, cSmallInt, cTinyint from testAltColSF order by cId; +select cId, cBoolean from testAltColSF order by cId; + +alter table testAltColSF replace columns +(cId TINYINT, + cTimeStamp STRING, + cDecimal STRING, + cDouble STRING, + cFloat STRING, + cBigInt STRING, + cInt STRING, + cSmallInt STRING, + cTinyint STRING, + cBoolean STRING); + +select cId, cTimeStamp from testAltColSF order by cId; +select cId, cDecimal, cDouble, cFloat from testAltColSF order by cId; +select cId, cBigInt, cInt, cSmallInt, cTinyint from testAltColSF order by cId; +select cId, cBoolean from testAltColSF order by cId; + +alter table testAltColSF replace columns +(cId TINYINT, + cTimeStamp VARCHAR(100), + cDecimal VARCHAR(100), + cDouble VARCHAR(100), + cFloat VARCHAR(100), + cBigInt VARCHAR(100), + cInt VARCHAR(100), + cSmallInt VARCHAR(100), + cTinyint VARCHAR(100), + cBoolean VARCHAR(100)); + +select cId, cTimeStamp from testAltColSF order by cId; +select cId, cDecimal, cDouble, cFloat from testAltColSF order by cId; +select cId, cBigInt, cInt, cSmallInt, cTinyint from testAltColSF order by cId; +select cId, cBoolean from testAltColSF order by cId; + +alter table testAltColSF replace columns +(cId TINYINT, + cTimeStamp CHAR(100), + cDecimal CHAR(100), + cDouble CHAR(100), + cFloat CHAR(100), + cBigInt CHAR(100), + cInt CHAR(100), + cSmallInt CHAR(100), + cTinyint CHAR(100), + cBoolean CHAR(100)); + +select cId, cTimeStamp from testAltColSF order by cId; +select cId, cDecimal, cDouble, cFloat from testAltColSF order by cId; +select cId, cBigInt, cInt, cSmallInt, cTinyint from testAltColSF order by cId; +select cId, cBoolean from testAltColSF order by cId; + +alter table testAltColSF replace columns +(cId TINYINT, + cTimeStamp VARCHAR(4), + cDecimal VARCHAR(4), + cDouble VARCHAR(4), + cFloat VARCHAR(4), + cBigInt VARCHAR(4), + cInt VARCHAR(4), + cSmallInt VARCHAR(4), + cTinyint VARCHAR(4), + cBoolean VARCHAR(4)); + +select cId, cTimeStamp from testAltColSF order by cId; +select cId, cDecimal, cDouble, cFloat from testAltColSF order by cId; +select cId, cBigInt, cInt, cSmallInt, cTinyint from testAltColSF order by cId; +select cId, cBoolean from testAltColSF order by cId; + +alter table testAltColSF replace columns +(cId TINYINT, + cTimeStamp CHAR(4), + cDecimal CHAR(4), + cDouble CHAR(4), + cFloat CHAR(4), + cBigInt CHAR(4), + cInt CHAR(4), + cSmallInt CHAR(4), + cTinyint CHAR(4), + cBoolean CHAR(4)); + +select cId, cTimeStamp from testAltColSF order by cId; +select cId, cDecimal, cDouble, cFloat from testAltColSF order by cId; +select cId, cBigInt, cInt, cSmallInt, cTinyint from testAltColSF order by cId; +select cId, cBoolean from testAltColSF order by cId; + +drop table if exists testAltColSF; +-- Sequence File type: End + +-- ORC type: Begin +-- timestamp, decimal, double, float, bigint, int, smallint, tinyint and boolean: after type +-- changed to string, varchar and char return correct data. +drop table if exists testAltColORC; + +create table testAltColORC stored as orc as select * from testAltCol; + +select cId, cTimeStamp from testAltColORC order by cId; +select cId, cDecimal, cDouble, cFloat from testAltColORC order by cId; +select cId, cBigInt, cInt, cSmallInt, cTinyint from testAltColORC order by cId; +select cId, cBoolean from testAltColORC order by cId; + +alter table testAltColORC replace columns +(cId TINYINT, + cTimeStamp STRING, + cDecimal STRING, + cDouble STRING, + cFloat STRING, + cBigInt STRING, + cInt STRING, + cSmallInt STRING, + cTinyint STRING, + cBoolean STRING); + +select cId, cTimeStamp from testAltColORC order by cId; +select cId, cDecimal, cDouble, cFloat from testAltColORC order by cId; +select cId, cBigInt, cInt, cSmallInt, cTinyint from testAltColORC order by cId; +select cId, cBoolean from testAltColORC order by cId; + +alter table testAltColORC replace columns +(cId TINYINT, + cTimeStamp VARCHAR(100), + cDecimal VARCHAR(100), + cDouble VARCHAR(100), + cFloat VARCHAR(100), + cBigInt VARCHAR(100), + cInt VARCHAR(100), + cSmallInt VARCHAR(100), + cTinyint VARCHAR(100), + cBoolean VARCHAR(100)); + +select cId, cTimeStamp from testAltColORC order by cId; +select cId, cDecimal, cDouble, cFloat from testAltColORC order by cId; +select cId, cBigInt, cInt, cSmallInt, cTinyint from testAltColORC order by cId; +select cId, cBoolean from testAltColORC order by cId; + +alter table testAltColORC replace columns +(cId TINYINT, + cTimeStamp CHAR(100), + cDecimal CHAR(100), + cDouble CHAR(100), + cFloat CHAR(100), + cBigInt CHAR(100), + cInt CHAR(100), + cSmallInt CHAR(100), + cTinyint CHAR(100), + cBoolean CHAR(100)); + +select cId, cTimeStamp from testAltColORC order by cId; +select cId, cDecimal, cDouble, cFloat from testAltColORC order by cId; +select cId, cBigInt, cInt, cSmallInt, cTinyint from testAltColORC order by cId; +select cId, cBoolean from testAltColORC order by cId; + +alter table testAltColORC replace columns +(cId TINYINT, + cTimeStamp VARCHAR(4), + cDecimal VARCHAR(4), + cDouble VARCHAR(4), + cFloat VARCHAR(4), + cBigInt VARCHAR(4), + cInt VARCHAR(4), + cSmallInt VARCHAR(4), + cTinyint VARCHAR(4), + cBoolean VARCHAR(4)); + +select cId, cTimeStamp from testAltColORC order by cId; +select cId, cDecimal, cDouble, cFloat from testAltColORC order by cId; +select cId, cBigInt, cInt, cSmallInt, cTinyint from testAltColORC order by cId; +select cId, cBoolean from testAltColORC order by cId; + +alter table testAltColORC replace columns +(cId TINYINT, + cTimeStamp CHAR(4), + cDecimal CHAR(4), + cDouble CHAR(4), + cFloat CHAR(4), + cBigInt CHAR(4), + cInt CHAR(4), + cSmallInt CHAR(4), + cTinyint CHAR(4), + cBoolean CHAR(4)); + +select cId, cTimeStamp from testAltColORC order by cId; +select cId, cDecimal, cDouble, cFloat from testAltColORC order by cId; +select cId, cBigInt, cInt, cSmallInt, cTinyint from testAltColORC order by cId; +select cId, cBoolean from testAltColORC order by cId; + +drop table if exists testAltColORC; +-- ORC type: End + +-- RCFile type: Begin +-- timestamp, decimal, double, float, bigint, int, smallint, tinyint and boolean: after type +-- changed to string, varchar and char return correct data. +drop table if exists testAltColRCF; + +create table testAltColRCF stored as rcfile as select * from testAltCol; + +select cId, cTimeStamp from testAltColRCF order by cId; +select cId, cDecimal, cDouble, cFloat from testAltColRCF order by cId; +select cId, cBigInt, cInt, cSmallInt, cTinyint from testAltColRCF order by cId; +select cId, cBoolean from testAltColRCF order by cId; + +alter table testAltColRCF replace columns +(cId TINYINT, + cTimeStamp STRING, + cDecimal STRING, + cDouble STRING, + cFloat STRING, + cBigInt STRING, + cInt STRING, + cSmallInt STRING, + cTinyint STRING, + cBoolean STRING); + +select cId, cTimeStamp from testAltColRCF order by cId; +select cId, cDecimal, cDouble, cFloat from testAltColRCF order by cId; +select cId, cBigInt, cInt, cSmallInt, cTinyint from testAltColRCF order by cId; +select cId, cBoolean from testAltColRCF order by cId; + +alter table testAltColRCF replace columns +(cId TINYINT, + cTimeStamp VARCHAR(100), + cDecimal VARCHAR(100), + cDouble VARCHAR(100), + cFloat VARCHAR(100), + cBigInt VARCHAR(100), + cInt VARCHAR(100), + cSmallInt VARCHAR(100), + cTinyint VARCHAR(100), + cBoolean VARCHAR(100)); + +select cId, cTimeStamp from testAltColRCF order by cId; +select cId, cDecimal, cDouble, cFloat from testAltColRCF order by cId; +select cId, cBigInt, cInt, cSmallInt, cTinyint from testAltColRCF order by cId; +select cId, cBoolean from testAltColRCF order by cId; + +alter table testAltColRCF replace columns +(cId TINYINT, + cTimeStamp CHAR(100), + cDecimal CHAR(100), + cDouble CHAR(100), + cFloat CHAR(100), + cBigInt CHAR(100), + cInt CHAR(100), + cSmallInt CHAR(100), + cTinyint CHAR(100), + cBoolean CHAR(100)); + +select cId, cTimeStamp from testAltColRCF order by cId; +select cId, cDecimal, cDouble, cFloat from testAltColRCF order by cId; +select cId, cBigInt, cInt, cSmallInt, cTinyint from testAltColRCF order by cId; +select cId, cBoolean from testAltColRCF order by cId; + +alter table testAltColRCF replace columns +(cId TINYINT, + cTimeStamp VARCHAR(4), + cDecimal VARCHAR(4), + cDouble VARCHAR(4), + cFloat VARCHAR(4), + cBigInt VARCHAR(4), + cInt VARCHAR(4), + cSmallInt VARCHAR(4), + cTinyint VARCHAR(4), + cBoolean VARCHAR(4)); + +select cId, cTimeStamp from testAltColRCF order by cId; +select cId, cDecimal, cDouble, cFloat from testAltColRCF order by cId; +select cId, cBigInt, cInt, cSmallInt, cTinyint from testAltColRCF order by cId; +select cId, cBoolean from testAltColRCF order by cId; + +alter table testAltColRCF replace columns +(cId TINYINT, + cTimeStamp CHAR(4), + cDecimal CHAR(4), + cDouble CHAR(4), + cFloat CHAR(4), + cBigInt CHAR(4), + cInt CHAR(4), + cSmallInt CHAR(4), + cTinyint CHAR(4), + cBoolean CHAR(4)); + +select cId, cTimeStamp from testAltColRCF order by cId; +select cId, cDecimal, cDouble, cFloat from testAltColRCF order by cId; +select cId, cBigInt, cInt, cSmallInt, cTinyint from testAltColRCF order by cId; +select cId, cBoolean from testAltColRCF order by cId; + +drop table if exists testAltColRCF; +-- RCFile type: End + +-- Parquet type: Begin +drop table if exists testAltColP; +create table testAltColP stored as parquet as select * from testAltCol; + +select cId, cTimeStamp from testAltColP order by cId; +select cId, cDecimal, cDouble, cFloat from testAltColP order by cId; +select cId, cBigInt, cInt, cSmallInt, cTinyint from testAltColP order by cId; +select cId, cBoolean from testAltColP order by cId; + +alter table testAltColP replace columns +(cId TINYINT, + cTimeStamp STRING, + cDecimal STRING, + cDouble STRING, + cFloat STRING, + cBigInt STRING, + cInt STRING, + cSmallInt STRING, + cTinyint STRING, + cBoolean STRING); + +select cId, cTimeStamp from testAltColP order by cId; +select cId, cDecimal, cDouble, cFloat from testAltColP order by cId; +select cId, cBigInt, cInt, cSmallInt, cTinyint from testAltColP order by cId; +select cId, cBoolean from testAltColP order by cId; + +alter table testAltColP replace columns +(cId TINYINT, + cTimeStamp VARCHAR(100), + cDecimal VARCHAR(100), + cDouble VARCHAR(100), + cFloat VARCHAR(100), + cBigInt VARCHAR(100), + cInt VARCHAR(100), + cSmallInt VARCHAR(100), + cTinyint VARCHAR(100), + cBoolean VARCHAR(100)); + +select cId, cTimeStamp from testAltColP order by cId; +select cId, cDecimal, cDouble, cFloat from testAltColP order by cId; +select cId, cBigInt, cInt, cSmallInt, cTinyint from testAltColP order by cId; +select cId, cBoolean from testAltColP order by cId; + +alter table testAltColP replace columns +(cId TINYINT, + cTimeStamp CHAR(100), + cDecimal CHAR(100), + cDouble CHAR(100), + cFloat CHAR(100), + cBigInt CHAR(100), + cInt CHAR(100), + cSmallInt CHAR(100), + cTinyint CHAR(100), + cBoolean CHAR(100)); + +select cId, cTimeStamp from testAltColP order by cId; +select cId, cDecimal, cDouble, cFloat from testAltColP order by cId; +select cId, cBigInt, cInt, cSmallInt, cTinyint from testAltColP order by cId; +select cId, cBoolean from testAltColP order by cId; + +alter table testAltColP replace columns +(cId TINYINT, + cTimeStamp VARCHAR(4), + cDecimal VARCHAR(4), + cDouble VARCHAR(4), + cFloat VARCHAR(4), + cBigInt VARCHAR(4), + cInt VARCHAR(4), + cSmallInt VARCHAR(4), + cTinyint VARCHAR(4), + cBoolean VARCHAR(4)); + +select cId, cTimeStamp from testAltColP order by cId; +select cId, cDecimal, cDouble, cFloat from testAltColP order by cId; +select cId, cBigInt, cInt, cSmallInt, cTinyint from testAltColP order by cId; +select cId, cBoolean from testAltColP order by cId; + +alter table testAltColP replace columns +(cId TINYINT, + cTimeStamp CHAR(4), + cDecimal CHAR(4), + cDouble CHAR(4), + cFloat CHAR(4), + cBigInt CHAR(4), + cInt CHAR(4), + cSmallInt CHAR(4), + cTinyint CHAR(4), + cBoolean CHAR(4)); + +select cId, cTimeStamp from testAltColP order by cId; +select cId, cDecimal, cDouble, cFloat from testAltColP order by cId; +select cId, cBigInt, cInt, cSmallInt, cTinyint from testAltColP order by cId; +select cId, cBoolean from testAltColP order by cId; + +drop table if exists testAltColP; +-- Parquet type: End + +drop table if exists testAltCol; \ No newline at end of file