Class QueryableProjection<T>

    • Method Detail

      • getCursorBuildSpec

        public CursorBuildSpec getCursorBuildSpec()
        The original CursorBuildSpec of a query can be modified if a projection matches the query, such as removing virtual columns which have already been pre-computed.
      • wrapColumnSelectorFactory

        public ColumnSelectorFactory wrapColumnSelectorFactory​(ColumnSelectorFactory selectorFactory)
        The projection can contain pre-computed virtual columns or pre-aggregated aggregation columns. At query time, these are remapped to match the desired names for all equivalent components of the CursorBuildSpec.

        For example, if the original CursorBuildSpec has a sum aggregator named 'sum_x' which takes a field 'x' as input, and an equivalent sum aggregation exists on the projection with the name 'xsum' built from the base table column 'x', the wrapped column selector factory will make 'xsum' available as 'sum_x', allowing the query to use the combining aggregator instead of processing the base table for column 'x'.

      • wrapVectorColumnSelectorFactory

        public VectorColumnSelectorFactory wrapVectorColumnSelectorFactory​(VectorColumnSelectorFactory selectorFactory)
        The projection can contain pre-computed virtual columns or pre-aggregated aggregation columns. At query time, these are remapped to match the desired names for all equivalent components of the CursorBuildSpec

        For example, if the original CursorBuildSpec has a sum aggregator named 'sum_x' which takes a field 'x' as input, and an equivalent sum aggregation exists on the projection with the name 'xsum' built from the base table column 'x', the wrapped column selector factory will make 'xsum' available as 'sum_x', allowing the query to use the combining aggregator instead of processing the base table for column 'x'.

      • getRowSelector

        public T getRowSelector()
        Backing storage for the rows of the projection as is appropriate for the type of CursorFactory