Class CoreLastByTableImportState<KEY_TYPE>
java.lang.Object
io.deephaven.shadow.enterprise.com.illumon.iris.db.tables.dataimport.importstate.TupleKeyedAbstractImportState<KEY_TYPE>
io.deephaven.shadow.enterprise.com.illumon.iris.db.tables.dataimport.importstate.lastby.BaseLastByTableImportState<KEY_TYPE>
io.deephaven.enterprise.lastbystate.CoreLastByTableImportState<KEY_TYPE>
- All Implemented Interfaces:
io.deephaven.shadow.enterprise.com.illumon.iris.db.tables.dataimport.logtailer.ImportState
,io.deephaven.shadow.enterprise.com.illumon.iris.db.tables.live.LiveTable
,Externalizable
,Serializable
,Runnable
public class CoreLastByTableImportState<KEY_TYPE>
extends io.deephaven.shadow.enterprise.com.illumon.iris.db.tables.dataimport.importstate.lastby.BaseLastByTableImportState<KEY_TYPE>
Core+ ImportState for lastBy DIS instances.
This ImportState publishes a last-by view of the data being imported, producing a table intended for concurrent usage by clients with access to the importing process. Typically, the table is exported via Barrage so that other persistent queries can take advantage of improved initialization time.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
LocalTableMap with an associated LiveTableRefreshCombiner.Nested classes/interfaces inherited from class io.deephaven.shadow.enterprise.com.illumon.iris.db.tables.dataimport.importstate.lastby.BaseLastByTableImportState
io.deephaven.shadow.enterprise.com.illumon.iris.db.tables.dataimport.importstate.lastby.BaseLastByTableImportState.RowSetFactoryAdapter
-
Constructor Summary
ConstructorsConstructorDescriptionConstructor for an empty import state with null name.Constructor for an empty import state. -
Method Summary
Modifier and TypeMethodDescriptionvoid
ensureInitialized
(@NotNull io.deephaven.shadow.enterprise.com.illumon.iris.db.v2.locations.FullTableLocationKey locationKey) getPartitionedTable
(@NotNull io.deephaven.shadow.enterprise.com.illumon.iris.db.v2.locations.TableKey tableKey) Get aPartitionedTable
keyed byTableLocationKey
ofTable
s that contain only anRowSet
and no user-facingColumnSource
s.getPartitionedTable
(@NotNull io.deephaven.shadow.enterprise.com.illumon.iris.db.v2.locations.TableKey tableKey, @Nullable String name) Get aPartitionedTable
keyed byTableLocationKey
ofTable
s that contain only anRowSet
and no user-facingColumnSource
s.getPartitionedTable
(@NotNull io.deephaven.shadow.enterprise.com.illumon.iris.db.v2.locations.TableKey tableKey, @Nullable String name, @NotNull Supplier<UpdateGraph> updateGraphSupplier) Get aPartitionedTable
keyed byTableLocationKey
ofTable
s that contain only anRowSet
and no user-facingColumnSource
s.protected io.deephaven.shadow.enterprise.com.illumon.iris.db.tables.dataimport.importstate.lastby.BaseLastByTableImportState.RowSetFactoryAdapter
protected boolean
protected void
maybeUpdate
(long[] addedKeys, long[] removedKeys) void
onResume
(@NotNull io.deephaven.shadow.enterprise.com.illumon.iris.db.v2.locations.FullTableLocationKey locationKey) void
onTruncate
(@NotNull io.deephaven.shadow.enterprise.com.illumon.iris.db.v2.locations.FullTableLocationKey locationKey) static void
setSchemaService
(io.deephaven.shadow.enterprise.com.illumon.iris.db.schema.SchemaService schemaService) Set the schema service to use when creating a new state for use in unit tests.void
setUpdateGraph
(@NotNull UpdateGraph updateGraph) Set the update graph to use for this state.protected void
protected void
Methods inherited from class io.deephaven.shadow.enterprise.com.illumon.iris.db.tables.dataimport.importstate.lastby.BaseLastByTableImportState
getImportDetails, getName, newRowForKey, onClose, onFlush, onRelease, readExternal, refresh, skipRow, writeExternal
Methods inherited from class io.deephaven.shadow.enterprise.com.illumon.iris.db.tables.dataimport.importstate.TupleKeyedAbstractImportState
newRow, newRow, newRow, newRow, prepareElement, prepareKey
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface io.deephaven.shadow.enterprise.com.illumon.iris.db.tables.live.LiveTable
run
-
Constructor Details
-
CoreLastByTableImportState
public CoreLastByTableImportState()Constructor for an empty import state with null name. -
CoreLastByTableImportState
Constructor for an empty import state.- Parameters:
name
- The name for this last-by view (seegetPartitionedTable(TableKey, String)
).
-
-
Method Details
-
getPartitionedTable
public static CoreLastByTableImportState.ResultPartitionedTable getPartitionedTable(@NotNull @NotNull io.deephaven.shadow.enterprise.com.illumon.iris.db.v2.locations.TableKey tableKey) Get aPartitionedTable
keyed byTableLocationKey
ofTable
s that contain only anRowSet
and no user-facingColumnSource
s. The contents of the result are produced by LastByImportState instances for the suppliedTableKey
and null name- Parameters:
tableKey
- The key- Returns:
- The table map, possibly empty
-
getPartitionedTable
public static CoreLastByTableImportState.ResultPartitionedTable getPartitionedTable(@NotNull @NotNull io.deephaven.shadow.enterprise.com.illumon.iris.db.v2.locations.TableKey tableKey, @Nullable @Nullable String name) Get aPartitionedTable
keyed byTableLocationKey
ofTable
s that contain only anRowSet
and no user-facingColumnSource
s. The contents of the result are produced by LastByTableImportState instances for the suppliedTableKey
and name. Distinct names should be used for distinct last-by import state views of the same table.The default update graph is used for creating new tables.
- Parameters:
tableKey
- The keyname
- The name- Returns:
- The table map, possibly empty
-
getPartitionedTable
public static CoreLastByTableImportState.ResultPartitionedTable getPartitionedTable(@NotNull @NotNull io.deephaven.shadow.enterprise.com.illumon.iris.db.v2.locations.TableKey tableKey, @Nullable @Nullable String name, @NotNull @NotNull Supplier<UpdateGraph> updateGraphSupplier) Get aPartitionedTable
keyed byTableLocationKey
ofTable
s that contain only anRowSet
and no user-facingColumnSource
s. The contents of the result are produced by LastByTableImportState instances for the suppliedTableKey
and name. Distinct names should be used for distinct last-by import state views of the same table.- Parameters:
tableKey
- The keyname
- The nameupdateGraphSupplier
- A supplier for the update graph to construct a new table- Returns:
- The table map, possibly empty
-
setUpdateGraph
Set the update graph to use for this state. Note, that you must set this before creating any engine artifacts.- Parameters:
updateGraph
- the update graph to use for this state
-
setSchemaService
@TestUseOnly public static void setSchemaService(io.deephaven.shadow.enterprise.com.illumon.iris.db.schema.SchemaService schemaService) Set the schema service to use when creating a new state for use in unit tests.- Parameters:
schemaService
- the schema service to use.
-
getRowSetFactoryAdapter
protected io.deephaven.shadow.enterprise.com.illumon.iris.db.tables.dataimport.importstate.lastby.BaseLastByTableImportState.RowSetFactoryAdapter getRowSetFactoryAdapter()- Specified by:
getRowSetFactoryAdapter
in classio.deephaven.shadow.enterprise.com.illumon.iris.db.tables.dataimport.importstate.lastby.BaseLastByTableImportState<KEY_TYPE>
-
ensureInitialized
public void ensureInitialized(@NotNull @NotNull io.deephaven.shadow.enterprise.com.illumon.iris.db.v2.locations.FullTableLocationKey locationKey) - Specified by:
ensureInitialized
in interfaceio.deephaven.shadow.enterprise.com.illumon.iris.db.tables.dataimport.logtailer.ImportState
- Specified by:
ensureInitialized
in classio.deephaven.shadow.enterprise.com.illumon.iris.db.tables.dataimport.importstate.lastby.BaseLastByTableImportState<KEY_TYPE>
-
onResume
public void onResume(@NotNull @NotNull io.deephaven.shadow.enterprise.com.illumon.iris.db.v2.locations.FullTableLocationKey locationKey) - Specified by:
onResume
in interfaceio.deephaven.shadow.enterprise.com.illumon.iris.db.tables.dataimport.logtailer.ImportState
- Specified by:
onResume
in classio.deephaven.shadow.enterprise.com.illumon.iris.db.tables.dataimport.importstate.lastby.BaseLastByTableImportState<KEY_TYPE>
-
onTruncate
public void onTruncate(@NotNull @NotNull io.deephaven.shadow.enterprise.com.illumon.iris.db.v2.locations.FullTableLocationKey locationKey) - Specified by:
onTruncate
in interfaceio.deephaven.shadow.enterprise.com.illumon.iris.db.tables.dataimport.logtailer.ImportState
- Overrides:
onTruncate
in classio.deephaven.shadow.enterprise.com.illumon.iris.db.tables.dataimport.importstate.lastby.BaseLastByTableImportState<KEY_TYPE>
-
startRefreshing
protected void startRefreshing()- Specified by:
startRefreshing
in classio.deephaven.shadow.enterprise.com.illumon.iris.db.tables.dataimport.importstate.lastby.BaseLastByTableImportState<KEY_TYPE>
-
stopRefreshing
protected void stopRefreshing()- Specified by:
stopRefreshing
in classio.deephaven.shadow.enterprise.com.illumon.iris.db.tables.dataimport.importstate.lastby.BaseLastByTableImportState<KEY_TYPE>
-
isValidToRefresh
protected boolean isValidToRefresh()- Specified by:
isValidToRefresh
in classio.deephaven.shadow.enterprise.com.illumon.iris.db.tables.dataimport.importstate.lastby.BaseLastByTableImportState<KEY_TYPE>
-
maybeUpdate
protected void maybeUpdate(long[] addedKeys, long[] removedKeys) - Specified by:
maybeUpdate
in classio.deephaven.shadow.enterprise.com.illumon.iris.db.tables.dataimport.importstate.lastby.BaseLastByTableImportState<KEY_TYPE>
-