diff --git a/llap-server/src/java/org/apache/hadoop/hive/llap/io/encoded/OrcEncodedDataReader.java b/llap-server/src/java/org/apache/hadoop/hive/llap/io/encoded/OrcEncodedDataReader.java
index 6a00220f6d..85a42f9456 100644
--- a/llap-server/src/java/org/apache/hadoop/hive/llap/io/encoded/OrcEncodedDataReader.java
+++ b/llap-server/src/java/org/apache/hadoop/hive/llap/io/encoded/OrcEncodedDataReader.java
@@ -782,7 +782,7 @@ private boolean determineRgsToRead(int rowIndexStride,
sargApp = new RecordReaderImpl.SargApplier(sarg,
rowIndexStride, evolution,
OrcFile.WriterVersion.from(OrcFile.WriterImplementation.ORC_JAVA, fileMetadata.getWriterVersionNum()),
- false);
+ true);
}
boolean hasAnyData = false;
// stripeRgs should have been initialized by this time with an empty array.
diff --git a/pom.xml b/pom.xml
index 7649af10a7..4c956c412e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -187,7 +187,7 @@
0.9.3
2.10.0
2.3
- 1.5.4
+ 1.5.6
1.10.19
1.7.4
2.0.0-M5
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcInputFormat.java b/ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcInputFormat.java
index 707e38c321..f350f1b5a5 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcInputFormat.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcInputFormat.java
@@ -2313,7 +2313,7 @@ private static boolean isStripeSatisfyPredicate(
}
PredicateLeaf leaf = predLeaves.get(pred);
try {
- truthValues[pred] = RecordReaderImpl.evaluatePredicate(stats, leaf, null);
+ truthValues[pred] = RecordReaderImpl.evaluatePredicate(stats, leaf, null, true);
} catch (NoDynamicValuesException dve) {
LOG.debug("Dynamic values are not available here {}", dve.getMessage());
boolean hasNulls = stats.hasNull() || leaf.getOperator() != Operator.NULL_SAFE_EQUALS;
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/io/sarg/ConvertAstToSearchArg.java b/ql/src/java/org/apache/hadoop/hive/ql/io/sarg/ConvertAstToSearchArg.java
index 27fe828b75..bfabdce736 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/io/sarg/ConvertAstToSearchArg.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/io/sarg/ConvertAstToSearchArg.java
@@ -204,6 +204,9 @@ private static Object boxLiteral(ExprNodeConstantDesc constantDesc,
}
return fl.doubleValue();
case TIMESTAMP:
+ if (lit instanceof org.apache.hadoop.hive.common.type.Timestamp) {
+ return ((org.apache.hadoop.hive.common.type.Timestamp) lit).toSqlTimestamp();
+ }
return Timestamp.valueOf(lit.toString());
case DATE:
return Date.valueOf(lit.toString());
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/FixedBucketPruningOptimizer.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/FixedBucketPruningOptimizer.java
index 35053e3ca6..3a40b319a4 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/FixedBucketPruningOptimizer.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/FixedBucketPruningOptimizer.java
@@ -251,7 +251,8 @@ private Object convertLiteral(Object o) {
if (o instanceof java.sql.Date) {
return Date.valueOf(o.toString());
} else if (o instanceof java.sql.Timestamp) {
- return Timestamp.valueOf(o.toString());
+ java.sql.Timestamp sqlTimestamp = (java.sql.Timestamp)o;
+ return Timestamp.ofEpochMilli(sqlTimestamp.getTime(), sqlTimestamp.getNanos());
}
return o;
}
diff --git a/ql/src/test/queries/clientpositive/change_allowincompatible_vectorization_false_date.q b/ql/src/test/queries/clientpositive/change_allowincompatible_vectorization_false_date.q
index e750c59ded..02d923b322 100644
--- a/ql/src/test/queries/clientpositive/change_allowincompatible_vectorization_false_date.q
+++ b/ql/src/test/queries/clientpositive/change_allowincompatible_vectorization_false_date.q
@@ -27,3 +27,5 @@ insert into table change_allowincompatible_vectorization_false_date partition (s
select ts from change_allowincompatible_vectorization_false_date where ts='2038-03-22 07:26:48.0' and s='aaa';
+set hive.vectorized.execution.enabled=true;
+select ts from change_allowincompatible_vectorization_false_date where ts='2038-03-22 07:26:48.0' and s='aaa';
diff --git a/ql/src/test/results/clientpositive/llap/change_allowincompatible_vectorization_false_date.q.out b/ql/src/test/results/clientpositive/llap/change_allowincompatible_vectorization_false_date.q.out
index 4661a03571..f3716b1e8c 100644
--- a/ql/src/test/results/clientpositive/llap/change_allowincompatible_vectorization_false_date.q.out
+++ b/ql/src/test/results/clientpositive/llap/change_allowincompatible_vectorization_false_date.q.out
@@ -84,3 +84,14 @@ POSTHOOK: Input: default@change_allowincompatible_vectorization_false_date
POSTHOOK: Input: default@change_allowincompatible_vectorization_false_date@s=aaa
#### A masked pattern was here ####
2038-03-22 07:26:48
+PREHOOK: query: select ts from change_allowincompatible_vectorization_false_date where ts='2038-03-22 07:26:48.0' and s='aaa'
+PREHOOK: type: QUERY
+PREHOOK: Input: default@change_allowincompatible_vectorization_false_date
+PREHOOK: Input: default@change_allowincompatible_vectorization_false_date@s=aaa
+#### A masked pattern was here ####
+POSTHOOK: query: select ts from change_allowincompatible_vectorization_false_date where ts='2038-03-22 07:26:48.0' and s='aaa'
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@change_allowincompatible_vectorization_false_date
+POSTHOOK: Input: default@change_allowincompatible_vectorization_false_date@s=aaa
+#### A masked pattern was here ####
+2038-03-22 07:26:48