in cassandra-four-zero/src/main/java/org/apache/cassandra/spark/reader/SchemaBuilder.java [511:535]
private List<CqlField> buildFields(TableMetadata metadata, Map<String, CqlField.CqlUdt> udts)
{
Iterator<ColumnMetadata> it = metadata.allColumnsInSelectOrder();
List<CqlField> result = new ArrayList<>();
int position = 0;
while (it.hasNext())
{
ColumnMetadata col = it.next();
boolean isPartitionKey = col.isPartitionKey();
boolean isClusteringColumn = col.isClusteringColumn();
boolean isStatic = col.isStatic();
String name = col.name.toCQLString();
CqlField.CqlType type = col.type.isUDT() ? udts.get(((UserType) col.type).getNameAsString())
: bridge.parseType(col.type.asCQL3Type().toString(), udts);
boolean isFrozen = col.type.isFreezable() && !col.type.isMultiCell();
result.add(new CqlField(isPartitionKey,
isClusteringColumn,
isStatic,
name,
!(type instanceof CqlFrozen) && isFrozen ? CqlFrozen.build(type) : type,
position));
position++;
}
return result;
}