@Override public void setEvaluatable(TableFilter tableFilter, boolean b) { left.setEvaluatable(tableFilter, b); right.setEvaluatable(tableFilter, b); }
@Override public Expression optimize(Session session) { query.prepare(); return this; }
/** * Get the current result of the expression. The rows may not be of the same * type, therefore the rows may not be unique. * * @return the result */ public ResultInterface getCurrentResult() { return expressionQuery.query(0); }
@Override public void mapColumns(ColumnResolver resolver, int level) { left.mapColumns(resolver, level); right.mapColumns(resolver, level); }
@Override public boolean isEverything(ExpressionVisitor visitor) { return query.isEverything(visitor); }
@Override public void setForUpdate(boolean forUpdate) { left.setForUpdate(forUpdate); right.setForUpdate(forUpdate); isForUpdate = forUpdate; }
@Override public void updateAggregate(Session s) { left.updateAggregate(s); right.updateAggregate(s); }
@Override public LocalResult query(int limit, ResultTarget target) { // union doesn't always know the parameter list of the left and right // queries return queryWithoutCache(limit, target); }
@Override public void accept(TableFilter f) { command.addTableFilter(f, false); } });
@Override public int getCost() { return query.getCostAsExpression(); }
@Override public int getColumnCount() { return left.getColumnCount(); }
@Override public boolean isReadOnly() { return left.isReadOnly() && right.isReadOnly(); }
@Override public ResultInterface queryMeta() { return query(-1); }
@Override public void mapColumns(ColumnResolver resolver, int level) { query.mapColumns(resolver, level + 1); }
@Override public void setEvaluatable(TableFilter tableFilter, boolean b) { query.setEvaluatable(tableFilter, b); }
@Override public Expression optimize(Session session) { query.prepare(); return this; }
@Override public LocalResult query(int maxrows) { return query(maxrows, null); }
@Override public boolean isEverything(ExpressionVisitor visitor) { return query.isEverything(visitor); }
@Override public void mapColumns(ColumnResolver resolver, int level) { query.mapColumns(resolver, level + 1); }