Package io.deephaven.engine.table
Interface BasicDataIndex
- All Superinterfaces:
LivenessReferent
- All Known Subinterfaces:
DataIndex,DataIndexer.RetainableDataIndex
- All Known Implementing Classes:
AbstractDataIndex,RemappedDataIndex,StandaloneDataIndex,TableBackedDataIndex,TransformedDataIndex
Implementations of BasicDataIndex provide a data index for a
Table. The index is itself a Table with
columns corresponding to the indexed column(s) ("key" columns) and a column of RowSets that contain
the row keys for each unique combination of key values (that is, the "group" or "bucket"). The index itself is a
Table containing the key column(s) and the RowSets associated with each unique combination of values. Implementations
may be loaded from persistent storage or created at runtime, e.g. via aggregations.-
Method Summary
Modifier and TypeMethodDescriptionbooleanWhether the indextable()is refreshing.Get a list of the key column names for the indextable.@NotNull Map<ColumnSource<?>,String> Get a map from indexedColumnSourcesto key column names for the indextable.default @NotNull ColumnSource<?>[]Get the keyColumnSourcesof the indextable.default @NotNull ColumnSource<?>[]keyColumns(@NotNull ColumnSource<?>[] indexedColumnSources) default @NotNull ColumnSource<RowSet>default @NotNull ColumnSource<RowSet>rowSetColumn(DataIndexOptions options) @NotNull Stringdefault @NotNull Tabletable()Get theTablebacking this data index.@NotNull Tabletable(DataIndexOptions options) Get theTablebacking this data index.booleanWhether theTablebacking this data index is already created and cached.Methods inherited from interface io.deephaven.engine.liveness.LivenessReferent
dropReference, getReferentDescription, getWeakReference, retainReference, tryRetainReference
-
Method Details
-
keyColumnNamesByIndexedColumn
Get a map from indexedColumnSourcesto key column names for the indextable. This map must be ordered in the same order presented bykeyColumnNames()and used for lookup keys.- Returns:
- A map designating the key column names for each indexed
ColumnSource
-
keyColumnNames
Get a list of the key column names for the indextable.- Returns:
- The key column names
-
rowSetColumnName
- Returns:
- The
RowSetcolumn name
-
keyColumns
Get the keyColumnSourcesof the indextable.- Returns:
- An array of the key
ColumnSources, to be owned by the caller
-
keyColumns
@FinalDefault @NotNull default @NotNull ColumnSource<?>[] keyColumns(@NotNull @NotNull ColumnSource<?>[] indexedColumnSources) - Parameters:
indexedColumnSources- The indexedColumnSourcesin the desired order; must match the keys ofkeyColumnNamesByIndexedColumn()- Returns:
- An array of the key
ColumnSourcesin the specified order, to be owned by the caller
-
rowSetColumn
- Returns:
- The
RowSetColumnSource
-
rowSetColumn
- Parameters:
options- parameters for controlling how the the table will be built (if necessary) in order to retrieve the resultRowSetColumnSource- Returns:
- The
RowSetColumnSource
-
tableIsCached
boolean tableIsCached()Whether theTablebacking this data index is already created and cached.- Returns:
truewhen the table is cached,falseotherwise
-
table
Get theTablebacking this data index.The returned table is fully in-memory, equivalent to
table(DataIndexOptions)with default options.- Returns:
- The
Table
-
table
Get theTablebacking this data index.- Parameters:
options- parameters to control the returned table- Returns:
- The
Table
-
isRefreshing
boolean isRefreshing()Whether the indextable()is refreshing. Some transformations will force the index to become static even when the source table is refreshing.- Returns:
trueif the indextable()is refreshing,falseotherwise
-