From a9da22996844fd4e98aa9f6815fe8ec3246b754e Mon Sep 17 00:00:00 2001 From: Timo Walther Date: Wed, 9 Dec 2020 14:10:45 +0100 Subject: [PATCH] [hotfix][table-common] Reformat BuiltInFunctionDefinitions --- .../functions/BuiltInFunctionDefinitions.java | 424 +++++++++++------- 1 file changed, 251 insertions(+), 173 deletions(-) diff --git a/flink-table/flink-table-common/src/main/java/org/apache/flink/table/functions/BuiltInFunctionDefinitions.java b/flink-table/flink-table-common/src/main/java/org/apache/flink/table/functions/BuiltInFunctionDefinitions.java index c837da4eaf8..7d4d0bdc848 100644 --- a/flink-table/flink-table-common/src/main/java/org/apache/flink/table/functions/BuiltInFunctionDefinitions.java +++ b/flink-table/flink-table-common/src/main/java/org/apache/flink/table/functions/BuiltInFunctionDefinitions.java @@ -71,10 +71,12 @@ import static org.apache.flink.table.types.inference.TypeStrategies.varyingStrin @PublicEvolving public final class BuiltInFunctionDefinitions { - // logic functions + // -------------------------------------------------------------------------------------------- + // Logic functions + // -------------------------------------------------------------------------------------------- public static final BuiltInFunctionDefinition AND = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("and") .kind(SCALAR) .inputTypeStrategy( @@ -86,7 +88,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition OR = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("or") .kind(SCALAR) .inputTypeStrategy( @@ -98,7 +100,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition NOT = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("not") .kind(SCALAR) .inputTypeStrategy(sequence(logical(LogicalTypeRoot.BOOLEAN))) @@ -106,7 +108,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition IF = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("ifThenElse") .kind(SCALAR) .inputTypeStrategy( @@ -117,10 +119,12 @@ public final class BuiltInFunctionDefinitions { .outputTypeStrategy(argument(1)) .build(); - // comparison functions + // -------------------------------------------------------------------------------------------- + // Comparison functions + // -------------------------------------------------------------------------------------------- public static final BuiltInFunctionDefinition EQUALS = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("equals") .kind(SCALAR) .inputTypeStrategy(TWO_EQUALS_COMPARABLE) @@ -128,7 +132,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition GREATER_THAN = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("greaterThan") .kind(SCALAR) .inputTypeStrategy(TWO_FULLY_COMPARABLE) @@ -136,7 +140,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition GREATER_THAN_OR_EQUAL = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("greaterThanOrEqual") .kind(SCALAR) .inputTypeStrategy(TWO_FULLY_COMPARABLE) @@ -144,7 +148,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition LESS_THAN = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("lessThan") .kind(SCALAR) .inputTypeStrategy(TWO_FULLY_COMPARABLE) @@ -152,7 +156,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition LESS_THAN_OR_EQUAL = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("lessThanOrEqual") .kind(SCALAR) .inputTypeStrategy(TWO_FULLY_COMPARABLE) @@ -160,7 +164,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition NOT_EQUALS = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("notEquals") .kind(SCALAR) .inputTypeStrategy(TWO_EQUALS_COMPARABLE) @@ -168,7 +172,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition IS_NULL = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("isNull") .kind(SCALAR) .inputTypeStrategy(wildcardWithCount(ConstantArgumentCount.of(1))) @@ -176,7 +180,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition IS_NOT_NULL = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("isNotNull") .kind(SCALAR) .inputTypeStrategy(wildcardWithCount(ConstantArgumentCount.of(1))) @@ -184,7 +188,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition IS_TRUE = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("isTrue") .kind(SCALAR) .inputTypeStrategy(sequence(logical(LogicalTypeRoot.BOOLEAN))) @@ -192,7 +196,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition IS_FALSE = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("isFalse") .kind(SCALAR) .inputTypeStrategy(sequence(logical(LogicalTypeRoot.BOOLEAN))) @@ -200,7 +204,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition IS_NOT_TRUE = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("isNotTrue") .kind(SCALAR) .inputTypeStrategy(sequence(logical(LogicalTypeRoot.BOOLEAN))) @@ -208,7 +212,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition IS_NOT_FALSE = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("isNotFalse") .kind(SCALAR) .inputTypeStrategy(sequence(logical(LogicalTypeRoot.BOOLEAN))) @@ -216,7 +220,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition BETWEEN = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("between") .kind(SCALAR) .inputTypeStrategy( @@ -225,7 +229,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition NOT_BETWEEN = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("notBetween") .kind(SCALAR) .inputTypeStrategy( @@ -233,84 +237,100 @@ public final class BuiltInFunctionDefinitions { .outputTypeStrategy(nullable(explicit(DataTypes.BOOLEAN()))) .build(); - // aggregate functions + // -------------------------------------------------------------------------------------------- + // Aggregate functions + // -------------------------------------------------------------------------------------------- + public static final BuiltInFunctionDefinition AVG = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("avg") .kind(AGGREGATE) .outputTypeStrategy(TypeStrategies.MISSING) .build(); + public static final BuiltInFunctionDefinition COUNT = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("count") .kind(AGGREGATE) .outputTypeStrategy(TypeStrategies.MISSING) .build(); + public static final BuiltInFunctionDefinition MAX = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("max") .kind(AGGREGATE) .outputTypeStrategy(TypeStrategies.MISSING) .build(); + public static final BuiltInFunctionDefinition MIN = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("min") .kind(AGGREGATE) .outputTypeStrategy(TypeStrategies.MISSING) .build(); + public static final BuiltInFunctionDefinition SUM = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("sum") .kind(AGGREGATE) .outputTypeStrategy(TypeStrategies.MISSING) .build(); + public static final BuiltInFunctionDefinition SUM0 = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("sum0") .kind(AGGREGATE) .outputTypeStrategy(TypeStrategies.MISSING) .build(); + public static final BuiltInFunctionDefinition STDDEV_POP = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("stddevPop") .kind(AGGREGATE) .outputTypeStrategy(TypeStrategies.MISSING) .build(); + public static final BuiltInFunctionDefinition STDDEV_SAMP = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("stddevSamp") .kind(AGGREGATE) .outputTypeStrategy(TypeStrategies.MISSING) .build(); + public static final BuiltInFunctionDefinition VAR_POP = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("varPop") .kind(AGGREGATE) .outputTypeStrategy(TypeStrategies.MISSING) .build(); + public static final BuiltInFunctionDefinition VAR_SAMP = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("varSamp") .kind(AGGREGATE) .outputTypeStrategy(TypeStrategies.MISSING) .build(); + public static final BuiltInFunctionDefinition COLLECT = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("collect") .kind(AGGREGATE) .outputTypeStrategy(TypeStrategies.MISSING) .build(); + public static final BuiltInFunctionDefinition DISTINCT = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("distinct") .kind(AGGREGATE) .outputTypeStrategy(TypeStrategies.MISSING) .build(); - // string functions + // -------------------------------------------------------------------------------------------- + // String functions + // -------------------------------------------------------------------------------------------- public static final BuiltInFunctionDefinition CHAR_LENGTH = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("charLength") .kind(SCALAR) .inputTypeStrategy(sequence(logical(LogicalTypeFamily.CHARACTER_STRING))) @@ -318,7 +338,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition INIT_CAP = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("initCap") .kind(SCALAR) .inputTypeStrategy(sequence(logical(LogicalTypeFamily.CHARACTER_STRING))) @@ -326,7 +346,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition LIKE = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("like") .kind(SCALAR) .inputTypeStrategy( @@ -337,7 +357,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition LOWER = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("lower") .kind(SCALAR) .inputTypeStrategy(sequence(logical(LogicalTypeFamily.CHARACTER_STRING))) @@ -347,7 +367,7 @@ public final class BuiltInFunctionDefinitions { // we need LOWERCASE here to maintain compatibility for the string-based expression DSL // which exposes LOWER as lowerCase() public static final BuiltInFunctionDefinition LOWERCASE = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("lowerCase") .kind(SCALAR) .inputTypeStrategy(sequence(logical(LogicalTypeFamily.CHARACTER_STRING))) @@ -355,7 +375,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition SIMILAR = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("similar") .kind(SCALAR) .inputTypeStrategy( @@ -366,7 +386,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition SUBSTRING = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("substring") .kind(SCALAR) .inputTypeStrategy( @@ -382,7 +402,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition REPLACE = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("replace") .kind(SCALAR) .inputTypeStrategy( @@ -394,7 +414,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition TRIM = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("trim") .kind(SCALAR) .inputTypeStrategy( @@ -407,7 +427,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition UPPER = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("upper") .kind(SCALAR) .inputTypeStrategy(sequence(logical(LogicalTypeFamily.CHARACTER_STRING))) @@ -417,7 +437,7 @@ public final class BuiltInFunctionDefinitions { // we need UPPERCASE here to maintain compatibility for the string-based expression DSL // which exposes UPPER as upperCase() public static final BuiltInFunctionDefinition UPPERCASE = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("upperCase") .kind(SCALAR) .inputTypeStrategy(sequence(logical(LogicalTypeFamily.CHARACTER_STRING))) @@ -425,7 +445,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition POSITION = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("position") .kind(SCALAR) .inputTypeStrategy( @@ -436,7 +456,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition OVERLAY = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("overlay") .kind(SCALAR) .inputTypeStrategy( @@ -454,7 +474,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition CONCAT = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("concat") .kind(SCALAR) .inputTypeStrategy( @@ -469,7 +489,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition CONCAT_WS = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("concat_ws") .kind(SCALAR) .inputTypeStrategy( @@ -480,7 +500,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition LPAD = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("lpad") .kind(SCALAR) .inputTypeStrategy( @@ -492,7 +512,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition RPAD = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("rpad") .kind(SCALAR) .inputTypeStrategy( @@ -504,7 +524,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition REGEXP_EXTRACT = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("regexpExtract") .kind(SCALAR) .inputTypeStrategy( @@ -520,7 +540,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition FROM_BASE64 = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("fromBase64") .kind(SCALAR) .inputTypeStrategy(sequence(logical(LogicalTypeFamily.CHARACTER_STRING))) @@ -528,7 +548,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition TO_BASE64 = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("toBase64") .kind(SCALAR) .inputTypeStrategy(sequence(logical(LogicalTypeFamily.CHARACTER_STRING))) @@ -536,7 +556,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition UUID = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("uuid") .kind(SCALAR) .notDeterministic() @@ -545,7 +565,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition LTRIM = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("ltrim") .kind(SCALAR) .inputTypeStrategy( @@ -558,7 +578,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition RTRIM = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("rtrim") .kind(SCALAR) .inputTypeStrategy( @@ -571,7 +591,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition REPEAT = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("repeat") .kind(SCALAR) .inputTypeStrategy( @@ -582,7 +602,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition REGEXP_REPLACE = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("regexpReplace") .kind(SCALAR) .inputTypeStrategy( @@ -593,14 +613,16 @@ public final class BuiltInFunctionDefinitions { .outputTypeStrategy(nullable(explicit(DataTypes.STRING()))) .build(); - // math functions + // -------------------------------------------------------------------------------------------- + // Math functions + // -------------------------------------------------------------------------------------------- /** * Combines numeric addition, "datetime + interval"/"interval + interval" arithmetic, and string * concatenation. */ public static final BuiltInFunctionDefinition PLUS = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("plus") .kind(SCALAR) .inputTypeStrategy( @@ -629,7 +651,7 @@ public final class BuiltInFunctionDefinitions { /** Combines numeric subtraction and "datetime - interval" arithmetic. */ public static final BuiltInFunctionDefinition MINUS = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("minus") .kind(SCALAR) .inputTypeStrategy( @@ -650,7 +672,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition DIVIDE = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("divide") .kind(SCALAR) .inputTypeStrategy( @@ -670,7 +692,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition TIMES = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("times") .kind(SCALAR) .inputTypeStrategy( @@ -693,7 +715,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition ABS = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("abs") .kind(SCALAR) .inputTypeStrategy( @@ -704,7 +726,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition EXP = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("exp") .kind(SCALAR) .inputTypeStrategy(sequence(logical(LogicalTypeFamily.NUMERIC))) @@ -712,7 +734,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition FLOOR = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("floor") .kind(SCALAR) .inputTypeStrategy( @@ -726,7 +748,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition CEIL = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("ceil") .kind(SCALAR) .inputTypeStrategy( @@ -740,7 +762,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition LOG10 = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("log10") .kind(SCALAR) .inputTypeStrategy(sequence(logical(LogicalTypeFamily.NUMERIC))) @@ -748,7 +770,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition LOG2 = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("log2") .kind(SCALAR) .inputTypeStrategy(sequence(logical(LogicalTypeFamily.NUMERIC))) @@ -756,7 +778,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition LN = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("ln") .kind(SCALAR) .inputTypeStrategy(sequence(logical(LogicalTypeFamily.NUMERIC))) @@ -764,7 +786,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition LOG = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("log") .kind(SCALAR) .inputTypeStrategy( @@ -777,7 +799,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition POWER = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("power") .kind(SCALAR) .inputTypeStrategy( @@ -788,7 +810,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition MOD = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("mod") .kind(SCALAR) .inputTypeStrategy( @@ -799,7 +821,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition SQRT = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("sqrt") .kind(SCALAR) .inputTypeStrategy(sequence(logical(LogicalTypeFamily.NUMERIC))) @@ -807,7 +829,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition MINUS_PREFIX = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("minusPrefix") .kind(SCALAR) .inputTypeStrategy( @@ -819,7 +841,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition SIN = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("sin") .kind(SCALAR) .inputTypeStrategy(sequence(logical(LogicalTypeFamily.NUMERIC))) @@ -827,7 +849,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition COS = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("cos") .kind(SCALAR) .inputTypeStrategy(sequence(logical(LogicalTypeFamily.NUMERIC))) @@ -835,7 +857,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition SINH = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("sinh") .kind(SCALAR) .inputTypeStrategy(sequence(logical(LogicalTypeFamily.NUMERIC))) @@ -843,7 +865,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition TAN = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("tan") .kind(SCALAR) .inputTypeStrategy(sequence(logical(LogicalTypeFamily.NUMERIC))) @@ -851,7 +873,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition TANH = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("tanh") .kind(SCALAR) .inputTypeStrategy(sequence(logical(LogicalTypeFamily.NUMERIC))) @@ -859,7 +881,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition COT = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("cot") .kind(SCALAR) .inputTypeStrategy(sequence(logical(LogicalTypeFamily.NUMERIC))) @@ -867,7 +889,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition ASIN = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("asin") .kind(SCALAR) .inputTypeStrategy(sequence(logical(LogicalTypeFamily.NUMERIC))) @@ -875,7 +897,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition ACOS = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("acos") .kind(SCALAR) .inputTypeStrategy(sequence(logical(LogicalTypeFamily.NUMERIC))) @@ -883,7 +905,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition ATAN = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("atan") .kind(SCALAR) .inputTypeStrategy(sequence(logical(LogicalTypeFamily.NUMERIC))) @@ -891,7 +913,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition ATAN2 = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("atan2") .kind(SCALAR) .inputTypeStrategy( @@ -902,7 +924,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition COSH = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("cosh") .kind(SCALAR) .inputTypeStrategy(sequence(logical(LogicalTypeFamily.NUMERIC))) @@ -910,7 +932,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition DEGREES = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("degrees") .kind(SCALAR) .inputTypeStrategy(sequence(logical(LogicalTypeFamily.NUMERIC))) @@ -918,7 +940,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition RADIANS = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("radians") .kind(SCALAR) .inputTypeStrategy(sequence(logical(LogicalTypeFamily.NUMERIC))) @@ -926,7 +948,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition SIGN = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("sign") .kind(SCALAR) .inputTypeStrategy(sequence(logical(LogicalTypeFamily.NUMERIC))) @@ -934,7 +956,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition ROUND = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("round") .kind(SCALAR) .inputTypeStrategy( @@ -947,7 +969,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition PI = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("pi") .kind(SCALAR) .inputTypeStrategy(NO_ARGS) @@ -955,7 +977,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition E = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("e") .kind(SCALAR) .inputTypeStrategy(NO_ARGS) @@ -963,7 +985,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition RAND = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("rand") .kind(SCALAR) .notDeterministic() @@ -972,7 +994,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition RAND_INTEGER = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("randInteger") .kind(SCALAR) .notDeterministic() @@ -986,7 +1008,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition BIN = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("bin") .kind(SCALAR) .inputTypeStrategy(sequence(logical(LogicalTypeFamily.INTEGER_NUMERIC))) @@ -994,7 +1016,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition HEX = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("hex") .kind(SCALAR) .inputTypeStrategy( @@ -1005,7 +1027,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition TRUNCATE = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("truncate") .kind(SCALAR) .inputTypeStrategy( @@ -1017,97 +1039,116 @@ public final class BuiltInFunctionDefinitions { .outputTypeStrategy(nullable(argument(0))) .build(); - // time functions + // -------------------------------------------------------------------------------------------- + // Time functions + // -------------------------------------------------------------------------------------------- + public static final BuiltInFunctionDefinition EXTRACT = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("extract") .kind(SCALAR) .outputTypeStrategy(TypeStrategies.MISSING) .build(); + public static final BuiltInFunctionDefinition CURRENT_DATE = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("currentDate") .kind(SCALAR) .outputTypeStrategy(TypeStrategies.MISSING) .build(); + public static final BuiltInFunctionDefinition CURRENT_TIME = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("currentTime") .kind(SCALAR) .outputTypeStrategy(TypeStrategies.MISSING) .build(); + public static final BuiltInFunctionDefinition CURRENT_TIMESTAMP = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("currentTimestamp") .kind(SCALAR) .outputTypeStrategy(TypeStrategies.MISSING) .build(); + public static final BuiltInFunctionDefinition LOCAL_TIME = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("localTime") .kind(SCALAR) .outputTypeStrategy(TypeStrategies.MISSING) .build(); + public static final BuiltInFunctionDefinition LOCAL_TIMESTAMP = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("localTimestamp") .kind(SCALAR) .outputTypeStrategy(TypeStrategies.MISSING) .build(); + public static final BuiltInFunctionDefinition TEMPORAL_OVERLAPS = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("temporalOverlaps") .kind(SCALAR) .outputTypeStrategy(TypeStrategies.MISSING) .build(); + public static final BuiltInFunctionDefinition DATE_FORMAT = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("dateFormat") .kind(SCALAR) .outputTypeStrategy(TypeStrategies.MISSING) .build(); + public static final BuiltInFunctionDefinition TIMESTAMP_DIFF = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("timestampDiff") .kind(SCALAR) .outputTypeStrategy(TypeStrategies.MISSING) .build(); - // collection + // -------------------------------------------------------------------------------------------- + // Collection functions + // -------------------------------------------------------------------------------------------- + public static final BuiltInFunctionDefinition AT = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("at") .kind(SCALAR) .outputTypeStrategy(TypeStrategies.MISSING) .build(); + public static final BuiltInFunctionDefinition CARDINALITY = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("cardinality") .kind(SCALAR) .outputTypeStrategy(TypeStrategies.MISSING) .build(); + public static final BuiltInFunctionDefinition ARRAY = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("array") .kind(SCALAR) .inputTypeStrategy(InputTypeStrategies.SPECIFIC_FOR_ARRAY) .outputTypeStrategy(TypeStrategies.ARRAY) .build(); + public static final BuiltInFunctionDefinition ARRAY_ELEMENT = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("element") .kind(SCALAR) .outputTypeStrategy(TypeStrategies.MISSING) .build(); + public static final BuiltInFunctionDefinition MAP = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("map") .kind(SCALAR) .inputTypeStrategy(InputTypeStrategies.SPECIFIC_FOR_MAP) .outputTypeStrategy(TypeStrategies.MAP) .build(); + public static final BuiltInFunctionDefinition ROW = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("row") .kind(SCALAR) .inputTypeStrategy( @@ -1115,9 +1156,12 @@ public final class BuiltInFunctionDefinitions { .outputTypeStrategy(TypeStrategies.ROW) .build(); - // composite + // -------------------------------------------------------------------------------------------- + // Composite type functions + // -------------------------------------------------------------------------------------------- + public static final BuiltInFunctionDefinition FLATTEN = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("flatten") .kind(OTHER) .inputTypeStrategy(sequence(InputTypeStrategies.COMPOSITE)) @@ -1127,8 +1171,9 @@ public final class BuiltInFunctionDefinitions { "FLATTEN should be resolved to GET expressions"); }) .build(); + public static final BuiltInFunctionDefinition GET = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("get") .kind(OTHER) .inputTypeStrategy( @@ -1142,38 +1187,12 @@ public final class BuiltInFunctionDefinitions { .outputTypeStrategy(TypeStrategies.GET) .build(); - // window properties - public static final BuiltInFunctionDefinition WINDOW_START = - new BuiltInFunctionDefinition.Builder() - .name("start") - .kind(OTHER) - .outputTypeStrategy(TypeStrategies.MISSING) - .build(); - public static final BuiltInFunctionDefinition WINDOW_END = - new BuiltInFunctionDefinition.Builder() - .name("end") - .kind(OTHER) - .outputTypeStrategy(TypeStrategies.MISSING) - .build(); - - // ordering - public static final BuiltInFunctionDefinition ORDER_ASC = - new BuiltInFunctionDefinition.Builder() - .name("asc") - .kind(OTHER) - .outputTypeStrategy(TypeStrategies.MISSING) - .build(); - public static final BuiltInFunctionDefinition ORDER_DESC = - new BuiltInFunctionDefinition.Builder() - .name("desc") - .kind(OTHER) - .outputTypeStrategy(TypeStrategies.MISSING) - .build(); - - // crypto hash + // -------------------------------------------------------------------------------------------- + // Crypto hash functions + // -------------------------------------------------------------------------------------------- public static final BuiltInFunctionDefinition MD5 = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("md5") .kind(SCALAR) .inputTypeStrategy(sequence(logical(LogicalTypeFamily.CHARACTER_STRING))) @@ -1181,7 +1200,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition SHA1 = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("sha1") .kind(SCALAR) .inputTypeStrategy(sequence(logical(LogicalTypeFamily.CHARACTER_STRING))) @@ -1189,7 +1208,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition SHA224 = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("sha224") .kind(SCALAR) .inputTypeStrategy(sequence(logical(LogicalTypeFamily.CHARACTER_STRING))) @@ -1197,7 +1216,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition SHA256 = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("sha256") .kind(SCALAR) .inputTypeStrategy(sequence(logical(LogicalTypeFamily.CHARACTER_STRING))) @@ -1205,7 +1224,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition SHA384 = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("sha384") .kind(SCALAR) .inputTypeStrategy(sequence(logical(LogicalTypeFamily.CHARACTER_STRING))) @@ -1213,7 +1232,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition SHA512 = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("sha512") .kind(SCALAR) .inputTypeStrategy(sequence(logical(LogicalTypeFamily.CHARACTER_STRING))) @@ -1221,7 +1240,7 @@ public final class BuiltInFunctionDefinitions { .build(); public static final BuiltInFunctionDefinition SHA2 = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("sha2") .kind(SCALAR) .inputTypeStrategy( @@ -1231,89 +1250,146 @@ public final class BuiltInFunctionDefinitions { .outputTypeStrategy(nullable(explicit(DataTypes.VARCHAR(128)))) .build(); - // time attributes + // -------------------------------------------------------------------------------------------- + // Window properties + // -------------------------------------------------------------------------------------------- + + public static final BuiltInFunctionDefinition WINDOW_START = + BuiltInFunctionDefinition.newBuilder() + .name("start") + .kind(OTHER) + .outputTypeStrategy(TypeStrategies.MISSING) + .build(); + + public static final BuiltInFunctionDefinition WINDOW_END = + BuiltInFunctionDefinition.newBuilder() + .name("end") + .kind(OTHER) + .outputTypeStrategy(TypeStrategies.MISSING) + .build(); + + // -------------------------------------------------------------------------------------------- + // Ordering + // -------------------------------------------------------------------------------------------- + + public static final BuiltInFunctionDefinition ORDER_ASC = + BuiltInFunctionDefinition.newBuilder() + .name("asc") + .kind(OTHER) + .outputTypeStrategy(TypeStrategies.MISSING) + .build(); + + public static final BuiltInFunctionDefinition ORDER_DESC = + BuiltInFunctionDefinition.newBuilder() + .name("desc") + .kind(OTHER) + .outputTypeStrategy(TypeStrategies.MISSING) + .build(); + + // -------------------------------------------------------------------------------------------- + // Time attributes + // -------------------------------------------------------------------------------------------- + public static final BuiltInFunctionDefinition PROCTIME = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("proctime") .kind(OTHER) .outputTypeStrategy(TypeStrategies.MISSING) .build(); + public static final BuiltInFunctionDefinition ROWTIME = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("rowtime") .kind(OTHER) .outputTypeStrategy(TypeStrategies.MISSING) .build(); - // over window + // -------------------------------------------------------------------------------------------- + // Over window + // -------------------------------------------------------------------------------------------- + public static final BuiltInFunctionDefinition OVER = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("over") .kind(OTHER) .outputTypeStrategy(TypeStrategies.MISSING) .build(); + public static final BuiltInFunctionDefinition UNBOUNDED_RANGE = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("unboundedRange") .kind(OTHER) .outputTypeStrategy(TypeStrategies.MISSING) .build(); + public static final BuiltInFunctionDefinition UNBOUNDED_ROW = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("unboundedRow") .kind(OTHER) .outputTypeStrategy(TypeStrategies.MISSING) .build(); + public static final BuiltInFunctionDefinition CURRENT_RANGE = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("currentRange") .kind(OTHER) .outputTypeStrategy(TypeStrategies.MISSING) .build(); + public static final BuiltInFunctionDefinition CURRENT_ROW = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("currentRow") .kind(OTHER) .outputTypeStrategy(TypeStrategies.MISSING) .build(); - // columns + // -------------------------------------------------------------------------------------------- + // Column functions + // -------------------------------------------------------------------------------------------- + public static final BuiltInFunctionDefinition WITH_COLUMNS = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("withColumns") .kind(OTHER) .outputTypeStrategy(TypeStrategies.MISSING) .build(); + public static final BuiltInFunctionDefinition WITHOUT_COLUMNS = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("withoutColumns") .kind(OTHER) .outputTypeStrategy(TypeStrategies.MISSING) .build(); - // etc + // -------------------------------------------------------------------------------------------- + // Other functions + // -------------------------------------------------------------------------------------------- + public static final BuiltInFunctionDefinition IN = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("in") .kind(SCALAR) .outputTypeStrategy(TypeStrategies.MISSING) .build(); + public static final BuiltInFunctionDefinition CAST = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("cast") .kind(SCALAR) .inputTypeStrategy(SPECIFIC_FOR_CAST) .outputTypeStrategy( nullable(ConstantArgumentCount.to(0), TypeStrategies.argument(1))) .build(); + public static final BuiltInFunctionDefinition REINTERPRET_CAST = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("reinterpretCast") .kind(SCALAR) .outputTypeStrategy(TypeStrategies.MISSING) .build(); + public static final BuiltInFunctionDefinition AS = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("as") .kind(OTHER) .inputTypeStrategy( @@ -1327,14 +1403,16 @@ public final class BuiltInFunctionDefinitions { logical(LogicalTypeFamily.CHARACTER_STRING)))) .outputTypeStrategy(TypeStrategies.argument(0)) .build(); + public static final BuiltInFunctionDefinition STREAM_RECORD_TIMESTAMP = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("streamRecordTimestamp") .kind(OTHER) .outputTypeStrategy(TypeStrategies.MISSING) .build(); + public static final BuiltInFunctionDefinition RANGE_TO = - new BuiltInFunctionDefinition.Builder() + BuiltInFunctionDefinition.newBuilder() .name("rangeTo") .kind(OTHER) .outputTypeStrategy(TypeStrategies.MISSING) -- GitLab