Package org.apache.drill.exec.expr
Class DrillFuncHolderExpr
java.lang.Object
org.apache.drill.common.expression.LogicalExpressionBase
org.apache.drill.common.expression.FunctionHolderExpression
org.apache.drill.exec.expr.DrillFuncHolderExpr
- All Implemented Interfaces:
Iterable<LogicalExpression>
,LogicalExpression
public class DrillFuncHolderExpr
extends FunctionHolderExpression
implements Iterable<LogicalExpression>
Represents the call of a function within a query and includes
the actual arguments and a reference to the function declaration (as a
"function holder.")
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.drill.common.expression.LogicalExpression
LogicalExpression.De, LogicalExpression.Se
-
Field Summary
Fields inherited from class org.apache.drill.common.expression.FunctionHolderExpression
args, nameUsed
-
Constructor Summary
ConstructorDescriptionDrillFuncHolderExpr
(String nameUsed, DrillFuncHolder holder, List<LogicalExpression> args, ExpressionPosition pos) -
Method Summary
Modifier and TypeMethodDescriptionboolean
argConstantOnly
(int i) constant input expected for i'th argument?copy
(List<LogicalExpression> args) int
Return the underlying function implementation holder.int
boolean
boolean
isRandom()
Is the function output non-deterministic?iterator()
void
setInterpreter
(DrillSimpleFunc interpreter) Methods inherited from class org.apache.drill.common.expression.FunctionHolderExpression
accept, getFieldReference, getName, setFieldReference, toString
Methods inherited from class org.apache.drill.common.expression.LogicalExpressionBase
getDescription, getPosition, i
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
DrillFuncHolderExpr
public DrillFuncHolderExpr(String nameUsed, DrillFuncHolder holder, List<LogicalExpression> args, ExpressionPosition pos)
-
-
Method Details
-
getMajorType
- Specified by:
getMajorType
in interfaceLogicalExpression
- Overrides:
getMajorType
in classLogicalExpressionBase
-
iterator
- Specified by:
iterator
in interfaceIterable<LogicalExpression>
-
getHolder
Description copied from class:FunctionHolderExpression
Return the underlying function implementation holder. That is, returns the function declaration.- Specified by:
getHolder
in classFunctionHolderExpression
-
isAggregating
public boolean isAggregating()- Specified by:
isAggregating
in classFunctionHolderExpression
- Returns:
- aggregating function or not
-
isRandom
public boolean isRandom()Description copied from class:FunctionHolderExpression
Is the function output non-deterministic?- Specified by:
isRandom
in classFunctionHolderExpression
-
argConstantOnly
public boolean argConstantOnly(int i) Description copied from class:FunctionHolderExpression
constant input expected for i'th argument?- Specified by:
argConstantOnly
in classFunctionHolderExpression
- Returns:
- True if a constant input is expected for the i'th argument. False otherwise.
-
getSelfCost
public int getSelfCost()- Specified by:
getSelfCost
in interfaceLogicalExpression
- Overrides:
getSelfCost
in classLogicalExpressionBase
-
getCumulativeCost
public int getCumulativeCost()- Specified by:
getCumulativeCost
in interfaceLogicalExpression
- Overrides:
getCumulativeCost
in classLogicalExpressionBase
-
copy
- Specified by:
copy
in classFunctionHolderExpression
- Returns:
- a copy of FunctionHolderExpression, with passed in argument list.
-
setInterpreter
-
getInterpreter
-