Github user omalley commented on a diff in the pull request:
https://github.com/apache/orc/pull/292#discussion_r205179355
--- Diff: java/core/src/java/org/apache/orc/impl/ColumnStatisticsImpl.java
---
@@ -621,12 +703,54 @@ public void merge(ColumnStatisticsImpl other) {
@Override
public String getMinimum() {
- return minimum == null ? null : minimum.toString();
+ /* if we have lower bound set (in case of truncation)
+ getMinimum will be null */
+ if(isLowerBoundSet) {
+ return null;
+ } else {
+ return minimum == null ? null : minimum.toString();
+ }
}
@Override
public String getMaximum() {
- return maximum == null ? null : maximum.toString();
+ /* if we have upper bound is set (in case of truncation)
+ getMaximum will be null */
+ if(isUpperBoundSet) {
+ return null;
+ } else {
+ return maximum == null ? null : maximum.toString();
+ }
+ }
+
+ /**
+ * Get the string with
+ * length = Min(StringStatisticsImpl.MAX_STRING_LENGTH_RECORDED,
getMinimum())
+ *
+ * @return lower bound
+ */
+ @Override
+ public String getLowerBound() {
+ if(isLowerBoundSet) {
+ return minimum.toString();
+ } else {
+ return null;
--- End diff --
This should always return minimum.
---