[improvement](Variant Type) Support displaying subcolumns expanded for the variant column (#27764)
This commit is contained in:
@ -123,6 +123,7 @@ public abstract class Type {
|
||||
public static final ScalarType VARIANT = new ScalarType(PrimitiveType.VARIANT);
|
||||
public static final AnyType ANY_STRUCT_TYPE = new AnyStructType();
|
||||
public static final AnyType ANY_ELEMENT_TYPE = new AnyElementType();
|
||||
private static final Map<String, Type> typeMap = new HashMap<>();
|
||||
|
||||
private static final Logger LOG = LogManager.getLogger(Type.class);
|
||||
private static final ArrayList<ScalarType> integerTypes;
|
||||
@ -135,6 +136,43 @@ public abstract class Type {
|
||||
private static final ArrayList<Type> structSubTypes;
|
||||
private static final ArrayList<ScalarType> trivialTypes;
|
||||
|
||||
static {
|
||||
typeMap.put("TINYINT", Type.TINYINT);
|
||||
typeMap.put("SMALLINT", Type.SMALLINT);
|
||||
typeMap.put("INT", Type.INT);
|
||||
typeMap.put("BIGINT", Type.BIGINT);
|
||||
typeMap.put("LARGEINT", Type.LARGEINT);
|
||||
typeMap.put("UNSIGNED_TINYINT", Type.UNSUPPORTED);
|
||||
typeMap.put("UNSIGNED_SMALLINT", Type.UNSUPPORTED);
|
||||
typeMap.put("UNSIGNED_INT", Type.UNSUPPORTED);
|
||||
typeMap.put("UNSIGNED_BIGINT", Type.UNSUPPORTED);
|
||||
typeMap.put("FLOAT", Type.FLOAT);
|
||||
typeMap.put("DISCRETE_DOUBLE", Type.DOUBLE);
|
||||
typeMap.put("DOUBLE", Type.DOUBLE);
|
||||
typeMap.put("CHAR", Type.CHAR);
|
||||
typeMap.put("DATE", Type.DATE);
|
||||
typeMap.put("DATEV2", Type.DATEV2);
|
||||
typeMap.put("DATETIMEV2", Type.DATETIMEV2);
|
||||
typeMap.put("DATETIME", Type.DATETIME);
|
||||
typeMap.put("DECIMAL32", Type.DECIMAL32);
|
||||
typeMap.put("DECIMAL64", Type.DECIMAL64);
|
||||
typeMap.put("DECIMAL128I", Type.DECIMAL128);
|
||||
typeMap.put("DECIMAL", Type.DECIMALV2);
|
||||
typeMap.put("VARCHAR", Type.VARCHAR);
|
||||
typeMap.put("STRING", Type.STRING);
|
||||
typeMap.put("JSONB", Type.JSONB);
|
||||
typeMap.put("VARIANT", Type.VARIANT);
|
||||
typeMap.put("BOOLEAN", Type.BOOLEAN);
|
||||
typeMap.put("HLL", Type.HLL);
|
||||
typeMap.put("STRUCT", Type.STRUCT);
|
||||
typeMap.put("LIST", Type.UNSUPPORTED);
|
||||
typeMap.put("MAP", Type.MAP);
|
||||
typeMap.put("OBJECT", Type.UNSUPPORTED);
|
||||
typeMap.put("ARRAY", Type.ARRAY);
|
||||
typeMap.put("QUANTILE_STATE", Type.QUANTILE_STATE);
|
||||
typeMap.put("AGG_STATE", Type.AGG_STATE);
|
||||
}
|
||||
|
||||
static {
|
||||
integerTypes = Lists.newArrayList();
|
||||
integerTypes.add(TINYINT);
|
||||
@ -2251,5 +2289,9 @@ public abstract class Type {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public static Type getTypeFromTypeName(String typeName) {
|
||||
return typeMap.getOrDefault(typeName, Type.UNSUPPORTED);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user