public abstract class FunctionHolderExpression extends LogicalExpressionBase
FunctionCallExpression
as it represents a use
of a function. Subclasses hold references to the declaration
depending on the type (Drill, Hive) of the function.LogicalExpression.De, LogicalExpression.Se
Modifier and Type | Field and Description |
---|---|
org.apache.drill.shaded.guava.com.google.common.collect.ImmutableList<LogicalExpression> |
args |
String |
nameUsed |
Constructor and Description |
---|
FunctionHolderExpression(String nameUsed,
ExpressionPosition pos,
List<LogicalExpression> args) |
Modifier and Type | Method and Description |
---|---|
<T,V,E extends Exception> |
accept(ExprVisitor<T,V,E> visitor,
V value) |
abstract boolean |
argConstantOnly(int i)
constant input expected for i'th argument?
|
abstract FunctionHolderExpression |
copy(List<LogicalExpression> args) |
FieldReference |
getFieldReference() |
abstract FuncHolder |
getHolder()
Return the underlying function implementation holder.
|
String |
getName()
A function can have multiple names, it returns the function name used in the query.
|
abstract boolean |
isAggregating() |
abstract boolean |
isRandom()
Is the function output non-deterministic?
|
void |
setFieldReference(FieldReference fieldReference)
Set the FieldReference to be used during generating code.
|
String |
toString() |
getCumulativeCost, getDescription, getMajorType, getPosition, getSelfCost, i
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
forEach, iterator, spliterator
public final org.apache.drill.shaded.guava.com.google.common.collect.ImmutableList<LogicalExpression> args
public final String nameUsed
public FunctionHolderExpression(String nameUsed, ExpressionPosition pos, List<LogicalExpression> args)
public <T,V,E extends Exception> T accept(ExprVisitor<T,V,E> visitor, V value) throws E extends Exception
E extends Exception
public String getName()
public abstract boolean argConstantOnly(int i)
i
- public abstract boolean isAggregating()
public abstract boolean isRandom()
public abstract FunctionHolderExpression copy(List<LogicalExpression> args)
public abstract FuncHolder getHolder()
public FieldReference getFieldReference()
public void setFieldReference(FieldReference fieldReference)
fieldReference
- FieldReference to set.Copyright © 1970 The Apache Software Foundation. All rights reserved.