@Override public void prepare() { if (condition != null) { condition.mapColumns(tableFilter, 0); condition = condition.optimize(session); condition.createIndexConditions(session, tableFilter); } for (int i = 0, size = columns.size(); i < size; i++) { Column c = columns.get(i); Expression e = expressionMap.get(c); e.mapColumns(tableFilter, 0); expressionMap.put(c, e.optimize(session)); } TableFilter[] filters = new TableFilter[] { tableFilter }; PlanItem item = tableFilter.getBestPlanItem(session, filters, 0); tableFilter.setPlanItem(item); tableFilter.prepare(); }
@Override public void prepare() { if (condition != null) { condition.mapColumns(tableFilter, 0); condition = condition.optimize(session); condition.createIndexConditions(session, tableFilter); } TableFilter[] filters = new TableFilter[] { tableFilter }; PlanItem item = tableFilter.getBestPlanItem(session, filters, 0); tableFilter.setPlanItem(item); tableFilter.prepare(); }
if (nestedJoin != null) { setEvaluatable(nestedJoin); item.setNestedJoinPlan(nestedJoin.getBestPlanItem(s, filters, filter)); item.cost += item.cost * item.getNestedJoinPlan().cost; filter++; } while (filters[filter] != join); item.setJoinPlan(join.getBestPlanItem(s, filters, filter)); item.cost += item.cost * item.getJoinPlan().cost;
t.debug("Plan : for table filter {0}", tableFilter); PlanItem item = tableFilter.getBestPlanItem(session, allFilters, i); planItems.put(tableFilter, item); if (t.isDebugEnabled()) {