in zetasql-toolkit-core/src/main/java/com/google/zetasql/toolkit/catalog/io/JsonCatalogDeserializer.java [188:212]
private static SimpleColumn deserializeSimpleColumn(String tableName, JsonObject jsonColumn) {
String columnName =
getFieldAsString(
jsonColumn,
"name",
"Invalid JSON column " + jsonColumn + ". Field name should be string");
String columnType =
getFieldAsString(
jsonColumn,
"type",
"Invalid JSON column " + jsonColumn + ". Field type should be string");
Type parsedType = parseType(columnType);
boolean isPseudoColumn =
jsonColumn.has("isPseudoColumn")
&& getFieldAsBoolean(
jsonColumn,
"isPseudoColumn",
"Invalid JSON column " + jsonColumn + ". Field isPseudoColumn should be bool");
boolean isWriteableColumn = !isPseudoColumn;
return new SimpleColumn(tableName, columnName, parsedType, isPseudoColumn, isWriteableColumn);
}