JoinBatch

Support for asynchronous batched index lookups on joins.

Methods
static IndexLookupBatch createFakeIndexLookupBatch(TableFilter filter)
Create fake index lookup batch for non-batched table filter.
static IndexLookupBatch createFakeIndexLookupBatch(TableFilter filter)
Create fake index lookup batch for non-batched table filter.
Parameters:
filter - the table filter
Returns:
fake index lookup batch
static IndexLookupBatch createViewIndexLookupBatch(ViewIndex viewIndex)
Create index lookup batch for a view index.
static IndexLookupBatch createViewIndexLookupBatch(ViewIndex viewIndex)
Create index lookup batch for a view index.
Parameters:
viewIndex - view index
Returns:
index lookup batch or {@code null} if batching is not supported for this query
JoinBatch(int filtersCount, TableFilter additionalFilter)
JoinBatch(int filtersCount, TableFilter additionalFilter)
Parameters:
filtersCount - number of filters participating in this batched join
additionalFilter - table filter after this batched join.
IndexLookupBatch getLookupBatch(int joinFilterId)
Get the lookup batch for the given table filter.
IndexLookupBatch getLookupBatch(int joinFilterId)
Get the lookup batch for the given table filter.
Parameters:
joinFilterId - joined table filter id
Returns:
lookup batch
Value getValue(int filterId, Column column)
Get the value for the given column.
Value getValue(int filterId, Column column)
Get the value for the given column.
Parameters:
filterId - table filter id
column - the column
Returns:
column value for current row
boolean ()
Get next row from the join batch.
boolean ()
Get next row from the join batch.
Returns:
true if there is a next row
void register(TableFilter filter, IndexLookupBatch lookupBatch)
Register the table filter and lookup batch.
void register(TableFilter filter, IndexLookupBatch lookupBatch)
Register the table filter and lookup batch.
Parameters:
filter - table filter
lookupBatch - lookup batch
void reset(boolean beforeQuery)
Reset state of this batch.
void reset(boolean beforeQuery)
Reset state of this batch.
Parameters:
beforeQuery - {@code true} if reset was called before the query run, {@code false} if after
String toString()
String toString()

Fields
static Cursor EMPTY_CURSOR
static Future EMPTY_FUTURE_CURSOR
static boolean batchedSubQuery
static JoinBatch.JoinFilter[] filters
static JoinBatch.JoinFilter top
static Future viewTopFutureCursor

EMPTY_CURSOR

An empty cursor.

EMPTY_FUTURE_CURSOR

An empty future cursor.

batchedSubQuery

Whether this is a batched subquery.

filters

The filters.

top

The top filter.

viewTopFutureCursor

The top cursor.