hequn8128 commented on a change in pull request #9977: [FLINK-14497][python] 
Support primitive data types in Python user-defined functions
URL: https://github.com/apache/flink/pull/9977#discussion_r338377272
 
 

 ##########
 File path: 
flink-python/src/main/java/org/apache/flink/table/runtime/typeutils/BeamTypeUtils.java
 ##########
 @@ -64,207 +73,237 @@
 
        private static final String EMPTY_STRING = "";
 
-       public static Coder toCoder(LogicalType logicalType) {
-               return logicalType.accept(new LogicalTypeToCoderConverter());
+       public static TypeSerializer toFlinkTypeSerializer(LogicalType 
logicalType) {
+               return logicalType.accept(new 
LogicalTypeToTypeSerializerConverter());
        }
 
-       public static Coder toBlinkCoder(LogicalType logicalType) {
-               return logicalType.accept(new 
LogicalTypeToBlinkCoderConverter());
+       public static TypeSerializer toBlinkTypeSerializer(LogicalType 
logicalType) {
+               return logicalType.accept(new 
LogicalTypeToBlinkTypeSerializerConverter());
        }
 
        public static FlinkFnApi.Schema.FieldType toProtoType(LogicalType 
logicalType) {
                return logicalType.accept(new 
LogicalTypeToProtoTypeConverter());
        }
 
-       private static class LogicalTypeToCoderConverter implements 
LogicalTypeVisitor<Coder> {
+       private static class LogicalTypeToTypeSerializerConverter implements 
LogicalTypeVisitor<TypeSerializer> {
 
                @Override
-               public Coder visit(CharType charType) {
-                       return null;
+               public TypeSerializer visit(CharType charType) {
+                       return StringSerializer.INSTANCE;
                }
 
                @Override
-               public Coder visit(VarCharType varCharType) {
-                       return null;
+               public TypeSerializer visit(VarCharType varCharType) {
+                       return StringSerializer.INSTANCE;
                }
 
                @Override
-               public Coder visit(BooleanType booleanType) {
-                       return null;
+               public TypeSerializer visit(BooleanType booleanType) {
+                       return BooleanSerializer.INSTANCE;
                }
 
                @Override
-               public Coder visit(BinaryType binaryType) {
-                       return null;
+               public TypeSerializer visit(BinaryType binaryType) {
+                       return BytePrimitiveArraySerializer.INSTANCE;
                }
 
                @Override
-               public Coder visit(VarBinaryType varBinaryType) {
-                       return null;
+               public TypeSerializer visit(VarBinaryType varBinaryType) {
+                       return BytePrimitiveArraySerializer.INSTANCE;
                }
 
                @Override
-               public Coder visit(DecimalType decimalType) {
+               public TypeSerializer visit(DecimalType decimalType) {
 
 Review comment:
   Maybe it's not good to return null? For example, we can throw 
`UnsupportedOperationException` here.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to