in v2/spanner-common/src/main/java/com/google/cloud/teleport/v2/spanner/ddl/Column.java [122:184]
private static String typeString(Type type, Integer size) {
switch (type.getCode()) {
case BOOL:
return Type.Code.BOOL.getName();
case PG_BOOL:
return Type.Code.PG_BOOL.getName();
case INT64:
return Type.Code.INT64.getName();
case PG_INT8:
return Type.Code.PG_INT8.getName();
case FLOAT64:
return Type.Code.FLOAT64.getName();
case PG_FLOAT8:
return Type.Code.PG_FLOAT8.getName();
case FLOAT32:
return Type.Code.FLOAT32.getName();
case PG_FLOAT4:
return Type.Code.PG_FLOAT4.getName();
case STRING:
return Type.Code.STRING + "(" + (size == -1 ? "MAX" : Integer.toString(size)) + ")";
case PG_VARCHAR:
return Type.Code.PG_VARCHAR.getName()
+ (size == -1 ? "" : ("(" + Integer.toString(size) + ")"));
case PG_TEXT:
return Type.Code.PG_TEXT.getName();
case BYTES:
return Type.Code.BYTES + "(" + (size == -1 ? "MAX" : Integer.toString(size)) + ")";
case PG_BYTEA:
return Type.Code.PG_BYTEA.getName();
case DATE:
return Type.Code.DATE.getName();
case PG_DATE:
return Type.Code.PG_DATE.getName();
case TIMESTAMP:
return Type.Code.TIMESTAMP.getName();
case PG_TIMESTAMPTZ:
return Type.Code.PG_TIMESTAMPTZ.getName();
case NUMERIC:
return Type.Code.NUMERIC.getName();
case PG_NUMERIC:
return Type.Code.PG_NUMERIC.getName();
case JSON:
return Type.Code.JSON.getName();
case PG_JSONB:
return Type.Code.PG_JSONB.getName();
case TOKENLIST:
return Type.Code.TOKENLIST.getName();
case ARRAY:
{
Type arrayType = type.getArrayElementType();
return Type.Code.ARRAY + "<" + typeString(arrayType, size) + ">";
}
case PG_ARRAY:
{
Type arrayType = type.getArrayElementType();
return typeString(arrayType, size) + "[]";
}
case PG_COMMIT_TIMESTAMP:
return Type.Code.PG_COMMIT_TIMESTAMP.getName();
}
throw new IllegalArgumentException("Unknown type " + type);
}