in paimon-common/src/main/java/org/apache/paimon/types/DataTypeJsonParser.java [476:521]
private DataType parseTypeByKeyword() {
nextToken(TokenType.KEYWORD);
switch (tokenAsKeyword()) {
case CHAR:
return parseCharType();
case VARCHAR:
return parseVarCharType();
case STRING:
return VarCharType.STRING_TYPE;
case BOOLEAN:
return new BooleanType();
case BINARY:
return parseBinaryType();
case VARBINARY:
return parseVarBinaryType();
case BYTES:
return new VarBinaryType(VarBinaryType.MAX_LENGTH);
case DECIMAL:
case NUMERIC:
case DEC:
return parseDecimalType();
case TINYINT:
return new TinyIntType();
case SMALLINT:
return new SmallIntType();
case INT:
case INTEGER:
return new IntType();
case BIGINT:
return new BigIntType();
case FLOAT:
return new FloatType();
case DOUBLE:
return parseDoubleType();
case DATE:
return new DateType();
case TIME:
return parseTimeType();
case TIMESTAMP:
return parseTimestampType();
case TIMESTAMP_LTZ:
return parseTimestampLtzType();
default:
throw parsingError("Unsupported type: " + token().value);
}
}