in spark/spark-tensorflow-connector/src/main/scala/org/tensorflow/spark/datasources/tfrecords/TensorFlowInferSchema.scala [206:221]
private def findTightestCommonType(tt1: DataType, tt2: DataType) : Option[DataType] = {
val currType = (tt1, tt2) match {
case (t1, t2) if t1 == t2 => Some(t1)
case (null, t2) => Some(t2)
case (t1, null) => Some(t1)
// Promote types based on numeric precedence
case (t1, t2) =>
val t1Precedence = getNumericPrecedence(t1)
val t2Precedence = getNumericPrecedence(t2)
val newType = if (t1Precedence > t2Precedence) t1 else t2
Some(newType)
case _ => None
}
currType
}