Interface ColumnRegion<ATTR extends Attributes.Any>

Type Parameters:
ATTR -
All Superinterfaces:
ChunkSource<ATTR>, FillContextMaker, GetContextMaker, Page<ATTR>, PagingChunkSource<ATTR>, Releasable
All Known Subinterfaces:
BufferedColumnRegion<ATTR>, ColumnRegionByte<ATTR>, ColumnRegionChar<ATTR>, ColumnRegionDouble<ATTR>, ColumnRegionFloat<ATTR>, ColumnRegionInt<ATTR>, ColumnRegionLong<ATTR>, ColumnRegionObject<T,ATTR>, ColumnRegionReferencing<ATTR,REFERENCED_COLUMN_REGION>, ColumnRegionShort<ATTR>
All Known Implementing Classes:
BufferedColumnRegionBase, BufferedColumnRegionByte, BufferedColumnRegionChar, BufferedColumnRegionDouble, BufferedColumnRegionFloat, BufferedColumnRegionInt, BufferedColumnRegionLong, BufferedColumnRegionShort, ColumnRegion.Null, ColumnRegionByte.Null, ColumnRegionChar.Null, ColumnRegionChunkDictionary, ColumnRegionDouble.Null, ColumnRegionFloat.Null, ColumnRegionInt.Null, ColumnRegionLong.Null, ColumnRegionObject.DictionaryKeysWrapper, ColumnRegionObject.IntDictionaryKeysWrapper, ColumnRegionObject.Null, ColumnRegionObjectCached, ColumnRegionObjectCodecFixed, ColumnRegionObjectCodecVariable, ColumnRegionObjectWithDictionary, ColumnRegionReferencing.Null, ColumnRegionReferencingImpl, ColumnRegionShort.Null, ColumnRegionStringSet, DeephavenColumnRegionObjectBase, DeferredColumnRegionBase, DeferredColumnRegionChar, DeferredColumnRegionDouble, DeferredColumnRegionFloat, DeferredColumnRegionInt, DeferredColumnRegionLong, DeferredColumnRegionObject, DeferredColumnRegionShort, ParquetColumnRegionBase, ParquetColumnRegionByte, ParquetColumnRegionByte.StaticPageStore, ParquetColumnRegionChar, ParquetColumnRegionChar.StaticPageStore, ParquetColumnRegionDouble, ParquetColumnRegionDouble.StaticPageStore, ParquetColumnRegionFloat, ParquetColumnRegionFloat.StaticPageStore, ParquetColumnRegionInt, ParquetColumnRegionInt.StaticPageStore, ParquetColumnRegionLong, ParquetColumnRegionLong.StaticPageStore, ParquetColumnRegionObject, ParquetColumnRegionObject.StaticPageStore, ParquetColumnRegionShort, ParquetColumnRegionShort.StaticPageStore

public interface ColumnRegion<ATTR extends Attributes.Any> extends Page<ATTR>, Releasable
Implementations of this interface represent a block of data within a single column of a larger table.
  • Field Details

  • Method Details

    • getLocation

      ColumnLocation getLocation()
    • mask

      @FinalDefault default long mask()
      Description copied from interface: PagingChunkSource
      This mask is applied to OrderedKeys which are passed into ChunkSource.getChunk(ChunkSource.GetContext, OrderedKeys) and ChunkSource.fillChunk(ChunkSource.FillContext, WritableChunk, OrderedKeys). This allows the PagingChunkSources to be cached, and reused even if they are properly relocated in key space.
      Specified by:
      mask in interface PagingChunkSource<ATTR extends Attributes.Any>
      Returns:
      the mask for this page, which must be a bitmask representing the some number of lower order bits of a long.
    • firstRowOffset

      @FinalDefault default long firstRowOffset()
      Specified by:
      firstRowOffset in interface Page<ATTR extends Attributes.Any>
      Returns:
      the first row of this page, after applying the PagingChunkSource.mask(), which refers to the first row of this page.
    • supportsSpecialMatching

      default boolean supportsSpecialMatching()
      Check if this region has special matching features.
      Returns:
      true if this has special matching features
    • specialMatch

      default Index specialMatch(@NotNull OrderedKeys keysToFilter, long regionFirstKey, boolean caseInsensitive, boolean invertMatch, @NotNull Object[] keys)
      Parameters:
      keysToFilter - the keys being filtered
      regionFirstKey - the first key within this region
      caseInsensitive - if the match is case insensitive
      invertMatch - if the match should be inverted
      keys - the keys to search for, in no particular order
      Returns:
      an index of matched rows
    • binSearchMatch

      Index binSearchMatch(long firstKey, long lastKey, @NotNull SortPair sortPair, @NotNull Object[] keys)
      Given that this column is sorted, match the input keys using a binary search.
      Parameters:
      firstKey - The first key to search
      lastKey - The last key to search
      sortPair - the sorting definition
      keys - the keys to search for, in no particular order
    • couldInclude

      boolean couldInclude(@NotNull Object[] sortedKeys)
      Check if the region could possibly include any of the keys we're searching for
      Parameters:
      sortedKeys - the keys to search for
      Returns:
      true if the region possibly contains the values
    • chunkMatch

      Index chunkMatch(long regionFirstKey, @NotNull OrderedKeys keysToFilter, boolean caseInsensitive, boolean invertMatch, @NotNull Object[] sortedKeys)