public class HavingEvaluator extends Object implements org.apache.calcite.util.ReflectiveVisitor
RexNode
for making a sql query. To use this call
evaluateHaving(Having, RelBuilder, ApiToFieldMapper)
.Constructor and Description |
---|
HavingEvaluator()
Constructor.
|
Modifier and Type | Method and Description |
---|---|
org.apache.calcite.rex.RexNode |
evaluate(AndHaving andHaving,
org.apache.calcite.tools.RelBuilder builder,
ApiToFieldMapper apiToFieldMapper)
Evaluates a
AndHaving . |
org.apache.calcite.rex.RexNode |
evaluate(Having having,
org.apache.calcite.tools.RelBuilder builder,
ApiToFieldMapper apiToFieldMapper)
Top level evaluate function meant to capture
Having which could not be mapped
to a specific "evaluate" method. |
org.apache.calcite.rex.RexNode |
evaluate(NotHaving notHaving,
org.apache.calcite.tools.RelBuilder builder,
ApiToFieldMapper apiToFieldMapper)
Evaluates a
NotHaving filter. |
org.apache.calcite.rex.RexNode |
evaluate(NumericHaving having,
org.apache.calcite.tools.RelBuilder builder,
ApiToFieldMapper apiToFieldMapper)
Evaluates a
NumericHaving . |
org.apache.calcite.rex.RexNode |
evaluate(OrHaving orHaving,
org.apache.calcite.tools.RelBuilder builder,
ApiToFieldMapper apiToFieldMapper)
Evaluates a
OrHaving . |
org.apache.calcite.rex.RexNode |
evaluateHaving(Having having,
org.apache.calcite.tools.RelBuilder builder,
ApiToFieldMapper apiToFieldMapper)
Creates an
RexNode which contains the given Having . |
org.apache.calcite.rex.RexNode |
listEvaluate(MultiClauseHaving multiClauseHaving,
org.apache.calcite.sql.SqlOperator operator,
org.apache.calcite.tools.RelBuilder builder,
ApiToFieldMapper apiToFieldMapper)
Evaluates a
MultiClauseHaving filter by performing it's operation over a list of other havings. |
public org.apache.calcite.rex.RexNode evaluateHaving(Having having, org.apache.calcite.tools.RelBuilder builder, ApiToFieldMapper apiToFieldMapper)
RexNode
which contains the given Having
.having
- The having filter being evaluated.builder
- The RelBuilder used with Calcite to make queries.apiToFieldMapper
- A function to get the aliased aggregation's name from the metric name.RexNode
to be used in a sql query.UnsupportedOperationException
- for havings which couldn't be evaluated.public org.apache.calcite.rex.RexNode evaluate(Having having, org.apache.calcite.tools.RelBuilder builder, ApiToFieldMapper apiToFieldMapper)
Having
which could not be mapped
to a specific "evaluate" method.having
- The having filter being evaluated.builder
- The RelBuilder used with Calcite to make queries.apiToFieldMapper
- A function to get the aliased aggregation's name from the metric name.UnsupportedOperationException
- for havings which couldn't be evaluated.public org.apache.calcite.rex.RexNode evaluate(NumericHaving having, org.apache.calcite.tools.RelBuilder builder, ApiToFieldMapper apiToFieldMapper)
NumericHaving
.having
- The NumericHaving filter to be evaluated.builder
- The RelBuilder used with Calcite to make queries.apiToFieldMapper
- A function to get the aliased aggregation's name from the metric name.RexNode
to be used in a sql query.public org.apache.calcite.rex.RexNode evaluate(NotHaving notHaving, org.apache.calcite.tools.RelBuilder builder, ApiToFieldMapper apiToFieldMapper)
NotHaving
filter.notHaving
- The not having filter to be converted to be evaluated.builder
- The RelBuilder used with Calcite to make queries.apiToFieldMapper
- A function to get the aliased aggregation's name from the metric name.RexNode
to be used in a sql query.public org.apache.calcite.rex.RexNode evaluate(OrHaving orHaving, org.apache.calcite.tools.RelBuilder builder, ApiToFieldMapper apiToFieldMapper)
OrHaving
.orHaving
- The OrHaving to be evaluated.builder
- The RelBuilder used with Calcite to make queries.apiToFieldMapper
- A function to get the aliased aggregation's name from the metric name.RexNode
to be used which ORs over the inner havings.public org.apache.calcite.rex.RexNode evaluate(AndHaving andHaving, org.apache.calcite.tools.RelBuilder builder, ApiToFieldMapper apiToFieldMapper)
AndHaving
.andHaving
- The AndHaving to be evaluated.builder
- The RelBuilder used with Calcite to make queries.apiToFieldMapper
- A function to get the aliased aggregation's name from the metric name.RexNode
to be used which ANDs over the inner havings.public org.apache.calcite.rex.RexNode listEvaluate(MultiClauseHaving multiClauseHaving, org.apache.calcite.sql.SqlOperator operator, org.apache.calcite.tools.RelBuilder builder, ApiToFieldMapper apiToFieldMapper)
MultiClauseHaving
filter by performing it's operation over a list of other havings.multiClauseHaving
- The MultiClauseHaving filter to be evaluated.operator
- The operator to be performed over the inner clauses of this having filter.builder
- The RelBuilder used with Calcite to make queries.apiToFieldMapper
- A function to get the aliased aggregation's name from the metric name.RexNode
to be used in a sql query.Copyright © 2016–2018 Yahoo! Inc.. All rights reserved.