Package io.deephaven.engine.table.impl
Interface MultiJoinStateManager
- All Known Implementing Classes:
IncrementalMultiJoinStateManagerTypedBase,StaticMultiJoinStateManagerTypedBase
public interface MultiJoinStateManager
This is a common interface for the static and incremental state manager so that our bucketed MultiJoinTable system is
capable of using them interchangeably to build the table.
-
Method Summary
Modifier and TypeMethodDescriptionvoidbuild(Table table, ColumnSource<?>[] sources, int tableNumber) Add the given table to this multiJoin result.voidensureTableCapacity(int numTables) Ensure that this state manager can handlenumTablestables as constituents of the multiJoin.ColumnSource<?>[]Get the hash table column sources for the result table.longGet the number of rows in the result tablegetRowRedirectionForTable(int tableNumber) Get the resultrow redirectionfor a given tablevoidsetMaximumLoadFactor(double maximumLoadFactor) voidsetTargetLoadFactor(double targetLoadFactor)
-
Method Details
-
build
Add the given table to this multiJoin result.- Parameters:
table- the table to addsources- the column sources that contain the keystableNumber- the table number for which we are adding rows
-
getResultSize
long getResultSize()Get the number of rows in the result table- Returns:
- the number of rows in the result table
-
getKeyHashTableSources
ColumnSource<?>[] getKeyHashTableSources()Get the hash table column sources for the result table. These are used as the key columns of our result. -
getRowRedirectionForTable
Get the resultrow redirectionfor a given table- Parameters:
tableNumber- the table to fetch- Returns:
- the row redirection for the table
-
ensureTableCapacity
void ensureTableCapacity(int numTables) Ensure that this state manager can handlenumTablestables as constituents of the multiJoin.- Parameters:
numTables- the number of tables that participate
-
setTargetLoadFactor
void setTargetLoadFactor(double targetLoadFactor) -
setMaximumLoadFactor
void setMaximumLoadFactor(double maximumLoadFactor)
-