@Override public int getLength() { try (final NumericColumn column = (NumericColumn) columnSupplier.get()) { return column.length(); } }
@Override public int getNumRows() { try (final NumericColumn column = (NumericColumn) index.getColumnHolder(ColumnHolder.TIME_COLUMN_NAME).getColumn()) { return column.length(); } }
private static int getStartIndexOfTime(NumericColumn timeValues, long time, boolean inclusive) { int low = 0; int high = timeValues.length() - 1; while (low <= high) { int mid = (low + high) >>> 1; long midVal = timeValues.getLongSingleValueRow(mid); if (midVal < time) { low = mid + 1; } else if (midVal > time) { high = mid - 1; } else { // key found int i; // rewind the index of the same time values for (i = mid - 1; i >= 0; i--) { long prev = timeValues.getLongSingleValueRow(i); if (time != prev) { break; } } return inclusive ? i + 1 : i; } } // key not found. // return insert index return inclusive ? low : low - 1; }
@Override public DateTime getMaxTime() { try (final NumericColumn column = (NumericColumn) index.getColumnHolder(ColumnHolder.TIME_COLUMN_NAME).getColumn()) { return DateTimes.utc(column.getLongSingleValueRow(column.length() - 1)); } }
timeValues.length() - 1, getStartIndexOfTime(timeValues, interval.getEndMillis(), false) );
@Override public int getLength() { try (final NumericColumn column = (NumericColumn) columnSupplier.get()) { return column.length(); } }
@Override public int getNumRows() { try (final NumericColumn column = (NumericColumn) index.getColumnHolder(ColumnHolder.TIME_COLUMN_NAME).getColumn()) { return column.length(); } }
private static int getStartIndexOfTime(NumericColumn timeValues, long time, boolean inclusive) { int low = 0; int high = timeValues.length() - 1; while (low <= high) { int mid = (low + high) >>> 1; long midVal = timeValues.getLongSingleValueRow(mid); if (midVal < time) { low = mid + 1; } else if (midVal > time) { high = mid - 1; } else { // key found int i; // rewind the index of the same time values for (i = mid - 1; i >= 0; i--) { long prev = timeValues.getLongSingleValueRow(i); if (time != prev) { break; } } return inclusive ? i + 1 : i; } } // key not found. // return insert index return inclusive ? low : low - 1; }
@Override public DateTime getMaxTime() { try (final NumericColumn column = (NumericColumn) index.getColumnHolder(ColumnHolder.TIME_COLUMN_NAME).getColumn()) { return DateTimes.utc(column.getLongSingleValueRow(column.length() - 1)); } }
timeValues.length() - 1, getStartIndexOfTime(timeValues, interval.getEndMillis(), false) );