@Override public void explain(List<String> planSteps) { delegate.explain(planSteps); }
@Override public void explain(List<String> planSteps) { delegate.explain(planSteps); }
@Override public void explain(List<String> planSteps) { resultIterator.explain(planSteps); }
@Override public void explain(List<String> planSteps) { scanIterator.explain(planSteps); }
@Override public void explain(List<String> planSteps) { iterator.explain(planSteps); }
private List<String> getPlanSteps(ResultIterator iterator) { List<String> planSteps = Lists.newArrayListWithExpectedSize(5); iterator.explain(planSteps); return planSteps; }
@Override public void explain(List<String> planSteps) { delegate.explain(planSteps); planSteps.add("CLIENT FILTER BY " + expression.toString()); }
@Override public void explain(List<String> planSteps) { delegate.explain(planSteps); planSteps.add("CLIENT" + (offset == null || offset == 0 ? "" : " OFFSET " + offset) + (limit == null ? "" : " TOP " + limit + " ROW" + (limit == 1 ? "" : "S")) + " SORTED BY " + orderByExpressions.toString()); }
public static String getExplainPlan(ResultIterator iterator) throws SQLException { List<String> steps = Lists.newArrayList(); iterator.explain(steps); StringBuilder buf = new StringBuilder(); for (String step : steps) { buf.append(step); buf.append('\n'); } if (buf.length() > 0) { buf.setLength(buf.length()-1); } return buf.toString(); }
@Override public ExplainPlan getExplainPlan() throws SQLException { List<String> steps = new ArrayList<String>(); steps.add("UNION ALL OVER " + this.plans.size() + " QUERIES"); ResultIterator iterator = iterator(); iterator.explain(steps); // Indent plans steps nested under union, except last client-side merge/concat step (if there is one) int offset = !orderBy.getOrderByExpressions().isEmpty() && limit != null ? 2 : limit != null ? 1 : 0; for (int i = 1 ; i < steps.size()-offset; i++) { steps.set(i, " " + steps.get(i)); } return new ExplainPlan(steps); }
@Override public void explain(List<String> planSteps) { resultIterator.explain(planSteps); }
private List<String> getPlanSteps(ResultIterator iterator) { List<String> planSteps = Lists.newArrayListWithExpectedSize(5); iterator.explain(planSteps); return planSteps; }
private List<String> getPlanSteps(ResultIterator iterator){ List<String> planSteps = Lists.newArrayListWithExpectedSize(5); iterator.explain(planSteps); return planSteps; }
private List<String> getPlanSteps(ResultIterator iterator) { List<String> planSteps = Lists.newArrayListWithExpectedSize(5); iterator.explain(planSteps); return planSteps; }
@Override public void explain(List<String> planSteps) { delegate.explain(planSteps); planSteps.add("CLIENT" + (offset == null || offset == 0 ? "" : " OFFSET " + offset) + (limit == null ? "" : " TOP " + limit + " ROW" + (limit == 1 ? "" : "S")) + " SORTED BY " + orderByExpressions.toString()); }
@Override public void explain(List<String> planSteps) { delegate.explain(planSteps); planSteps.add("CLIENT" + (offset == null || offset == 0 ? "" : " OFFSET " + offset) + (limit == null ? "" : " TOP " + limit + " ROW" + (limit == 1 ? "" : "S")) + " SORTED BY " + orderByExpressions.toString()); }
@Override public void explain(List<String> planSteps) { delegate.explain(planSteps); planSteps.add("CLIENT FILTER BY " + expression.toString()); }
@Override public void explain(List<String> planSteps) { delegate.explain(planSteps); planSteps.add("CLIENT FILTER BY " + expression.toString()); }
public static String getExplainPlan(ResultIterator iterator) throws SQLException { List<String> steps = Lists.newArrayList(); iterator.explain(steps); StringBuilder buf = new StringBuilder(); for (String step : steps) { buf.append(step); buf.append('\n'); } if (buf.length() > 0) { buf.setLength(buf.length()-1); } return buf.toString(); }
@Override public ExplainPlan getExplainPlan() throws SQLException { List<String> steps = new ArrayList<>(); ResultIterator iterator = iterator(); iterator.explain(steps); return new ExplainPlan(steps); }