Class SortedClockFilter
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.select.WhereFilterLivenessArtifactImpl
io.deephaven.engine.table.impl.select.ClockFilter
io.deephaven.engine.table.impl.select.SortedClockFilter
- All Implemented Interfaces:
Expression
,Filter
,LogOutputAppendable
,LivenessManager
,LivenessNode
,LivenessReferent
,ReindexingFilter
,WhereFilter
,NotificationQueue.Dependency
,Serializable
,Runnable
This will filter a table on an Instant column for all rows greater than "now" according to a supplied clock. It
requires sorting of the input table according to the specified timestamp column, leveraging this for a very efficient
implementation (albeit one that requires sorting first) and an output sequence that is monotonically nondecreasing in
the specified column.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class io.deephaven.engine.table.impl.select.ClockFilter
ClockFilter.Range
Nested classes/interfaces inherited from interface io.deephaven.api.filter.Filter
Filter.Visitor<T>
Nested classes/interfaces inherited from interface io.deephaven.engine.table.impl.select.WhereFilter
WhereFilter.PreviousFilteringNotSupported, WhereFilter.RecomputeListener
-
Field Summary
Fields inherited from class io.deephaven.engine.table.impl.select.ClockFilter
clock, columnName
Fields inherited from class io.deephaven.engine.table.impl.select.WhereFilterLivenessArtifactImpl
updateGraph
Fields inherited from interface io.deephaven.engine.table.impl.select.WhereFilter
ZERO_LENGTH_WHERE_FILTER_ARRAY
-
Constructor Summary
ConstructorDescriptionSortedClockFilter
(@NotNull String columnName, @NotNull Clock clock, boolean refreshing) -
Method Summary
Modifier and TypeMethodDescriptioncopy()
Create a copy of this WhereFilter.String[]
Get the columns on which the input table should be sorted before filtering.protected @Nullable WritableRowSet
initializeAndGetInitialIndex
(@NotNull RowSet selection, @NotNull RowSet fullSet, @NotNull Table table) boolean
boolean
void
Advise this filter that sorting has been performed.protected @Nullable WritableRowSet
Methods inherited from class io.deephaven.engine.table.impl.select.ClockFilter
destroy, filter, getColumnArrays, getColumns, getUpdateGraph, init, isRefreshing, isSimpleFilter, run, satisfied, setRecomputeListener
Methods inherited from class io.deephaven.engine.table.impl.select.WhereFilterLivenessArtifactImpl
isAutomatedFilter, setAutomatedFilter
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
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
Methods inherited from interface io.deephaven.base.log.LogOutputAppendable
append
Methods inherited from interface io.deephaven.engine.updategraph.NotificationQueue.Dependency
getUpdateGraph
Methods inherited from interface io.deephaven.engine.table.impl.select.WhereFilter
beginOperation, canMemoize, filter, filterInverse, init, invert, isAutomatedFilter, setAutomatedFilter, validateSafeForRefresh, walk, walk
-
Constructor Details
-
SortedClockFilter
-
-
Method Details
-
copy
Description copied from interface:WhereFilter
Create a copy of this WhereFilter.- Returns:
- an independent copy of this WhereFilter.
-
requiresSorting
public boolean requiresSorting()- Returns:
- True iff getSortColumns will return a non-null, non-empty array of column names to sort on.
-
getSortColumns
Description copied from interface:ReindexingFilter
Get the columns on which the input table should be sorted before filtering.- Returns:
- Columns to sort on, or null if there are no such columns
-
sortingDone
public void sortingDone()Description copied from interface:ReindexingFilter
Advise this filter that sorting has been performed. requiresSorting must return false hereafter. -
initializeAndGetInitialIndex
@Nullable protected @Nullable WritableRowSet initializeAndGetInitialIndex(@NotNull @NotNull RowSet selection, @NotNull @NotNull RowSet fullSet, @NotNull @NotNull Table table) - Specified by:
initializeAndGetInitialIndex
in classClockFilter
-
updateAndGetAddedIndex
- Specified by:
updateAndGetAddedIndex
in classClockFilter
-
permitParallelization
public boolean permitParallelization()- Returns:
- if this filter can be applied in parallel
-