paul-rogers commented on code in PR #2937: URL: https://github.com/apache/drill/pull/2937#discussion_r1747692804
########## exec/java-exec/src/main/java/org/apache/drill/exec/store/parquet/columnreaders/ColumnReaderFactory.java: ########## @@ -73,7 +74,10 @@ static ColumnReader<?> createFixedColumnReader(ParquetRecordReader recordReader, ConvertedType convertedType = schemaElement.getConverted_type(); // if the column is required, or repeated (in which case we just want to use this to generate our appropriate // ColumnReader for actually transferring data into the data vector inside of our repeated vector - if (descriptor.getMaxDefinitionLevel() == 0 || descriptor.getMaxRepetitionLevel() > 0) { + // Choose a reader based on a ValueVector DataMode since we might want to put + // parquet's REQUIRED column into a Drill's OPTIONAL ValueVector + // see ParquetSchema#tableSchema for details + if (v.getField().getDataMode() != TypeProtos.DataMode.OPTIONAL) { Review Comment: Resolving this now that we've established that we're not resolving type differences, only mode differences. ########## exec/java-exec/src/main/java/org/apache/drill/exec/store/parquet/columnreaders/ColumnReaderFactory.java: ########## @@ -73,7 +74,10 @@ static ColumnReader<?> createFixedColumnReader(ParquetRecordReader recordReader, ConvertedType convertedType = schemaElement.getConverted_type(); // if the column is required, or repeated (in which case we just want to use this to generate our appropriate // ColumnReader for actually transferring data into the data vector inside of our repeated vector - if (descriptor.getMaxDefinitionLevel() == 0 || descriptor.getMaxRepetitionLevel() > 0) { + // Choose a reader based on a ValueVector DataMode since we might want to put + // parquet's REQUIRED column into a Drill's OPTIONAL ValueVector + // see ParquetSchema#tableSchema for details + if (v.getField().getDataMode() != TypeProtos.DataMode.OPTIONAL) { Review Comment: Resolving this now that we've established that we're not resolving type differences, only mode differences. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@drill.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org