Search in sources :

Example 1 with Kind

use of org.apache.asterix.lang.common.base.Expression.Kind in project asterixdb by apache.

the class LangExpressionToPlanTranslator method expressionNeedsNoNesting.

protected boolean expressionNeedsNoNesting(Expression expr) {
    Kind k = expr.getKind();
    boolean noNesting = k == Kind.LITERAL_EXPRESSION || k == Kind.LIST_CONSTRUCTOR_EXPRESSION || k == Kind.RECORD_CONSTRUCTOR_EXPRESSION || k == Kind.VARIABLE_EXPRESSION;
    noNesting = noNesting || k == Kind.CALL_EXPRESSION || k == Kind.OP_EXPRESSION || k == Kind.FIELD_ACCESSOR_EXPRESSION;
    noNesting = noNesting || k == Kind.INDEX_ACCESSOR_EXPRESSION || k == Kind.UNARY_EXPRESSION || k == Kind.IF_EXPRESSION;
    return noNesting || k == Kind.INDEPENDENT_SUBQUERY || k == Kind.CASE_EXPRESSION;
}
Also used : Kind(org.apache.asterix.lang.common.base.Expression.Kind) FunctionKind(org.apache.hyracks.algebricks.core.algebra.expressions.AbstractFunctionCallExpression.FunctionKind) OrderKind(org.apache.hyracks.algebricks.core.algebra.operators.logical.OrderOperator.IOrder.OrderKind)

Aggregations

Kind (org.apache.asterix.lang.common.base.Expression.Kind)1 FunctionKind (org.apache.hyracks.algebricks.core.algebra.expressions.AbstractFunctionCallExpression.FunctionKind)1 OrderKind (org.apache.hyracks.algebricks.core.algebra.operators.logical.OrderOperator.IOrder.OrderKind)1