Package org.apache.calcite.rel.rules
Interface FilterProjectTransposeRule.Config
- All Superinterfaces:
RelRule.Config
- Enclosing class:
FilterProjectTransposeRule
Rule configuration.
If copyFilter
is true, creates the same kind of Filter as
matched in the rule, otherwise it creates a Filter using the RelBuilder
obtained by the relBuilderFactory
.
Similarly for copyProject
.
Defining predicates for the Filter (using filterPredicate
)
and/or the Project (using projectPredicate
allows making the rule
more restrictive.
-
Field Summary
-
Method Summary
Modifier and TypeMethodDescriptiondefault int
bloat()
Limit how much complexity can increase during merging.default boolean
Whether to create aFilter
of the same convention as the matched Filter.default boolean
Whether to create aProject
of the same convention as the matched Project.default FilterProjectTransposeRule
toRule()
Creates a rule that uses this configuration.withBloat
(int bloat) Setsbloat()
.withCopyFilter
(boolean copyFilter) SetsisCopyFilter()
.withCopyProject
(boolean copyProject) SetsisCopyProject()
.withOperandFor
(Class<? extends Filter> filterClass, Class<? extends Project> projectClass, Class<? extends RelNode> relClass) Defines an operand tree for the given 3 classes.withOperandFor
(Class<? extends Filter> filterClass, Predicate<Filter> filterPredicate, Class<? extends Project> projectClass, Predicate<Project> projectPredicate) Defines an operand tree for the given 2 classes.Methods inherited from interface org.apache.calcite.plan.RelRule.Config
as, description, operandSupplier, relBuilderFactory, withDescription, withOperandSupplier, withRelBuilderFactory
-
Field Details
-
DEFAULT
-
-
Method Details
-
toRule
Description copied from interface:RelRule.Config
Creates a rule that uses this configuration. Sub-class must override.- Specified by:
toRule
in interfaceRelRule.Config
-
isCopyFilter
@Default default boolean isCopyFilter()Whether to create aFilter
of the same convention as the matched Filter. -
withCopyFilter
SetsisCopyFilter()
. -
isCopyProject
@Default default boolean isCopyProject()Whether to create aProject
of the same convention as the matched Project. -
withCopyProject
SetsisCopyProject()
. -
withOperandFor
default FilterProjectTransposeRule.Config withOperandFor(Class<? extends Filter> filterClass, Predicate<Filter> filterPredicate, Class<? extends Project> projectClass, Predicate<Project> projectPredicate) Defines an operand tree for the given 2 classes. -
withOperandFor
default FilterProjectTransposeRule.Config withOperandFor(Class<? extends Filter> filterClass, Class<? extends Project> projectClass, Class<? extends RelNode> relClass) Defines an operand tree for the given 3 classes. -
bloat
@Default default int bloat()Limit how much complexity can increase during merging. Default isRelOptUtil.DEFAULT_BLOAT
. -
withBloat
Setsbloat()
.
-