Definition for a single group set and its associated composite key part.
Definition for a single group set and its associated composite key part.
The target set for the grouping
The key which will be used by merge
to access a particular subset of the target
A composite union/intersect overlay on top of transspec indicating the composite key for this target set
InternalTable
s are tables that are *generally* small and fit in a single
slice and are completely in-memory.
InternalTable
s are tables that are *generally* small and fit in a single
slice and are completely in-memory. Because they fit in memory, we are
allowed more optimizations when doing things like joins.
Provide fast access to a subslice based on one or more group key values.
Provide fast access to a subslice based on one or more group key values.
The SliceIndex currently uses in-memory data structures, although this will have to change eventually. A "group key value" is defined as an (Int, RValue). The Int part corresponds to the key in the sequence of transforms used to build the index, and the RValue part corresponds to the value we want the key to have.
SliceIndex is able to create subslices without rescanning the underlying slice due to the fact that it already knows which rows are valid for particular key combinations. For best results valueSlice should already be materialized.