public class TemplateOuterProduct extends TemplateBase
TemplateBase.CloseType, TemplateBase.TemplateType
Constructor and Description |
---|
TemplateOuterProduct() |
TemplateOuterProduct(TemplateBase.CloseType ctype) |
Modifier and Type | Method and Description |
---|---|
TemplateBase.CloseType |
close(Hop hop)
Indicates if the template must be closed at the current hop; either
due to final operations (e.g., aggregate) or unsupported operations.
|
Pair<Hop[],CNodeTpl> |
constructCplan(Hop hop,
CPlanMemoTable memo,
boolean compileLiterals)
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.
|
static CPlanMemoTable.MemoTableEntry |
dropAlternativePlan(CPlanMemoTable memo,
CPlanMemoTable.MemoTableEntry me1,
CPlanMemoTable.MemoTableEntry me2) |
boolean |
fuse(Hop hop,
Hop input)
Indicates if the template can be expanded to the given hop
starting from an open template at the input.
|
boolean |
merge(Hop hop,
Hop input)
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.
|
boolean |
open(Hop hop)
Indicates if this template can be opened at the given hop,
where hop represents bottom (first operation on the inputs)
of the fused operator.
|
public TemplateOuterProduct()
public TemplateOuterProduct(TemplateBase.CloseType ctype)
public boolean open(Hop hop)
TemplateBase
open
in class TemplateBase
hop
- current hoppublic boolean fuse(Hop hop, Hop input)
TemplateBase
fuse
in class TemplateBase
hop
- current hopinput
- hop with open template of same typepublic boolean merge(Hop hop, Hop input)
TemplateBase
merge
in class TemplateBase
hop
- current hopinput
- direct input of current hop with available templatepublic TemplateBase.CloseType close(Hop hop)
TemplateBase
close
in class TemplateBase
hop
- current hoppublic Pair<Hop[],CNodeTpl> constructCplan(Hop hop, CPlanMemoTable memo, boolean compileLiterals)
TemplateBase
constructCplan
in class TemplateBase
hop
- root of cplanmemo
- memoization table for partial subplanscompileLiterals
- if true compile non-integer literals
as constants, otherwise variables. note: integer literals are
always compiled as constants.public static CPlanMemoTable.MemoTableEntry dropAlternativePlan(CPlanMemoTable memo, CPlanMemoTable.MemoTableEntry me1, CPlanMemoTable.MemoTableEntry me2)
Copyright © 2020 The Apache Software Foundation. All rights reserved.