Class ApiExpressionUtils
- java.lang.Object
-
- org.apache.flink.table.expressions.ApiExpressionUtils
-
@Internal public final class ApiExpressionUtils extends Object
Utilities for API-specificExpression
s.
-
-
Field Summary
Fields Modifier and Type Field Description static long
MILLIS_PER_DAY
static long
MILLIS_PER_HOUR
static long
MILLIS_PER_MINUTE
static long
MILLIS_PER_SECOND
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static org.apache.flink.table.expressions.ValueLiteralExpression
intervalOfMillis(long millis)
static org.apache.flink.table.expressions.ValueLiteralExpression
intervalOfMonths(int months)
static boolean
isFunction(org.apache.flink.table.expressions.Expression expression, org.apache.flink.table.functions.BuiltInFunctionDefinition functionDefinition)
Checks if the given expression is a given builtin function.static boolean
isFunctionOfKind(org.apache.flink.table.expressions.Expression expression, org.apache.flink.table.functions.FunctionKind kind)
Checks if the expression is a function call of given type.static LocalReferenceExpression
localRef(String name, org.apache.flink.table.types.DataType dataType)
static LookupCallExpression
lookupCall(String name, org.apache.flink.table.expressions.Expression... args)
static org.apache.flink.table.expressions.Expression
objectToExpression(Object expression)
Converts a given object to an expression.static org.apache.flink.table.expressions.SqlCallExpression
sqlCall(String sqlExpression)
static TableReferenceExpression
tableRef(String name, Table table)
static TableReferenceExpression
tableRef(String name, QueryOperation queryOperation)
static org.apache.flink.table.expressions.Expression
toMilliInterval(org.apache.flink.table.expressions.Expression e, long multiplier)
static org.apache.flink.table.expressions.Expression
toMonthInterval(org.apache.flink.table.expressions.Expression e, int multiplier)
static org.apache.flink.table.expressions.Expression
toRowInterval(org.apache.flink.table.expressions.Expression e)
static org.apache.flink.table.expressions.TypeLiteralExpression
typeLiteral(org.apache.flink.table.types.DataType dataType)
static UnresolvedCallExpression
unresolvedCall(ContextResolvedFunction resolvedFunction, List<org.apache.flink.table.expressions.Expression> args)
static UnresolvedCallExpression
unresolvedCall(ContextResolvedFunction resolvedFunction, org.apache.flink.table.expressions.Expression... args)
static UnresolvedCallExpression
unresolvedCall(org.apache.flink.table.functions.FunctionDefinition functionDefinition, List<org.apache.flink.table.expressions.Expression> args)
static UnresolvedCallExpression
unresolvedCall(org.apache.flink.table.functions.FunctionDefinition functionDefinition, org.apache.flink.table.expressions.Expression... args)
static UnresolvedReferenceExpression
unresolvedRef(String name)
static org.apache.flink.table.expressions.Expression
unwrapFromApi(org.apache.flink.table.expressions.Expression expression)
static org.apache.flink.table.expressions.ValueLiteralExpression
valueLiteral(Object value)
static org.apache.flink.table.expressions.ValueLiteralExpression
valueLiteral(Object value, org.apache.flink.table.types.DataType dataType)
-
-
-
Field Detail
-
MILLIS_PER_SECOND
public static final long MILLIS_PER_SECOND
- See Also:
- Constant Field Values
-
MILLIS_PER_MINUTE
public static final long MILLIS_PER_MINUTE
- See Also:
- Constant Field Values
-
MILLIS_PER_HOUR
public static final long MILLIS_PER_HOUR
- See Also:
- Constant Field Values
-
MILLIS_PER_DAY
public static final long MILLIS_PER_DAY
- See Also:
- Constant Field Values
-
-
Method Detail
-
objectToExpression
public static org.apache.flink.table.expressions.Expression objectToExpression(Object expression)
Converts a given object to an expression.It converts:
null
to null literalRow
to a call to a row constructor expressionMap
to a call to a map constructor expressionList
to a call to an array constructor expression- arrays to a call to an array constructor expression
- Scala's
Seq
to an array constructor via reflection - Scala's
Map
to a map constructor via reflection - Scala's
BigDecimal
to a DECIMAL literal - if none of the above applies, the function tries to convert the object to a value
literal with
valueLiteral(Object)
- Parameters:
expression
- An object to convert to an expression
-
unwrapFromApi
public static org.apache.flink.table.expressions.Expression unwrapFromApi(org.apache.flink.table.expressions.Expression expression)
-
localRef
public static LocalReferenceExpression localRef(String name, org.apache.flink.table.types.DataType dataType)
-
valueLiteral
public static org.apache.flink.table.expressions.ValueLiteralExpression valueLiteral(Object value)
-
valueLiteral
public static org.apache.flink.table.expressions.ValueLiteralExpression valueLiteral(Object value, org.apache.flink.table.types.DataType dataType)
-
typeLiteral
public static org.apache.flink.table.expressions.TypeLiteralExpression typeLiteral(org.apache.flink.table.types.DataType dataType)
-
unresolvedRef
public static UnresolvedReferenceExpression unresolvedRef(String name)
-
unresolvedCall
public static UnresolvedCallExpression unresolvedCall(ContextResolvedFunction resolvedFunction, org.apache.flink.table.expressions.Expression... args)
-
unresolvedCall
public static UnresolvedCallExpression unresolvedCall(ContextResolvedFunction resolvedFunction, List<org.apache.flink.table.expressions.Expression> args)
-
unresolvedCall
public static UnresolvedCallExpression unresolvedCall(org.apache.flink.table.functions.FunctionDefinition functionDefinition, org.apache.flink.table.expressions.Expression... args)
-
unresolvedCall
public static UnresolvedCallExpression unresolvedCall(org.apache.flink.table.functions.FunctionDefinition functionDefinition, List<org.apache.flink.table.expressions.Expression> args)
-
tableRef
public static TableReferenceExpression tableRef(String name, Table table)
-
tableRef
public static TableReferenceExpression tableRef(String name, QueryOperation queryOperation)
-
lookupCall
public static LookupCallExpression lookupCall(String name, org.apache.flink.table.expressions.Expression... args)
-
sqlCall
public static org.apache.flink.table.expressions.SqlCallExpression sqlCall(String sqlExpression)
-
toMonthInterval
public static org.apache.flink.table.expressions.Expression toMonthInterval(org.apache.flink.table.expressions.Expression e, int multiplier)
-
intervalOfMillis
public static org.apache.flink.table.expressions.ValueLiteralExpression intervalOfMillis(long millis)
-
toMilliInterval
public static org.apache.flink.table.expressions.Expression toMilliInterval(org.apache.flink.table.expressions.Expression e, long multiplier)
-
intervalOfMonths
public static org.apache.flink.table.expressions.ValueLiteralExpression intervalOfMonths(int months)
-
toRowInterval
public static org.apache.flink.table.expressions.Expression toRowInterval(org.apache.flink.table.expressions.Expression e)
-
isFunctionOfKind
public static boolean isFunctionOfKind(org.apache.flink.table.expressions.Expression expression, org.apache.flink.table.functions.FunctionKind kind)
Checks if the expression is a function call of given type.- Parameters:
expression
- expression to checkkind
- expected type of function- Returns:
- true if the expression is function call of given type, false otherwise
-
isFunction
public static boolean isFunction(org.apache.flink.table.expressions.Expression expression, org.apache.flink.table.functions.BuiltInFunctionDefinition functionDefinition)
Checks if the given expression is a given builtin function.- Parameters:
expression
- expression to checkfunctionDefinition
- expected function definition- Returns:
- true if the given expression is a given function call
-
-