Package io.deephaven.engine.table.impl
Class DeferredViewTable.TableReference
java.lang.Object
io.deephaven.util.referencecounting.ReferenceCounted
io.deephaven.engine.liveness.ReferenceCountedLivenessReferent
io.deephaven.engine.liveness.ReferenceCountedLivenessNode
io.deephaven.engine.liveness.LivenessArtifact
io.deephaven.engine.table.impl.DeferredViewTable.TableReference
- All Implemented Interfaces:
LogOutputAppendable,SimpleReference<Table>,LivenessManager,LivenessNode,LivenessReferent,Serializable
- Direct Known Subclasses:
DeferredViewTable.SimpleTableReference,SourceTable.QueryTableReference
- Enclosing class:
- DeferredViewTable
public abstract static class DeferredViewTable.TableReference
extends LivenessArtifact
implements SimpleReference<Table>
The table reference hides the table underlying table from us.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class -
Method Summary
Modifier and TypeMethodDescriptionfinal voidclear()Clear the referent.abstract Tableget()Returns the table in a form that the user can run queries on it.abstract TableDefinitionGet the definition, without instantiating the table.abstract longgetSize()What size should the uninitialized table return.getWithWhere(WhereFilter... whereFilters) Get the table in a form that the user can run queries on it.final booleanIs the node updating?selectDistinctInternal(Collection<? extends Selectable> columns) If possible to execute a selectDistinct without instantiating the full table, then do so.Methods inherited from class io.deephaven.engine.liveness.LivenessArtifact
manageWithCurrentScopeMethods inherited from class io.deephaven.engine.liveness.ReferenceCountedLivenessNode
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
manageMethods inherited from interface io.deephaven.engine.liveness.LivenessNode
unmanage, unmanageMethods inherited from interface io.deephaven.engine.liveness.LivenessReferent
dropReference, getReferentDescription, retainReference, tryRetainReference
-
Method Details
-
isRefreshing
public final boolean isRefreshing()Is the node updating?- Returns:
- true if the node is updating; false otherwise.
-
get
Returns the table in a form that the user can run queries on it. This may be as simple as returning a reference, but for amorphous tables, this means we need to do the work to instantiate it.- Specified by:
getin interfaceSimpleReference<Table>- Returns:
- the table
-
getDefinition
Get the definition, without instantiating the table.- Returns:
- the definition of the table
-
getSize
public abstract long getSize()What size should the uninitialized table return.- Returns:
- the size
-
getWithWhere
protected DeferredViewTable.TableReference.TableAndRemainingFilters getWithWhere(WhereFilter... whereFilters) Get the table in a form that the user can run queries on it. All of the filters that can be run efficiently should be run before instantiating the full table should be run. Other filters are returned in the remainingFilters field.- Parameters:
whereFilters- filters to maybe apply before returning the table- Returns:
- the instantiated table and a set of filters that were not applied.
-
selectDistinctInternal
If possible to execute a selectDistinct without instantiating the full table, then do so. Otherwise return null.- Parameters:
columns- the columns to selectDistinct- Returns:
- null if the operation can not be performed on an uninstantiated table, otherwise a new table with the distinct values from strColumns.
-
clear
public final void clear()Description copied from interface:SimpleReferenceClear the referent.- Specified by:
clearin interfaceSimpleReference<Table>
-