/** * Set the state of this and all nested tables to the NULL row. */ protected void setNullRow() { state = NULL_ROW; current = table.getNullRow(); currentSearchRow = current; if (nestedJoin != null) { nestedJoin.visit(new TableFilterVisitor() { @Override public void accept(TableFilter f) { f.setNullRow(); } }); } }
/** * Visit this and all joined or nested table filters. * * @param visitor the visitor */ public void visit(TableFilterVisitor visitor) { TableFilter f = this; do { visitor.accept(f); TableFilter n = f.nestedJoin; if (n != null) { n.visit(visitor); } f = f.join; } while (f != null); }
private DirectLookupEstimator(ArrayList<TableFilter> topFilters) { this.filters = New.arrayList(); this.joinCond = New.arrayList(); for (TableFilter f : topFilters) { f.visit(new TableFilterVisitor() { @Override public void accept(TableFilter f) { filters.add(f); if (f.getJoinCondition() != null) { joinCond.add(f.getJoinCondition()); } } }); } }
f.visit(new TableFilterVisitor() { @Override public void accept(TableFilter f) {
on.mapColumns(this, 0); if (session.getDatabase().getSettings().nestedJoins) { visit(new TableFilterVisitor() { @Override public void accept(TableFilter f) { filter.visit(new TableFilterVisitor() { @Override public void accept(TableFilter f) { filter.joinOuter = outer; if (outer) { visit(new TableFilterVisitor() { @Override public void accept(TableFilter f) { if (session.getDatabase().getSettings().nestedJoins) { if (outer) { filter.visit(new TableFilterVisitor() { @Override public void accept(TableFilter f) {
TableFilter n = top.getNestedJoin(); if (n != null) { n.visit(new TableFilterVisitor() { @Override public void accept(TableFilter f) {