You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by pr...@apache.org on 2016/07/28 06:46:57 UTC
hive git commit: HIVE-14333: ORC schema evolution from float to
double changes precision and breaks filters (Prasanth Jayachandran reviewed
by Matt McCline)
Repository: hive
Updated Branches:
refs/heads/master 7938668b4 -> 602a5f38b
HIVE-14333: ORC schema evolution from float to double changes precision and breaks filters (Prasanth Jayachandran reviewed by Matt McCline)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/602a5f38
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/602a5f38
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/602a5f38
Branch: refs/heads/master
Commit: 602a5f38b855ed17354d52d54ac7a7c2cfe7f273
Parents: 7938668
Author: Prasanth Jayachandran <pr...@apache.org>
Authored: Wed Jul 27 23:42:53 2016 -0700
Committer: Prasanth Jayachandran <pr...@apache.org>
Committed: Wed Jul 27 23:42:53 2016 -0700
----------------------------------------------------------------------
.../orc/impl/ConvertTreeReaderFactory.java | 28 +-
.../apache/orc/impl/TestSchemaEvolution.java | 59 +++++
.../clientpositive/orc_schema_evolution_float.q | 38 +++
.../orc_schema_evolution_float.q.out | 263 +++++++++++++++++++
.../schema_evol_orc_acid_mapwork_part.q.out | 4 +-
.../schema_evol_orc_acid_mapwork_table.q.out | 4 +-
.../schema_evol_orc_acidvec_mapwork_part.q.out | 4 +-
.../schema_evol_orc_acidvec_mapwork_table.q.out | 4 +-
.../schema_evol_orc_nonvec_fetchwork_part.q.out | 4 +-
...schema_evol_orc_nonvec_fetchwork_table.q.out | 4 +-
.../schema_evol_orc_nonvec_mapwork_part.q.out | 4 +-
.../schema_evol_orc_nonvec_mapwork_table.q.out | 4 +-
.../schema_evol_orc_vec_mapwork_part.q.out | 4 +-
.../schema_evol_orc_vec_mapwork_table.q.out | 4 +-
.../tez/schema_evol_orc_acid_mapwork_part.q.out | 4 +-
.../schema_evol_orc_acid_mapwork_table.q.out | 4 +-
.../schema_evol_orc_acidvec_mapwork_part.q.out | 4 +-
.../schema_evol_orc_acidvec_mapwork_table.q.out | 4 +-
.../schema_evol_orc_nonvec_fetchwork_part.q.out | 4 +-
...schema_evol_orc_nonvec_fetchwork_table.q.out | 4 +-
.../schema_evol_orc_nonvec_mapwork_part.q.out | 4 +-
.../schema_evol_orc_nonvec_mapwork_table.q.out | 4 +-
.../tez/schema_evol_orc_vec_mapwork_part.q.out | 4 +-
.../tez/schema_evol_orc_vec_mapwork_table.q.out | 4 +-
24 files changed, 427 insertions(+), 41 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/602a5f38/orc/src/java/org/apache/orc/impl/ConvertTreeReaderFactory.java
----------------------------------------------------------------------
diff --git a/orc/src/java/org/apache/orc/impl/ConvertTreeReaderFactory.java b/orc/src/java/org/apache/orc/impl/ConvertTreeReaderFactory.java
index c0c6964..03378a9 100644
--- a/orc/src/java/org/apache/orc/impl/ConvertTreeReaderFactory.java
+++ b/orc/src/java/org/apache/orc/impl/ConvertTreeReaderFactory.java
@@ -983,8 +983,34 @@ public class ConvertTreeReaderFactory extends TreeReaderFactory {
public void nextVector(ColumnVector previousVector,
boolean[] isNull,
final int batchSize) throws IOException {
- // The DoubleColumnVector produced by FloatTreeReader is what we want.
+ // we get the DoubleColumnVector produced by float tree reader first, then iterate through
+ // the elements and make double -> float -> string -> double conversion to preserve the
+ // precision. When float tree reader reads float and assign it to double, java's widening
+ // conversion adds more precision which will break all comparisons.
+ // Example: float f = 74.72
+ // double d = f ---> 74.72000122070312
+ // Double.parseDouble(String.valueOf(f)) ---> 74.72
floatTreeReader.nextVector(previousVector, isNull, batchSize);
+
+ DoubleColumnVector doubleColumnVector = (DoubleColumnVector) previousVector;
+ if (doubleColumnVector.isRepeating) {
+ if (doubleColumnVector.noNulls || !doubleColumnVector.isNull[0]) {
+ final float f = (float) doubleColumnVector.vector[0];
+ doubleColumnVector.vector[0] = Double.parseDouble(String.valueOf(f));
+ }
+ } else if (doubleColumnVector.noNulls){
+ for (int i = 0; i < batchSize; i++) {
+ final float f = (float) doubleColumnVector.vector[i];
+ doubleColumnVector.vector[i] = Double.parseDouble(String.valueOf(f));
+ }
+ } else {
+ for (int i = 0; i < batchSize; i++) {
+ if (!doubleColumnVector.isNull[i]) {
+ final float f = (float) doubleColumnVector.vector[i];
+ doubleColumnVector.vector[i] = Double.parseDouble(String.valueOf(f));
+ }
+ }
+ }
}
}
http://git-wip-us.apache.org/repos/asf/hive/blob/602a5f38/orc/src/test/org/apache/orc/impl/TestSchemaEvolution.java
----------------------------------------------------------------------
diff --git a/orc/src/test/org/apache/orc/impl/TestSchemaEvolution.java b/orc/src/test/org/apache/orc/impl/TestSchemaEvolution.java
index 3cd0390..a9c64fa 100644
--- a/orc/src/test/org/apache/orc/impl/TestSchemaEvolution.java
+++ b/orc/src/test/org/apache/orc/impl/TestSchemaEvolution.java
@@ -17,16 +17,48 @@
*/
package org.apache.orc.impl;
+import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
+import java.io.File;
import java.io.IOException;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.FileSystem;
+import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.hive.ql.exec.vector.DoubleColumnVector;
+import org.apache.hadoop.hive.ql.exec.vector.VectorizedRowBatch;
+import org.apache.orc.OrcFile;
+import org.apache.orc.Reader;
+import org.apache.orc.RecordReader;
import org.apache.orc.TypeDescription;
+import org.apache.orc.Writer;
+import org.junit.Before;
+import org.junit.Rule;
import org.junit.Test;
+import org.junit.rules.TestName;
public class TestSchemaEvolution {
+ @Rule
+ public TestName testCaseName = new TestName();
+
+ Configuration conf;
+ Path testFilePath;
+ FileSystem fs;
+ Path workDir = new Path(System.getProperty("test.tmp.dir",
+ "target" + File.separator + "test" + File.separator + "tmp"));
+
+ @Before
+ public void setup() throws Exception {
+ conf = new Configuration();
+ fs = FileSystem.getLocal(conf);
+ testFilePath = new Path(workDir, "TestOrcFile." +
+ testCaseName.getMethodName() + ".orc");
+ fs.delete(testFilePath, false);
+ }
+
@Test
public void testDataTypeConversion1() throws IOException {
TypeDescription fileStruct1 = TypeDescription.createStruct()
@@ -104,4 +136,31 @@ public class TestSchemaEvolution {
SchemaEvolution both2diffChar = new SchemaEvolution(fileStruct2, readerStruct2diffChar, null);
assertTrue(both2diffChar.hasConversion());
}
+
+ @Test
+ public void testFloatToDoubleEvolution() throws Exception {
+ testFilePath = new Path(workDir, "TestOrcFile." +
+ testCaseName.getMethodName() + ".orc");
+ TypeDescription schema = TypeDescription.createFloat();
+ Writer writer = OrcFile.createWriter(testFilePath,
+ OrcFile.writerOptions(conf).setSchema(schema).stripeSize(100000)
+ .bufferSize(10000));
+ VectorizedRowBatch batch = new VectorizedRowBatch(1, 1024);
+ DoubleColumnVector dcv = new DoubleColumnVector(1024);
+ batch.cols[0] = dcv;
+ batch.reset();
+ batch.size = 1;
+ dcv.vector[0] = 74.72f;
+ writer.addRowBatch(batch);
+ writer.close();
+
+ Reader reader = OrcFile.createReader(testFilePath,
+ OrcFile.readerOptions(conf).filesystem(fs));
+ TypeDescription schemaOnRead = TypeDescription.createDouble();
+ RecordReader rows = reader.rows(new Reader.Options().schema(schemaOnRead));
+ batch = schemaOnRead.createRowBatch();
+ rows.nextBatch(batch);
+ assertEquals(74.72, ((DoubleColumnVector) batch.cols[0]).vector[0], 0.00000000001);
+ rows.close();
+ }
}
http://git-wip-us.apache.org/repos/asf/hive/blob/602a5f38/ql/src/test/queries/clientpositive/orc_schema_evolution_float.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/orc_schema_evolution_float.q b/ql/src/test/queries/clientpositive/orc_schema_evolution_float.q
new file mode 100644
index 0000000..6316324
--- /dev/null
+++ b/ql/src/test/queries/clientpositive/orc_schema_evolution_float.q
@@ -0,0 +1,38 @@
+set hive.optimize.index.filter=false;
+set hive.metastore.disallow.incompatible.col.type.changes=false;
+
+drop table float_text;
+create table float_text(f float);
+insert into float_text values(74.72);
+insert into float_text values(0.22);
+select f from float_text;
+alter table float_text change column f f double;
+select f from float_text;
+select f from float_text where f=74.72;
+select f from float_text where f=0.22;
+alter table float_text change column f f decimal(14,5);
+select f from float_text;
+select f from float_text where f=74.72;
+select f from float_text where f=0.22;
+
+create table float_orc(f float) stored as orc;
+insert overwrite table float_orc select * from float_text;
+select f from float_orc;
+alter table float_orc change column f f double;
+select f from float_orc;
+select f from float_orc where f=74.72;
+select f from float_orc where f=0.22;
+set hive.optimize.index.filter=true;
+select f from float_orc where f=74.72;
+select f from float_orc where f=0.22;
+
+alter table float_orc change column f f decimal(14,5);
+select f from float_orc;
+select f from float_orc where f=74.72;
+select f from float_orc where f=0.22;
+set hive.optimize.index.filter=true;
+select f from float_orc where f=74.72;
+select f from float_orc where f=0.22;
+
+drop table float_text;
+drop table float_orc;
http://git-wip-us.apache.org/repos/asf/hive/blob/602a5f38/ql/src/test/results/clientpositive/orc_schema_evolution_float.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/orc_schema_evolution_float.q.out b/ql/src/test/results/clientpositive/orc_schema_evolution_float.q.out
new file mode 100644
index 0000000..2654c4b
--- /dev/null
+++ b/ql/src/test/results/clientpositive/orc_schema_evolution_float.q.out
@@ -0,0 +1,263 @@
+PREHOOK: query: drop table float_text
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table float_text
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: create table float_text(f float)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@float_text
+POSTHOOK: query: create table float_text(f float)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@float_text
+PREHOOK: query: insert into float_text values(74.72)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@values__tmp__table__1
+PREHOOK: Output: default@float_text
+POSTHOOK: query: insert into float_text values(74.72)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@values__tmp__table__1
+POSTHOOK: Output: default@float_text
+POSTHOOK: Lineage: float_text.f EXPRESSION [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
+PREHOOK: query: insert into float_text values(0.22)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@values__tmp__table__2
+PREHOOK: Output: default@float_text
+POSTHOOK: query: insert into float_text values(0.22)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@values__tmp__table__2
+POSTHOOK: Output: default@float_text
+POSTHOOK: Lineage: float_text.f EXPRESSION [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
+PREHOOK: query: select f from float_text
+PREHOOK: type: QUERY
+PREHOOK: Input: default@float_text
+#### A masked pattern was here ####
+POSTHOOK: query: select f from float_text
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@float_text
+#### A masked pattern was here ####
+74.72
+0.22
+PREHOOK: query: alter table float_text change column f f double
+PREHOOK: type: ALTERTABLE_RENAMECOL
+PREHOOK: Input: default@float_text
+PREHOOK: Output: default@float_text
+POSTHOOK: query: alter table float_text change column f f double
+POSTHOOK: type: ALTERTABLE_RENAMECOL
+POSTHOOK: Input: default@float_text
+POSTHOOK: Output: default@float_text
+PREHOOK: query: select f from float_text
+PREHOOK: type: QUERY
+PREHOOK: Input: default@float_text
+#### A masked pattern was here ####
+POSTHOOK: query: select f from float_text
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@float_text
+#### A masked pattern was here ####
+74.72
+0.22
+PREHOOK: query: select f from float_text where f=74.72
+PREHOOK: type: QUERY
+PREHOOK: Input: default@float_text
+#### A masked pattern was here ####
+POSTHOOK: query: select f from float_text where f=74.72
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@float_text
+#### A masked pattern was here ####
+74.72
+PREHOOK: query: select f from float_text where f=0.22
+PREHOOK: type: QUERY
+PREHOOK: Input: default@float_text
+#### A masked pattern was here ####
+POSTHOOK: query: select f from float_text where f=0.22
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@float_text
+#### A masked pattern was here ####
+0.22
+PREHOOK: query: alter table float_text change column f f decimal(14,5)
+PREHOOK: type: ALTERTABLE_RENAMECOL
+PREHOOK: Input: default@float_text
+PREHOOK: Output: default@float_text
+POSTHOOK: query: alter table float_text change column f f decimal(14,5)
+POSTHOOK: type: ALTERTABLE_RENAMECOL
+POSTHOOK: Input: default@float_text
+POSTHOOK: Output: default@float_text
+PREHOOK: query: select f from float_text
+PREHOOK: type: QUERY
+PREHOOK: Input: default@float_text
+#### A masked pattern was here ####
+POSTHOOK: query: select f from float_text
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@float_text
+#### A masked pattern was here ####
+74.72000
+0.22000
+PREHOOK: query: select f from float_text where f=74.72
+PREHOOK: type: QUERY
+PREHOOK: Input: default@float_text
+#### A masked pattern was here ####
+POSTHOOK: query: select f from float_text where f=74.72
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@float_text
+#### A masked pattern was here ####
+74.72000
+PREHOOK: query: select f from float_text where f=0.22
+PREHOOK: type: QUERY
+PREHOOK: Input: default@float_text
+#### A masked pattern was here ####
+POSTHOOK: query: select f from float_text where f=0.22
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@float_text
+#### A masked pattern was here ####
+0.22000
+PREHOOK: query: create table float_orc(f float) stored as orc
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@float_orc
+POSTHOOK: query: create table float_orc(f float) stored as orc
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@float_orc
+PREHOOK: query: insert overwrite table float_orc select * from float_text
+PREHOOK: type: QUERY
+PREHOOK: Input: default@float_text
+PREHOOK: Output: default@float_orc
+POSTHOOK: query: insert overwrite table float_orc select * from float_text
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@float_text
+POSTHOOK: Output: default@float_orc
+POSTHOOK: Lineage: float_orc.f EXPRESSION [(float_text)float_text.FieldSchema(name:f, type:decimal(14,5), comment:null), ]
+PREHOOK: query: select f from float_orc
+PREHOOK: type: QUERY
+PREHOOK: Input: default@float_orc
+#### A masked pattern was here ####
+POSTHOOK: query: select f from float_orc
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@float_orc
+#### A masked pattern was here ####
+74.72
+0.22
+PREHOOK: query: alter table float_orc change column f f double
+PREHOOK: type: ALTERTABLE_RENAMECOL
+PREHOOK: Input: default@float_orc
+PREHOOK: Output: default@float_orc
+POSTHOOK: query: alter table float_orc change column f f double
+POSTHOOK: type: ALTERTABLE_RENAMECOL
+POSTHOOK: Input: default@float_orc
+POSTHOOK: Output: default@float_orc
+PREHOOK: query: select f from float_orc
+PREHOOK: type: QUERY
+PREHOOK: Input: default@float_orc
+#### A masked pattern was here ####
+POSTHOOK: query: select f from float_orc
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@float_orc
+#### A masked pattern was here ####
+74.72
+0.22
+PREHOOK: query: select f from float_orc where f=74.72
+PREHOOK: type: QUERY
+PREHOOK: Input: default@float_orc
+#### A masked pattern was here ####
+POSTHOOK: query: select f from float_orc where f=74.72
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@float_orc
+#### A masked pattern was here ####
+74.72
+PREHOOK: query: select f from float_orc where f=0.22
+PREHOOK: type: QUERY
+PREHOOK: Input: default@float_orc
+#### A masked pattern was here ####
+POSTHOOK: query: select f from float_orc where f=0.22
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@float_orc
+#### A masked pattern was here ####
+0.22
+PREHOOK: query: select f from float_orc where f=74.72
+PREHOOK: type: QUERY
+PREHOOK: Input: default@float_orc
+#### A masked pattern was here ####
+POSTHOOK: query: select f from float_orc where f=74.72
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@float_orc
+#### A masked pattern was here ####
+74.72
+PREHOOK: query: select f from float_orc where f=0.22
+PREHOOK: type: QUERY
+PREHOOK: Input: default@float_orc
+#### A masked pattern was here ####
+POSTHOOK: query: select f from float_orc where f=0.22
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@float_orc
+#### A masked pattern was here ####
+0.22
+PREHOOK: query: alter table float_orc change column f f decimal(14,5)
+PREHOOK: type: ALTERTABLE_RENAMECOL
+PREHOOK: Input: default@float_orc
+PREHOOK: Output: default@float_orc
+POSTHOOK: query: alter table float_orc change column f f decimal(14,5)
+POSTHOOK: type: ALTERTABLE_RENAMECOL
+POSTHOOK: Input: default@float_orc
+POSTHOOK: Output: default@float_orc
+PREHOOK: query: select f from float_orc
+PREHOOK: type: QUERY
+PREHOOK: Input: default@float_orc
+#### A masked pattern was here ####
+POSTHOOK: query: select f from float_orc
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@float_orc
+#### A masked pattern was here ####
+74.72000
+0.22000
+PREHOOK: query: select f from float_orc where f=74.72
+PREHOOK: type: QUERY
+PREHOOK: Input: default@float_orc
+#### A masked pattern was here ####
+POSTHOOK: query: select f from float_orc where f=74.72
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@float_orc
+#### A masked pattern was here ####
+74.72000
+PREHOOK: query: select f from float_orc where f=0.22
+PREHOOK: type: QUERY
+PREHOOK: Input: default@float_orc
+#### A masked pattern was here ####
+POSTHOOK: query: select f from float_orc where f=0.22
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@float_orc
+#### A masked pattern was here ####
+0.22000
+PREHOOK: query: select f from float_orc where f=74.72
+PREHOOK: type: QUERY
+PREHOOK: Input: default@float_orc
+#### A masked pattern was here ####
+POSTHOOK: query: select f from float_orc where f=74.72
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@float_orc
+#### A masked pattern was here ####
+74.72000
+PREHOOK: query: select f from float_orc where f=0.22
+PREHOOK: type: QUERY
+PREHOOK: Input: default@float_orc
+#### A masked pattern was here ####
+POSTHOOK: query: select f from float_orc where f=0.22
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@float_orc
+#### A masked pattern was here ####
+0.22000
+PREHOOK: query: drop table float_text
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@float_text
+PREHOOK: Output: default@float_text
+POSTHOOK: query: drop table float_text
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@float_text
+POSTHOOK: Output: default@float_text
+PREHOOK: query: drop table float_orc
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@float_orc
+PREHOOK: Output: default@float_orc
+POSTHOOK: query: drop table float_orc
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@float_orc
+POSTHOOK: Output: default@float_orc
http://git-wip-us.apache.org/repos/asf/hive/blob/602a5f38/ql/src/test/results/clientpositive/schema_evol_orc_acid_mapwork_part.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/schema_evol_orc_acid_mapwork_part.q.out b/ql/src/test/results/clientpositive/schema_evol_orc_acid_mapwork_part.q.out
index 2ac6e4a..fafad50 100644
--- a/ql/src/test/results/clientpositive/schema_evol_orc_acid_mapwork_part.q.out
+++ b/ql/src/test/results/clientpositive/schema_evol_orc_acid_mapwork_part.q.out
@@ -3180,9 +3180,9 @@ POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_float@part=1
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_float@part=2
#### A masked pattern was here ####
insert_num part c1 b
-1 1 -29.076400756835938 original
+1 1 -29.0764 original
10 1 17.0 new
-2 1 753.7028198242188 original
+2 1 753.7028 original
3 1 -5000.0 original
4 1 5.2927712E7 original
5 2 774.0 new
http://git-wip-us.apache.org/repos/asf/hive/blob/602a5f38/ql/src/test/results/clientpositive/schema_evol_orc_acid_mapwork_table.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/schema_evol_orc_acid_mapwork_table.q.out b/ql/src/test/results/clientpositive/schema_evol_orc_acid_mapwork_table.q.out
index b1214e0..e69e9bd 100644
--- a/ql/src/test/results/clientpositive/schema_evol_orc_acid_mapwork_table.q.out
+++ b/ql/src/test/results/clientpositive/schema_evol_orc_acid_mapwork_table.q.out
@@ -2891,9 +2891,9 @@ POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_change_lower_to_higher_numeric_group_float
#### A masked pattern was here ####
insert_num c1 b
-1 -29.076400756835938 original
+1 -29.0764 original
10 17.0 new
-2 753.7028198242188 original
+2 753.7028 original
3 -5000.0 original
4 5.2927712E7 original
5 774.0 new
http://git-wip-us.apache.org/repos/asf/hive/blob/602a5f38/ql/src/test/results/clientpositive/schema_evol_orc_acidvec_mapwork_part.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/schema_evol_orc_acidvec_mapwork_part.q.out b/ql/src/test/results/clientpositive/schema_evol_orc_acidvec_mapwork_part.q.out
index 72072b3..abe001d 100644
--- a/ql/src/test/results/clientpositive/schema_evol_orc_acidvec_mapwork_part.q.out
+++ b/ql/src/test/results/clientpositive/schema_evol_orc_acidvec_mapwork_part.q.out
@@ -3180,9 +3180,9 @@ POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_float@part=1
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_float@part=2
#### A masked pattern was here ####
insert_num part c1 b
-1 1 -29.076400756835938 original
+1 1 -29.0764 original
10 1 17.0 new
-2 1 753.7028198242188 original
+2 1 753.7028 original
3 1 -5000.0 original
4 1 5.2927712E7 original
5 2 774.0 new
http://git-wip-us.apache.org/repos/asf/hive/blob/602a5f38/ql/src/test/results/clientpositive/schema_evol_orc_acidvec_mapwork_table.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/schema_evol_orc_acidvec_mapwork_table.q.out b/ql/src/test/results/clientpositive/schema_evol_orc_acidvec_mapwork_table.q.out
index 4a74b8a..8ce8794 100644
--- a/ql/src/test/results/clientpositive/schema_evol_orc_acidvec_mapwork_table.q.out
+++ b/ql/src/test/results/clientpositive/schema_evol_orc_acidvec_mapwork_table.q.out
@@ -2891,9 +2891,9 @@ POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_change_lower_to_higher_numeric_group_float
#### A masked pattern was here ####
insert_num c1 b
-1 -29.076400756835938 original
+1 -29.0764 original
10 17.0 new
-2 753.7028198242188 original
+2 753.7028 original
3 -5000.0 original
4 5.2927712E7 original
5 774.0 new
http://git-wip-us.apache.org/repos/asf/hive/blob/602a5f38/ql/src/test/results/clientpositive/schema_evol_orc_nonvec_fetchwork_part.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/schema_evol_orc_nonvec_fetchwork_part.q.out b/ql/src/test/results/clientpositive/schema_evol_orc_nonvec_fetchwork_part.q.out
index 93e90cf..4403ba7 100644
--- a/ql/src/test/results/clientpositive/schema_evol_orc_nonvec_fetchwork_part.q.out
+++ b/ql/src/test/results/clientpositive/schema_evol_orc_nonvec_fetchwork_part.q.out
@@ -4431,9 +4431,9 @@ POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_float@part=1
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_float@part=2
#### A masked pattern was here ####
insert_num part c1 b
-1 1 -29.076400756835938 original
+1 1 -29.0764 original
10 1 17.0 new
-2 1 753.7028198242188 original
+2 1 753.7028 original
3 1 -5000.0 original
4 1 5.2927712E7 original
5 2 774.0 new
http://git-wip-us.apache.org/repos/asf/hive/blob/602a5f38/ql/src/test/results/clientpositive/schema_evol_orc_nonvec_fetchwork_table.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/schema_evol_orc_nonvec_fetchwork_table.q.out b/ql/src/test/results/clientpositive/schema_evol_orc_nonvec_fetchwork_table.q.out
index cb58e7b..ef34968 100644
--- a/ql/src/test/results/clientpositive/schema_evol_orc_nonvec_fetchwork_table.q.out
+++ b/ql/src/test/results/clientpositive/schema_evol_orc_nonvec_fetchwork_table.q.out
@@ -4183,9 +4183,9 @@ POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_change_lower_to_higher_numeric_group_float
#### A masked pattern was here ####
insert_num c1 b
-1 -29.076400756835938 original
+1 -29.0764 original
10 17.0 new
-2 753.7028198242188 original
+2 753.7028 original
3 -5000.0 original
4 5.2927712E7 original
5 774.0 new
http://git-wip-us.apache.org/repos/asf/hive/blob/602a5f38/ql/src/test/results/clientpositive/schema_evol_orc_nonvec_mapwork_part.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/schema_evol_orc_nonvec_mapwork_part.q.out b/ql/src/test/results/clientpositive/schema_evol_orc_nonvec_mapwork_part.q.out
index ad52108..0b1c78f 100644
--- a/ql/src/test/results/clientpositive/schema_evol_orc_nonvec_mapwork_part.q.out
+++ b/ql/src/test/results/clientpositive/schema_evol_orc_nonvec_mapwork_part.q.out
@@ -4431,9 +4431,9 @@ POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_float@part=1
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_float@part=2
#### A masked pattern was here ####
insert_num part c1 b
-1 1 -29.076400756835938 original
+1 1 -29.0764 original
10 1 17.0 new
-2 1 753.7028198242188 original
+2 1 753.7028 original
3 1 -5000.0 original
4 1 5.2927712E7 original
5 2 774.0 new
http://git-wip-us.apache.org/repos/asf/hive/blob/602a5f38/ql/src/test/results/clientpositive/schema_evol_orc_nonvec_mapwork_table.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/schema_evol_orc_nonvec_mapwork_table.q.out b/ql/src/test/results/clientpositive/schema_evol_orc_nonvec_mapwork_table.q.out
index 92f875d..766d694 100644
--- a/ql/src/test/results/clientpositive/schema_evol_orc_nonvec_mapwork_table.q.out
+++ b/ql/src/test/results/clientpositive/schema_evol_orc_nonvec_mapwork_table.q.out
@@ -4183,9 +4183,9 @@ POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_change_lower_to_higher_numeric_group_float
#### A masked pattern was here ####
insert_num c1 b
-1 -29.076400756835938 original
+1 -29.0764 original
10 17.0 new
-2 753.7028198242188 original
+2 753.7028 original
3 -5000.0 original
4 5.2927712E7 original
5 774.0 new
http://git-wip-us.apache.org/repos/asf/hive/blob/602a5f38/ql/src/test/results/clientpositive/schema_evol_orc_vec_mapwork_part.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/schema_evol_orc_vec_mapwork_part.q.out b/ql/src/test/results/clientpositive/schema_evol_orc_vec_mapwork_part.q.out
index b3cd95b..d5bcda5 100644
--- a/ql/src/test/results/clientpositive/schema_evol_orc_vec_mapwork_part.q.out
+++ b/ql/src/test/results/clientpositive/schema_evol_orc_vec_mapwork_part.q.out
@@ -4455,9 +4455,9 @@ POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_float@part=1
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_float@part=2
#### A masked pattern was here ####
insert_num part c1 b
-1 1 -29.076400756835938 original
+1 1 -29.0764 original
10 1 17.0 new
-2 1 753.7028198242188 original
+2 1 753.7028 original
3 1 -5000.0 original
4 1 5.2927712E7 original
5 2 774.0 new
http://git-wip-us.apache.org/repos/asf/hive/blob/602a5f38/ql/src/test/results/clientpositive/schema_evol_orc_vec_mapwork_table.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/schema_evol_orc_vec_mapwork_table.q.out b/ql/src/test/results/clientpositive/schema_evol_orc_vec_mapwork_table.q.out
index c84c042..e9b42c3 100644
--- a/ql/src/test/results/clientpositive/schema_evol_orc_vec_mapwork_table.q.out
+++ b/ql/src/test/results/clientpositive/schema_evol_orc_vec_mapwork_table.q.out
@@ -4207,9 +4207,9 @@ POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_change_lower_to_higher_numeric_group_float
#### A masked pattern was here ####
insert_num c1 b
-1 -29.076400756835938 original
+1 -29.0764 original
10 17.0 new
-2 753.7028198242188 original
+2 753.7028 original
3 -5000.0 original
4 5.2927712E7 original
5 774.0 new
http://git-wip-us.apache.org/repos/asf/hive/blob/602a5f38/ql/src/test/results/clientpositive/tez/schema_evol_orc_acid_mapwork_part.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/tez/schema_evol_orc_acid_mapwork_part.q.out b/ql/src/test/results/clientpositive/tez/schema_evol_orc_acid_mapwork_part.q.out
index 2ac6e4a..fafad50 100644
--- a/ql/src/test/results/clientpositive/tez/schema_evol_orc_acid_mapwork_part.q.out
+++ b/ql/src/test/results/clientpositive/tez/schema_evol_orc_acid_mapwork_part.q.out
@@ -3180,9 +3180,9 @@ POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_float@part=1
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_float@part=2
#### A masked pattern was here ####
insert_num part c1 b
-1 1 -29.076400756835938 original
+1 1 -29.0764 original
10 1 17.0 new
-2 1 753.7028198242188 original
+2 1 753.7028 original
3 1 -5000.0 original
4 1 5.2927712E7 original
5 2 774.0 new
http://git-wip-us.apache.org/repos/asf/hive/blob/602a5f38/ql/src/test/results/clientpositive/tez/schema_evol_orc_acid_mapwork_table.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/tez/schema_evol_orc_acid_mapwork_table.q.out b/ql/src/test/results/clientpositive/tez/schema_evol_orc_acid_mapwork_table.q.out
index b1214e0..e69e9bd 100644
--- a/ql/src/test/results/clientpositive/tez/schema_evol_orc_acid_mapwork_table.q.out
+++ b/ql/src/test/results/clientpositive/tez/schema_evol_orc_acid_mapwork_table.q.out
@@ -2891,9 +2891,9 @@ POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_change_lower_to_higher_numeric_group_float
#### A masked pattern was here ####
insert_num c1 b
-1 -29.076400756835938 original
+1 -29.0764 original
10 17.0 new
-2 753.7028198242188 original
+2 753.7028 original
3 -5000.0 original
4 5.2927712E7 original
5 774.0 new
http://git-wip-us.apache.org/repos/asf/hive/blob/602a5f38/ql/src/test/results/clientpositive/tez/schema_evol_orc_acidvec_mapwork_part.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/tez/schema_evol_orc_acidvec_mapwork_part.q.out b/ql/src/test/results/clientpositive/tez/schema_evol_orc_acidvec_mapwork_part.q.out
index 72072b3..abe001d 100644
--- a/ql/src/test/results/clientpositive/tez/schema_evol_orc_acidvec_mapwork_part.q.out
+++ b/ql/src/test/results/clientpositive/tez/schema_evol_orc_acidvec_mapwork_part.q.out
@@ -3180,9 +3180,9 @@ POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_float@part=1
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_float@part=2
#### A masked pattern was here ####
insert_num part c1 b
-1 1 -29.076400756835938 original
+1 1 -29.0764 original
10 1 17.0 new
-2 1 753.7028198242188 original
+2 1 753.7028 original
3 1 -5000.0 original
4 1 5.2927712E7 original
5 2 774.0 new
http://git-wip-us.apache.org/repos/asf/hive/blob/602a5f38/ql/src/test/results/clientpositive/tez/schema_evol_orc_acidvec_mapwork_table.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/tez/schema_evol_orc_acidvec_mapwork_table.q.out b/ql/src/test/results/clientpositive/tez/schema_evol_orc_acidvec_mapwork_table.q.out
index 4a74b8a..8ce8794 100644
--- a/ql/src/test/results/clientpositive/tez/schema_evol_orc_acidvec_mapwork_table.q.out
+++ b/ql/src/test/results/clientpositive/tez/schema_evol_orc_acidvec_mapwork_table.q.out
@@ -2891,9 +2891,9 @@ POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_change_lower_to_higher_numeric_group_float
#### A masked pattern was here ####
insert_num c1 b
-1 -29.076400756835938 original
+1 -29.0764 original
10 17.0 new
-2 753.7028198242188 original
+2 753.7028 original
3 -5000.0 original
4 5.2927712E7 original
5 774.0 new
http://git-wip-us.apache.org/repos/asf/hive/blob/602a5f38/ql/src/test/results/clientpositive/tez/schema_evol_orc_nonvec_fetchwork_part.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/tez/schema_evol_orc_nonvec_fetchwork_part.q.out b/ql/src/test/results/clientpositive/tez/schema_evol_orc_nonvec_fetchwork_part.q.out
index 31eb543..762e5b3 100644
--- a/ql/src/test/results/clientpositive/tez/schema_evol_orc_nonvec_fetchwork_part.q.out
+++ b/ql/src/test/results/clientpositive/tez/schema_evol_orc_nonvec_fetchwork_part.q.out
@@ -3975,9 +3975,9 @@ POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_float@part=1
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_float@part=2
#### A masked pattern was here ####
insert_num part c1 b
-1 1 -29.076400756835938 original
+1 1 -29.0764 original
10 1 17.0 new
-2 1 753.7028198242188 original
+2 1 753.7028 original
3 1 -5000.0 original
4 1 5.2927712E7 original
5 2 774.0 new
http://git-wip-us.apache.org/repos/asf/hive/blob/602a5f38/ql/src/test/results/clientpositive/tez/schema_evol_orc_nonvec_fetchwork_table.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/tez/schema_evol_orc_nonvec_fetchwork_table.q.out b/ql/src/test/results/clientpositive/tez/schema_evol_orc_nonvec_fetchwork_table.q.out
index 4587156..466e4c8 100644
--- a/ql/src/test/results/clientpositive/tez/schema_evol_orc_nonvec_fetchwork_table.q.out
+++ b/ql/src/test/results/clientpositive/tez/schema_evol_orc_nonvec_fetchwork_table.q.out
@@ -3727,9 +3727,9 @@ POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_change_lower_to_higher_numeric_group_float
#### A masked pattern was here ####
insert_num c1 b
-1 -29.076400756835938 original
+1 -29.0764 original
10 17.0 new
-2 753.7028198242188 original
+2 753.7028 original
3 -5000.0 original
4 5.2927712E7 original
5 774.0 new
http://git-wip-us.apache.org/repos/asf/hive/blob/602a5f38/ql/src/test/results/clientpositive/tez/schema_evol_orc_nonvec_mapwork_part.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/tez/schema_evol_orc_nonvec_mapwork_part.q.out b/ql/src/test/results/clientpositive/tez/schema_evol_orc_nonvec_mapwork_part.q.out
index 7650097..572dc0b 100644
--- a/ql/src/test/results/clientpositive/tez/schema_evol_orc_nonvec_mapwork_part.q.out
+++ b/ql/src/test/results/clientpositive/tez/schema_evol_orc_nonvec_mapwork_part.q.out
@@ -3975,9 +3975,9 @@ POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_float@part=1
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_float@part=2
#### A masked pattern was here ####
insert_num part c1 b
-1 1 -29.076400756835938 original
+1 1 -29.0764 original
10 1 17.0 new
-2 1 753.7028198242188 original
+2 1 753.7028 original
3 1 -5000.0 original
4 1 5.2927712E7 original
5 2 774.0 new
http://git-wip-us.apache.org/repos/asf/hive/blob/602a5f38/ql/src/test/results/clientpositive/tez/schema_evol_orc_nonvec_mapwork_table.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/tez/schema_evol_orc_nonvec_mapwork_table.q.out b/ql/src/test/results/clientpositive/tez/schema_evol_orc_nonvec_mapwork_table.q.out
index 4889cdb..1f093a6 100644
--- a/ql/src/test/results/clientpositive/tez/schema_evol_orc_nonvec_mapwork_table.q.out
+++ b/ql/src/test/results/clientpositive/tez/schema_evol_orc_nonvec_mapwork_table.q.out
@@ -3727,9 +3727,9 @@ POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_change_lower_to_higher_numeric_group_float
#### A masked pattern was here ####
insert_num c1 b
-1 -29.076400756835938 original
+1 -29.0764 original
10 17.0 new
-2 753.7028198242188 original
+2 753.7028 original
3 -5000.0 original
4 5.2927712E7 original
5 774.0 new
http://git-wip-us.apache.org/repos/asf/hive/blob/602a5f38/ql/src/test/results/clientpositive/tez/schema_evol_orc_vec_mapwork_part.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/tez/schema_evol_orc_vec_mapwork_part.q.out b/ql/src/test/results/clientpositive/tez/schema_evol_orc_vec_mapwork_part.q.out
index 15c86b9..e58079d 100644
--- a/ql/src/test/results/clientpositive/tez/schema_evol_orc_vec_mapwork_part.q.out
+++ b/ql/src/test/results/clientpositive/tez/schema_evol_orc_vec_mapwork_part.q.out
@@ -3975,9 +3975,9 @@ POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_float@part=1
POSTHOOK: Input: default@part_change_lower_to_higher_numeric_group_float@part=2
#### A masked pattern was here ####
insert_num part c1 b
-1 1 -29.076400756835938 original
+1 1 -29.0764 original
10 1 17.0 new
-2 1 753.7028198242188 original
+2 1 753.7028 original
3 1 -5000.0 original
4 1 5.2927712E7 original
5 2 774.0 new
http://git-wip-us.apache.org/repos/asf/hive/blob/602a5f38/ql/src/test/results/clientpositive/tez/schema_evol_orc_vec_mapwork_table.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/tez/schema_evol_orc_vec_mapwork_table.q.out b/ql/src/test/results/clientpositive/tez/schema_evol_orc_vec_mapwork_table.q.out
index 3833af7..76a972a 100644
--- a/ql/src/test/results/clientpositive/tez/schema_evol_orc_vec_mapwork_table.q.out
+++ b/ql/src/test/results/clientpositive/tez/schema_evol_orc_vec_mapwork_table.q.out
@@ -3727,9 +3727,9 @@ POSTHOOK: type: QUERY
POSTHOOK: Input: default@table_change_lower_to_higher_numeric_group_float
#### A masked pattern was here ####
insert_num c1 b
-1 -29.076400756835938 original
+1 -29.0764 original
10 17.0 new
-2 753.7028198242188 original
+2 753.7028 original
3 -5000.0 original
4 5.2927712E7 original
5 774.0 new