[
https://issues.apache.org/jira/browse/DRILL-8188?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17523102#comment-17523102
]
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 repeated list 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 repeated list 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)