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 2015/04/23 01:00:11 UTC
hive git commit: HIVE-10331: ORC : Is null SARG filters out all row
groups written in old ORC format (Mostafa Mokhtar reviewed by Prasanth
Jayachandran)
Repository: hive
Updated Branches:
refs/heads/master d47995d9f -> f4d6fdca1
HIVE-10331: ORC : Is null SARG filters out all row groups written in old ORC format (Mostafa Mokhtar reviewed by Prasanth Jayachandran)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/f4d6fdca
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/f4d6fdca
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/f4d6fdca
Branch: refs/heads/master
Commit: f4d6fdca1fe299da8fbf6dd5b5110fe4d7b8f494
Parents: d47995d
Author: Prasanth Jayachandran <j....@gmail.com>
Authored: Wed Apr 22 15:57:14 2015 -0700
Committer: Prasanth Jayachandran <j....@gmail.com>
Committed: Wed Apr 22 15:59:02 2015 -0700
----------------------------------------------------------------------
.../hive/ql/io/orc/ColumnStatisticsImpl.java | 2 +
.../hadoop/hive/ql/io/orc/TestOrcFile.java | 10 +-
.../hive/ql/io/orc/TestOrcSerDeStats.java | 12 +-
.../hive/ql/io/orc/TestRecordReaderImpl.java | 118 +++++++++----------
4 files changed, 72 insertions(+), 70 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/f4d6fdca/ql/src/java/org/apache/hadoop/hive/ql/io/orc/ColumnStatisticsImpl.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/io/orc/ColumnStatisticsImpl.java b/ql/src/java/org/apache/hadoop/hive/ql/io/orc/ColumnStatisticsImpl.java
index 718119a..9c2c9c2 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/io/orc/ColumnStatisticsImpl.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/io/orc/ColumnStatisticsImpl.java
@@ -825,6 +825,8 @@ class ColumnStatisticsImpl implements ColumnStatistics {
if (stats.hasHasNull()) {
hasNull = stats.getHasNull();
+ } else {
+ hasNull = true;
}
}
http://git-wip-us.apache.org/repos/asf/hive/blob/f4d6fdca/ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestOrcFile.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestOrcFile.java b/ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestOrcFile.java
index 8cb51b0..8577f41 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestOrcFile.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestOrcFile.java
@@ -257,13 +257,13 @@ public class TestOrcFile {
assertEquals(7500, stats[1].getNumberOfValues());
assertEquals(3750, ((BooleanColumnStatistics) stats[1]).getFalseCount());
assertEquals(3750, ((BooleanColumnStatistics) stats[1]).getTrueCount());
- assertEquals("count: 7500 hasNull: false true: 3750", stats[1].toString());
+ assertEquals("count: 7500 hasNull: true true: 3750", stats[1].toString());
assertEquals(2048, ((IntegerColumnStatistics) stats[3]).getMaximum());
assertEquals(1024, ((IntegerColumnStatistics) stats[3]).getMinimum());
assertEquals(true, ((IntegerColumnStatistics) stats[3]).isSumDefined());
assertEquals(11520000, ((IntegerColumnStatistics) stats[3]).getSum());
- assertEquals("count: 7500 hasNull: false min: 1024 max: 2048 sum: 11520000",
+ assertEquals("count: 7500 hasNull: true min: 1024 max: 2048 sum: 11520000",
stats[3].toString());
assertEquals(Long.MAX_VALUE,
@@ -272,17 +272,17 @@ public class TestOrcFile {
((IntegerColumnStatistics) stats[5]).getMinimum());
assertEquals(false, ((IntegerColumnStatistics) stats[5]).isSumDefined());
assertEquals(
- "count: 7500 hasNull: false min: 9223372036854775807 max: 9223372036854775807",
+ "count: 7500 hasNull: true min: 9223372036854775807 max: 9223372036854775807",
stats[5].toString());
assertEquals(-15.0, ((DoubleColumnStatistics) stats[7]).getMinimum());
assertEquals(-5.0, ((DoubleColumnStatistics) stats[7]).getMaximum());
assertEquals(-75000.0, ((DoubleColumnStatistics) stats[7]).getSum(),
0.00001);
- assertEquals("count: 7500 hasNull: false min: -15.0 max: -5.0 sum: -75000.0",
+ assertEquals("count: 7500 hasNull: true min: -15.0 max: -5.0 sum: -75000.0",
stats[7].toString());
- assertEquals("count: 7500 hasNull: false min: bye max: hi sum: 0", stats[9].toString());
+ assertEquals("count: 7500 hasNull: true min: bye max: hi sum: 0", stats[9].toString());
// check the inspectors
StructObjectInspector readerInspector = (StructObjectInspector) reader
http://git-wip-us.apache.org/repos/asf/hive/blob/f4d6fdca/ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestOrcSerDeStats.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestOrcSerDeStats.java b/ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestOrcSerDeStats.java
index 698523c..dde653f 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestOrcSerDeStats.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestOrcSerDeStats.java
@@ -603,13 +603,13 @@ public class TestOrcSerDeStats {
assertEquals(7500, stats[1].getNumberOfValues());
assertEquals(3750, ((BooleanColumnStatistics) stats[1]).getFalseCount());
assertEquals(3750, ((BooleanColumnStatistics) stats[1]).getTrueCount());
- assertEquals("count: 7500 hasNull: false true: 3750", stats[1].toString());
+ assertEquals("count: 7500 hasNull: true true: 3750", stats[1].toString());
assertEquals(2048, ((IntegerColumnStatistics) stats[3]).getMaximum());
assertEquals(1024, ((IntegerColumnStatistics) stats[3]).getMinimum());
assertEquals(true, ((IntegerColumnStatistics) stats[3]).isSumDefined());
assertEquals(11520000, ((IntegerColumnStatistics) stats[3]).getSum());
- assertEquals("count: 7500 hasNull: false min: 1024 max: 2048 sum: 11520000",
+ assertEquals("count: 7500 hasNull: true min: 1024 max: 2048 sum: 11520000",
stats[3].toString());
assertEquals(Long.MAX_VALUE,
@@ -618,24 +618,24 @@ public class TestOrcSerDeStats {
((IntegerColumnStatistics) stats[5]).getMinimum());
assertEquals(false, ((IntegerColumnStatistics) stats[5]).isSumDefined());
assertEquals(
- "count: 7500 hasNull: false min: 9223372036854775807 max: 9223372036854775807",
+ "count: 7500 hasNull: true min: 9223372036854775807 max: 9223372036854775807",
stats[5].toString());
assertEquals(-15.0, ((DoubleColumnStatistics) stats[7]).getMinimum());
assertEquals(-5.0, ((DoubleColumnStatistics) stats[7]).getMaximum());
assertEquals(-75000.0, ((DoubleColumnStatistics) stats[7]).getSum(),
0.00001);
- assertEquals("count: 7500 hasNull: false min: -15.0 max: -5.0 sum: -75000.0",
+ assertEquals("count: 7500 hasNull: true min: -15.0 max: -5.0 sum: -75000.0",
stats[7].toString());
assertEquals("bye", ((StringColumnStatistics) stats[9]).getMinimum());
assertEquals("hi", ((StringColumnStatistics) stats[9]).getMaximum());
assertEquals(0, ((StringColumnStatistics) stats[9]).getSum());
- assertEquals("count: 7500 hasNull: false min: bye max: hi sum: 0", stats[9].toString());
+ assertEquals("count: 7500 hasNull: true min: bye max: hi sum: 0", stats[9].toString());
// old orc format will not have binary statistics. toString() will show only
// the general column statistics
- assertEquals("count: 7500 hasNull: false", stats[8].toString());
+ assertEquals("count: 7500 hasNull: true", stats[8].toString());
// since old orc format doesn't support binary statistics,
// this should throw ClassCastException
assertEquals(5, ((BinaryColumnStatistics) stats[8]).getSum());
http://git-wip-us.apache.org/repos/asf/hive/blob/f4d6fdca/ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestRecordReaderImpl.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestRecordReaderImpl.java b/ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestRecordReaderImpl.java
index d0f3a5e..a50def1 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestRecordReaderImpl.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestRecordReaderImpl.java
@@ -510,17 +510,17 @@ public class TestRecordReaderImpl {
PredicateLeaf pred = TestSearchArgumentImpl.createPredicateLeaf
(PredicateLeaf.Operator.EQUALS, PredicateLeaf.Type.INTEGER,
"x", 15L, null);
- assertEquals(TruthValue.NO,
+ assertEquals(TruthValue.NO_NULL,
RecordReaderImpl.evaluatePredicateProto(createIntStats(20L, 30L), pred, null));
- assertEquals(TruthValue.YES_NO,
+ assertEquals(TruthValue.YES_NO_NULL,
RecordReaderImpl.evaluatePredicateProto(createIntStats(15L, 30L), pred, null));
- assertEquals(TruthValue.YES_NO,
+ assertEquals(TruthValue.YES_NO_NULL,
RecordReaderImpl.evaluatePredicateProto(createIntStats(10L, 30L), pred, null));
- assertEquals(TruthValue.YES_NO,
+ assertEquals(TruthValue.YES_NO_NULL,
RecordReaderImpl.evaluatePredicateProto(createIntStats(10L, 15L), pred, null));
- assertEquals(TruthValue.NO,
+ assertEquals(TruthValue.NO_NULL,
RecordReaderImpl.evaluatePredicateProto(createIntStats(0L, 10L), pred, null));
- assertEquals(TruthValue.YES,
+ assertEquals(TruthValue.YES_NULL,
RecordReaderImpl.evaluatePredicateProto(createIntStats(15L, 15L), pred, null));
}
@@ -548,15 +548,15 @@ public class TestRecordReaderImpl {
PredicateLeaf lessThan = TestSearchArgumentImpl.createPredicateLeaf
(PredicateLeaf.Operator.LESS_THAN, PredicateLeaf.Type.INTEGER,
"x", 15L, null);
- assertEquals(TruthValue.NO,
+ assertEquals(TruthValue.NO_NULL,
RecordReaderImpl.evaluatePredicateProto(createIntStats(20L, 30L), lessThan, null));
- assertEquals(TruthValue.NO,
+ assertEquals(TruthValue.NO_NULL,
RecordReaderImpl.evaluatePredicateProto(createIntStats(15L, 30L), lessThan, null));
- assertEquals(TruthValue.YES_NO,
+ assertEquals(TruthValue.YES_NO_NULL,
RecordReaderImpl.evaluatePredicateProto(createIntStats(10L, 30L), lessThan, null));
- assertEquals(TruthValue.YES_NO,
+ assertEquals(TruthValue.YES_NO_NULL,
RecordReaderImpl.evaluatePredicateProto(createIntStats(10L, 15L), lessThan, null));
- assertEquals(TruthValue.YES,
+ assertEquals(TruthValue.YES_NULL,
RecordReaderImpl.evaluatePredicateProto(createIntStats(0L, 10L), lessThan, null));
}
@@ -565,15 +565,15 @@ public class TestRecordReaderImpl {
PredicateLeaf pred = TestSearchArgumentImpl.createPredicateLeaf
(PredicateLeaf.Operator.LESS_THAN_EQUALS, PredicateLeaf.Type.INTEGER,
"x", 15L, null);
- assertEquals(TruthValue.NO,
+ assertEquals(TruthValue.NO_NULL,
RecordReaderImpl.evaluatePredicateProto(createIntStats(20L, 30L), pred, null));
- assertEquals(TruthValue.YES_NO,
+ assertEquals(TruthValue.YES_NO_NULL,
RecordReaderImpl.evaluatePredicateProto(createIntStats(15L, 30L), pred, null));
- assertEquals(TruthValue.YES_NO,
+ assertEquals(TruthValue.YES_NO_NULL,
RecordReaderImpl.evaluatePredicateProto(createIntStats(10L, 30L), pred, null));
- assertEquals(TruthValue.YES,
+ assertEquals(TruthValue.YES_NULL,
RecordReaderImpl.evaluatePredicateProto(createIntStats(10L, 15L), pred, null));
- assertEquals(TruthValue.YES,
+ assertEquals(TruthValue.YES_NULL,
RecordReaderImpl.evaluatePredicateProto(createIntStats(0L, 10L), pred, null));
}
@@ -585,13 +585,13 @@ public class TestRecordReaderImpl {
PredicateLeaf pred = TestSearchArgumentImpl.createPredicateLeaf
(PredicateLeaf.Operator.IN, PredicateLeaf.Type.INTEGER,
"x", null, args);
- assertEquals(TruthValue.YES,
+ assertEquals(TruthValue.YES_NULL,
RecordReaderImpl.evaluatePredicateProto(createIntStats(20L, 20L), pred, null));
- assertEquals(TruthValue.NO,
+ assertEquals(TruthValue.NO_NULL,
RecordReaderImpl.evaluatePredicateProto(createIntStats(30L, 30L), pred, null));
- assertEquals(TruthValue.YES_NO,
+ assertEquals(TruthValue.YES_NO_NULL,
RecordReaderImpl.evaluatePredicateProto(createIntStats(10L, 30L), pred, null));
- assertEquals(TruthValue.NO,
+ assertEquals(TruthValue.NO_NULL,
RecordReaderImpl.evaluatePredicateProto(createIntStats(12L, 18L), pred, null));
}
@@ -603,19 +603,19 @@ public class TestRecordReaderImpl {
PredicateLeaf pred = TestSearchArgumentImpl.createPredicateLeaf
(PredicateLeaf.Operator.BETWEEN, PredicateLeaf.Type.INTEGER,
"x", null, args);
- assertEquals(TruthValue.NO,
+ assertEquals(TruthValue.NO_NULL,
RecordReaderImpl.evaluatePredicateProto(createIntStats(0L, 5L), pred, null));
- assertEquals(TruthValue.NO,
+ assertEquals(TruthValue.NO_NULL,
RecordReaderImpl.evaluatePredicateProto(createIntStats(30L, 40L), pred, null));
- assertEquals(TruthValue.YES_NO,
+ assertEquals(TruthValue.YES_NO_NULL,
RecordReaderImpl.evaluatePredicateProto(createIntStats(5L, 15L), pred, null));
- assertEquals(TruthValue.YES_NO,
+ assertEquals(TruthValue.YES_NO_NULL,
RecordReaderImpl.evaluatePredicateProto(createIntStats(15L, 25L), pred, null));
- assertEquals(TruthValue.YES_NO,
+ assertEquals(TruthValue.YES_NO_NULL,
RecordReaderImpl.evaluatePredicateProto(createIntStats(5L, 25L), pred, null));
- assertEquals(TruthValue.YES,
+ assertEquals(TruthValue.YES_NULL,
RecordReaderImpl.evaluatePredicateProto(createIntStats(10L, 20L), pred, null));
- assertEquals(TruthValue.YES,
+ assertEquals(TruthValue.YES_NULL,
RecordReaderImpl.evaluatePredicateProto(createIntStats(12L, 18L), pred, null));
}
@@ -624,7 +624,7 @@ public class TestRecordReaderImpl {
PredicateLeaf pred = TestSearchArgumentImpl.createPredicateLeaf
(PredicateLeaf.Operator.IS_NULL, PredicateLeaf.Type.INTEGER,
"x", null, null);
- assertEquals(TruthValue.NO,
+ assertEquals(TruthValue.YES_NO,
RecordReaderImpl.evaluatePredicateProto(createIntStats(20L, 30L), pred, null));
}
@@ -1168,10 +1168,10 @@ public class TestRecordReaderImpl {
bf.addLong(i);
}
ColumnStatistics cs = ColumnStatisticsImpl.deserialize(createIntStats(10, 100));
- assertEquals(TruthValue.NO, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
+ assertEquals(TruthValue.NO_NULL, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
bf.addLong(15);
- assertEquals(TruthValue.YES_NO, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
+ assertEquals(TruthValue.YES_NO_NULL, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
}
@Test
@@ -1187,13 +1187,13 @@ public class TestRecordReaderImpl {
bf.addLong(i);
}
ColumnStatistics cs = ColumnStatisticsImpl.deserialize(createIntStats(10, 100));
- assertEquals(TruthValue.NO, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
+ assertEquals(TruthValue.NO_NULL, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
bf.addLong(19);
- assertEquals(TruthValue.YES_NO, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
+ assertEquals(TruthValue.YES_NO_NULL, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
bf.addLong(15);
- assertEquals(TruthValue.YES_NO, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
+ assertEquals(TruthValue.YES_NO_NULL, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
}
@Test
@@ -1220,10 +1220,10 @@ public class TestRecordReaderImpl {
bf.addDouble(i);
}
ColumnStatistics cs = ColumnStatisticsImpl.deserialize(createDoubleStats(10.0, 100.0));
- assertEquals(TruthValue.NO, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
+ assertEquals(TruthValue.NO_NULL, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
bf.addDouble(15.0);
- assertEquals(TruthValue.YES_NO, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
+ assertEquals(TruthValue.YES_NO_NULL, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
}
@Test
@@ -1239,13 +1239,13 @@ public class TestRecordReaderImpl {
bf.addDouble(i);
}
ColumnStatistics cs = ColumnStatisticsImpl.deserialize(createDoubleStats(10.0, 100.0));
- assertEquals(TruthValue.NO, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
+ assertEquals(TruthValue.NO_NULL, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
bf.addDouble(19.0);
- assertEquals(TruthValue.YES_NO, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
+ assertEquals(TruthValue.YES_NO_NULL, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
bf.addDouble(15.0);
- assertEquals(TruthValue.YES_NO, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
+ assertEquals(TruthValue.YES_NO_NULL, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
}
@Test
@@ -1272,10 +1272,10 @@ public class TestRecordReaderImpl {
bf.addString("str_" + i);
}
ColumnStatistics cs = ColumnStatisticsImpl.deserialize(createStringStats("str_10", "str_200"));
- assertEquals(TruthValue.NO, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
+ assertEquals(TruthValue.NO_NULL, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
bf.addString("str_15");
- assertEquals(TruthValue.YES_NO, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
+ assertEquals(TruthValue.YES_NO_NULL, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
}
@Test
@@ -1291,13 +1291,13 @@ public class TestRecordReaderImpl {
bf.addString("str_" + i);
}
ColumnStatistics cs = ColumnStatisticsImpl.deserialize(createStringStats("str_10", "str_200"));
- assertEquals(TruthValue.NO, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
+ assertEquals(TruthValue.NO_NULL, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
bf.addString("str_19");
- assertEquals(TruthValue.YES_NO, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
+ assertEquals(TruthValue.YES_NO_NULL, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
bf.addString("str_15");
- assertEquals(TruthValue.YES_NO, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
+ assertEquals(TruthValue.YES_NO_NULL, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
}
@Test
@@ -1325,10 +1325,10 @@ public class TestRecordReaderImpl {
bf.addLong((new DateWritable(i)).getDays());
}
ColumnStatistics cs = ColumnStatisticsImpl.deserialize(createDateStats(10, 100));
- assertEquals(TruthValue.NO, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
+ assertEquals(TruthValue.NO_NULL, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
bf.addLong((new DateWritable(15)).getDays());
- assertEquals(TruthValue.YES_NO, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
+ assertEquals(TruthValue.YES_NO_NULL, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
}
@Test
@@ -1344,13 +1344,13 @@ public class TestRecordReaderImpl {
bf.addLong((new DateWritable(i)).getDays());
}
ColumnStatistics cs = ColumnStatisticsImpl.deserialize(createDateStats(10, 100));
- assertEquals(TruthValue.NO, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
+ assertEquals(TruthValue.NO_NULL, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
bf.addLong((new DateWritable(19)).getDays());
- assertEquals(TruthValue.YES_NO, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
+ assertEquals(TruthValue.YES_NO_NULL, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
bf.addLong((new DateWritable(15)).getDays());
- assertEquals(TruthValue.YES_NO, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
+ assertEquals(TruthValue.YES_NO_NULL, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
}
@Test
@@ -1379,10 +1379,10 @@ public class TestRecordReaderImpl {
bf.addLong((new Timestamp(i)).getTime());
}
ColumnStatistics cs = ColumnStatisticsImpl.deserialize(createTimestampStats(10, 100));
- assertEquals(TruthValue.NO, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
+ assertEquals(TruthValue.NO_NULL, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
bf.addLong((new Timestamp(15)).getTime());
- assertEquals(TruthValue.YES_NO, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
+ assertEquals(TruthValue.YES_NO_NULL, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
}
@Test
@@ -1398,13 +1398,13 @@ public class TestRecordReaderImpl {
bf.addLong((new Timestamp(i)).getTime());
}
ColumnStatistics cs = ColumnStatisticsImpl.deserialize(createTimestampStats(10, 100));
- assertEquals(TruthValue.NO, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
+ assertEquals(TruthValue.NO_NULL, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
bf.addLong((new Timestamp(19)).getTime());
- assertEquals(TruthValue.YES_NO, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
+ assertEquals(TruthValue.YES_NO_NULL, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
bf.addLong((new Timestamp(15)).getTime());
- assertEquals(TruthValue.YES_NO, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
+ assertEquals(TruthValue.YES_NO_NULL, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
}
@Test
@@ -1434,10 +1434,10 @@ public class TestRecordReaderImpl {
bf.addString(HiveDecimal.create(i).toString());
}
ColumnStatistics cs = ColumnStatisticsImpl.deserialize(createDecimalStats("10", "200"));
- assertEquals(TruthValue.NO, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
+ assertEquals(TruthValue.NO_NULL, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
bf.addString(HiveDecimal.create(15).toString());
- assertEquals(TruthValue.YES_NO, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
+ assertEquals(TruthValue.YES_NO_NULL, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
}
@Test
@@ -1453,13 +1453,13 @@ public class TestRecordReaderImpl {
bf.addString(HiveDecimal.create(i).toString());
}
ColumnStatistics cs = ColumnStatisticsImpl.deserialize(createDecimalStats("10", "200"));
- assertEquals(TruthValue.NO, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
+ assertEquals(TruthValue.NO_NULL, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
bf.addString(HiveDecimal.create(19).toString());
- assertEquals(TruthValue.YES_NO, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
+ assertEquals(TruthValue.YES_NO_NULL, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
bf.addString(HiveDecimal.create(15).toString());
- assertEquals(TruthValue.YES_NO, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
+ assertEquals(TruthValue.YES_NO_NULL, RecordReaderImpl.evaluatePredicate(cs, pred, bf));
}
@Test
@@ -1475,7 +1475,7 @@ public class TestRecordReaderImpl {
for (int i = 20; i < 1000; i++) {
bf.addString(HiveDecimal.create(i).toString());
}
- ColumnStatistics cs = ColumnStatisticsImpl.deserialize(createDecimalStats("10", "200"));
+ ColumnStatistics cs = ColumnStatisticsImpl.deserialize(createDecimalStats("10", "200", false));
// hasNull is false, so bloom filter should return NO
assertEquals(TruthValue.NO, RecordReaderImpl.evaluatePredicate(cs, pred, bf));