@Override public RexNode visitSubQuery(RexSubQuery subQuery) { if (shuttle != null) { RelNode r = subQuery.rel.accept(shuttle); // look inside sub-queries if (r != subQuery.rel) { subQuery = subQuery.clone(r); } } return super.visitSubQuery(subQuery); } }
@Override public RexNode visitSubQuery(RexSubQuery subQuery) { if (shuttle != null) { RelNode r = subQuery.rel.accept(shuttle); // look inside sub-queries if (r != subQuery.rel) { subQuery = subQuery.clone(r); } } return super.visitSubQuery(subQuery); } }
@Override public RexNode visitSubQuery(RexSubQuery subQuery, P arg) { boolean[] update = {false}; List<RexNode> clonedOperands = visitList(subQuery.operands, update, arg); if (update[0]) { return subQuery.clone(subQuery.getType(), clonedOperands); } else { return subQuery; } }
@Override public RexNode visitSubQuery(RexSubQuery subQuery) { final RelNode r = subQuery.rel.accept(finder); // look inside sub-queries if (r != subQuery.rel) { subQuery = subQuery.clone(r); } return super.visitSubQuery(subQuery); } }
public RexNode visitSubQuery(RexSubQuery subQuery) { boolean[] update = {false}; List<RexNode> clonedOperands = visitList(subQuery.operands, update); if (update[0]) { return subQuery.clone(subQuery.getType(), clonedOperands); } else { return subQuery; } }
@Override public RexNode visitSubQuery(RexSubQuery subQuery) { final RelNode r = subQuery.rel.accept(finder); // look inside sub-queries if (r != subQuery.rel) { subQuery = subQuery.clone(r); } return super.visitSubQuery(subQuery); } }
public RexNode visitSubQuery(RexSubQuery subQuery) { boolean[] update = {false}; List<RexNode> clonedOperands = visitList(subQuery.operands, update); if (update[0]) { return subQuery.clone(subQuery.getType(), clonedOperands); } else { return subQuery; } }
@Override public RexNode visitSubQuery(RexSubQuery subQuery) { final RelNode transformed = converter.flattenTypes(subQuery.rel, true); final RelNode transformed2 = transformed.accept(new RelsWithRexSubQueryFlattener(converter)); return subQuery.clone(transformed2); } }
@Override public RexNode visitSubQuery(RexSubQuery subQuery) { subQuery = (RexSubQuery) super.visitSubQuery(subQuery); RelStructuredTypeFlattener flattener = new RelStructuredTypeFlattener(relBuilder, rexBuilder, toRelContext, restructure); RelNode rel = flattener.rewrite(subQuery.rel); return subQuery.clone(rel); }
@Override public RexNode visitSubQuery(RexSubQuery subQuery) { subQuery = (RexSubQuery) super.visitSubQuery(subQuery); RelStructuredTypeFlattener flattener = new RelStructuredTypeFlattener(relBuilder, rexBuilder, toRelContext, restructure); RelNode rel = flattener.rewrite(subQuery.rel); return subQuery.clone(rel); }
@Override public RexNode visitSubQuery(RexSubQuery subQuery) { RelNode transformed; try { transformed = PrelTransformer.transform(config, PlannerType.HEP_AC, PlannerPhase.JDBC_PUSHDOWN, subQuery.rel, traitSet, false); // We may need to run the planner again on the sub-queries in the sub-tree this produced. final RelsWithRexSubQueryTransformer nestedSubqueryTransformer = new RelsWithRexSubQueryTransformer(config); transformed = transformed.accept(nestedSubqueryTransformer); if (!(transformed instanceof JdbcCrel) || nestedSubqueryTransformer.failed()) { failed = true; return subQuery; } } catch (Throwable t) { failed = true; return subQuery; } return subQuery.clone(((JdbcCrel) transformed).getInput()); } }