Class ReplayDatabase
java.lang.Object
com.illumon.iris.db.tables.databases.BaseDatabase
com.illumon.iris.db.tables.databases.DatabaseWrapper
com.illumon.iris.db.tables.databases.ReplayDatabase
- All Implemented Interfaces:
Database
public class ReplayDatabase extends DatabaseWrapper
Database implementation that automatically opens historical tables in lieu of intraday tables, and adds a clock
filter to replay according to the specified clock and sortedness.
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.illumon.iris.db.tables.databases.Database
Database.LogHandle, Database.StorageFormat
-
Field Summary
-
Constructor Summary
Constructors Constructor Description ReplayDatabase(com.fishlib.io.logger.Logger log, Database database, com.fishlib.base.clock.Clock clock, boolean sorted)
-
Method Summary
Modifier and Type Method Description Table
getIntradayTableV2(String namespace, String tableName, boolean live)
Retrieves an intraday table by namespace and name.Table
getIntradayTableV2(String namespace, String tableName, String internalPartitionValue, boolean live)
Retrieves a single internal partition of the specified intraday table.Methods inherited from class com.illumon.iris.db.tables.databases.DatabaseWrapper
addTable, addTableDefinition, addTablePartition, appendCentral, appendCentral, appendTable, appendTablePartition, closeAndDeleteCentral, closeAndDeleteCentral, deleteMatchingTables, deleteNamespace, deleteTables, executeQuery, gc, getCatalog, getClientHost, getColumnPartitionTableWriter, getErrorLog, getIntradayPartitions, getIntradayPartitionsAsTable, getIntradayTableV2, getLastByTable, getNamespaces, getProcessInfoId, getReplayer, getReplayer, getReplayer, getReplayer, getReplayer, getSchemaService, getServerHost, getSystemNamespaces, getTableDefinition, getTableNames, getTableV2, getTableWriter, getUserContext, getUserNamespaces, getWorkerName, hasImportedData, hasIntradayData, hasIntradayTable, hasNamespace, hasTable, importClass, importStatic, logPartitionTableIncremental, logPartitionTableIncremental, logPartitionTableSnapshot, logPartitionTableSnapshot, logPartitionTableSnapshot, logPartitionTableSnapshot, makeRemote, mr, reloadData, removeTable, removeTableDefinition, removeTablePartition, replaceTable, replaceTableDefinition, replaceTablePartition, setWatchdogMillis, setWatchdogTimeoutProcedure, shutdown, startup, timeTable, timeTable, timeTable, timeTable, timeTable, timeTable, timeTable, timeTable, timeTable, timeTable, timeTable, timeTable
Methods inherited from class com.illumon.iris.db.tables.databases.BaseDatabase
addPartitionedTableDefinition, addPartitionedTableDefinition, addPartitionedTableDefinitionIfAbsent, addPartitionedTableDefinitionIfAbsent, addTablePartition, addTablePartitionAndDefinition, addTablePartitionAndDefinition, appendTablePartition, removeTablePartition, replaceTablePartition
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.illumon.iris.db.tables.databases.Database
addColumnPartitionAndDefinition, addColumnPartitionAndDefinition, addTable, addTablePartition, addTablePartition, getIntradayTable, getIntradayTable, getIntradayTable, getIntradayTable, getIntradayTable, getIntradayTable, getIntradayTableV2, getIntradayTableV2, getIntradayTableV2, getTable, i, i, i, i, i, i, i2, i2, i2, i2, i2, i2, replaceTable, replaceTablePartition, replaceTablePartition, rm, t, t2
-
Constructor Details
-
ReplayDatabase
public ReplayDatabase(com.fishlib.io.logger.Logger log, @NotNull Database database, @NotNull com.fishlib.base.clock.Clock clock, boolean sorted)
-
-
Method Details
-
getIntradayTableV2
public Table getIntradayTableV2(@NotNull String namespace, @NotNull String tableName, boolean live)Description copied from interface:Database
Retrieves an intraday table by namespace and name. Throws exceptions for unknown tables.- Specified by:
getIntradayTableV2
in interfaceDatabase
- Overrides:
getIntradayTableV2
in classDatabaseWrapper
- Parameters:
namespace
- namespace of the tabletableName
- name of the tablelive
- true if the table should be live/updating; false otherwise- Returns:
- intraday table
-
getIntradayTableV2
public Table getIntradayTableV2(@NotNull String namespace, @NotNull String tableName, @NotNull String internalPartitionValue, boolean live)Description copied from interface:Database
Retrieves a single internal partition of the specified intraday table. The result may contain locations for multiple column partition values, and so a subsequent filter (e.g. on "Date") will often be desired.Throws exceptions for unknown tables.
- Parameters:
namespace
- namespace of the tabletableName
- name of the tableinternalPartitionValue
- locations will be restricted to this internal partition valuelive
- true if the table should be live/updating; false otherwise- Returns:
- single partition intraday table
-