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, iclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitforEach, iterator, spliteratorpublic 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 Exceptionpublic 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 © 2021 The Apache Software Foundation. All rights reserved.