@Override public TrimResult trimFields(TableScan tableAccessRel, ImmutableBitSet fieldsUsed, Set<RelDataTypeField> extraFields) { final TrimResult result = super.trimFields(tableAccessRel, fieldsUsed, extraFields); if (fetchStats) { fetchColStats(result.getKey(), tableAccessRel, fieldsUsed, extraFields); } return result; }
@Override public TrimResult trimFields(TableScan tableAccessRel, ImmutableBitSet fieldsUsed, Set<RelDataTypeField> extraFields) { final TrimResult result = super.trimFields(tableAccessRel, fieldsUsed, extraFields); if (fetchStats) { fetchColStats(result.getKey(), tableAccessRel, fieldsUsed, extraFields); } return result; }
/** * Variant of {@link #trimFields(RelNode, ImmutableBitSet, Set)} for * {@link org.apache.calcite.rel.logical.LogicalProject}. */ public TrimResult trimFields(Project project, ImmutableBitSet fieldsUsed, Set<RelDataTypeField> extraFields) { // set columnAccessInfo for ViewColumnAuthorization for (Ord<RexNode> ord : Ord.zip(project.getProjects())) { if (fieldsUsed.get(ord.i)) { if (this.columnAccessInfo != null && this.viewProjectToTableSchema != null && this.viewProjectToTableSchema.containsKey(project)) { Table tab = this.viewProjectToTableSchema.get(project); this.columnAccessInfo.add(tab.getCompleteName(), tab.getAllCols().get(ord.i).getName()); } } } return super.trimFields(project, fieldsUsed, extraFields); }
/** * Variant of {@link #trimFields(RelNode, ImmutableBitSet, Set)} for * {@link org.apache.calcite.rel.logical.LogicalProject}. */ public TrimResult trimFields(Project project, ImmutableBitSet fieldsUsed, Set<RelDataTypeField> extraFields) { // set columnAccessInfo for ViewColumnAuthorization for (Ord<RexNode> ord : Ord.zip(project.getProjects())) { if (fieldsUsed.get(ord.i)) { if (this.columnAccessInfo != null && this.viewProjectToTableSchema != null && this.viewProjectToTableSchema.containsKey(project)) { Table tab = this.viewProjectToTableSchema.get(project); this.columnAccessInfo.add(tab.getCompleteName(), tab.getCols().get(ord.i).getName()); } } } return super.trimFields(project, fieldsUsed, extraFields); }
@Override public TrimResult trimFields( SetOp setOp, ImmutableBitSet fieldsUsed, Set<RelDataTypeField> extraFields) { if(!setOp.all) { return result(setOp, Mappings.createIdentity(setOp.getRowType().getFieldCount())); } return super.trimFields(setOp, fieldsUsed, extraFields); }
return trimFields( (RelNode) tableAccessRel, fieldsUsed, extraFields);
return trimFields( (RelNode) tableAccessRel, fieldsUsed, extraFields);
int count = FlattenVisitors.count(project.getProjects()); if(count == 0) { return super.trimFields(project, fieldsUsed, extraFields); TrimResult result = super.trimFields(project, fieldsUsed, extraFields); final TrimResult result2 = super.trimFields(project, fieldsIncludingFlattens, extraFields);