[ https://issues.apache.org/jira/browse/DRILL-8188?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17523097#comment-17523097 ]
ASF GitHub Bot commented on DRILL-8188: --------------------------------------- luocooong commented on code in PR #2515: URL: https://github.com/apache/drill/pull/2515#discussion_r851626806 ########## exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/scan/v3/schema/ScanSchemaResolver.java: ########## @@ -189,7 +189,7 @@ private void insertColumn(ColumnMetadata col) { switch (mode) { case FIRST_READER_SCHEMA: case READER_SCHEMA: - if (schema.projectionType() != ProjectionType.ALL) { + if (schema.projectionType() != ProjectionType.ALL && !col.isArray()) { Review Comment: Let's look at this case : 1. batch reader received the project column, from ` SELECT path, data_type, file_name FROM ` in the constructor(). 2. schema is [TupleSchema [ProjectedColumn [`path` (LATE:REQUIRED)]], [ProjectedColumn [`data_type` (LATE:REQUIRED)]], [ProjectedColumn [`file_name` (LATE:REQUIRED)]]]. 3. ProjectionType = 'SOME'. 4. batch reader create new array column in next(). 5. do the project for the schema. ```java ColumnHandle existing = schema.find(colSchema.name()); if (existing == null) { insertColumn(colSchema); } ``` 6. catch and throw the `IllegalStateException`. 7. failed to reader the format data. In EVF1, creating array fields dynamically is allowed and does not throw such exceptions. > Convert HDF5 format to EVF2 > --------------------------- > > Key: DRILL-8188 > URL: https://issues.apache.org/jira/browse/DRILL-8188 > Project: Apache Drill > Issue Type: Improvement > Affects Versions: 1.20.0 > Reporter: Cong Luo > Assignee: Cong Luo > Priority: Major > > Use EVF V2 instead of old V1. > Also, fixed a few bugs in V2 framework. -- This message was sent by Atlassian Jira (v8.20.1#820001)