Skip to content

Commit 623cc6d

Browse files
Improve columnAccessInfo setting logic
1 parent f7609ed commit 623cc6d

File tree

1 file changed

+4
-5
lines changed

1 file changed

+4
-5
lines changed

ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveRelFieldTrimmer.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -214,11 +214,10 @@ protected void setColumnAccessInfoForViews(RelNode rel, ImmutableBitSet fieldsUs
214214
relNodeToTableAndProjects.containsKey(rel)) {
215215
Table table = relNodeToTableAndProjects.get(rel);
216216
List<FieldSchema> tableAllCols = table.getAllCols();
217-
218-
rel.getRowType().getFieldList().stream()
219-
.map(RelDataTypeField::getIndex)
220-
.filter(fieldsUsed::get)
221-
.forEach(i -> columnAccessInfo.add(table.getCompleteName(), tableAllCols.get(i).getName()));
217+
218+
for (int i = fieldsUsed.nextSetBit(0); i >= 0; i = fieldsUsed.nextSetBit(i + 1)) {
219+
columnAccessInfo.add(table.getCompleteName(), tableAllCols.get(i).getName());
220+
}
222221
}
223222
}
224223

0 commit comments

Comments
 (0)