Github user paul-rogers commented on a diff in the pull request: https://github.com/apache/drill/pull/1138#discussion_r171606330 --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/store/avro/AvroRecordReader.java --- @@ -154,6 +156,12 @@ public int next() { writer.setValueCount(recordCount); + // adds fields which don't exist in the table but should be present in the schema + if (recordCount > 0) { + JsonReaderUtils.ensureAtLeastOneField(writer, getColumns(), false, --- End diff -- In general, this is a bad idea, though existing code does this. If we find an empty file in one scanner, but a real file in another, we create an unnecessary schema change by making up a column. Jinfeng's changes last year are supposed to handle the "fast none" case of a reader with no rows. There should be no reason to add a dummy column. Old code that adds such a column should be fixed. IMHO, code that does not add dummy columns should not begin to do so.
---