Interface Segment
- All Superinterfaces:
AutoCloseable,Closeable
- All Known Implementing Classes:
ArrayListSegment,FilteredSegment,FrameSegment,HashJoinSegment,IncrementalIndexSegment,LookupSegment,QueryableIndexSegment,ReferenceCountedSegmentProvider.CloseableWrappedReference,ReferenceCountedSegmentProvider.LeafReference,ReferenceCountedSegmentProvider.ReferenceClosingSegment,ReferenceCountedSegmentProvider.UnmanagedReference,RestrictedSegment,RowBasedSegment,UnnestSegment,WrappedSegment
DataSegment is that DataSegment contains the segment metadata only, while this class represents the actual
body of segment data, queryable.-
Method Summary
Modifier and TypeMethodDescription<T> TRequest an implementation of a particular interface.org.joda.time.Intervaldefault StringDeveloper friendly string suitable to use in internal error messages and provide some additional information about what kind of segment was involved in a problemgetId()Returns theSegmentIdof this segment, if it is backed by a real table, otherwise returns null.default booleandefault voidvalidateOrElseThrow(PolicyEnforcer policyEnforcer) Validates if the segment complies with the policy restrictions on tables.
-
Method Details
-
getId
Returns theSegmentIdof this segment, if it is backed by a real table, otherwise returns null. -
getDataInterval
org.joda.time.Interval getDataInterval() -
as
Request an implementation of a particular interface.All implementations of this method should be able to provide a
CursorFactory. 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 CursorFactory and some new interface. That extension can also offer a Query that uses that new interface.Implementations which accept classes other than known built-in interfaces such as
CursorFactoryare limited to using those classes within the extension. This means that one extension cannot rely on the `Segment.as` behavior of another extension.- 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.
-
-
isTombstone
default boolean isTombstone() -
getDebugString
Developer friendly string suitable to use in internal error messages and provide some additional information about what kind of segment was involved in a problem -
validateOrElseThrow
Validates if the segment complies with the policy restrictions on tables.This should be called right before the segment is about to be processed by the query stack, and after
ExecutionVertex.createSegmentMapFunction(PolicyEnforcer).
-