This is an automated email from the ASF dual-hosted git repository. twalthr pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/flink.git
commit da24fbf23c244771084bf0a31cdbb9749d72e80a Author: slinkydeveloper <[email protected]> AuthorDate: Fri Nov 12 10:38:32 2021 +0100 [hotfix][table-planner] Move all casting rules to casting package and make them package-private Signed-off-by: slinkydeveloper <[email protected]> --- .../casting/{rules => }/AbstractCastRule.java | 9 ++------- .../AbstractCharacterFamilyTargetRule.java | 8 ++------ .../{rules => }/AbstractCodeGeneratorCastRule.java | 10 ++-------- .../AbstractExpressionCodeGeneratorCastRule.java | 14 ++++---------- .../AbstractNullAwareCodeGeneratorCastRule.java | 9 ++------- .../casting/{rules => }/ArrayToArrayCastRule.java | 19 ++++++------------- .../casting/{rules => }/ArrayToStringCastRule.java | 21 +++++++-------------- .../casting/{rules => }/BinaryToStringCastRule.java | 14 +++++--------- .../{rules => }/BooleanToStringCastRule.java | 14 +++++--------- .../planner/functions/casting/CastRuleProvider.java | 17 ----------------- .../casting/{rules => }/CastRuleUtils.java | 4 +--- .../CodeGeneratedExpressionCastExecutor.java | 2 +- .../casting/{rules => }/DateToStringCastRule.java | 12 ++++-------- .../{rules => }/DecimalToDecimalCastRule.java | 12 ++++-------- .../DecimalToNumericPrimitiveCastRule.java | 14 +++++--------- .../casting/{rules => }/IdentityCastRule.java | 12 +++--------- .../{rules => }/IntervalToStringCastRule.java | 12 ++++-------- .../casting/{rules => }/MapToStringCastRule.java | 20 +++++++------------- .../{rules => }/NumericPrimitiveCastRule.java | 11 +++-------- .../NumericPrimitiveToDecimalCastRule.java | 14 +++++--------- .../{rules => }/NumericToStringCastRule.java | 14 +++++--------- .../casting/{rules => }/RawToStringCastRule.java | 14 +++++--------- .../casting/{rules => }/RowToStringCastRule.java | 20 +++++++------------- .../casting/{rules => }/TimeToStringCastRule.java | 10 +++------- .../{rules => }/TimestampToStringCastRule.java | 14 +++++--------- .../planner/codegen/calls/ScalarOperatorGens.scala | 15 ++++----------- 26 files changed, 101 insertions(+), 234 deletions(-) diff --git a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/AbstractCastRule.java b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/AbstractCastRule.java similarity index 76% rename from flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/AbstractCastRule.java rename to flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/AbstractCastRule.java index b4eeffc..c193139 100644 --- a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/AbstractCastRule.java +++ b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/AbstractCastRule.java @@ -16,15 +16,10 @@ * limitations under the License. */ -package org.apache.flink.table.planner.functions.casting.rules; - -import org.apache.flink.annotation.Internal; -import org.apache.flink.table.planner.functions.casting.CastRule; -import org.apache.flink.table.planner.functions.casting.CastRulePredicate; +package org.apache.flink.table.planner.functions.casting; /** Base class for all cast rules. */ -@Internal -public abstract class AbstractCastRule<IN, OUT> implements CastRule<IN, OUT> { +abstract class AbstractCastRule<IN, OUT> implements CastRule<IN, OUT> { private final CastRulePredicate predicate; diff --git a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/AbstractCharacterFamilyTargetRule.java b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/AbstractCharacterFamilyTargetRule.java similarity index 86% rename from flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/AbstractCharacterFamilyTargetRule.java rename to flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/AbstractCharacterFamilyTargetRule.java index 0309566..8c6ac85 100644 --- a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/AbstractCharacterFamilyTargetRule.java +++ b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/AbstractCharacterFamilyTargetRule.java @@ -16,12 +16,9 @@ * limitations under the License. */ -package org.apache.flink.table.planner.functions.casting.rules; +package org.apache.flink.table.planner.functions.casting; -import org.apache.flink.annotation.Internal; import org.apache.flink.table.data.StringData; -import org.apache.flink.table.planner.functions.casting.CastRulePredicate; -import org.apache.flink.table.planner.functions.casting.CodeGeneratorCastRule; import org.apache.flink.table.types.logical.LogicalType; import org.apache.flink.table.types.logical.LogicalTypeFamily; @@ -31,8 +28,7 @@ import static org.apache.flink.table.planner.codegen.calls.BuiltInMethods.BINARY * Base class for cast rules converting to {@link LogicalTypeFamily#CHARACTER_STRING} with code * generation. */ -@Internal -public abstract class AbstractCharacterFamilyTargetRule<IN> +abstract class AbstractCharacterFamilyTargetRule<IN> extends AbstractExpressionCodeGeneratorCastRule<IN, StringData> { protected AbstractCharacterFamilyTargetRule(CastRulePredicate predicate) { diff --git a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/AbstractCodeGeneratorCastRule.java b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/AbstractCodeGeneratorCastRule.java similarity index 94% rename from flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/AbstractCodeGeneratorCastRule.java rename to flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/AbstractCodeGeneratorCastRule.java index eb7dd9d..f9d300d 100644 --- a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/AbstractCodeGeneratorCastRule.java +++ b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/AbstractCodeGeneratorCastRule.java @@ -16,17 +16,12 @@ * limitations under the License. */ -package org.apache.flink.table.planner.functions.casting.rules; +package org.apache.flink.table.planner.functions.casting; -import org.apache.flink.annotation.Internal; import org.apache.flink.api.common.typeutils.TypeSerializer; import org.apache.flink.table.api.TableException; import org.apache.flink.table.data.utils.CastExecutor; import org.apache.flink.table.planner.codegen.CodeGenUtils; -import org.apache.flink.table.planner.functions.casting.CastCodeBlock; -import org.apache.flink.table.planner.functions.casting.CastRule; -import org.apache.flink.table.planner.functions.casting.CastRulePredicate; -import org.apache.flink.table.planner.functions.casting.CodeGeneratorCastRule; import org.apache.flink.table.runtime.generated.CompileUtils; import org.apache.flink.table.runtime.typeutils.InternalSerializers; import org.apache.flink.table.types.logical.LogicalType; @@ -51,8 +46,7 @@ import static org.apache.flink.table.planner.codegen.CodeGenUtils.className; * AbstractNullAwareCodeGeneratorCastRule}, which provides nullability checks, or from {@link * AbstractExpressionCodeGeneratorCastRule} to generate simple expression casts. */ -@Internal -public abstract class AbstractCodeGeneratorCastRule<IN, OUT> extends AbstractCastRule<IN, OUT> +abstract class AbstractCodeGeneratorCastRule<IN, OUT> extends AbstractCastRule<IN, OUT> implements CodeGeneratorCastRule<IN, OUT> { protected AbstractCodeGeneratorCastRule(CastRulePredicate predicate) { diff --git a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/AbstractExpressionCodeGeneratorCastRule.java b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/AbstractExpressionCodeGeneratorCastRule.java similarity index 88% rename from flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/AbstractExpressionCodeGeneratorCastRule.java rename to flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/AbstractExpressionCodeGeneratorCastRule.java index eaf5fc4..0b14ddc 100644 --- a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/AbstractExpressionCodeGeneratorCastRule.java +++ b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/AbstractExpressionCodeGeneratorCastRule.java @@ -16,22 +16,17 @@ * limitations under the License. */ -package org.apache.flink.table.planner.functions.casting.rules; +package org.apache.flink.table.planner.functions.casting; -import org.apache.flink.annotation.Internal; import org.apache.flink.table.data.utils.CastExecutor; -import org.apache.flink.table.planner.functions.casting.CastRule; -import org.apache.flink.table.planner.functions.casting.CastRulePredicate; -import org.apache.flink.table.planner.functions.casting.CodeGeneratorCastRule; -import org.apache.flink.table.planner.functions.casting.ExpressionCodeGeneratorCastRule; import org.apache.flink.table.runtime.generated.CompileUtils; import org.apache.flink.table.types.logical.LogicalType; import org.apache.flink.table.types.logical.utils.LogicalTypeUtils; import java.util.Collections; -import static org.apache.flink.table.planner.functions.casting.rules.CastRuleUtils.box; -import static org.apache.flink.table.planner.functions.casting.rules.CastRuleUtils.unbox; +import static org.apache.flink.table.planner.functions.casting.CastRuleUtils.box; +import static org.apache.flink.table.planner.functions.casting.CastRuleUtils.unbox; /** * Base class for cast rules that supports code generation, requiring only an expression to perform @@ -40,8 +35,7 @@ import static org.apache.flink.table.planner.functions.casting.rules.CastRuleUti * * <p>NOTE: the {@code inputTerm} is always either a primitive or a non-null object. */ -@Internal -public abstract class AbstractExpressionCodeGeneratorCastRule<IN, OUT> +abstract class AbstractExpressionCodeGeneratorCastRule<IN, OUT> extends AbstractNullAwareCodeGeneratorCastRule<IN, OUT> implements ExpressionCodeGeneratorCastRule<IN, OUT> { diff --git a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/AbstractNullAwareCodeGeneratorCastRule.java b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/AbstractNullAwareCodeGeneratorCastRule.java similarity index 90% rename from flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/AbstractNullAwareCodeGeneratorCastRule.java rename to flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/AbstractNullAwareCodeGeneratorCastRule.java index 9826286..1d3c36e 100644 --- a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/AbstractNullAwareCodeGeneratorCastRule.java +++ b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/AbstractNullAwareCodeGeneratorCastRule.java @@ -16,12 +16,8 @@ * limitations under the License. */ -package org.apache.flink.table.planner.functions.casting.rules; +package org.apache.flink.table.planner.functions.casting; -import org.apache.flink.annotation.Internal; -import org.apache.flink.table.planner.functions.casting.CastCodeBlock; -import org.apache.flink.table.planner.functions.casting.CastRulePredicate; -import org.apache.flink.table.planner.functions.casting.CodeGeneratorCastRule; import org.apache.flink.table.types.logical.LogicalType; import static org.apache.flink.table.planner.codegen.CodeGenUtils.isPrimitiveNullable; @@ -32,8 +28,7 @@ import static org.apache.flink.table.planner.codegen.CodeGenUtils.primitiveTypeT * Base class for cast rules supporting code generation. This class inherits from {@link * AbstractCodeGeneratorCastRule} and takes care of nullability checks. */ -@Internal -public abstract class AbstractNullAwareCodeGeneratorCastRule<IN, OUT> +abstract class AbstractNullAwareCodeGeneratorCastRule<IN, OUT> extends AbstractCodeGeneratorCastRule<IN, OUT> { protected AbstractNullAwareCodeGeneratorCastRule(CastRulePredicate predicate) { diff --git a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/ArrayToArrayCastRule.java b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/ArrayToArrayCastRule.java similarity index 86% rename from flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/ArrayToArrayCastRule.java rename to flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/ArrayToArrayCastRule.java index 66c14a6..1a9bf7e 100644 --- a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/ArrayToArrayCastRule.java +++ b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/ArrayToArrayCastRule.java @@ -16,15 +16,10 @@ * limitations under the License. */ -package org.apache.flink.table.planner.functions.casting.rules; +package org.apache.flink.table.planner.functions.casting; -import org.apache.flink.annotation.Internal; import org.apache.flink.table.data.ArrayData; import org.apache.flink.table.data.GenericArrayData; -import org.apache.flink.table.planner.functions.casting.CastCodeBlock; -import org.apache.flink.table.planner.functions.casting.CastRulePredicate; -import org.apache.flink.table.planner.functions.casting.CastRuleProvider; -import org.apache.flink.table.planner.functions.casting.CodeGeneratorCastRule; import org.apache.flink.table.types.logical.ArrayType; import org.apache.flink.table.types.logical.DistinctType; import org.apache.flink.table.types.logical.LogicalType; @@ -32,16 +27,14 @@ import org.apache.flink.table.types.logical.LogicalTypeRoot; import static org.apache.flink.table.planner.codegen.CodeGenUtils.newName; import static org.apache.flink.table.planner.codegen.CodeGenUtils.rowFieldReadAccess; -import static org.apache.flink.table.planner.functions.casting.rules.CastRuleUtils.constructorCall; -import static org.apache.flink.table.planner.functions.casting.rules.CastRuleUtils.methodCall; -import static org.apache.flink.table.planner.functions.casting.rules.CastRuleUtils.newArray; +import static org.apache.flink.table.planner.functions.casting.CastRuleUtils.constructorCall; +import static org.apache.flink.table.planner.functions.casting.CastRuleUtils.methodCall; +import static org.apache.flink.table.planner.functions.casting.CastRuleUtils.newArray; /** {@link LogicalTypeRoot#ARRAY} to {@link LogicalTypeRoot#ARRAY} cast rule. */ -@Internal -public class ArrayToArrayCastRule - extends AbstractNullAwareCodeGeneratorCastRule<ArrayData, ArrayData> { +class ArrayToArrayCastRule extends AbstractNullAwareCodeGeneratorCastRule<ArrayData, ArrayData> { - public static final ArrayToArrayCastRule INSTANCE = new ArrayToArrayCastRule(); + static final ArrayToArrayCastRule INSTANCE = new ArrayToArrayCastRule(); private ArrayToArrayCastRule() { super( diff --git a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/ArrayToStringCastRule.java b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/ArrayToStringCastRule.java similarity index 89% rename from flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/ArrayToStringCastRule.java rename to flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/ArrayToStringCastRule.java index d655e92..e470739 100644 --- a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/ArrayToStringCastRule.java +++ b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/ArrayToStringCastRule.java @@ -16,14 +16,9 @@ * limitations under the License. */ -package org.apache.flink.table.planner.functions.casting.rules; +package org.apache.flink.table.planner.functions.casting; -import org.apache.flink.annotation.Internal; import org.apache.flink.table.data.ArrayData; -import org.apache.flink.table.planner.functions.casting.CastCodeBlock; -import org.apache.flink.table.planner.functions.casting.CastRulePredicate; -import org.apache.flink.table.planner.functions.casting.CastRuleProvider; -import org.apache.flink.table.planner.functions.casting.CodeGeneratorCastRule; import org.apache.flink.table.types.logical.ArrayType; import org.apache.flink.table.types.logical.LogicalType; import org.apache.flink.table.types.logical.LogicalTypeFamily; @@ -33,17 +28,15 @@ import static org.apache.flink.table.planner.codegen.CodeGenUtils.className; import static org.apache.flink.table.planner.codegen.CodeGenUtils.newName; import static org.apache.flink.table.planner.codegen.CodeGenUtils.rowFieldReadAccess; import static org.apache.flink.table.planner.codegen.calls.BuiltInMethods.BINARY_STRING_DATA_FROM_STRING; -import static org.apache.flink.table.planner.functions.casting.rules.CastRuleUtils.NULL_STR_LITERAL; -import static org.apache.flink.table.planner.functions.casting.rules.CastRuleUtils.constructorCall; -import static org.apache.flink.table.planner.functions.casting.rules.CastRuleUtils.methodCall; -import static org.apache.flink.table.planner.functions.casting.rules.CastRuleUtils.strLiteral; +import static org.apache.flink.table.planner.functions.casting.CastRuleUtils.NULL_STR_LITERAL; +import static org.apache.flink.table.planner.functions.casting.CastRuleUtils.constructorCall; +import static org.apache.flink.table.planner.functions.casting.CastRuleUtils.methodCall; +import static org.apache.flink.table.planner.functions.casting.CastRuleUtils.strLiteral; /** {@link LogicalTypeRoot#ARRAY} to {@link LogicalTypeFamily#CHARACTER_STRING} cast rule. */ -@Internal -public class ArrayToStringCastRule - extends AbstractNullAwareCodeGeneratorCastRule<ArrayData, String> { +class ArrayToStringCastRule extends AbstractNullAwareCodeGeneratorCastRule<ArrayData, String> { - public static final ArrayToStringCastRule INSTANCE = new ArrayToStringCastRule(); + static final ArrayToStringCastRule INSTANCE = new ArrayToStringCastRule(); private ArrayToStringCastRule() { super( diff --git a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/BinaryToStringCastRule.java b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/BinaryToStringCastRule.java similarity index 72% rename from flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/BinaryToStringCastRule.java rename to flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/BinaryToStringCastRule.java index 4ed913c..fd95948 100644 --- a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/BinaryToStringCastRule.java +++ b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/BinaryToStringCastRule.java @@ -16,26 +16,22 @@ * limitations under the License. */ -package org.apache.flink.table.planner.functions.casting.rules; +package org.apache.flink.table.planner.functions.casting; -import org.apache.flink.annotation.Internal; -import org.apache.flink.table.planner.functions.casting.CastRulePredicate; -import org.apache.flink.table.planner.functions.casting.CodeGeneratorCastRule; import org.apache.flink.table.types.logical.LogicalType; import org.apache.flink.table.types.logical.LogicalTypeFamily; import java.nio.charset.StandardCharsets; -import static org.apache.flink.table.planner.functions.casting.rules.CastRuleUtils.accessStaticField; -import static org.apache.flink.table.planner.functions.casting.rules.CastRuleUtils.constructorCall; +import static org.apache.flink.table.planner.functions.casting.CastRuleUtils.accessStaticField; +import static org.apache.flink.table.planner.functions.casting.CastRuleUtils.constructorCall; /** * {@link LogicalTypeFamily#BINARY_STRING} to {@link LogicalTypeFamily#CHARACTER_STRING} cast rule. */ -@Internal -public class BinaryToStringCastRule extends AbstractCharacterFamilyTargetRule<byte[]> { +class BinaryToStringCastRule extends AbstractCharacterFamilyTargetRule<byte[]> { - public static final BinaryToStringCastRule INSTANCE = new BinaryToStringCastRule(); + static final BinaryToStringCastRule INSTANCE = new BinaryToStringCastRule(); private BinaryToStringCastRule() { super( diff --git a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/BooleanToStringCastRule.java b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/BooleanToStringCastRule.java similarity index 71% rename from flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/BooleanToStringCastRule.java rename to flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/BooleanToStringCastRule.java index 30deb1a..ae95571 100644 --- a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/BooleanToStringCastRule.java +++ b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/BooleanToStringCastRule.java @@ -16,23 +16,19 @@ * limitations under the License. */ -package org.apache.flink.table.planner.functions.casting.rules; +package org.apache.flink.table.planner.functions.casting; -import org.apache.flink.annotation.Internal; -import org.apache.flink.table.planner.functions.casting.CastRulePredicate; -import org.apache.flink.table.planner.functions.casting.CodeGeneratorCastRule; import org.apache.flink.table.types.logical.LogicalType; import org.apache.flink.table.types.logical.LogicalTypeFamily; import org.apache.flink.table.types.logical.LogicalTypeRoot; -import static org.apache.flink.table.planner.functions.casting.rules.CastRuleUtils.EMPTY_STR_LITERAL; -import static org.apache.flink.table.planner.functions.casting.rules.CastRuleUtils.stringConcat; +import static org.apache.flink.table.planner.functions.casting.CastRuleUtils.EMPTY_STR_LITERAL; +import static org.apache.flink.table.planner.functions.casting.CastRuleUtils.stringConcat; /** {@link LogicalTypeRoot#BOOLEAN} to {@link LogicalTypeFamily#CHARACTER_STRING} cast rule. */ -@Internal -public class BooleanToStringCastRule extends AbstractCharacterFamilyTargetRule<Object> { +class BooleanToStringCastRule extends AbstractCharacterFamilyTargetRule<Object> { - public static final BooleanToStringCastRule INSTANCE = new BooleanToStringCastRule(); + static final BooleanToStringCastRule INSTANCE = new BooleanToStringCastRule(); private BooleanToStringCastRule() { super( diff --git a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/CastRuleProvider.java b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/CastRuleProvider.java index a926630..aae34c2 100644 --- a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/CastRuleProvider.java +++ b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/CastRuleProvider.java @@ -20,23 +20,6 @@ package org.apache.flink.table.planner.functions.casting; import org.apache.flink.annotation.Internal; import org.apache.flink.table.data.utils.CastExecutor; -import org.apache.flink.table.planner.functions.casting.rules.ArrayToArrayCastRule; -import org.apache.flink.table.planner.functions.casting.rules.ArrayToStringCastRule; -import org.apache.flink.table.planner.functions.casting.rules.BinaryToStringCastRule; -import org.apache.flink.table.planner.functions.casting.rules.BooleanToStringCastRule; -import org.apache.flink.table.planner.functions.casting.rules.DateToStringCastRule; -import org.apache.flink.table.planner.functions.casting.rules.DecimalToDecimalCastRule; -import org.apache.flink.table.planner.functions.casting.rules.DecimalToNumericPrimitiveCastRule; -import org.apache.flink.table.planner.functions.casting.rules.IdentityCastRule; -import org.apache.flink.table.planner.functions.casting.rules.IntervalToStringCastRule; -import org.apache.flink.table.planner.functions.casting.rules.MapToStringCastRule; -import org.apache.flink.table.planner.functions.casting.rules.NumericPrimitiveCastRule; -import org.apache.flink.table.planner.functions.casting.rules.NumericPrimitiveToDecimalCastRule; -import org.apache.flink.table.planner.functions.casting.rules.NumericToStringCastRule; -import org.apache.flink.table.planner.functions.casting.rules.RawToStringCastRule; -import org.apache.flink.table.planner.functions.casting.rules.RowToStringCastRule; -import org.apache.flink.table.planner.functions.casting.rules.TimeToStringCastRule; -import org.apache.flink.table.planner.functions.casting.rules.TimestampToStringCastRule; import org.apache.flink.table.types.logical.LogicalType; import org.apache.flink.table.types.logical.LogicalTypeFamily; import org.apache.flink.table.types.logical.LogicalTypeRoot; diff --git a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/CastRuleUtils.java b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/CastRuleUtils.java similarity index 97% rename from flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/CastRuleUtils.java rename to flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/CastRuleUtils.java index 437884f..5daa3d9 100644 --- a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/CastRuleUtils.java +++ b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/CastRuleUtils.java @@ -16,11 +16,9 @@ * limitations under the License. */ -package org.apache.flink.table.planner.functions.casting.rules; +package org.apache.flink.table.planner.functions.casting; import org.apache.flink.table.planner.codegen.CodeGenUtils; -import org.apache.flink.table.planner.functions.casting.CastCodeBlock; -import org.apache.flink.table.planner.functions.casting.CastRule; import org.apache.flink.table.types.logical.DistinctType; import org.apache.flink.table.types.logical.LogicalType; import org.apache.flink.table.utils.EncodingUtils; diff --git a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/CodeGeneratedExpressionCastExecutor.java b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/CodeGeneratedExpressionCastExecutor.java similarity index 96% rename from flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/CodeGeneratedExpressionCastExecutor.java rename to flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/CodeGeneratedExpressionCastExecutor.java index ad394e0..c94db8d 100644 --- a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/CodeGeneratedExpressionCastExecutor.java +++ b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/CodeGeneratedExpressionCastExecutor.java @@ -16,7 +16,7 @@ * limitations under the License. */ -package org.apache.flink.table.planner.functions.casting.rules; +package org.apache.flink.table.planner.functions.casting; import org.apache.flink.annotation.Internal; import org.apache.flink.table.api.TableException; diff --git a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/DateToStringCastRule.java b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/DateToStringCastRule.java similarity index 76% rename from flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/DateToStringCastRule.java rename to flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/DateToStringCastRule.java index 31c07c5..d4ab3b8 100644 --- a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/DateToStringCastRule.java +++ b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/DateToStringCastRule.java @@ -16,23 +16,19 @@ * limitations under the License. */ -package org.apache.flink.table.planner.functions.casting.rules; +package org.apache.flink.table.planner.functions.casting; -import org.apache.flink.annotation.Internal; -import org.apache.flink.table.planner.functions.casting.CastRulePredicate; -import org.apache.flink.table.planner.functions.casting.CodeGeneratorCastRule; import org.apache.flink.table.types.logical.LogicalType; import org.apache.flink.table.types.logical.LogicalTypeFamily; import org.apache.flink.table.types.logical.LogicalTypeRoot; import static org.apache.flink.table.planner.codegen.calls.BuiltInMethods.UNIX_DATE_TO_STRING; -import static org.apache.flink.table.planner.functions.casting.rules.CastRuleUtils.staticCall; +import static org.apache.flink.table.planner.functions.casting.CastRuleUtils.staticCall; /** {@link LogicalTypeRoot#DATE} to {@link LogicalTypeFamily#CHARACTER_STRING} cast rule. */ -@Internal -public class DateToStringCastRule extends AbstractCharacterFamilyTargetRule<Long> { +class DateToStringCastRule extends AbstractCharacterFamilyTargetRule<Long> { - public static final DateToStringCastRule INSTANCE = new DateToStringCastRule(); + static final DateToStringCastRule INSTANCE = new DateToStringCastRule(); private DateToStringCastRule() { super( diff --git a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/DecimalToDecimalCastRule.java b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/DecimalToDecimalCastRule.java similarity index 80% rename from flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/DecimalToDecimalCastRule.java rename to flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/DecimalToDecimalCastRule.java index 11700fd..23c4c42 100644 --- a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/DecimalToDecimalCastRule.java +++ b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/DecimalToDecimalCastRule.java @@ -16,25 +16,21 @@ * limitations under the License. */ -package org.apache.flink.table.planner.functions.casting.rules; +package org.apache.flink.table.planner.functions.casting; -import org.apache.flink.annotation.Internal; import org.apache.flink.table.data.DecimalData; import org.apache.flink.table.planner.codegen.calls.BuiltInMethods; -import org.apache.flink.table.planner.functions.casting.CastRulePredicate; -import org.apache.flink.table.planner.functions.casting.CodeGeneratorCastRule; import org.apache.flink.table.types.logical.DecimalType; import org.apache.flink.table.types.logical.LogicalType; import org.apache.flink.table.types.logical.LogicalTypeRoot; -import static org.apache.flink.table.planner.functions.casting.rules.CastRuleUtils.staticCall; +import static org.apache.flink.table.planner.functions.casting.CastRuleUtils.staticCall; /** {@link LogicalTypeRoot#DECIMAL} to {@link LogicalTypeRoot#DECIMAL} cast rule. */ -@Internal -public class DecimalToDecimalCastRule +class DecimalToDecimalCastRule extends AbstractExpressionCodeGeneratorCastRule<DecimalData, DecimalData> { - public static final DecimalToDecimalCastRule INSTANCE = new DecimalToDecimalCastRule(); + static final DecimalToDecimalCastRule INSTANCE = new DecimalToDecimalCastRule(); private DecimalToDecimalCastRule() { super( diff --git a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/DecimalToNumericPrimitiveCastRule.java b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/DecimalToNumericPrimitiveCastRule.java similarity index 80% rename from flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/DecimalToNumericPrimitiveCastRule.java rename to flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/DecimalToNumericPrimitiveCastRule.java index c9f4927..e1d1344 100644 --- a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/DecimalToNumericPrimitiveCastRule.java +++ b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/DecimalToNumericPrimitiveCastRule.java @@ -16,12 +16,9 @@ * limitations under the License. */ -package org.apache.flink.table.planner.functions.casting.rules; +package org.apache.flink.table.planner.functions.casting; -import org.apache.flink.annotation.Internal; import org.apache.flink.table.data.DecimalData; -import org.apache.flink.table.planner.functions.casting.CastRulePredicate; -import org.apache.flink.table.planner.functions.casting.CodeGeneratorCastRule; import org.apache.flink.table.types.logical.LogicalType; import org.apache.flink.table.types.logical.LogicalTypeFamily; import org.apache.flink.table.types.logical.LogicalTypeRoot; @@ -30,18 +27,17 @@ import java.lang.reflect.Method; import static org.apache.flink.table.planner.codegen.calls.BuiltInMethods.DECIMAL_TO_DOUBLE; import static org.apache.flink.table.planner.codegen.calls.BuiltInMethods.DECIMAL_TO_INTEGRAL; -import static org.apache.flink.table.planner.functions.casting.rules.CastRuleUtils.castToPrimitive; -import static org.apache.flink.table.planner.functions.casting.rules.CastRuleUtils.staticCall; +import static org.apache.flink.table.planner.functions.casting.CastRuleUtils.castToPrimitive; +import static org.apache.flink.table.planner.functions.casting.CastRuleUtils.staticCall; /** * {@link LogicalTypeRoot#DECIMAL} to {@link LogicalTypeFamily#INTEGER_NUMERIC} and {@link * LogicalTypeFamily#APPROXIMATE_NUMERIC} cast rule. */ -@Internal -public class DecimalToNumericPrimitiveCastRule +class DecimalToNumericPrimitiveCastRule extends AbstractExpressionCodeGeneratorCastRule<DecimalData, Number> { - public static final DecimalToNumericPrimitiveCastRule INSTANCE = + static final DecimalToNumericPrimitiveCastRule INSTANCE = new DecimalToNumericPrimitiveCastRule(); private DecimalToNumericPrimitiveCastRule() { diff --git a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/IdentityCastRule.java b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/IdentityCastRule.java similarity index 84% rename from flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/IdentityCastRule.java rename to flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/IdentityCastRule.java index f769a71..f2eb001 100644 --- a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/IdentityCastRule.java +++ b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/IdentityCastRule.java @@ -16,13 +16,8 @@ * limitations under the License. */ -package org.apache.flink.table.planner.functions.casting.rules; +package org.apache.flink.table.planner.functions.casting; -import org.apache.flink.annotation.Internal; -import org.apache.flink.table.planner.functions.casting.CastCodeBlock; -import org.apache.flink.table.planner.functions.casting.CastRulePredicate; -import org.apache.flink.table.planner.functions.casting.CodeGeneratorCastRule; -import org.apache.flink.table.planner.functions.casting.ExpressionCodeGeneratorCastRule; import org.apache.flink.table.types.logical.LogicalType; import org.apache.flink.table.types.logical.LogicalTypeFamily; import org.apache.flink.table.types.logical.LogicalTypeRoot; @@ -32,11 +27,10 @@ import org.apache.flink.table.types.logical.utils.LogicalTypeCasts; * Identity cast rule. For more details on when the rule is applied, check {@link * #isIdentityCast(LogicalType, LogicalType)} */ -@Internal -public class IdentityCastRule extends AbstractCodeGeneratorCastRule<Object, Object> +class IdentityCastRule extends AbstractCodeGeneratorCastRule<Object, Object> implements ExpressionCodeGeneratorCastRule<Object, Object> { - public static final IdentityCastRule INSTANCE = new IdentityCastRule(); + static final IdentityCastRule INSTANCE = new IdentityCastRule(); private IdentityCastRule() { super(CastRulePredicate.builder().predicate(IdentityCastRule::isIdentityCast).build()); diff --git a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/IntervalToStringCastRule.java b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/IntervalToStringCastRule.java similarity index 79% rename from flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/IntervalToStringCastRule.java rename to flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/IntervalToStringCastRule.java index 6e20732..8773a93 100644 --- a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/IntervalToStringCastRule.java +++ b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/IntervalToStringCastRule.java @@ -16,11 +16,8 @@ * limitations under the License. */ -package org.apache.flink.table.planner.functions.casting.rules; +package org.apache.flink.table.planner.functions.casting; -import org.apache.flink.annotation.Internal; -import org.apache.flink.table.planner.functions.casting.CastRulePredicate; -import org.apache.flink.table.planner.functions.casting.CodeGeneratorCastRule; import org.apache.flink.table.types.logical.LogicalType; import org.apache.flink.table.types.logical.LogicalTypeFamily; import org.apache.flink.table.types.logical.LogicalTypeRoot; @@ -29,13 +26,12 @@ import java.lang.reflect.Method; import static org.apache.flink.table.planner.codegen.calls.BuiltInMethods.INTERVAL_DAY_TIME_TO_STRING; import static org.apache.flink.table.planner.codegen.calls.BuiltInMethods.INTERVAL_YEAR_MONTH_TO_STRING; -import static org.apache.flink.table.planner.functions.casting.rules.CastRuleUtils.staticCall; +import static org.apache.flink.table.planner.functions.casting.CastRuleUtils.staticCall; /** {@link LogicalTypeFamily#INTERVAL} to {@link LogicalTypeFamily#CHARACTER_STRING} cast rule. */ -@Internal -public class IntervalToStringCastRule extends AbstractCharacterFamilyTargetRule<Object> { +class IntervalToStringCastRule extends AbstractCharacterFamilyTargetRule<Object> { - public static final IntervalToStringCastRule INSTANCE = new IntervalToStringCastRule(); + static final IntervalToStringCastRule INSTANCE = new IntervalToStringCastRule(); private IntervalToStringCastRule() { super( diff --git a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/MapToStringCastRule.java b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/MapToStringCastRule.java similarity index 92% rename from flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/MapToStringCastRule.java rename to flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/MapToStringCastRule.java index 7578a40..90925dc 100644 --- a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/MapToStringCastRule.java +++ b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/MapToStringCastRule.java @@ -16,14 +16,9 @@ * limitations under the License. */ -package org.apache.flink.table.planner.functions.casting.rules; +package org.apache.flink.table.planner.functions.casting; -import org.apache.flink.annotation.Internal; import org.apache.flink.table.data.ArrayData; -import org.apache.flink.table.planner.functions.casting.CastCodeBlock; -import org.apache.flink.table.planner.functions.casting.CastRulePredicate; -import org.apache.flink.table.planner.functions.casting.CastRuleProvider; -import org.apache.flink.table.planner.functions.casting.CodeGeneratorCastRule; import org.apache.flink.table.types.logical.LogicalType; import org.apache.flink.table.types.logical.LogicalTypeFamily; import org.apache.flink.table.types.logical.LogicalTypeRoot; @@ -33,16 +28,15 @@ import static org.apache.flink.table.planner.codegen.CodeGenUtils.className; import static org.apache.flink.table.planner.codegen.CodeGenUtils.newName; import static org.apache.flink.table.planner.codegen.CodeGenUtils.rowFieldReadAccess; import static org.apache.flink.table.planner.codegen.calls.BuiltInMethods.BINARY_STRING_DATA_FROM_STRING; -import static org.apache.flink.table.planner.functions.casting.rules.CastRuleUtils.NULL_STR_LITERAL; -import static org.apache.flink.table.planner.functions.casting.rules.CastRuleUtils.constructorCall; -import static org.apache.flink.table.planner.functions.casting.rules.CastRuleUtils.methodCall; -import static org.apache.flink.table.planner.functions.casting.rules.CastRuleUtils.strLiteral; +import static org.apache.flink.table.planner.functions.casting.CastRuleUtils.NULL_STR_LITERAL; +import static org.apache.flink.table.planner.functions.casting.CastRuleUtils.constructorCall; +import static org.apache.flink.table.planner.functions.casting.CastRuleUtils.methodCall; +import static org.apache.flink.table.planner.functions.casting.CastRuleUtils.strLiteral; /** {@link LogicalTypeRoot#MAP} to {@link LogicalTypeFamily#CHARACTER_STRING} cast rule. */ -@Internal -public class MapToStringCastRule extends AbstractNullAwareCodeGeneratorCastRule<ArrayData, String> { +class MapToStringCastRule extends AbstractNullAwareCodeGeneratorCastRule<ArrayData, String> { - public static final MapToStringCastRule INSTANCE = new MapToStringCastRule(); + static final MapToStringCastRule INSTANCE = new MapToStringCastRule(); private MapToStringCastRule() { super( diff --git a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/NumericPrimitiveCastRule.java b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/NumericPrimitiveCastRule.java similarity index 86% rename from flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/NumericPrimitiveCastRule.java rename to flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/NumericPrimitiveCastRule.java index 6e20861..ed3fb34 100644 --- a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/NumericPrimitiveCastRule.java +++ b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/NumericPrimitiveCastRule.java @@ -16,11 +16,8 @@ * limitations under the License. */ -package org.apache.flink.table.planner.functions.casting.rules; +package org.apache.flink.table.planner.functions.casting; -import org.apache.flink.annotation.Internal; -import org.apache.flink.table.planner.functions.casting.CastRulePredicate; -import org.apache.flink.table.planner.functions.casting.CodeGeneratorCastRule; import org.apache.flink.table.types.logical.LogicalType; import org.apache.flink.table.types.logical.LogicalTypeFamily; @@ -35,11 +32,9 @@ import static org.apache.flink.table.types.logical.LogicalTypeRoot.INTERVAL_YEAR * Cast rule for {@link LogicalTypeFamily#INTEGER_NUMERIC} and {@link * LogicalTypeFamily#APPROXIMATE_NUMERIC} and {@link LogicalTypeFamily#INTERVAL} conversions. */ -@Internal -public class NumericPrimitiveCastRule - extends AbstractExpressionCodeGeneratorCastRule<Number, Number> { +class NumericPrimitiveCastRule extends AbstractExpressionCodeGeneratorCastRule<Number, Number> { - public static final NumericPrimitiveCastRule INSTANCE = new NumericPrimitiveCastRule(); + static final NumericPrimitiveCastRule INSTANCE = new NumericPrimitiveCastRule(); private NumericPrimitiveCastRule() { super(CastRulePredicate.builder().predicate(NumericPrimitiveCastRule::matches).build()); diff --git a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/NumericPrimitiveToDecimalCastRule.java b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/NumericPrimitiveToDecimalCastRule.java similarity index 82% rename from flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/NumericPrimitiveToDecimalCastRule.java rename to flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/NumericPrimitiveToDecimalCastRule.java index df62905..17ff3ee 100644 --- a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/NumericPrimitiveToDecimalCastRule.java +++ b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/NumericPrimitiveToDecimalCastRule.java @@ -16,12 +16,9 @@ * limitations under the License. */ -package org.apache.flink.table.planner.functions.casting.rules; +package org.apache.flink.table.planner.functions.casting; -import org.apache.flink.annotation.Internal; import org.apache.flink.table.data.DecimalData; -import org.apache.flink.table.planner.functions.casting.CastRulePredicate; -import org.apache.flink.table.planner.functions.casting.CodeGeneratorCastRule; import org.apache.flink.table.types.logical.DecimalType; import org.apache.flink.table.types.logical.LogicalType; import org.apache.flink.table.types.logical.LogicalTypeFamily; @@ -29,18 +26,17 @@ import org.apache.flink.table.types.logical.LogicalTypeRoot; import static org.apache.flink.table.planner.codegen.calls.BuiltInMethods.DOUBLE_TO_DECIMAL; import static org.apache.flink.table.planner.codegen.calls.BuiltInMethods.INTEGRAL_TO_DECIMAL; -import static org.apache.flink.table.planner.functions.casting.rules.CastRuleUtils.cast; -import static org.apache.flink.table.planner.functions.casting.rules.CastRuleUtils.staticCall; +import static org.apache.flink.table.planner.functions.casting.CastRuleUtils.cast; +import static org.apache.flink.table.planner.functions.casting.CastRuleUtils.staticCall; /** * {@link LogicalTypeFamily#INTEGER_NUMERIC} and {@link LogicalTypeFamily#APPROXIMATE_NUMERIC} to * {@link LogicalTypeRoot#DECIMAL} cast rule. */ -@Internal -public class NumericPrimitiveToDecimalCastRule +class NumericPrimitiveToDecimalCastRule extends AbstractExpressionCodeGeneratorCastRule<Number, DecimalData> { - public static final NumericPrimitiveToDecimalCastRule INSTANCE = + static final NumericPrimitiveToDecimalCastRule INSTANCE = new NumericPrimitiveToDecimalCastRule(); private NumericPrimitiveToDecimalCastRule() { diff --git a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/NumericToStringCastRule.java b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/NumericToStringCastRule.java similarity index 70% rename from flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/NumericToStringCastRule.java rename to flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/NumericToStringCastRule.java index 3220e0c..d83741e 100644 --- a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/NumericToStringCastRule.java +++ b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/NumericToStringCastRule.java @@ -16,22 +16,18 @@ * limitations under the License. */ -package org.apache.flink.table.planner.functions.casting.rules; +package org.apache.flink.table.planner.functions.casting; -import org.apache.flink.annotation.Internal; -import org.apache.flink.table.planner.functions.casting.CastRulePredicate; -import org.apache.flink.table.planner.functions.casting.CodeGeneratorCastRule; import org.apache.flink.table.types.logical.LogicalType; import org.apache.flink.table.types.logical.LogicalTypeFamily; -import static org.apache.flink.table.planner.functions.casting.rules.CastRuleUtils.EMPTY_STR_LITERAL; -import static org.apache.flink.table.planner.functions.casting.rules.CastRuleUtils.stringConcat; +import static org.apache.flink.table.planner.functions.casting.CastRuleUtils.EMPTY_STR_LITERAL; +import static org.apache.flink.table.planner.functions.casting.CastRuleUtils.stringConcat; /** {@link LogicalTypeFamily#NUMERIC} to {@link LogicalTypeFamily#CHARACTER_STRING} cast rule. */ -@Internal -public class NumericToStringCastRule extends AbstractCharacterFamilyTargetRule<Object> { +class NumericToStringCastRule extends AbstractCharacterFamilyTargetRule<Object> { - public static final NumericToStringCastRule INSTANCE = new NumericToStringCastRule(); + static final NumericToStringCastRule INSTANCE = new NumericToStringCastRule(); private NumericToStringCastRule() { super( diff --git a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/RawToStringCastRule.java b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/RawToStringCastRule.java similarity index 82% rename from flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/RawToStringCastRule.java rename to flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/RawToStringCastRule.java index 51fdde3..3301f5f 100644 --- a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/RawToStringCastRule.java +++ b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/RawToStringCastRule.java @@ -16,26 +16,22 @@ * limitations under the License. */ -package org.apache.flink.table.planner.functions.casting.rules; +package org.apache.flink.table.planner.functions.casting; -import org.apache.flink.annotation.Internal; -import org.apache.flink.table.planner.functions.casting.CastRulePredicate; -import org.apache.flink.table.planner.functions.casting.CodeGeneratorCastRule; import org.apache.flink.table.types.logical.LogicalType; import org.apache.flink.table.types.logical.LogicalTypeFamily; import org.apache.flink.table.types.logical.LogicalTypeRoot; import static org.apache.flink.table.codesplit.CodeSplitUtil.newName; import static org.apache.flink.table.planner.codegen.calls.BuiltInMethods.BINARY_STRING_DATA_FROM_STRING; -import static org.apache.flink.table.planner.functions.casting.rules.CastRuleUtils.methodCall; +import static org.apache.flink.table.planner.functions.casting.CastRuleUtils.methodCall; /** {@link LogicalTypeRoot#RAW} to {@link LogicalTypeFamily#CHARACTER_STRING} cast rule. */ -@Internal -public class RawToStringCastRule extends AbstractNullAwareCodeGeneratorCastRule<Object, String> { +class RawToStringCastRule extends AbstractNullAwareCodeGeneratorCastRule<Object, String> { - public static final RawToStringCastRule INSTANCE = new RawToStringCastRule(); + static final RawToStringCastRule INSTANCE = new RawToStringCastRule(); - protected RawToStringCastRule() { + private RawToStringCastRule() { super( CastRulePredicate.builder() .input(LogicalTypeRoot.RAW) diff --git a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/RowToStringCastRule.java b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/RowToStringCastRule.java similarity index 87% rename from flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/RowToStringCastRule.java rename to flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/RowToStringCastRule.java index 9e3f5b0..1264e9d 100644 --- a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/RowToStringCastRule.java +++ b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/RowToStringCastRule.java @@ -16,14 +16,9 @@ * limitations under the License. */ -package org.apache.flink.table.planner.functions.casting.rules; +package org.apache.flink.table.planner.functions.casting; -import org.apache.flink.annotation.Internal; import org.apache.flink.table.data.ArrayData; -import org.apache.flink.table.planner.functions.casting.CastCodeBlock; -import org.apache.flink.table.planner.functions.casting.CastRulePredicate; -import org.apache.flink.table.planner.functions.casting.CastRuleProvider; -import org.apache.flink.table.planner.functions.casting.CodeGeneratorCastRule; import org.apache.flink.table.types.logical.LogicalType; import org.apache.flink.table.types.logical.LogicalTypeFamily; import org.apache.flink.table.types.logical.LogicalTypeRoot; @@ -36,16 +31,15 @@ import static org.apache.flink.table.planner.codegen.CodeGenUtils.className; import static org.apache.flink.table.planner.codegen.CodeGenUtils.newName; import static org.apache.flink.table.planner.codegen.CodeGenUtils.rowFieldReadAccess; import static org.apache.flink.table.planner.codegen.calls.BuiltInMethods.BINARY_STRING_DATA_FROM_STRING; -import static org.apache.flink.table.planner.functions.casting.rules.CastRuleUtils.NULL_STR_LITERAL; -import static org.apache.flink.table.planner.functions.casting.rules.CastRuleUtils.constructorCall; -import static org.apache.flink.table.planner.functions.casting.rules.CastRuleUtils.methodCall; -import static org.apache.flink.table.planner.functions.casting.rules.CastRuleUtils.strLiteral; +import static org.apache.flink.table.planner.functions.casting.CastRuleUtils.NULL_STR_LITERAL; +import static org.apache.flink.table.planner.functions.casting.CastRuleUtils.constructorCall; +import static org.apache.flink.table.planner.functions.casting.CastRuleUtils.methodCall; +import static org.apache.flink.table.planner.functions.casting.CastRuleUtils.strLiteral; /** {@link LogicalTypeRoot#ROW} to {@link LogicalTypeFamily#CHARACTER_STRING} cast rule. */ -@Internal -public class RowToStringCastRule extends AbstractNullAwareCodeGeneratorCastRule<ArrayData, String> { +class RowToStringCastRule extends AbstractNullAwareCodeGeneratorCastRule<ArrayData, String> { - public static final RowToStringCastRule INSTANCE = new RowToStringCastRule(); + static final RowToStringCastRule INSTANCE = new RowToStringCastRule(); private RowToStringCastRule() { super(CastRulePredicate.builder().predicate(RowToStringCastRule::matches).build()); diff --git a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/TimeToStringCastRule.java b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/TimeToStringCastRule.java similarity index 81% rename from flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/TimeToStringCastRule.java rename to flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/TimeToStringCastRule.java index 81008de..cc07a79 100644 --- a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/TimeToStringCastRule.java +++ b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/TimeToStringCastRule.java @@ -16,11 +16,8 @@ * limitations under the License. */ -package org.apache.flink.table.planner.functions.casting.rules; +package org.apache.flink.table.planner.functions.casting; -import org.apache.flink.annotation.Internal; -import org.apache.flink.table.planner.functions.casting.CastRulePredicate; -import org.apache.flink.table.planner.functions.casting.CodeGeneratorCastRule; import org.apache.flink.table.types.logical.LogicalType; import org.apache.flink.table.types.logical.LogicalTypeFamily; import org.apache.flink.table.types.logical.LogicalTypeRoot; @@ -32,10 +29,9 @@ import static org.apache.flink.table.planner.codegen.calls.BuiltInMethods.UNIX_T * {@link LogicalTypeRoot#TIME_WITHOUT_TIME_ZONE} to {@link LogicalTypeFamily#CHARACTER_STRING} cast * rule. */ -@Internal -public class TimeToStringCastRule extends AbstractCharacterFamilyTargetRule<Long> { +class TimeToStringCastRule extends AbstractCharacterFamilyTargetRule<Long> { - public static final TimeToStringCastRule INSTANCE = new TimeToStringCastRule(); + static final TimeToStringCastRule INSTANCE = new TimeToStringCastRule(); private TimeToStringCastRule() { super( diff --git a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/TimestampToStringCastRule.java b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/TimestampToStringCastRule.java similarity index 77% rename from flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/TimestampToStringCastRule.java rename to flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/TimestampToStringCastRule.java index d2aef08..965b378 100644 --- a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/rules/TimestampToStringCastRule.java +++ b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/casting/TimestampToStringCastRule.java @@ -16,12 +16,9 @@ * limitations under the License. */ -package org.apache.flink.table.planner.functions.casting.rules; +package org.apache.flink.table.planner.functions.casting; -import org.apache.flink.annotation.Internal; import org.apache.flink.table.data.TimestampData; -import org.apache.flink.table.planner.functions.casting.CastRulePredicate; -import org.apache.flink.table.planner.functions.casting.CodeGeneratorCastRule; import org.apache.flink.table.types.logical.LogicalType; import org.apache.flink.table.types.logical.LogicalTypeFamily; import org.apache.flink.table.types.logical.LogicalTypeRoot; @@ -30,14 +27,13 @@ import org.apache.flink.table.types.logical.utils.LogicalTypeChecks; import org.apache.calcite.avatica.util.DateTimeUtils; import static org.apache.flink.table.planner.codegen.calls.BuiltInMethods.TIMESTAMP_TO_STRING_TIME_ZONE; -import static org.apache.flink.table.planner.functions.casting.rules.CastRuleUtils.accessStaticField; -import static org.apache.flink.table.planner.functions.casting.rules.CastRuleUtils.staticCall; +import static org.apache.flink.table.planner.functions.casting.CastRuleUtils.accessStaticField; +import static org.apache.flink.table.planner.functions.casting.CastRuleUtils.staticCall; /** {@link LogicalTypeFamily#TIMESTAMP} to {@link LogicalTypeFamily#CHARACTER_STRING} cast rule. */ -@Internal -public class TimestampToStringCastRule extends AbstractCharacterFamilyTargetRule<TimestampData> { +class TimestampToStringCastRule extends AbstractCharacterFamilyTargetRule<TimestampData> { - public static final TimestampToStringCastRule INSTANCE = new TimestampToStringCastRule(); + static final TimestampToStringCastRule INSTANCE = new TimestampToStringCastRule(); private TimestampToStringCastRule() { super( diff --git a/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/planner/codegen/calls/ScalarOperatorGens.scala b/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/planner/codegen/calls/ScalarOperatorGens.scala index 3021776..6a7fbb2 100644 --- a/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/planner/codegen/calls/ScalarOperatorGens.scala +++ b/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/planner/codegen/calls/ScalarOperatorGens.scala @@ -18,25 +18,20 @@ package org.apache.flink.table.planner.codegen.calls -import org.apache.flink.table.api.{DataTypes, ValidationException} -import org.apache.flink.table.connector.sink.DynamicTableSink.DataStructureConverter +import org.apache.flink.table.api.ValidationException import org.apache.flink.table.data.binary.BinaryArrayData -import org.apache.flink.table.data.conversion.DataStructureConverters -import org.apache.flink.table.planner.functions.casting.{CastRule, CastRuleProvider, CodeGeneratorCastRule, ExpressionCodeGeneratorCastRule} -import org.apache.flink.table.data.util.{DataFormatConverters, MapDataUtil} +import org.apache.flink.table.planner.functions.casting.{CastRuleProvider, CodeGeneratorCastRule, ExpressionCodeGeneratorCastRule} +import org.apache.flink.table.data.util.MapDataUtil import org.apache.flink.table.data.writer.{BinaryArrayWriter, BinaryRowWriter} import org.apache.flink.table.planner.codegen.CodeGenUtils.{binaryRowFieldSetAccess, binaryRowSetNull, binaryWriterWriteField, binaryWriterWriteNull, _} import org.apache.flink.table.planner.codegen.GenerateUtils._ import org.apache.flink.table.planner.codegen.GeneratedExpression.{ALWAYS_NULL, NEVER_NULL, NO_CODE} -import org.apache.flink.table.planner.codegen.{CodeGenException, CodeGenUtils, CodeGeneratorContext, GenerateUtils, GeneratedExpression} -import org.apache.flink.table.planner.functions.casting.rules.{AbstractExpressionCodeGeneratorCastRule, IdentityCastRule} +import org.apache.flink.table.planner.codegen.{CodeGenException, CodeGenUtils, CodeGeneratorContext, GeneratedExpression} import org.apache.flink.table.planner.utils.JavaScalaConversionUtil.toScala import org.apache.flink.table.runtime.functions.SqlFunctionUtils -import org.apache.flink.table.runtime.types.LogicalTypeDataTypeConverter.fromLogicalTypeToDataType import org.apache.flink.table.runtime.types.PlannerTypeUtils import org.apache.flink.table.runtime.types.PlannerTypeUtils.{isInteroperable, isPrimitive} import org.apache.flink.table.runtime.typeutils.TypeCheckUtils._ -import org.apache.flink.table.types.DataType import org.apache.flink.table.types.logical.LogicalTypeFamily.DATETIME import org.apache.flink.table.types.logical.LogicalTypeRoot._ import org.apache.flink.table.types.logical._ @@ -47,8 +42,6 @@ import org.apache.flink.table.utils.DateTimeUtils import org.apache.flink.util.Preconditions.checkArgument import org.apache.flink.table.utils.DateTimeUtils.MILLIS_PER_DAY -import java.lang.{StringBuilder => JStringBuilder} -import java.nio.charset.StandardCharsets import java.util.Arrays.asList import scala.collection.JavaConversions._
