Package org.apache.druid.segment
Class TimeAndDimsPointer
- java.lang.Object
-
- org.apache.druid.segment.TimeAndDimsPointer
-
- All Implemented Interfaces:
Comparable<TimeAndDimsPointer>
- Direct Known Subclasses:
RowPointer
public class TimeAndDimsPointer extends Object implements Comparable<TimeAndDimsPointer>
TimeAndDimsPointer is used in conjunction withTimeAndDimsIterator
, it's an _immutable_ object that points to different logical data points, asTimeAndDimsIterator.moveToNext()
is called. TimeAndDimsPointers are comparable by time and dimension column values, but excluding metric column values, to facilicate ordering and rollup during merging of collections of rows (seeIndexMergerV9.merge(java.util.List<org.apache.druid.segment.IndexableAdapter>, boolean, org.apache.druid.query.aggregation.AggregatorFactory[], java.io.File, org.apache.druid.data.input.impl.DimensionsSpec, org.apache.druid.segment.IndexSpec, int)
methods). The difference between "time and dims" and "row" abstraction (seeIncrementalIndexRow
,RowPointer
) is that "time and dims" is logical composite of only time point and dimension and metric values, not tied to a specific position in any data structure (aka "row index"). TimeAndDimsPointer is conceptually similar toCursor
, but the latter is used for query execution rather than historical segments creation (as TimeAndDimsPointer). If those abstractions could be collapsed (and if it is worthwhile) is yet to be determined.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
compareTo(TimeAndDimsPointer rhs)
Compares time column value and dimension column values, but not metric column values.boolean
equals(Object obj)
int
getNumMetrics()
long
getTimestamp()
int
hashCode()
String
toString()
-
-
-
Method Detail
-
getTimestamp
public long getTimestamp()
-
getNumMetrics
public int getNumMetrics()
-
compareTo
public int compareTo(@Nonnull TimeAndDimsPointer rhs)
Compares time column value and dimension column values, but not metric column values.- Specified by:
compareTo
in interfaceComparable<TimeAndDimsPointer>
-
-