Class SnapshotBackedTableLocation<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.SnapshotBackedTableLocation<LOCATION_TYPE>
- Type Parameters:
LOCATION_TYPE-
- All Implemented Interfaces:
LogOutputAppendable,LivenessManager,LivenessNode,LivenessReferent,TableLocation,TableLocationState,PushdownFilterMatcher,RegionedPushdownFilterMatcher,NamedImplementation
public class SnapshotBackedTableLocation<LOCATION_TYPE extends AbstractTableLocation>
extends ReferenceCountedLivenessNode
implements TableLocation
A
TableLocation backed by a TableLocationMetadataIndex.TableLocationSnapshot that does not refresh and tries to avoid creating
the actual location until it is truly needed.-
Nested Class Summary
Nested classes/interfaces inherited from interface io.deephaven.engine.table.impl.locations.TableLocation
TableLocation.Listener -
Field Summary
Fields inherited from interface io.deephaven.engine.table.impl.locations.TableLocationState
NULL_SIZE, NULL_TIME -
Constructor Summary
ConstructorsConstructorDescriptionSnapshotBackedTableLocation(@NotNull TableKey tableKey, @NotNull TableLocationKey tableLocationKey, io.deephaven.shadow.enterprise.com.illumon.iris.db.v2.locations.local.TableLocationMetadataIndex.LocationSnapshot snapshot, @NotNull Supplier<LOCATION_TYPE> locationFactory) -
Method Summary
Modifier and TypeMethodDescriptionlongestimatePushdownAction(RegionedPushdownAction action, WhereFilter filter, RowSet selection, boolean usePrev, PushdownFilterContext filterContext, RegionedPushdownAction.EstimateContext estimateContext) voidestimatePushdownFilterCost(WhereFilter filter, RowSet selection, boolean usePrev, PushdownFilterContext context, JobScheduler jobScheduler, LongConsumer onComplete, Consumer<Exception> onError) @NotNull ColumnLocationgetColumnLocation(@NotNull CharSequence name) @Nullable BasicDataIndexgetDataIndex(@NotNull String... columns) @NotNull ImmutableTableLocationKeygetKey()longlonggetSize()@NotNull List<SortColumn>@NotNull Object@NotNull ImmutableTableKeybooleanhasCachedDataIndex(@NotNull String... columns) booleanhasDataIndex(@NotNull String... columns) makeActionContext(WhereFilter filter, PushdownFilterContext context) makeEstimateContext(WhereFilter filter, PushdownFilterContext context) makePushdownFilterContext(WhereFilter filter, List<ColumnSource<?>> filterSources) performPushdownAction(RegionedPushdownAction action, WhereFilter filter, RowSet selection, PushdownResult input, boolean usePrev, PushdownFilterContext filterContext, RegionedPushdownAction.ActionContext actionContext) voidpushdownFilter(WhereFilter filter, RowSet selection, boolean usePrev, PushdownFilterContext context, long costCeiling, JobScheduler jobScheduler, Consumer<PushdownResult> onComplete, Consumer<Exception> onError) voidrefresh()voidsubscribe(@NotNull TableLocation.Listener listener) booleanvoidunsubscribe(@NotNull TableLocation.Listener listener) Methods inherited from class io.deephaven.engine.liveness.ReferenceCountedLivenessNode
ensureCleanupOnGC, findAnyManagedReferent, forEachManagedReference, getWeakReference, initializeTransientFieldsForLiveness, onReferenceCountAtZero, tryManage, tryUnmanage, tryUnmanageMethods inherited from class io.deephaven.engine.liveness.ReferenceCountedLivenessReferent
destroy, dropReference, tryRetainReferenceMethods inherited from class io.deephaven.util.referencecounting.ReferenceCounted
append, decrementReferenceCount, forceReferenceCountToZero, getReferenceCountDebug, incrementReferenceCount, resetReferenceCount, toString, tryDecrementReferenceCount, tryIncrementReferenceCountMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface io.deephaven.engine.liveness.LivenessManager
manage, unmanage, unmanageMethods inherited from interface io.deephaven.engine.liveness.LivenessReferent
dropReference, getReferentDescription, getWeakReference, retainReference, tryRetainReferenceMethods inherited from interface io.deephaven.util.type.NamedImplementation
getImplementationNameMethods inherited from interface io.deephaven.engine.table.impl.PushdownFilterMatcher
estimatePushdownFilterCost, makePushdownFilterContext, pushdownFilterMethods inherited from interface io.deephaven.engine.table.impl.sources.regioned.RegionedPushdownFilterMatcher
estimatePushdownAction, makeActionContext, makeEstimateContext, performPushdownAction, supportedActionsMethods inherited from interface io.deephaven.engine.table.impl.locations.TableLocation
append, getColumnLocation, getDataIndex, getDataIndexColumns, getKey, getSortedColumns, getTableKey, hasCachedDataIndex, hasDataIndex, refresh, subscribe, supportsSubscriptions, toGenericString, toStringDetailed, toStringHelper, unsubscribeMethods inherited from interface io.deephaven.engine.table.impl.locations.TableLocationState
copyStateValuesTo, getLastModifiedTimeMillis, getStateLock
-
Constructor Details
-
SnapshotBackedTableLocation
public SnapshotBackedTableLocation(@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<LOCATION_TYPE> locationFactory) - Parameters:
tableKey- Table key for the table this location belongs totableLocationKey- Table location key that identifies this location
-
-
Method Details
-
getRowSet
- Specified by:
getRowSetin interfaceTableLocationState
-
getSize
public long getSize()- Specified by:
getSizein interfaceTableLocationState
-
getTableKey
- Specified by:
getTableKeyin interfaceTableLocation
-
getKey
- Specified by:
getKeyin interfaceTableLocation
-
supportsSubscriptions
public boolean supportsSubscriptions()- Specified by:
supportsSubscriptionsin interfaceTableLocation
-
subscribe
- Specified by:
subscribein interfaceTableLocation
-
unsubscribe
- Specified by:
unsubscribein interfaceTableLocation
-
refresh
public void refresh()- Specified by:
refreshin interfaceTableLocation
-
getSortedColumns
- Specified by:
getSortedColumnsin interfaceTableLocation
-
getDataIndexColumns
- Specified by:
getDataIndexColumnsin interfaceTableLocation
-
hasDataIndex
- Specified by:
hasDataIndexin interfaceTableLocation
-
getDataIndex
- Specified by:
getDataIndexin interfaceTableLocation
-
hasCachedDataIndex
- Specified by:
hasCachedDataIndexin interfaceTableLocation
-
supportedActions
- Specified by:
supportedActionsin interfaceRegionedPushdownFilterMatcher
-
makePushdownFilterContext
public PushdownFilterContext makePushdownFilterContext(WhereFilter filter, List<ColumnSource<?>> filterSources) - Specified by:
makePushdownFilterContextin interfacePushdownFilterMatcher
-
estimatePushdownFilterCost
public void estimatePushdownFilterCost(WhereFilter filter, RowSet selection, boolean usePrev, PushdownFilterContext context, JobScheduler jobScheduler, LongConsumer onComplete, Consumer<Exception> onError) - Specified by:
estimatePushdownFilterCostin interfacePushdownFilterMatcher
-
pushdownFilter
public void pushdownFilter(WhereFilter filter, RowSet selection, boolean usePrev, PushdownFilterContext context, long costCeiling, JobScheduler jobScheduler, Consumer<PushdownResult> onComplete, Consumer<Exception> onError) - Specified by:
pushdownFilterin interfacePushdownFilterMatcher
-
makeEstimateContext
public RegionedPushdownAction.EstimateContext makeEstimateContext(WhereFilter filter, PushdownFilterContext context) - Specified by:
makeEstimateContextin interfaceRegionedPushdownFilterMatcher
-
estimatePushdownAction
public long estimatePushdownAction(RegionedPushdownAction action, WhereFilter filter, RowSet selection, boolean usePrev, PushdownFilterContext filterContext, RegionedPushdownAction.EstimateContext estimateContext) - Specified by:
estimatePushdownActionin interfaceRegionedPushdownFilterMatcher
-
makeActionContext
public RegionedPushdownAction.ActionContext makeActionContext(WhereFilter filter, PushdownFilterContext context) - Specified by:
makeActionContextin interfaceRegionedPushdownFilterMatcher
-
performPushdownAction
public PushdownResult performPushdownAction(RegionedPushdownAction action, WhereFilter filter, RowSet selection, PushdownResult input, boolean usePrev, PushdownFilterContext filterContext, RegionedPushdownAction.ActionContext actionContext) - Specified by:
performPushdownActionin interfaceRegionedPushdownFilterMatcher
-
getColumnLocation
- Specified by:
getColumnLocationin interfaceTableLocation
-
getStateLock
- Specified by:
getStateLockin interfaceTableLocationState
-
getLastModifiedTimeMillis
public long getLastModifiedTimeMillis()- Specified by:
getLastModifiedTimeMillisin interfaceTableLocationState
-