Class DecimalDataSerializer

  • All Implemented Interfaces:
    Serializable

    @Internal
    public class DecimalDataSerializer
    extends org.apache.flink.api.common.typeutils.TypeSerializer<org.apache.flink.table.data.DecimalData>
    We create the DecimalSerializer instead of using the DecimalSerializer of flink-table-runtime for performance reasons in Python deserialization.
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      DecimalDataSerializer​(int precision, int scale)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void copy​(org.apache.flink.core.memory.DataInputView source, org.apache.flink.core.memory.DataOutputView target)  
      org.apache.flink.table.data.DecimalData copy​(org.apache.flink.table.data.DecimalData from)  
      org.apache.flink.table.data.DecimalData copy​(org.apache.flink.table.data.DecimalData from, org.apache.flink.table.data.DecimalData reuse)  
      org.apache.flink.table.data.DecimalData createInstance()  
      org.apache.flink.table.data.DecimalData deserialize​(org.apache.flink.core.memory.DataInputView source)  
      org.apache.flink.table.data.DecimalData deserialize​(org.apache.flink.table.data.DecimalData reuse, org.apache.flink.core.memory.DataInputView source)  
      org.apache.flink.api.common.typeutils.TypeSerializer<org.apache.flink.table.data.DecimalData> duplicate()  
      boolean equals​(Object o)  
      int getLength()  
      int hashCode()  
      boolean isImmutableType()  
      void serialize​(org.apache.flink.table.data.DecimalData record, org.apache.flink.core.memory.DataOutputView target)  
      org.apache.flink.api.common.typeutils.TypeSerializerSnapshot<org.apache.flink.table.data.DecimalData> snapshotConfiguration()  
    • Constructor Detail

      • DecimalDataSerializer

        public DecimalDataSerializer​(int precision,
                                     int scale)
    • Method Detail

      • isImmutableType

        public boolean isImmutableType()
        Specified by:
        isImmutableType in class org.apache.flink.api.common.typeutils.TypeSerializer<org.apache.flink.table.data.DecimalData>
      • duplicate

        public org.apache.flink.api.common.typeutils.TypeSerializer<org.apache.flink.table.data.DecimalData> duplicate()
        Specified by:
        duplicate in class org.apache.flink.api.common.typeutils.TypeSerializer<org.apache.flink.table.data.DecimalData>
      • createInstance

        public org.apache.flink.table.data.DecimalData createInstance()
        Specified by:
        createInstance in class org.apache.flink.api.common.typeutils.TypeSerializer<org.apache.flink.table.data.DecimalData>
      • copy

        public org.apache.flink.table.data.DecimalData copy​(org.apache.flink.table.data.DecimalData from)
        Specified by:
        copy in class org.apache.flink.api.common.typeutils.TypeSerializer<org.apache.flink.table.data.DecimalData>
      • copy

        public org.apache.flink.table.data.DecimalData copy​(org.apache.flink.table.data.DecimalData from,
                                                            org.apache.flink.table.data.DecimalData reuse)
        Specified by:
        copy in class org.apache.flink.api.common.typeutils.TypeSerializer<org.apache.flink.table.data.DecimalData>
      • getLength

        public int getLength()
        Specified by:
        getLength in class org.apache.flink.api.common.typeutils.TypeSerializer<org.apache.flink.table.data.DecimalData>
      • serialize

        public void serialize​(org.apache.flink.table.data.DecimalData record,
                              org.apache.flink.core.memory.DataOutputView target)
                       throws IOException
        Specified by:
        serialize in class org.apache.flink.api.common.typeutils.TypeSerializer<org.apache.flink.table.data.DecimalData>
        Throws:
        IOException
      • deserialize

        public org.apache.flink.table.data.DecimalData deserialize​(org.apache.flink.core.memory.DataInputView source)
                                                            throws IOException
        Specified by:
        deserialize in class org.apache.flink.api.common.typeutils.TypeSerializer<org.apache.flink.table.data.DecimalData>
        Throws:
        IOException
      • deserialize

        public org.apache.flink.table.data.DecimalData deserialize​(org.apache.flink.table.data.DecimalData reuse,
                                                                   org.apache.flink.core.memory.DataInputView source)
                                                            throws IOException
        Specified by:
        deserialize in class org.apache.flink.api.common.typeutils.TypeSerializer<org.apache.flink.table.data.DecimalData>
        Throws:
        IOException
      • copy

        public void copy​(org.apache.flink.core.memory.DataInputView source,
                         org.apache.flink.core.memory.DataOutputView target)
                  throws IOException
        Specified by:
        copy in class org.apache.flink.api.common.typeutils.TypeSerializer<org.apache.flink.table.data.DecimalData>
        Throws:
        IOException
      • equals

        public boolean equals​(Object o)
        Specified by:
        equals in class org.apache.flink.api.common.typeutils.TypeSerializer<org.apache.flink.table.data.DecimalData>
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in class org.apache.flink.api.common.typeutils.TypeSerializer<org.apache.flink.table.data.DecimalData>
      • snapshotConfiguration

        public org.apache.flink.api.common.typeutils.TypeSerializerSnapshot<org.apache.flink.table.data.DecimalData> snapshotConfiguration()
        Specified by:
        snapshotConfiguration in class org.apache.flink.api.common.typeutils.TypeSerializer<org.apache.flink.table.data.DecimalData>