@Override public LongStatistics copy() { return new LongStatistics(this); } }
@Override public void mergeStatisticsMinMax(Statistics stats) { LongStatistics longStats = (LongStatistics)stats; if (!this.hasNonNullValue()) { initializeStats(longStats.getMin(), longStats.getMax()); } else { updateStats(longStats.getMin(), longStats.getMax()); } }
private LongStatistics(LongStatistics other) { super(other.type()); if (other.hasNonNullValue()) { initializeStats(other.min, other.max); } setNumNulls(other.getNumNulls()); }
@Override public void updateStats(long value) { if (!this.hasNonNullValue()) { initializeStats(value, value); } else { updateStats(value, value); } }
public static Statistics convertDateStatIfNecessary(Statistics stat, ParquetReaderUtility.DateCorruptionStatus containsCorruptDates) { IntStatistics dateStat = (IntStatistics) stat; LongStatistics dateMLS = new LongStatistics(); boolean isDateCorrect = containsCorruptDates == ParquetReaderUtility.DateCorruptionStatus.META_SHOWS_NO_CORRUPTION; // Only do conversion when stat is NOT empty. if (!dateStat.isEmpty()) { dateMLS.setMinMax( convertToDrillDateValue(dateStat.getMin(), isDateCorrect), convertToDrillDateValue(dateStat.getMax(), isDateCorrect)); dateMLS.setNumNulls(dateStat.getNumNulls()); } return dateMLS; }
private static LongStatistics longColumnStats(long minimum, long maximum) { LongStatistics statistics = new LongStatistics(); statistics.setMinMax(minimum, maximum); return statistics; }
break; case BIGINT: minHolder = ValueHolderHelper.getBigIntHolder(((LongStatistics)input).getMin()); maxHolder = ValueHolderHelper.getBigIntHolder(((LongStatistics)input).getMax()); break; case FLOAT4: break; case DATE: minHolder = ValueHolderHelper.getDateHolder(((LongStatistics)input).getMin()); maxHolder = ValueHolderHelper.getDateHolder(((LongStatistics)input).getMax()); break; default:
public void setMinMax(long min, long max) { this.max = max; this.min = min; this.markAsNotEmpty(); }
public void updateStats(long min_value, long max_value) { if (comparator().compare(min, min_value) > 0) { min = min_value; } if (comparator().compare(max, max_value) < 0) { max = max_value; } }
@Override public boolean isSmallerThan(long size) { return !hasNonNullValue() || (16 < size); }
@SuppressWarnings("unchecked") private Statistics<T> getStatistics(long min, long max) { final Statistics statistics = Statistics.getStatsBasedOnType(PrimitiveType.PrimitiveTypeName.INT64); ((LongStatistics) statistics).setMinMax(min, max); return statistics; }
@Override public void updateStats(long value) { if (!this.hasNonNullValue()) { initializeStats(value, value); } else { updateStats(value, value); } }
case BIGINT: case TIMESTAMP: ((LongStatistics) stat).setMinMax(Long.parseLong(min.toString()), Long.parseLong(max.toString())); break; case FLOAT4: break; case DATE: convertedStat = new LongStatistics(); convertedStat.setNumNulls(stat.getNumNulls()); long minMS = convertToDrillDateValue(Integer.parseInt(min.toString())); long maxMS = convertToDrillDateValue(Integer.parseInt(max.toString())); ((LongStatistics) convertedStat ).setMinMax(minMS, maxMS); break; case BIT:
public void initializeStats(long min_value, long max_value) { min = min_value; max = max_value; this.markAsNotEmpty(); }
public void updateStats(long min_value, long max_value) { if (comparator().compare(min, min_value) > 0) { min = min_value; } if (comparator().compare(max, max_value) < 0) { max = max_value; } }
@Override public boolean isSmallerThan(long size) { return !hasNonNullValue() || (16 < size); }
@Override public void mergeStatisticsMinMax(Statistics stats) { LongStatistics longStats = (LongStatistics)stats; if (!this.hasNonNullValue()) { initializeStats(longStats.getMin(), longStats.getMax()); } else { updateStats(longStats.getMin(), longStats.getMax()); } }
private LongStatistics(LongStatistics other) { super(other.type()); if (other.hasNonNullValue()) { initializeStats(other.min, other.max); } setNumNulls(other.getNumNulls()); }
@Override public LongStatistics copy() { return new LongStatistics(this); } }
public void setMinMax(long min, long max) { this.max = max; this.min = min; this.markAsNotEmpty(); }