in common/src/main/java/org/apache/drill/common/types/Types.java [193:262]
public static String getBaseSqlTypeName(final MajorType type) {
switch (type.getMinorType()) {
// Standard SQL atomic data types:
case BIT: return "BOOLEAN";
case SMALLINT: return "SMALLINT";
case INT: return "INTEGER";
case BIGINT: return "BIGINT";
case FLOAT4: return "FLOAT";
case FLOAT8: return "DOUBLE";
case VARDECIMAL:
case DECIMAL9:
case DECIMAL18:
case DECIMAL28DENSE:
case DECIMAL28SPARSE:
case DECIMAL38DENSE:
case DECIMAL38SPARSE: return "DECIMAL";
case VARCHAR: return "CHARACTER VARYING";
case FIXEDCHAR: return "CHARACTER";
case VAR16CHAR: return "NATIONAL CHARACTER VARYING";
case FIXED16CHAR: return "NATIONAL CHARACTER";
case VARBINARY: return "BINARY VARYING";
case FIXEDBINARY: return "BINARY";
case DATE: return "DATE";
case TIME: return "TIME";
case TIMETZ: return "TIME WITH TIME ZONE";
case TIMESTAMP: return "TIMESTAMP";
case TIMESTAMPTZ: return "TIMESTAMP WITH TIME ZONE";
case INTERVALYEAR: return "INTERVAL YEAR TO MONTH";
case INTERVALDAY: return "INTERVAL DAY TO SECOND";
// Non-standard SQL atomic data types:
case INTERVAL: return "INTERVAL";
case MONEY: return "DECIMAL";
case TINYINT: return "TINYINT";
// Composite types and other types that are not atomic types (SQL standard
// or not) except ARRAY types (handled above):
case MAP: return "STRUCT"; // Drill map represents struct
case DICT: return "MAP";
case LATE: return "ANY";
case NULL: return "NULL";
case UNION: return "UNION";
case GENERIC_OBJECT: return "JAVA_OBJECT";
case LIST: return "LIST";
// Internal types not actually used at level of SQL types(?):
case UINT1: return "TINYINT";
case UINT2: return "SMALLINT";
case UINT4: return "INTEGER";
case UINT8: return "BIGINT";
default:
throw new AssertionError(
"Unexpected/unhandled MinorType value " + type.getMinorType() );
}
}