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
Modifier and TypeFieldDescriptionprotected static final String
The name of theRowSet
column in the indexBasicDataIndex.table()
used by allAbstractDataIndex
instances. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected static QueryTable
indexTableWrapper
(@NotNull QueryTable parent, @NotNull String rowSetColumn) protected static QueryTable
indexTableWrapper
(@NotNull QueryTable parent, @NotNull String rowSetColumn, @NotNull String renamedRowSetColumn) abstract boolean
isValid()
Whether this AbstractDataIndex is potentially usable.final @NotNull DataIndex
remapKeyColumns
(@NotNull Map<ColumnSource<?>, ColumnSource<?>> oldToNewColumnMap) Create a newDataIndex
using the same indexBasicDataIndex.table()
, with the indexed columns inBasicDataIndex.keyColumnNamesByIndexedColumn()
remapped according tooldToNewColumnMap
.final @NotNull String
final @NotNull BasicDataIndex
transform
(@NotNull DataIndexTransformer transformer) Transform and return a newBasicDataIndex
with the provided transform operations applied.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.table.BasicDataIndex
isRefreshing, keyColumnNames, keyColumnNamesByIndexedColumn, keyColumns, keyColumns, rowSetColumn, table
Methods inherited from interface io.deephaven.engine.table.DataIndex
rowKeyLookup, rowKeyLookup
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, getWeakReference, retainReference, tryRetainReference
-
Field Details
-
ROW_SET_COLUMN_NAME
The name of theRowSet
column in the indexBasicDataIndex.table()
used by allAbstractDataIndex
instances.- See Also:
-
-
Constructor Details
-
AbstractDataIndex
public AbstractDataIndex()
-
-
Method Details
-
rowSetColumnName
Description copied from interface:BasicDataIndex
- Specified by:
rowSetColumnName
in interfaceBasicDataIndex
- Returns:
- The
RowSet
column name
-
transform
@NotNull public final @NotNull BasicDataIndex transform(@NotNull @NotNull DataIndexTransformer transformer) Description copied from interface:DataIndex
Transform and return a newBasicDataIndex
with the provided transform operations applied. Some transformations will force the result to be a static snapshot even when this DataIndexis refreshing
.- Specified by:
transform
in interfaceDataIndex
- Parameters:
transformer
- TheDataIndexTransformer
specifying the desired transformations- Returns:
- The transformed
BasicDataIndex
-
remapKeyColumns
@NotNull public final @NotNull DataIndex remapKeyColumns(@NotNull @NotNull Map<ColumnSource<?>, ColumnSource<?>> oldToNewColumnMap) Description copied from interface:DataIndex
Create a newDataIndex
using 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 keepthis
index reachable andlive
for its own lifetime, if necessary.- Specified by:
remapKeyColumns
in interfaceDataIndex
- Parameters:
oldToNewColumnMap
- Map from the old indexedColumnSources
to the new indexed ColumnSources- Returns:
- The remapped
DataIndex
-
isValid
public abstract boolean isValid()Whether this AbstractDataIndex is potentially usable. This will returntrue
when 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)
-