in empire-db/src/main/java/org/apache/empire/data/DataType.java [175:207]
public static DataType fromJavaType(Class<?> javaType)
{
if (javaType.isPrimitive())
javaType = MethodUtils.getPrimitiveWrapper(javaType);
// String
if (javaType==String.class)
return DataType.VARCHAR;
if (javaType==Character.class ||
javaType==Character[].class)
return DataType.CHAR;
// Check integer
if (javaType == Integer.class ||
javaType == Long.class ||
javaType == Short.class)
return DataType.INTEGER;
if (Number.class.isAssignableFrom(javaType))
return DataType.DECIMAL;
// Check Dates
if (javaType == Timestamp.class)
return DataType.TIMESTAMP;
if (Date.class.isAssignableFrom(javaType) ||
javaType == LocalDateTime.class)
return DataType.DATETIME;
if (javaType == LocalDate.class)
return DataType.DATE;
// Other
if (javaType == Boolean.class)
return DataType.BOOL;
if (javaType == byte[].class)
return DataType.BLOB;
// Unknown
return DataType.UNKNOWN;
}