public class FlinkRelUtil extends Object
RelNode
.Constructor and Description |
---|
FlinkRelUtil() |
Modifier and Type | Method and Description |
---|---|
static int[] |
initializeArray(int length,
int initVal)
Returns an int array with given length and initial value.
|
static boolean |
isMergeable(org.apache.calcite.rel.core.Calc topCalc,
org.apache.calcite.rel.core.Calc bottomCalc)
Return two neighbouring
Calc can merge into one Calc or not. |
static boolean |
isMergeable(org.apache.calcite.rel.core.Filter topFilter,
org.apache.calcite.rel.core.Calc bottomCalc)
Return two neighbouring
Filter and Calc can merge into one Calc or
not. |
static boolean |
isMergeable(org.apache.calcite.rel.core.Project topProject,
org.apache.calcite.rel.core.Calc bottomCalc)
Return two neighbouring
Project and Calc can merge into one Calc or
not. |
static boolean |
isMergeable(org.apache.calcite.rel.core.Project topProject,
org.apache.calcite.rel.core.Project bottomProject)
Return two neighbouring
Project can merge into one Project or not. |
static org.apache.calcite.rel.core.Calc |
merge(org.apache.calcite.rel.core.Calc topCalc,
org.apache.calcite.rel.core.Calc bottomCalc)
Merges the programs of two
Calc instances and returns a new Calc instance
with the merged program. |
public static boolean isMergeable(org.apache.calcite.rel.core.Filter topFilter, org.apache.calcite.rel.core.Calc bottomCalc)
Filter
and Calc
can merge into one Calc
or
not. If the two nodes can merge into one, each non-deterministic RexNode
of bottom
Calc
should appear at most once in the implicit project list and condition of top
Filter
.public static boolean isMergeable(org.apache.calcite.rel.core.Project topProject, org.apache.calcite.rel.core.Calc bottomCalc)
Project
and Calc
can merge into one Calc
or
not. If the two nodes can merge into one, each non-deterministic RexNode
of bottom
Calc
should appear at most once in the project list of top Project
.public static boolean isMergeable(org.apache.calcite.rel.core.Project topProject, org.apache.calcite.rel.core.Project bottomProject)
Project
can merge into one Project
or not. If the two
Project
can merge into one, each non-deterministic RexNode
of bottom Project
should appear at most once in the project list of top Project
.public static boolean isMergeable(org.apache.calcite.rel.core.Calc topCalc, org.apache.calcite.rel.core.Calc bottomCalc)
Calc
can merge into one Calc
or not. If the two
Calc
can merge into one, each non-deterministic RexNode
of bottom Calc
should appear at most once in the project list of top Calc
.public static org.apache.calcite.rel.core.Calc merge(org.apache.calcite.rel.core.Calc topCalc, org.apache.calcite.rel.core.Calc bottomCalc)
Calc
instances and returns a new Calc
instance
with the merged program.public static int[] initializeArray(int length, int initVal)
length
- array lengthinitVal
- initial valueCopyright © 2014–2024 The Apache Software Foundation. All rights reserved.