Class AbstractDataIndex
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.dataindex.AbstractDataIndex
- All Implemented Interfaces:
LogOutputAppendable,LivenessManager,LivenessNode,LivenessReferent,BasicDataIndex,DataIndex,Serializable
- Direct Known Subclasses:
RemappedDataIndex,TableBackedDataIndex
Abstract base implementation of
DataIndex that provides common functionality.- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.deephaven.engine.table.DataIndex
DataIndex.RowKeyLookup -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final StringThe name of theRowSetcolumn in the indexBasicDataIndex.table()used by allAbstractDataIndexinstances. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected static QueryTableindexTableWrapper(@NotNull QueryTable parent, @NotNull String rowSetColumn) protected static QueryTableindexTableWrapper(@NotNull QueryTable parent, @NotNull String rowSetColumn, @NotNull String renamedRowSetColumn) abstract booleanisValid()Whether this AbstractDataIndex is potentially usable.final @NotNull DataIndexremapKeyColumns(@NotNull Map<ColumnSource<?>, ColumnSource<?>> oldToNewColumnMap) Create a newDataIndexusing the same indexBasicDataIndex.table(), with the indexed columns inBasicDataIndex.keyColumnNamesByIndexedColumn()remapped according tooldToNewColumnMap.final @NotNull Stringfinal @NotNull BasicDataIndextransform(@NotNull DataIndexTransformer transformer) Transform and return a newBasicDataIndexwith the provided transform operations applied.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.table.BasicDataIndex
isRefreshing, keyColumnNames, keyColumnNamesByIndexedColumn, keyColumns, keyColumns, rowSetColumn, rowSetColumn, table, table, tableIsCachedMethods inherited from interface io.deephaven.engine.table.DataIndex
rowKeyLookup, rowKeyLookup, rowKeyLookupMethods inherited from interface io.deephaven.engine.liveness.LivenessManager
manage, unmanage, unmanageMethods inherited from interface io.deephaven.engine.liveness.LivenessReferent
dropReference, getReferentDescription, getWeakReference, retainReference, tryRetainReference
-
Field Details
-
ROW_SET_COLUMN_NAME
The name of theRowSetcolumn in the indexBasicDataIndex.table()used by allAbstractDataIndexinstances.- See Also:
-
-
Constructor Details
-
AbstractDataIndex
public AbstractDataIndex()
-
-
Method Details
-
rowSetColumnName
Description copied from interface:BasicDataIndex- Specified by:
rowSetColumnNamein interfaceBasicDataIndex- Returns:
- The
RowSetcolumn name
-
transform
@NotNull public final @NotNull BasicDataIndex transform(@NotNull @NotNull DataIndexTransformer transformer) Description copied from interface:DataIndexTransform and return a newBasicDataIndexwith the provided transform operations applied. Some transformations will force the result to be a static snapshot even when this DataIndexis refreshing.- Specified by:
transformin interfaceDataIndex- Parameters:
transformer- TheDataIndexTransformerspecifying the desired transformations- Returns:
- The transformed
BasicDataIndex
-
remapKeyColumns
@NotNull public final @NotNull DataIndex remapKeyColumns(@NotNull @NotNull Map<ColumnSource<?>, ColumnSource<?>> oldToNewColumnMap) Description copied from interface:DataIndexCreate a newDataIndexusing the same indexBasicDataIndex.table(), with the indexed columns inBasicDataIndex.keyColumnNamesByIndexedColumn()remapped according tooldToNewColumnMap. This is used when it is known that an operation has produced new columns that are equivalent to the old indexed columns. The result index may keepthisindex reachable andlivefor its own lifetime, if necessary.- Specified by:
remapKeyColumnsin interfaceDataIndex- Parameters:
oldToNewColumnMap- Map from the old indexedColumnSourcesto the new indexed ColumnSources- Returns:
- The remapped
DataIndex
-
isValid
public abstract boolean isValid()Whether this AbstractDataIndex is potentially usable. This will returntruewhen there are no known issues for this data index. This performs fast checks, such as verifying all locations have index table files, but does not fully guarantee that the index is complete and loadable.- Returns:
- true If the AbstractDataIndex is potentially usable, false otherwise
-
indexTableWrapper
protected static QueryTable indexTableWrapper(@NotNull @NotNull QueryTable parent, @NotNull @NotNull String rowSetColumn) -
indexTableWrapper
protected static QueryTable indexTableWrapper(@NotNull @NotNull QueryTable parent, @NotNull @NotNull String rowSetColumn, @NotNull @NotNull String renamedRowSetColumn)
-