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 classLocalTableMap 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 TypeMethodDescriptionvoidensureInitialized(@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 aPartitionedTablekeyed byTableLocationKeyofTables that contain only anRowSetand no user-facingColumnSources.getPartitionedTable(@NotNull io.deephaven.shadow.enterprise.com.illumon.iris.db.v2.locations.TableKey tableKey, @Nullable String name) Get aPartitionedTablekeyed byTableLocationKeyofTables that contain only anRowSetand no user-facingColumnSources.getPartitionedTable(@NotNull io.deephaven.shadow.enterprise.com.illumon.iris.db.v2.locations.TableKey tableKey, @Nullable String name, @NotNull Supplier<UpdateGraph> updateGraphSupplier) Get aPartitionedTablekeyed byTableLocationKeyofTables that contain only anRowSetand no user-facingColumnSources.protected io.deephaven.shadow.enterprise.com.illumon.iris.db.tables.dataimport.importstate.lastby.BaseLastByTableImportState.RowSetFactoryAdapterprotected booleanprotected voidmaybeUpdate(long[] addedKeys, long[] removedKeys) voidonResume(@NotNull io.deephaven.shadow.enterprise.com.illumon.iris.db.v2.locations.FullTableLocationKey locationKey) voidonTruncate(@NotNull io.deephaven.shadow.enterprise.com.illumon.iris.db.v2.locations.FullTableLocationKey locationKey) static voidsetSchemaService(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.voidsetUpdateGraph(@NotNull UpdateGraph updateGraph) Set the update graph to use for this state.protected voidprotected voidMethods 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, writeExternalMethods inherited from class io.deephaven.shadow.enterprise.com.illumon.iris.db.tables.dataimport.importstate.TupleKeyedAbstractImportState
newRow, newRow, newRow, newRow, prepareElement, prepareKeyMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods 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 aPartitionedTablekeyed byTableLocationKeyofTables that contain only anRowSetand no user-facingColumnSources. The contents of the result are produced by LastByImportState instances for the suppliedTableKeyand 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 aPartitionedTablekeyed byTableLocationKeyofTables that contain only anRowSetand no user-facingColumnSources. The contents of the result are produced by LastByTableImportState instances for the suppliedTableKeyand 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 aPartitionedTablekeyed byTableLocationKeyofTables that contain only anRowSetand no user-facingColumnSources. The contents of the result are produced by LastByTableImportState instances for the suppliedTableKeyand 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:
getRowSetFactoryAdapterin 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:
ensureInitializedin interfaceio.deephaven.shadow.enterprise.com.illumon.iris.db.tables.dataimport.logtailer.ImportState- Specified by:
ensureInitializedin 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:
onResumein interfaceio.deephaven.shadow.enterprise.com.illumon.iris.db.tables.dataimport.logtailer.ImportState- Specified by:
onResumein 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:
onTruncatein interfaceio.deephaven.shadow.enterprise.com.illumon.iris.db.tables.dataimport.logtailer.ImportState- Overrides:
onTruncatein classio.deephaven.shadow.enterprise.com.illumon.iris.db.tables.dataimport.importstate.lastby.BaseLastByTableImportState<KEY_TYPE>
-
startRefreshing
protected void startRefreshing()- Specified by:
startRefreshingin classio.deephaven.shadow.enterprise.com.illumon.iris.db.tables.dataimport.importstate.lastby.BaseLastByTableImportState<KEY_TYPE>
-
stopRefreshing
protected void stopRefreshing()- Specified by:
stopRefreshingin classio.deephaven.shadow.enterprise.com.illumon.iris.db.tables.dataimport.importstate.lastby.BaseLastByTableImportState<KEY_TYPE>
-
isValidToRefresh
protected boolean isValidToRefresh()- Specified by:
isValidToRefreshin 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:
maybeUpdatein classio.deephaven.shadow.enterprise.com.illumon.iris.db.tables.dataimport.importstate.lastby.BaseLastByTableImportState<KEY_TYPE>
-