From 1c1d2b3d43d153ab19ff76fdce652aac4c488c0b Mon Sep 17 00:00:00 2001 From: nicolas-paris Date: Tue, 3 Feb 2026 10:36:04 +0100 Subject: [PATCH] feat: extract comments from avro schema --- .../java/org/apache/xtable/avro/AvroSchemaConverter.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/xtable-core/src/main/java/org/apache/xtable/avro/AvroSchemaConverter.java b/xtable-core/src/main/java/org/apache/xtable/avro/AvroSchemaConverter.java index 9b4c3eacb..b08248b94 100644 --- a/xtable-core/src/main/java/org/apache/xtable/avro/AvroSchemaConverter.java +++ b/xtable-core/src/main/java/org/apache/xtable/avro/AvroSchemaConverter.java @@ -186,12 +186,19 @@ private InternalSchema toInternalSchema( List subFields = new ArrayList<>(schema.getFields().size()); for (Schema.Field avroField : schema.getFields()) { IdMapping idMapping = fieldNameToIdMapping.get(avroField.name()); + String fieldDoc = avroField.doc(); + if (fieldDoc == null) { + fieldDoc = avroField.getProp("comment"); + } InternalSchema subFieldSchema = toInternalSchema( avroField.schema(), SchemaUtils.getFullyQualifiedPath(parentPath, avroField.name()), getChildIdMap(idMapping)); Object defaultValue = getDefaultValue(avroField); + if (fieldDoc != null && subFieldSchema.getComment() == null) { + subFieldSchema = InternalSchema.builderFrom(subFieldSchema).comment(fieldDoc).build(); + } subFields.add( InternalField.builder() .parentPath(parentPath)