in pkg/datasource/sql/types/const.go [283:356]
func MySQLStrToJavaType(mysqlType string) JDBCType {
switch strings.ToUpper(mysqlType) {
case "BIT":
return MySQLCodeToJava(FIELD_TYPE_BIT)
case "TINYINT":
return MySQLCodeToJava(FIELD_TYPE_TINY)
case "SMALLINT":
return MySQLCodeToJava(FIELD_TYPE_SHORT)
case "MEDIUMINT":
return MySQLCodeToJava(FIELD_TYPE_INT24)
case "INT", "INTEGER":
return MySQLCodeToJava(FIELD_TYPE_LONG)
case "BIGINT":
return MySQLCodeToJava(FIELD_TYPE_LONGLONG)
case "INT24":
return MySQLCodeToJava(FIELD_TYPE_INT24)
case "REAL":
return MySQLCodeToJava(FIELD_TYPE_DOUBLE)
case "FLOAT":
return MySQLCodeToJava(FIELD_TYPE_FLOAT)
case "DECIMAL":
return MySQLCodeToJava(FIELD_TYPE_DECIMAL)
case "NUMERIC":
return MySQLCodeToJava(FIELD_TYPE_DECIMAL)
case "DOUBLE":
return MySQLCodeToJava(FIELD_TYPE_DOUBLE)
case "CHAR":
return MySQLCodeToJava(FIELD_TYPE_STRING)
case "VARCHAR":
return MySQLCodeToJava(FIELD_TYPE_VAR_STRING)
case "DATE":
return MySQLCodeToJava(FIELD_TYPE_DATE)
case "TIME":
return MySQLCodeToJava(FIELD_TYPE_TIME)
case "YEAR":
return MySQLCodeToJava(FIELD_TYPE_YEAR)
case "TIMESTAMP":
return MySQLCodeToJava(FIELD_TYPE_TIMESTAMP)
case "DATETIME":
return MySQLCodeToJava(FIELD_TYPE_DATETIME)
case "TINYBLOB":
return JDBCTypeBinary
case "BLOB":
return JDBCTypeLongVarBinary
case "MEDIUMBLOB":
return JDBCTypeLongVarBinary
case "LONGBLOB":
return JDBCTypeLongVarBinary
case "TINYTEXT":
return JDBCTypeVarchar
case "TEXT":
return JDBCTypeLongVarchar
case "MEDIUMTEXT":
return JDBCTypeLongVarchar
case "LONGTEXT":
return JDBCTypeLongVarchar
case "ENUM":
return MySQLCodeToJava(FIELD_TYPE_ENUM)
case "SET":
return MySQLCodeToJava(FIELD_TYPE_SET)
case "GEOMETRY":
return MySQLCodeToJava(FIELD_TYPE_GEOMETRY)
case "BINARY":
return JDBCTypeBinary
// no concrete type on the wire
case "VARBINARY":
return JDBCTypeVarBinary
case "JSON":
return MySQLCodeToJava(FIELD_TYPE_JSON)
default:
// Punt
return JDBCTypeOther
}
}