Class HybridSnapshotBackedTableLocation<REAL_LOCATION_TYPE extends AbstractTableLocation>
java.lang.Object
io.deephaven.util.referencecounting.ReferenceCounted
io.deephaven.engine.liveness.ReferenceCountedLivenessReferent
io.deephaven.engine.liveness.ReferenceCountedLivenessNode
io.deephaven.enterprise.locations.local.HybridSnapshotBackedTableLocation<REAL_LOCATION_TYPE>
- Type Parameters:
- REAL_LOCATION_TYPE- the type of the real location, which must extend AbstractTableLocation
- All Implemented Interfaces:
- LogOutputAppendable,- LivenessManager,- LivenessNode,- LivenessReferent,- TableLocation,- TableLocationState,- NamedImplementation
public class HybridSnapshotBackedTableLocation<REAL_LOCATION_TYPE extends AbstractTableLocation>
extends ReferenceCountedLivenessNode
implements TableLocation
A 
TableLocation backed by a TableLocationMetadataIndex.LocationSnapshot that does not refresh and
 tries to avoid creating the actual location until it is truly needed.
 Subscriptions are not supported.
 The distinction between the HybridSnapshotBackedTableLocation and the SnapshotBackedTableLocation is that for
 the hybrid version we may not have the rowset available from the snapshot. If the rowset is unavailable (null), then
 must realize the real location to return the rowset. This has the effect of requiring the Parquet file to be read to
 determine how many row groups there are upon the table .coalesce() operation. When only the size is needed (e.g. to
 just discover the locations and understand they are non-empty), a snapshot without the row group information is
 sufficient.
 
- 
Nested Class SummaryNested classes/interfaces inherited from interface io.deephaven.engine.table.impl.locations.TableLocationTableLocation.Listener
- 
Field SummaryFields inherited from interface io.deephaven.engine.table.impl.locations.TableLocationStateNULL_SIZE, NULL_TIME
- 
Constructor SummaryConstructorsConstructorDescriptionHybridSnapshotBackedTableLocation(@NotNull TableKey tableKey, @NotNull TableLocationKey tableLocationKey, io.deephaven.shadow.enterprise.com.illumon.iris.db.v2.locations.local.TableLocationMetadataIndex.LocationSnapshot snapshot, @NotNull Supplier<REAL_LOCATION_TYPE> locationFactory) 
- 
Method SummaryModifier and TypeMethodDescription@NotNull ColumnLocationgetColumnLocation(@NotNull CharSequence name) @Nullable BasicDataIndexgetDataIndex(@NotNull String... columns) @NotNull ImmutableTableLocationKeygetKey()longlonggetSize()@NotNull List<SortColumn>@NotNull Object@NotNull ImmutableTableKeybooleanhasDataIndex(@NotNull String... columns) voidrefresh()voidsubscribe(@NotNull TableLocation.Listener listener) booleanvoidunsubscribe(@NotNull TableLocation.Listener listener) Methods inherited from class io.deephaven.engine.liveness.ReferenceCountedLivenessNodegetWeakReference, initializeTransientFieldsForLiveness, onReferenceCountAtZero, tryManage, tryUnmanage, tryUnmanageMethods inherited from class io.deephaven.engine.liveness.ReferenceCountedLivenessReferentdestroy, dropReference, tryRetainReferenceMethods inherited from class io.deephaven.util.referencecounting.ReferenceCountedappend, decrementReferenceCount, forceReferenceCountToZero, getReferenceCountDebug, incrementReferenceCount, resetReferenceCount, toString, tryDecrementReferenceCount, tryIncrementReferenceCountMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface io.deephaven.engine.liveness.LivenessManagermanage, unmanage, unmanageMethods inherited from interface io.deephaven.engine.liveness.LivenessReferentdropReference, getReferentDescription, getWeakReference, retainReference, tryRetainReferenceMethods inherited from interface io.deephaven.util.type.NamedImplementationgetImplementationNameMethods inherited from interface io.deephaven.engine.table.impl.locations.TableLocationappend, getColumnLocation, getDataIndex, getDataIndexColumns, getKey, getSortedColumns, getTableKey, hasDataIndex, refresh, subscribe, supportsSubscriptions, toGenericString, toStringDetailed, toStringHelper, unsubscribeMethods inherited from interface io.deephaven.engine.table.impl.locations.TableLocationStatecopyStateValuesTo, getLastModifiedTimeMillis, getStateLock
- 
Constructor Details- 
HybridSnapshotBackedTableLocationpublic HybridSnapshotBackedTableLocation(@NotNull @NotNull TableKey tableKey, @NotNull @NotNull TableLocationKey tableLocationKey, @NotNull io.deephaven.shadow.enterprise.com.illumon.iris.db.v2.locations.local.TableLocationMetadataIndex.LocationSnapshot snapshot, @NotNull @NotNull Supplier<REAL_LOCATION_TYPE> locationFactory) - Parameters:
- tableKey- Table key for the table this location belongs to
- tableLocationKey- Table location key that identifies this location
 
 
- 
- 
Method Details- 
getRowSet- Specified by:
- getRowSetin interface- TableLocationState
 
- 
getSizepublic long getSize()- Specified by:
- getSizein interface- TableLocationState
 
- 
getTableKey- Specified by:
- getTableKeyin interface- TableLocation
 
- 
getKey- Specified by:
- getKeyin interface- TableLocation
 
- 
supportsSubscriptionspublic boolean supportsSubscriptions()- Specified by:
- supportsSubscriptionsin interface- TableLocation
 
- 
subscribe- Specified by:
- subscribein interface- TableLocation
 
- 
unsubscribe- Specified by:
- unsubscribein interface- TableLocation
 
- 
refreshpublic void refresh()- Specified by:
- refreshin interface- TableLocation
 
- 
getSortedColumns- Specified by:
- getSortedColumnsin interface- TableLocation
 
- 
getDataIndexColumns- Specified by:
- getDataIndexColumnsin interface- TableLocation
 
- 
hasDataIndex- Specified by:
- hasDataIndexin interface- TableLocation
 
- 
getDataIndex- Specified by:
- getDataIndexin interface- TableLocation
 
- 
getColumnLocation- Specified by:
- getColumnLocationin interface- TableLocation
 
- 
getStateLock- Specified by:
- getStateLockin interface- TableLocationState
 
- 
getLastModifiedTimeMillispublic long getLastModifiedTimeMillis()- Specified by:
- getLastModifiedTimeMillisin interface- TableLocationState
 
 
-