| Modifier and Type | Fields and Description |
|---|---|
static int |
OUTPUT_SIZE_ESTIMATE_DEFAULT |
| Modifier and Type | Required Element and Description |
|---|---|
FunctionTemplate.FunctionScope |
scope |
| Modifier and Type | Optional Element and Description |
|---|---|
boolean |
checkPrecisionRange |
FunctionTemplate.FunctionCostCategory |
costCategory |
String |
desc |
boolean |
isBinaryCommutative |
boolean |
isInternal
Defines if a function is internal and not intended for public use [e.g.
|
boolean |
isNiladic
Set Operand type-checking strategy for an operator which takes no operands
and need to be invoked without parentheses.
|
boolean |
isRandom |
boolean |
isVarArg
Defines if a function accepts variable arguments count
|
String |
name
Name of function (when only one.)
Use this annotation element if there is only one name for the function.
|
String[] |
names
Names of function (when multiple).
|
FunctionTemplate.NullHandling |
nulls |
int |
outputSizeEstimate |
FunctionTemplate.OutputWidthCalculatorType |
outputWidthCalculatorType |
FunctionTemplate.ReturnType |
returnType |
public abstract FunctionTemplate.FunctionScope scope
public abstract String name
names().
TODO: Refer to wherever list of possible or at least known names is, to resolve the current issue of spaces vs. underlines in names (e.g., we have both "less_than" and "less than".
public abstract String[] names
name().
TODO: Refer to wherever list of possible or at least known names is, to resolve the current issue of spaces vs. underlines in names (e.g., we have both "less_than" and "less than".
public abstract FunctionTemplate.ReturnType returnType
public abstract FunctionTemplate.NullHandling nulls
public abstract String desc
public abstract FunctionTemplate.FunctionCostCategory costCategory
public abstract boolean isNiladic
Set Operand type-checking strategy for an operator which takes no operands and need to be invoked without parentheses. E.g.: session_id is a niladic function.
Niladic functions override columns that have names same as any niladic function. Such columns cannot be queried without the table qualification. Value of the niladic function is returned when table qualification is not used.
For e.g. in the case of session_id:
select session_id from table -> returns the value of niladic function
session_id
select t1.session_id from table t1 -> returns session_id column value from
table
public abstract boolean isInternal
public abstract boolean isVarArg
public abstract FunctionTemplate.OutputWidthCalculatorType outputWidthCalculatorType
Copyright © 2022 The Apache Software Foundation. All rights reserved.