public class HashJoinSegment extends Object implements SegmentReference
| Constructor and Description |
|---|
HashJoinSegment(SegmentReference baseSegment,
List<JoinableClause> clauses,
JoinFilterPreAnalysis joinFilterPreAnalysis) |
| Modifier and Type | Method and Description |
|---|---|
Optional<Closeable> |
acquireReferences()
This method is expected to increment a reference count and provide a
Closeable that decrements the
reference count when closed. |
QueryableIndex |
asQueryableIndex() |
StorageAdapter |
asStorageAdapter() |
void |
close() |
org.joda.time.Interval |
getDataInterval() |
SegmentId |
getId() |
public HashJoinSegment(SegmentReference baseSegment, List<JoinableClause> clauses, JoinFilterPreAnalysis joinFilterPreAnalysis)
baseSegment - The left-hand side base segmentclauses - The right-hand side clauses. The caller is responsible for ensuring that there are no
duplicate prefixes or prefixes that shadow each other across the clausesjoinFilterPreAnalysis - Pre-analysis for the query we expect to run on this segmentpublic org.joda.time.Interval getDataInterval()
getDataInterval in interface Segment@Nullable public QueryableIndex asQueryableIndex()
asQueryableIndex in interface Segmentpublic StorageAdapter asStorageAdapter()
asStorageAdapter in interface Segmentpublic void close()
throws IOException
close in interface Closeableclose in interface AutoCloseableIOExceptionpublic Optional<Closeable> acquireReferences()
ReferenceCountedObjectCloseable that decrements the
reference count when closed. This is likely just a wrapper around
ReferenceCountingCloseableObject.incrementReferenceAndDecrementOnceCloseable(), but may also include any
other associated references which should be incremented when this method is called, and decremented/released by the
closeable.
IMPORTANT NOTE: to fulfill the contract of this method, implementors must return a closeable to indicate that the
reference can be acquired, even if there is nothing to close. Implementors should avoid allowing this method or the
Closeable it creates to throw exceptions.
For callers: if this method returns non-empty, IT MUST BE CLOSED, else reference counts can potentially leak.acquireReferences in interface ReferenceCountedObjectCopyright © 2011–2020 The Apache Software Foundation. All rights reserved.