Class UnsortedClockFilter
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.UnsortedClockFilter
- All Implemented Interfaces:
ConcurrencyControl<Filter>,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 does
not require any pre-sorting of the input table, instead preserving relative order in the initial output and each
subsequent run. Relative to SortedClockFilter, this implementation may require less overall storage and do less
overall work for tables with relatively few monotonically nondecreasing ranges (that is, m (number of ranges)
<<< n (size in rows)), but it will do more work on run().
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class io.deephaven.engine.table.impl.select.ClockFilter
ClockFilter.RangeNested classes/interfaces inherited from interface io.deephaven.engine.table.impl.select.WhereFilter
WhereFilter.PreviousFilteringNotSupported, WhereFilter.RecomputeListener, WhereFilter.Visitor<T> -
Field Summary
Fields inherited from class io.deephaven.engine.table.impl.select.ClockFilter
clock, columnNameFields inherited from class io.deephaven.engine.table.impl.select.WhereFilterLivenessArtifactImpl
updateGraphFields inherited from interface io.deephaven.engine.table.impl.select.WhereFilter
ZERO_LENGTH_WHERE_FILTER_ARRAY -
Constructor Summary
ConstructorsConstructorDescriptionUnsortedClockFilter(@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 WritableRowSetinitializeAndGetInitialIndex(@NotNull RowSet selection, @NotNull RowSet fullSet, @NotNull Table table) booleanbooleanvoidAdvise this filter that sorting has been performed.protected @Nullable WritableRowSetMethods inherited from class io.deephaven.engine.table.impl.select.ClockFilter
destroy, filter, getColumnArrays, getColumns, getUpdateGraph, init, isRefreshing, isSimpleFilter, run, satisfied, setRecomputeListenerMethods inherited from class io.deephaven.engine.table.impl.select.WhereFilterLivenessArtifactImpl
isAutomatedFilter, setAutomatedFilterMethods 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
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, retainReference, tryRetainReferenceMethods inherited from interface io.deephaven.base.log.LogOutputAppendable
appendMethods inherited from interface io.deephaven.engine.updategraph.NotificationQueue.Dependency
getUpdateGraphMethods inherited from interface io.deephaven.engine.table.impl.select.WhereFilter
beginOperation, canMemoize, filter, filterInverse, hasVirtualRowVariables, init, invert, isAutomatedFilter, setAutomatedFilter, validateSafeForRefresh, walk, walk, walk, withDeclaredBarriers, withRespectedBarriers, withSerial
-
Constructor Details
-
UnsortedClockFilter
-
-
Method Details
-
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:ReindexingFilterGet 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:ReindexingFilterAdvise this filter that sorting has been performed. requiresSorting must return false hereafter. -
copy
Description copied from interface:WhereFilterCreate a copy of this WhereFilter.- Returns:
- an independent copy of this WhereFilter.
-
initializeAndGetInitialIndex
@Nullable protected @Nullable WritableRowSet initializeAndGetInitialIndex(@NotNull @NotNull RowSet selection, @NotNull @NotNull RowSet fullSet, @NotNull @NotNull Table table) - Specified by:
initializeAndGetInitialIndexin classClockFilter
-
updateAndGetAddedIndex
- Specified by:
updateAndGetAddedIndexin classClockFilter
-
permitParallelization
public boolean permitParallelization()- Returns:
- if this filter can be applied in parallel
-