Package org.apache.druid.segment
Class QueryableIndexSegment
- java.lang.Object
-
- org.apache.druid.segment.QueryableIndexSegment
-
- All Implemented Interfaces:
Closeable,AutoCloseable,Segment
public class QueryableIndexSegment extends Object implements Segment
-
-
Constructor Summary
Constructors Constructor Description QueryableIndexSegment(QueryableIndex index, SegmentId segmentId)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T> Tas(Class<T> clazz)Request an implementation of a particular interface.CursorFactoryasCursorFactory()QueryableIndexasQueryableIndex()voidclose()org.joda.time.IntervalgetDataInterval()SegmentIdgetId()CloseableShapeshiftertoCloseableShapeshifter()-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.druid.segment.Segment
asStorageAdapter, asString, isTombstone
-
-
-
-
Constructor Detail
-
QueryableIndexSegment
public QueryableIndexSegment(QueryableIndex index, SegmentId segmentId)
-
-
Method Detail
-
getDataInterval
public org.joda.time.Interval getDataInterval()
- Specified by:
getDataIntervalin interfaceSegment
-
asQueryableIndex
public QueryableIndex asQueryableIndex()
- Specified by:
asQueryableIndexin interfaceSegment
-
asCursorFactory
public CursorFactory asCursorFactory()
- Specified by:
asCursorFactoryin interfaceSegment
-
close
public void close()
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable
-
as
@Nullable public <T> T as(@Nonnull Class<T> clazz)
Description copied from interface:SegmentRequest an implementation of a particular interface.If the passed-in interface is
QueryableIndexorCursorFactory, then this method behaves identically toSegment.asQueryableIndex()orSegment.asCursorFactory(). Other interfaces are only expected to be requested by callers that have specific knowledge of extra features provided by specific segment types. For example, an extension might provide a custom Segment type that can offer both StorageAdapter and some new interface. That extension can also offer a Query that uses that new interface.Implementations which accept classes other than
QueryableIndexorCursorFactoryare limited to using those classes within the extension. This means that one extension cannot rely on the `Segment.as` behavior of another extension.- Specified by:
asin interfaceSegment- Type Parameters:
T- desired interface- Parameters:
clazz- desired interface- Returns:
- instance of clazz, or null if the interface is not supported by this segment, one of the following:
-
CursorFactory, to make cursors to run queries. Never null. -
QueryableIndex, index object, if this is a memory-mapped regular segment. -
IndexedTable, table object, if this is a joinable indexed table. -
TimeBoundaryInspector, inspector for min/max timestamps, if supported by this segment. -
PhysicalSegmentInspector, inspector for physical segment details, if supported by this segment. -
MaxIngestedEventTimeInspector, inspector forDataSourceMetadataResultValue.getMaxIngestedEventTime() -
TopNOptimizationInspector, inspector containing information for topN specific optimizations -
CloseableShapeshifter, stepping stone toRowsAndColumns. -
BypassRestrictedSegment, a policy-aware segment, converted from a policy-enforced segment.
-
-
toCloseableShapeshifter
public CloseableShapeshifter toCloseableShapeshifter()
-
-