Class SegmentBuilder

    • Constructor Detail

      • SegmentBuilder

        public SegmentBuilder()
    • Method Detail

      • toSegment

        public static Segment toSegment​(SegmentHeader header,
                                        RolapStar star,
                                        BitKey constrainedColumnsBitKey,
                                        RolapStar.Column[] constrainedColumns,
                                        RolapStar.Measure measure,
                                        List<StarPredicate> compoundPredicates)
        Creates a segment from a SegmentHeader. The star, constrainedColsBitKey, constrainedColumns and measure arguments are a helping hand, because we know what we were looking for.
        Parameters:
        header - The header to convert.
        star - Star
        constrainedColumnsBitKey - Constrained columns
        constrainedColumns - Constrained columns
        measure - Measure
        Returns:
        Segment
      • rollup

        public static Pair<SegmentHeader,​SegmentBody> rollup​(Map<SegmentHeader,​SegmentBody> map,
                                                                   Set<String> keepColumns,
                                                                   BitKey targetBitkey,
                                                                   Aggregator rollupAggregator,
                                                                   Dialect.Datatype datatype)
        Given a collection of segments, all of the same dimensionality, rolls up to create a segment with reduced dimensionality.
        Parameters:
        map - Source segment headers and bodies
        keepColumns - A list of column names to keep as part of the rolled up segment.
        targetBitkey - The column bit key to match with the resulting segment.
        rollupAggregator - The aggregator to use to rollup.
        datatype - The data type to use.
        Returns:
        Segment header and body of requested dimensionality
      • isSubset

        public static boolean isSubset​(SegmentHeader header,
                                       Segment segment)
        Tells if the passed segment is a subset of this segment and could be used for a rollup in cache operation.
        Parameters:
        segment - A segment which might be a subset of the current segment.
        Returns:
        True or false.
      • toHeader

        public static SegmentHeader toHeader​(Segment segment)
        Creates a SegmentHeader object describing the supplied Segment object.
        Parameters:
        segment - A segment object for which we want to generate a SegmentHeader.
        Returns:
        A SegmentHeader describing the supplied Segment object.