Class TemplateMultiAgg

    • Constructor Detail

      • TemplateMultiAgg

        public TemplateMultiAgg()
    • Method Detail

      • open

        public boolean open​(Hop hop)
        Description copied from class: TemplateBase
        Indicates if this template can be opened at the given hop, where hop represents bottom (first operation on the inputs) of the fused operator.
        Overrides:
        open in class TemplateCell
        Parameters:
        hop - current hop
        Returns:
        true if template can be opened
      • fuse

        public boolean fuse​(Hop hop,
                            Hop input)
        Description copied from class: TemplateBase
        Indicates if the template can be expanded to the given hop starting from an open template at the input.
        Overrides:
        fuse in class TemplateCell
        Parameters:
        hop - current hop
        input - hop with open template of same type
        Returns:
        true if the current hop can be fused into the operator.
      • merge

        public boolean merge​(Hop hop,
                             Hop input)
        Description copied from class: TemplateBase
        Indicates if the template at the current hop can be expanded by merging another template available for one of its other inputs which is not yet covered by the template of the current hop.
        Overrides:
        merge in class TemplateCell
        Parameters:
        hop - current hop
        input - direct input of current hop with available template
        Returns:
        true if the the input hop can be fused into the current hop
      • close

        public TemplateBase.CloseType close​(Hop hop)
        Description copied from class: TemplateBase
        Indicates if the template must be closed at the current hop; either due to final operations (e.g., aggregate) or unsupported operations.
        Overrides:
        close in class TemplateCell
        Parameters:
        hop - current hop
        Returns:
        close type (closed invalid, closed valid, open)
      • constructCplan

        public Pair<Hop[],​CNodeTpl> constructCplan​(Hop hop,
                                                         CPlanMemoTable memo,
                                                         boolean compileLiterals)
        Description copied from class: TemplateBase
        Constructs a single cplan rooted at the given hop, according to the plan given in the memo structure for this particular hop and its recursive inputs.
        Overrides:
        constructCplan in class TemplateCell
        Parameters:
        hop - root of cplan
        memo - memoization table for partial subplans
        compileLiterals - if true compile non-integer literals as constants, otherwise variables. note: integer literals are always compiled as constants.
        Returns:
        pair containing hops and code template