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
Modifier and TypeClassDescriptionstatic class
-
Method Summary
Modifier and TypeMethodDescriptionfinal void
clear()
Clear the referent.abstract Table
get()
Returns the table in a form that the user can run queries on it.abstract TableDefinition
Get the definition, without instantiating the table.abstract long
getSize()
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 boolean
Is 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
manageWithCurrentScope
Methods inherited from class io.deephaven.engine.liveness.ReferenceCountedLivenessNode
getWeakReference, initializeTransientFieldsForLiveness, onReferenceCountAtZero, tryManage, tryUnmanage, tryUnmanage
Methods inherited from class io.deephaven.engine.liveness.ReferenceCountedLivenessReferent
destroy, dropReference, tryRetainReference
Methods inherited from class io.deephaven.util.referencecounting.ReferenceCounted
append, decrementReferenceCount, forceReferenceCountToZero, getReferenceCountDebug, incrementReferenceCount, resetReferenceCount, toString, tryDecrementReferenceCount, tryIncrementReferenceCount
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface io.deephaven.engine.liveness.LivenessManager
manage
Methods inherited from interface io.deephaven.engine.liveness.LivenessNode
unmanage, unmanage
Methods 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:
get
in 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:SimpleReference
Clear the referent.- Specified by:
clear
in interfaceSimpleReference<Table>
-