in kyuubi-hive-jdbc/src/main/java/org/apache/kyuubi/jdbc/hive/JdbcColumn.java [99:150]
static String columnClassName(TTypeId tType, JdbcColumnAttributes columnAttributes)
throws SQLException {
int columnType = convertTTypeIdToSqlType(tType);
switch (columnType) {
case NULL:
return "null";
case BOOLEAN:
return Boolean.class.getName();
case CHAR:
case VARCHAR:
return String.class.getName();
case TINYINT:
return Byte.class.getName();
case SMALLINT:
return Short.class.getName();
case INTEGER:
return Integer.class.getName();
case BIGINT:
return Long.class.getName();
case DATE:
return Date.class.getName();
case FLOAT:
return Float.class.getName();
case DOUBLE:
return Double.class.getName();
case TIMESTAMP:
return Timestamp.class.getName();
case TIMESTAMP_WITH_TIMEZONE:
return TimestampTZ.class.getName();
case DECIMAL:
return BigInteger.class.getName();
case BINARY:
return byte[].class.getName();
case OTHER:
case JAVA_OBJECT:
{
switch (tType) {
case INTERVAL_YEAR_MONTH_TYPE:
return HiveIntervalYearMonth.class.getName();
case INTERVAL_DAY_TIME_TYPE:
return HiveIntervalDayTime.class.getName();
default:
return String.class.getName();
}
}
case ARRAY:
case STRUCT:
return String.class.getName();
default:
throw new KyuubiSQLException("Invalid column type: " + columnType);
}
}