File tree Expand file tree Collapse file tree 2 files changed +29
-4
lines changed
modules/flink-common-api/src/main/scala/org/apache/flinkx/api Expand file tree Collapse file tree 2 files changed +29
-4
lines changed Original file line number Diff line number Diff line change @@ -33,7 +33,6 @@ import java.math.{BigInteger => JBigInteger}
3333import java .math .{BigDecimal => JBigDecimal }
3434import java .time ._
3535import java .util .UUID
36- import scala .{Nothing => Nothing }
3736import scala .collection .immutable .{SortedSet , TreeSet }
3837import scala .concurrent .duration .{Duration , FiniteDuration , TimeUnit }
3938import scala .reflect .{ClassTag , classTag }
@@ -116,9 +115,7 @@ trait serializers extends LowPrioImplicits {
116115 implicit lazy val finiteDurationInfo : TypeInformation [FiniteDuration ] = SimpleTypeInfo (2 , 2 , keyType = true )
117116 implicit lazy val flinkNothingInfo : TypeInformation [FlinkNothing ] =
118117 SimpleTypeInfo (0 )(classTag[FlinkNothing ], new NothingSerializer ().asInstanceOf [TypeSerializer [FlinkNothing ]])
119- implicit lazy val scalaNothingInfo : TypeInformation [Nothing ] =
120- // At runtime scala.Nothing is scala.runtime.Nothing$ and extends Throwable
121- SimpleTypeInfo [Nothing ](6 , 11 )(classTag[Nothing ], new NothingSerializer ().asInstanceOf [TypeSerializer [Nothing ]])
118+ implicit lazy val scalaNothingInfo : TypeInformation [scala.Nothing ] = ScalaNothingTypeInfo
122119 implicit lazy val timeUnitInfo : TypeInformation [TimeUnit ] = new EnumTypeInfo (classOf [TimeUnit ])
123120 implicit lazy val uuidMapper : TypeMapper [UUID , Array [Byte ]] = new UuidMapper ()
124121 implicit lazy val uuidInfo : TypeInformation [UUID ] = mappedTypeInfo[UUID , Array [Byte ]]
Original file line number Diff line number Diff line change 1+ package org .apache .flinkx .api .typeinfo
2+
3+ import org .apache .flink .api .common .ExecutionConfig
4+ import org .apache .flink .api .common .serialization .SerializerConfig
5+ import org .apache .flink .api .common .typeinfo .TypeInformation
6+ import org .apache .flink .api .common .typeutils .TypeSerializer
7+ import org .apache .flinkx .api .serializer .NothingSerializer
8+
9+ object ScalaNothingTypeInfo extends TypeInformation [Nothing ] {
10+
11+ override def createSerializer (config : SerializerConfig ): TypeSerializer [Nothing ] =
12+ new NothingSerializer ().asInstanceOf [TypeSerializer [Nothing ]]
13+ // override modifier removed to satisfy both implementation requirement of Flink 1.x and removal in 2.x
14+ def createSerializer (config : ExecutionConfig ): TypeSerializer [Nothing ] =
15+ new NothingSerializer ().asInstanceOf [TypeSerializer [Nothing ]]
16+
17+ override def isKeyType : Boolean = false
18+ override def getTotalFields : Int = 11 // At runtime scala.Nothing is scala.runtime.Nothing$ and extends Throwable
19+ override def isTupleType : Boolean = false
20+ override def canEqual (obj : Any ): Boolean = obj.isInstanceOf [ScalaNothingTypeInfo .type ]
21+ override def getTypeClass : Class [Nothing ] = classOf [Nothing ]
22+ override def getArity : Int = 6 // At runtime scala.Nothing is scala.runtime.Nothing$ and extends Throwable
23+ override def isBasicType : Boolean = false
24+ override def toString : String = " ScalaNothingTypeInfo()"
25+ override def equals (obj : Any ): Boolean = this .eq(obj.asInstanceOf [AnyRef ])
26+ override def hashCode (): Int = 0
27+
28+ }
You can’t perform that action at this time.
0 commit comments