@Override public ExplainPlan getExplainPlan() throws SQLException { return new ExplainPlan(Collections.singletonList("CREATE SEQUENCE")); } };
@Override public ExplainPlan getExplainPlan() throws SQLException { return new ExplainPlan(Collections.singletonList("OPEN CURSOR")); } };
@Override public ExplainPlan getExplainPlan() throws SQLException { return new ExplainPlan(Collections.singletonList("CLOSE CURSOR")); } };
@Override public ExplainPlan getExplainPlan() throws SQLException { return new ExplainPlan(Collections.singletonList("CREATE SCHEMA")); }
@Override public ExplainPlan getExplainPlan() throws SQLException { return new ExplainPlan(Collections.singletonList("USE SCHEMA")); }
@Override public ExplainPlan getExplainPlan() throws SQLException { return new ExplainPlan(Collections.singletonList("ALTER INDEX")); }
@Override public ExplainPlan getExplainPlan() throws SQLException { return new ExplainPlan(Collections.singletonList("CREATE INDEX")); }
@Override public ExplainPlan getExplainPlan() throws SQLException { return new ExplainPlan(Collections.singletonList("CREATE TABLE")); } };
@Override public ExplainPlan getExplainPlan() throws SQLException { return new ExplainPlan(Collections.singletonList("DECLARE CURSOR")); } };
@Override public ExplainPlan getExplainPlan() throws SQLException { return new ExplainPlan(Collections.singletonList("DELETE SINGLE ROW")); }
@Override public ExplainPlan getExplainPlan() throws SQLException { List<String> queryPlanSteps = queryPlan.getExplainPlan().getPlanSteps(); List<String> planSteps = Lists.newArrayListWithExpectedSize(queryPlanSteps.size()+1); planSteps.add("UPSERT SELECT"); planSteps.addAll(queryPlanSteps); return new ExplainPlan(planSteps); }
@Override public ExplainPlan getExplainPlan() throws SQLException { List<String> queryPlanSteps = aggPlan.getExplainPlan().getPlanSteps(); List<String> planSteps = Lists.newArrayListWithExpectedSize(queryPlanSteps.size()+1); planSteps.add("DELETE ROWS"); planSteps.addAll(queryPlanSteps); return new ExplainPlan(planSteps); }
@Override public ExplainPlan getExplainPlan() throws SQLException { List<String> queryPlanSteps = bestPlan.getExplainPlan().getPlanSteps(); List<String> planSteps = Lists.newArrayListWithExpectedSize(queryPlanSteps.size()+1); planSteps.add("DELETE ROWS"); planSteps.addAll(queryPlanSteps); return new ExplainPlan(planSteps); }
@Override public ExplainPlan getExplainPlan() throws SQLException { List<String> queryPlanSteps = aggPlan.getExplainPlan().getPlanSteps(); List<String> planSteps = Lists.newArrayListWithExpectedSize(queryPlanSteps.size()+1); planSteps.add("UPSERT ROWS"); planSteps.addAll(queryPlanSteps); return new ExplainPlan(planSteps); }
@Override public ExplainPlan getExplainPlan() throws SQLException { List<String> planSteps = Lists.newArrayList(delegate.getExplainPlan().getPlanSteps()); if (postFilter != null) { planSteps.add("CLIENT FILTER BY " + postFilter.toString()); } return new ExplainPlan(planSteps); }
@Override public ExplainPlan getExplainPlan() throws SQLException { List<String> planSteps = delegate.getExplainPlan().getPlanSteps(); planSteps.add("UNNEST"); return new ExplainPlan(planSteps); }
@Override public ExplainPlan getExplainPlan() throws SQLException { return new ExplainPlan(Collections.singletonList("CREATE" + (create.getFunctionInfo().isReplace() ? " OR REPLACE" : "") + " FUNCTION")); }
@Override public ExplainPlan getExplainPlan() throws SQLException { List<String> planSteps = Lists.newArrayListWithExpectedSize(2); if (context.getSequenceManager().getSequenceCount() > 0) { planSteps.add("CLIENT RESERVE " + context.getSequenceManager().getSequenceCount() + " SEQUENCES"); } planSteps.add("PUT SINGLE ROW"); return new ExplainPlan(planSteps); }
@Override public ExplainPlan getExplainPlan() throws SQLException { List<String> steps = Lists.newArrayList(); steps.add("SORT-MERGE-JOIN (" + type.toString().toUpperCase() + ") TABLES"); for (String step : lhsPlan.getExplainPlan().getPlanSteps()) { steps.add(" " + step); } steps.add("AND" + (rhsSchema.getFieldCount() == 0 ? " (SKIP MERGE)" : "")); for (String step : rhsPlan.getExplainPlan().getPlanSteps()) { steps.add(" " + step); } return new ExplainPlan(steps); }
@Override public ExplainPlan getExplainPlan() throws SQLException { if (context.getScanRanges() == ScanRanges.NOTHING) { return new ExplainPlan(Collections.singletonList("DEGENERATE SCAN OVER " + getTableRef().getTable().getName().getString())); } ResultIterator iterator = iterator(); ExplainPlan explainPlan = new ExplainPlan(getPlanSteps(iterator)); iterator.close(); return explainPlan; }