1818package org .apache .flink .cdc .runtime .functions ;
1919
2020import org .apache .flink .annotation .Internal ;
21- import org .apache .flink .table .functions .BuiltInFunctionDefinition ;
2221
2322import org .apache .calcite .sql .SqlFunction ;
2423import org .apache .calcite .sql .SqlFunctionCategory ;
3130
3231import javax .annotation .Nullable ;
3332
34- import java .util .Optional ;
3533import java .util .function .Function ;
3634
37- import static org .apache .flink .table .functions .BuiltInFunctionDefinition .DEFAULT_VERSION ;
38- import static org .apache .flink .table .functions .BuiltInFunctionDefinition .qualifyFunctionName ;
39- import static org .apache .flink .table .functions .BuiltInFunctionDefinition .validateFunction ;
40- import static org .apache .flink .util .Preconditions .checkNotNull ;
35+ import static org .apache .flink .cdc .common .utils .Preconditions .checkNotNull ;
4136
4237/**
4338 * This is the case when the operator has a special parsing syntax or uses other Calcite-specific
44- * features that are not exposed via {@link BuiltInFunctionDefinition} yet.
45- *
46- * <p>Note: Try to keep usages of this class to a minimum and use Flink's {@link
47- * BuiltInFunctionDefinition} stack instead.
48- *
49- * <p>For simple functions, use the provided builder. Otherwise, this class can also be extended.
39+ * features that are not exposed via {@link SqlFunction} yet.
5040 */
5141@ Internal
5242public class BuiltInScalarFunction extends SqlFunction {
5343
54- private final @ Nullable Integer version ;
55-
5644 private final boolean isDeterministic ;
5745
5846 private final boolean isInternal ;
@@ -61,7 +49,6 @@ public class BuiltInScalarFunction extends SqlFunction {
6149
6250 protected BuiltInScalarFunction (
6351 String name ,
64- int version ,
6552 SqlKind kind ,
6653 @ Nullable SqlReturnTypeInference returnTypeInference ,
6754 @ Nullable SqlOperandTypeInference operandTypeInference ,
@@ -77,11 +64,9 @@ protected BuiltInScalarFunction(
7764 operandTypeInference ,
7865 operandTypeChecker ,
7966 checkNotNull (category ));
80- this .version = isInternal ? null : version ;
8167 this .isDeterministic = isDeterministic ;
8268 this .isInternal = isInternal ;
8369 this .monotonicity = monotonicity ;
84- validateFunction (name , version , isInternal );
8570 }
8671
8772 protected BuiltInScalarFunction (
@@ -93,7 +78,6 @@ protected BuiltInScalarFunction(
9378 SqlFunctionCategory category ) {
9479 this (
9580 name ,
96- DEFAULT_VERSION ,
9781 kind ,
9882 returnTypeInference ,
9983 operandTypeInference ,
@@ -109,18 +93,6 @@ public static Builder newBuilder() {
10993 return new Builder ();
11094 }
11195
112- public final Optional <Integer > getVersion () {
113- return Optional .ofNullable (version );
114- }
115-
116- public String getQualifiedName () {
117- if (isInternal ) {
118- return getName ();
119- }
120- assert version != null ;
121- return qualifyFunctionName (getName (), version );
122- }
123-
12496 @ Override
12597 public boolean isDeterministic () {
12698 return isDeterministic ;
@@ -144,8 +116,6 @@ public static class Builder {
144116
145117 private String name ;
146118
147- private int version = DEFAULT_VERSION ;
148-
149119 private SqlKind kind = SqlKind .OTHER_FUNCTION ;
150120
151121 private SqlReturnTypeInference returnTypeInference ;
@@ -163,18 +133,11 @@ public static class Builder {
163133 private Function <SqlOperatorBinding , SqlMonotonicity > monotonicity =
164134 call -> SqlMonotonicity .NOT_MONOTONIC ;
165135
166- /** @see BuiltInFunctionDefinition.Builder#name(String) */
167136 public Builder name (String name ) {
168137 this .name = name ;
169138 return this ;
170139 }
171140
172- /** @see BuiltInFunctionDefinition.Builder#version(int) */
173- public Builder version (int version ) {
174- this .version = version ;
175- return this ;
176- }
177-
178141 public Builder kind (SqlKind kind ) {
179142 this .kind = kind ;
180143 return this ;
@@ -205,7 +168,6 @@ public Builder notDeterministic() {
205168 return this ;
206169 }
207170
208- /** @see BuiltInFunctionDefinition.Builder#internal() */
209171 public Builder internal () {
210172 this .isInternal = true ;
211173 return this ;
@@ -224,7 +186,6 @@ public Builder monotonicity(Function<SqlOperatorBinding, SqlMonotonicity> monoto
224186 public BuiltInScalarFunction build () {
225187 return new BuiltInScalarFunction (
226188 name ,
227- version ,
228189 kind ,
229190 returnTypeInference ,
230191 operandTypeInference ,
0 commit comments