Interface SymbolTableSource<SYMBOL_TYPE>
- All Superinterfaces:
ChunkSource<Attributes.Values>
,ChunkSource.WithPrev<Attributes.Values>
,ColumnSource<SYMBOL_TYPE>
,DefaultChunkSource<Attributes.Values>
,DefaultChunkSource.WithPrev<Attributes.Values>
,ElementSource<SYMBOL_TYPE>
,FillContextMaker
,GetContextMaker
,Releasable
,TupleExporter<SYMBOL_TYPE>
,TupleSource<SYMBOL_TYPE>
- All Known Implementing Classes:
RegionedColumnSourceObjectWithDictionary
public interface SymbolTableSource<SYMBOL_TYPE> extends ColumnSource<SYMBOL_TYPE>
Interface for ColumnSource
s that can provide a Table
view of their
symbol tables, providing a many:1 or 1:1 mapping of unique long
identifiers to the symbol values in this
source.
Such sources are also expected to be reinterpretable (ColumnSource.allowsReinterpret(Class)
) as
long
ColumnSource
s of the same identifiers.
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.illumon.iris.db.v2.sources.chunk.ChunkSource
ChunkSource.FillContext, ChunkSource.GetContext, ChunkSource.WithPrev<ATTR extends Attributes.Any>
Nested classes/interfaces inherited from interface com.illumon.iris.db.v2.sources.chunk.DefaultChunkSource
DefaultChunkSource.SupportsContiguousGet<ATTR extends Attributes.Any>, DefaultChunkSource.WithPrev<ATTR extends Attributes.Any>
-
Field Summary
Fields Modifier and Type Field Description static String
ID_COLUMN_NAME
The name for the column oflong
identifiers.static String
SYMBOL_COLUMN_NAME
The name for the column of symbol values, which will have the same data type as this column source.Fields inherited from interface com.illumon.iris.db.v2.sources.chunk.ChunkSource
DEFAULT_FILL_INSTANCE, ZERO_LENGTH_CHUNK_SOURCE_ARRAY
Fields inherited from interface com.illumon.iris.db.v2.sources.chunk.ChunkSource.WithPrev
ZERO_LENGTH_CHUNK_SOURCE_WITH_PREV_ARRAY
Fields inherited from interface com.illumon.iris.db.v2.sources.ColumnSource
ZERO_LENGTH_COLUMN_SOURCE_ARRAY
-
Method Summary
Modifier and Type Method Description Table
getStaticSymbolTable(ReadOnlyIndex sourceIndex, boolean useLookupCaching)
Get a staticTable
view of this SymbolTableSource's symbol table, providing a many:1 or 1:1 mapping of uniquelong
identifiers to the symbol values in this source.Table
getSymbolTable(QueryTable sourceTable, boolean useLookupCaching)
Get aTable
view of this SymbolTableSource's symbol table, providing a many:1 or 1:1 mapping of uniquelong
identifiers to the symbol values in this source.static boolean
hasSymbolTable(ColumnSource<?> source, ReadOnlyIndex index)
Check if the specifiedColumnSource
supports a symbol table for the entirety of the suppliedReadOnlyIndex
.boolean
hasSymbolTable(ReadOnlyIndex sourceIndex)
Methods inherited from interface com.illumon.iris.db.v2.sources.chunk.ChunkSource
fillChunk, getChunkType
Methods inherited from interface com.illumon.iris.db.v2.sources.chunk.ChunkSource.WithPrev
fillPrevChunk
Methods inherited from interface com.illumon.iris.db.v2.sources.ColumnSource
allowsReinterpret, cast, createPreviousTuple, createTuple, createTupleFromValues, exportElement, exportElement, exportToExternalKey, getColumnSources, getComponentType, getGroupingBuilder, getGroupingProvider, getNativeType, getPrevSource, getType, hasGrouping, isImmutable, match, reinterpret, releaseCachedResources, setGroupingProvider, startTrackingPrevValues
Methods inherited from interface com.illumon.iris.db.v2.sources.chunk.DefaultChunkSource
getChunk, getChunk, getChunkByFilling, makeFillContext, makeGetContext
Methods inherited from interface com.illumon.iris.db.v2.sources.chunk.DefaultChunkSource.WithPrev
getPrevChunk, getPrevChunk, getPrevChunkByFilling
Methods inherited from interface com.illumon.iris.db.v2.sources.ElementSource
get, getBoolean, getByte, getChar, getDouble, getFloat, getInt, getLong, getPrev, getPrevBoolean, getPrevByte, getPrevChar, getPrevDouble, getPrevFloat, getPrevInt, getPrevLong, getPrevShort, getShort
Methods inherited from interface com.illumon.iris.db.v2.sources.chunk.FillContextMaker
makeFillContext
Methods inherited from interface com.illumon.iris.db.v2.sources.chunk.GetContextMaker
makeGetContext
Methods inherited from interface com.illumon.iris.db.v2.tuples.TupleExporter
exportElementReinterpreted
Methods inherited from interface com.illumon.iris.db.v2.tuples.TupleSource
createTupleFromReinterpretedValues
-
Field Details
-
ID_COLUMN_NAME
The name for the column oflong
identifiers.- See Also:
- Constant Field Values
-
SYMBOL_COLUMN_NAME
The name for the column of symbol values, which will have the same data type as this column source.- See Also:
- Constant Field Values
-
-
Method Details
-
hasSymbolTable
- Parameters:
sourceIndex
- TheIndex
whose keys must be mappable- Returns:
- Whether this SymbolTableSource can provide a symbol table that covers all keys in
sourceIndex
.
-
getStaticSymbolTable
Get a static
Table
view of this SymbolTableSource's symbol table, providing a many:1 or 1:1 mapping of uniquelong
identifiers to the symbol values in this source. -
getSymbolTable
Get a
Table
view of this SymbolTableSource's symbol table, providing a many:1 or 1:1 mapping of uniquelong
identifiers to the symbol values in this source.The result will be refreshing if
table
is a refreshingDynamicTable
.- Parameters:
sourceTable
- TheQueryTable
whoseIndex
keys must be mappable via the resultTable
's identifier columnuseLookupCaching
- Whether symbol lookups performed to generate the symbol table should apply caching- Returns:
- The symbol table
-
hasSymbolTable
Check if the specifiedColumnSource
supports a symbol table for the entirety of the suppliedReadOnlyIndex
.- Parameters:
source
- the column sourceindex
- the index for inspection.- Returns:
- true if the column source can provide a complete symbol table for the provided index.
-