public void rewriteRel(TableAccessRel rel) { RelNode newRel = rel.getTable().toRel(toRelContext); setNewForOldRel(rel, newRel); }
public void rewriteRel(TableAccessRel rel) { RelNode newRel = rel.getTable().toRel(toRelContext); setNewForOldRel(rel, newRel); }
public void rewriteGeneric(RelNode rel) { RelNode newRel = rel.copy(rel.getTraitSet(), rel.getInputs()); List<RelNode> oldInputs = rel.getInputs(); for (int i = 0; i < oldInputs.size(); ++i) { newRel.replaceInput( i, getNewForOldRel(oldInputs.get(i))); } setNewForOldRel(rel, newRel); }
public void rewriteGeneric(RelNode rel) { RelNode newRel = rel.copy(rel.getTraitSet(), rel.getInputs()); List<RelNode> oldInputs = rel.getInputs(); for (int i = 0; i < oldInputs.size(); ++i) { newRel.replaceInput( i, getNewForOldRel(oldInputs.get(i))); } setNewForOldRel(rel, newRel); }
public void rewriteRel(ProjectRel rel) { final List<RexNode> flattenedExpList = new ArrayList<RexNode>(); final List<String> flattenedFieldNameList = new ArrayList<String>(); List<String> fieldNames = rel.getRowType().getFieldNames(); flattenProjections( rel.getProjects(), fieldNames, "", flattenedExpList, flattenedFieldNameList); RelNode newRel = CalcRel.createProject( getNewForOldRel(rel.getChild()), flattenedExpList, flattenedFieldNameList); setNewForOldRel(rel, newRel); }
public void rewriteRel(ProjectRel rel) { final List<RexNode> flattenedExpList = new ArrayList<RexNode>(); final List<String> flattenedFieldNameList = new ArrayList<String>(); List<String> fieldNames = rel.getRowType().getFieldNames(); flattenProjections( rel.getProjects(), fieldNames, "", flattenedExpList, flattenedFieldNameList); RelNode newRel = CalcRel.createProject( getNewForOldRel(rel.getChild()), flattenedExpList, flattenedFieldNameList); setNewForOldRel(rel, newRel); }
public void rewriteRel(FilterRel rel) { RelNode newRel = CalcRel.createFilter( getNewForOldRel(rel.getChild()), flattenFieldAccesses(rel.getCondition())); setNewForOldRel(rel, newRel); }
public void rewriteRel(FilterRel rel) { RelNode newRel = CalcRel.createFilter( getNewForOldRel(rel.getChild()), flattenFieldAccesses(rel.getCondition())); setNewForOldRel(rel, newRel); }
public void rewriteRel(TableModificationRel rel) { TableModificationRel newRel = new TableModificationRel( rel.getCluster(), rel.getTable(), rel.getCatalogReader(), getNewForOldRel(rel.getChild()), rel.getOperation(), rel.getUpdateColumnList(), true); setNewForOldRel(rel, newRel); }
public void rewriteRel(TableModificationRel rel) { TableModificationRel newRel = new TableModificationRel( rel.getCluster(), rel.getTable(), rel.getCatalogReader(), getNewForOldRel(rel.getChild()), rel.getOperation(), rel.getUpdateColumnList(), true); setNewForOldRel(rel, newRel); }
public void rewriteRel(CorrelatorRel rel) { Iterator oldCorrelations = rel.getCorrelations().iterator(); ArrayList<CorrelatorRel.Correlation> newCorrelations = new ArrayList<CorrelatorRel.Correlation>(); while (oldCorrelations.hasNext()) { CorrelatorRel.Correlation c = (CorrelatorRel.Correlation) oldCorrelations.next(); RelDataType corrFieldType = rel.getLeft().getRowType().getFieldList().get(c.getOffset()) .getType(); if (corrFieldType.isStruct()) { throw Util.needToImplement("correlation on structured type"); } newCorrelations.add( new CorrelatorRel.Correlation( c.getId(), getNewForOldInput(c.getOffset()))); } CorrelatorRel newRel = new CorrelatorRel( rel.getCluster(), getNewForOldRel(rel.getLeft()), getNewForOldRel(rel.getRight()), rel.getCondition(), newCorrelations, rel.getJoinType()); setNewForOldRel(rel, newRel); }
public void rewriteRel(JoinRel rel) { JoinRel newRel = new JoinRel( rel.getCluster(), getNewForOldRel(rel.getLeft()), getNewForOldRel(rel.getRight()), flattenFieldAccesses(rel.getCondition()), rel.getJoinType(), rel.getVariablesStopped()); setNewForOldRel(rel, newRel); }
public void rewriteRel(JoinRel rel) { JoinRel newRel = new JoinRel( rel.getCluster(), getNewForOldRel(rel.getLeft()), getNewForOldRel(rel.getRight()), flattenFieldAccesses(rel.getCondition()), rel.getJoinType(), rel.getVariablesStopped()); setNewForOldRel(rel, newRel); }
public void rewriteRel(CorrelatorRel rel) { final List<Correlation> newCorrelations = new ArrayList<Correlation>(); for (Correlation c : rel.getCorrelations()) { RelDataType corrFieldType = rel.getLeft().getRowType().getFieldList().get(c.getOffset()) .getType(); if (corrFieldType.isStruct()) { throw Util.needToImplement("correlation on structured type"); } newCorrelations.add( new Correlation( c.getId(), getNewForOldInput(c.getOffset()))); } CorrelatorRel newRel = new CorrelatorRel( rel.getCluster(), getNewForOldRel(rel.getLeft()), getNewForOldRel(rel.getRight()), rel.getCondition(), newCorrelations, rel.getJoinType()); setNewForOldRel(rel, newRel); }
public void rewriteRel(SortRel rel) { RelCollation oldCollation = rel.getCollation(); final RelNode oldChild = rel.getChild(); final RelNode newChild = getNewForOldRel(oldChild); final Mappings.TargetMapping mapping = getNewForOldInputMapping(oldChild); // validate for (RelFieldCollation field : oldCollation.getFieldCollations()) { int oldInput = field.getFieldIndex(); RelDataType sortFieldType = oldChild.getRowType().getFieldList().get(oldInput).getType(); if (sortFieldType.isStruct()) { // TODO jvs 10-Feb-2005 throw Util.needToImplement("sorting on structured types"); } } SortRel newRel = new SortRel( rel.getCluster(), rel.getCluster().traitSetOf(Convention.NONE), newChild, RexUtil.apply(mapping, oldCollation)); setNewForOldRel(rel, newRel); }
newProgram, Collections.<RelCollation>emptyList()); setNewForOldRel(rel, newRel);
newProgram, Collections.<RelCollation>emptyList()); setNewForOldRel(rel, newRel);
public void rewriteRel(SortRel rel) { RelCollation oldCollation = rel.getCollation(); final RelNode oldChild = rel.getChild(); final RelNode newChild = getNewForOldRel(oldChild); final Mappings.TargetMapping mapping = getNewForOldInputMapping(oldChild); // validate for (RelFieldCollation field : oldCollation.getFieldCollations()) { int oldInput = field.getFieldIndex(); RelDataType sortFieldType = oldChild.getRowType().getFieldList().get(oldInput).getType(); if (sortFieldType.isStruct()) { // TODO jvs 10-Feb-2005 throw Util.needToImplement("sorting on structured types"); } } RelCollation newCollation = RexUtil.apply(mapping, oldCollation); SortRel newRel = new SortRel( rel.getCluster(), rel.getCluster().traitSetOf(Convention.NONE).plus(newCollation), newChild, newCollation, rel.offset, rel.fetch); setNewForOldRel(rel, newRel); }