in eventmesh-common/src/main/java/org/apache/eventmesh/common/config/connector/rdb/canal/CanalMySQLType.java [106:186]
public static CanalMySQLType valueOfCode(String code) {
CanalMySQLType type = TYPES.get(code.toUpperCase());
if (type != null) {
return type;
}
switch (MysqlType.getByName(code)) {
case BOOLEAN:
case TINYINT:
case TINYINT_UNSIGNED:
return TINYINT;
case SMALLINT:
case SMALLINT_UNSIGNED:
return SMALLINT;
case INT:
case INT_UNSIGNED:
return INT;
case BIGINT:
case BIGINT_UNSIGNED:
return BIGINT;
case MEDIUMINT:
case MEDIUMINT_UNSIGNED:
return MEDIUMINT;
case DECIMAL:
case DECIMAL_UNSIGNED:
return DECIMAL;
case FLOAT:
case FLOAT_UNSIGNED:
return FLOAT;
case DOUBLE:
case DOUBLE_UNSIGNED:
return DOUBLE;
case BIT:
return BIT;
case BINARY:
return BINARY;
case VARBINARY:
return VARBINARY;
case TINYBLOB:
return TINYBLOB;
case MEDIUMBLOB:
return MEDIUMBLOB;
case LONGBLOB:
return LONGBLOB;
case BLOB:
return BLOB;
case CHAR:
return CHAR;
case VARCHAR:
return VARCHAR;
case TINYTEXT:
return TINYTEXT;
case MEDIUMTEXT:
return MEDIUMTEXT;
case LONGTEXT:
return LONGTEXT;
case TEXT:
return TEXT;
case DATE:
return DATE;
case TIME:
return TIME;
case TIMESTAMP:
return TIMESTAMP;
case DATETIME:
return DATETIME;
case YEAR:
return YEAR;
case JSON:
return JSON;
case ENUM:
return ENUM;
case SET:
return SET;
case GEOMETRY:
return GEOMETRY;
case NULL:
case UNKNOWN:
default:
throw new UnsupportedOperationException("Unsupported mysql columnType " + code);
}
}