Package io.deephaven.enterprise.database
Interface Database
- All Known Subinterfaces:
DatabaseInternal
- All Known Implementing Classes:
DatabaseImpl
,ReplayDatabase
,WritableReplayDatabase
This interface presents a view of the data store for the system in both Live, and Historical versions.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
The name of the internal partition (if applicable) forlivePartitionedTable(java.lang.String, java.lang.String)
andhistoricalPartitionedTable(java.lang.String, java.lang.String)
. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Clear the location cache for all tables.void
clearLocationCache
(@NotNull String namespace, @NotNull String tableName) Clear the location cache for the specified table.Retrieve a table containing the tables that exist in this database.Get the available namespaces.getTableDefinition
(@NotNull String namespace, @NotNull String tableName) Fetch aTableDefinition
from the database.getTableDefinitionTable
(@NotNull String namespace, @NotNull String tableName) Fetch a table's definition table from the database.getTableNames
(String namespace) Get the tables within a namespacedefault PartitionedTable
historicalPartitionedTable
(@NotNull String namespace, @NotNull String tableName) Retrieve the specified historical table as aPartitionedTable
from the Database.historicalPartitionedTable
(@NotNull String namespace, @NotNull String tableName, @NotNull TableOptions options) Retrieve the specified historical table as aPartitionedTable
from the Database.default Table
historicalTable
(@NotNull String namespace, @NotNull String tableName) Fetch a static historicalTable
from the database.historicalTable
(@NotNull String namespace, @NotNull String tableName, @NotNull TableOptions options) Fetch a static historicalTable
from the database.default PartitionedTable
livePartitionedTable
(@NotNull String namespace, @NotNull String tableName) Retrieve the specified live table as aPartitionedTable
from the Database.livePartitionedTable
(@NotNull String namespace, @NotNull String tableName, @NotNull TableOptions options) Retrieve the specified live table as aPartitionedTable
from the Database.default Table
Fetch a liveTable
for the specified namespace and table name.liveTable
(@NotNull String namespace, @NotNull String tableName, @NotNull TableOptions options) Fetch a liveTable
for the specified namespace and table name.void
useLocationCaches
(boolean useCaching) Set whether the database should cache the result of table location discovery and re-use them.
-
Field Details
-
PARTITIONED_TABLE_INTERNAL_PARTITION_COLUMN
The name of the internal partition (if applicable) forlivePartitionedTable(java.lang.String, java.lang.String)
andhistoricalPartitionedTable(java.lang.String, java.lang.String)
.- See Also:
-
-
Method Details
-
liveTable
@ScriptApi @FinalDefault default Table liveTable(@NotNull @NotNull String namespace, @NotNull @NotNull String tableName) Fetch a liveTable
for the specified namespace and table name.- Parameters:
namespace
- the Namespace in which the table existstableName
- the name of the table in the Namespace.- Returns:
- a new live
Table
for the specified parameters.
-
liveTable
@ScriptApi Table liveTable(@NotNull @NotNull String namespace, @NotNull @NotNull String tableName, @NotNull @NotNull TableOptions options) Fetch a liveTable
for the specified namespace and table name.- Parameters:
namespace
- the Namespace in which the table existstableName
- the name of the table in the Namespace.options
- aTableOptions
to set table options.- Returns:
- a new live
Table
for the specified parameters.
-
livePartitionedTable
@ScriptApi @FinalDefault default PartitionedTable livePartitionedTable(@NotNull @NotNull String namespace, @NotNull @NotNull String tableName) Retrieve the specified live table as aPartitionedTable
from the Database. The partitioned table's key columns will be its column and internal partitions.- Parameters:
namespace
- the Namespace in which the table existstableName
- the name of the table in the Namespace.- Returns:
- a new
PartitionedTable
for the specified table
-
livePartitionedTable
@ScriptApi PartitionedTable livePartitionedTable(@NotNull @NotNull String namespace, @NotNull @NotNull String tableName, @NotNull @NotNull TableOptions options) Retrieve the specified live table as aPartitionedTable
from the Database. The partitioned table's key columns will be its column and internal partitions.- Parameters:
namespace
- the Namespace in which the table existstableName
- the name of the table in the Namespace.options
- aTableOptions
to set table options.- Returns:
- a new
PartitionedTable
for the specified table
-
historicalTable
@ScriptApi @FinalDefault default Table historicalTable(@NotNull @NotNull String namespace, @NotNull @NotNull String tableName) Fetch a static historicalTable
from the database.- Parameters:
namespace
- the Namespace in which the table existstableName
- the name of the table in the Namespace.- Returns:
- a new static
Table
for the specified parameters.
-
historicalTable
@ScriptApi Table historicalTable(@NotNull @NotNull String namespace, @NotNull @NotNull String tableName, @NotNull @NotNull TableOptions options) Fetch a static historicalTable
from the database.- Parameters:
namespace
- the Namespace in which the table existstableName
- the name of the table in the Namespace.options
- aTableOptions
to set table options.- Returns:
- a new static
Table
for the specified parameters.
-
historicalPartitionedTable
@ScriptApi @FinalDefault default PartitionedTable historicalPartitionedTable(@NotNull @NotNull String namespace, @NotNull @NotNull String tableName) Retrieve the specified historical table as aPartitionedTable
from the Database. The partitioned table's key columns will be its column and internal partitions.- Parameters:
namespace
- the Namespace in which the table existstableName
- the name of the table in the Namespace.- Returns:
- a new
PartitionedTable
for the specified table
-
historicalPartitionedTable
@ScriptApi PartitionedTable historicalPartitionedTable(@NotNull @NotNull String namespace, @NotNull @NotNull String tableName, @NotNull @NotNull TableOptions options) Retrieve the specified historical table as aPartitionedTable
from the Database. The partitioned table's key columns will be its column and internal partitions.- Parameters:
namespace
- the Namespace in which the table existstableName
- the name of the table in the Namespace.options
- aTableOptions
to set table options.- Returns:
- a new
PartitionedTable
for the specified table
-
getTableDefinition
@ScriptApi TableDefinition getTableDefinition(@NotNull @NotNull String namespace, @NotNull @NotNull String tableName) Fetch aTableDefinition
from the database.- Parameters:
namespace
- the Namespace in which the table existstableName
- the name of the table in the Namespace.- Returns:
- the
TableDefinition
for the specified parameters.
-
getTableDefinitionTable
@ScriptApi Table getTableDefinitionTable(@NotNull @NotNull String namespace, @NotNull @NotNull String tableName) Fetch a table's definition table from the database.- Parameters:
namespace
- the Namespace in which the table existstableName
- the name of the table in the Namespace.- Returns:
- a
Table
of the column definitions for the specified parameters.
-
getNamespaces
Get the available namespaces.- Returns:
- the list of namespaces
-
getTableNames
Get the tables within a namespace- Parameters:
namespace
- the namespace to interrogate- Returns:
- the list of tables within namespace
-
getCatalogTable
Retrieve a table containing the tables that exist in this database.The returned table has a column for "Namespace", "Tablename" and "NamespaceSet".
- Returns:
- a table containing the tables that exist in this database.
-
clearLocationCache
Clear the location cache for all tables. Use this method when some data has been replaced for a table to refresh the location cache and read the replaced data.Subsequent calls to
historicalTable(String, String)
,liveTable(String, String)
and their variants for all tables will repeat location discovery, which can have significant negative performance consequences.Note that you may also disable caching entirely using
useLocationCaches(boolean)
-
clearLocationCache
@ScriptApi void clearLocationCache(@NotNull @NotNull String namespace, @NotNull @NotNull String tableName) Clear the location cache for the specified table. Use this method when some data has been replaced for a table to refresh the location cache and read the replaced data.Subsequent calls to
historicalTable(String, String)
,liveTable(String, String)
and their variants for this table will repeat location discovery, which can have significant negative performance consequencesNote that you may also disable caching entirely using
useLocationCaches(boolean)
- Parameters:
namespace
- namespace of table to clear cachetableName
- table name of table to clear cache
-
useLocationCaches
Set whether the database should cache the result of table location discovery and re-use them. This defaults totrue
- Parameters:
useCaching
- if location caches should be used.
-