@Override public void accept(TableFilter f) { command.addTableFilter(f, false); } });
@Override public void mapColumns(ColumnResolver resolver, int level) { left.mapColumns(resolver, level); right.mapColumns(resolver, level); }
@Override public void setEvaluatable(TableFilter tableFilter, boolean b) { left.setEvaluatable(tableFilter, b); right.setEvaluatable(tableFilter, b); }
@Override public void updateAggregate(Session s) { left.updateAggregate(s); right.updateAggregate(s); }
@Override public boolean isDeterministic() { if (allowRecursive || viewQuery == null) { return false; } return viewQuery.isEverything(ExpressionVisitor.DETERMINISTIC_VISITOR); }
@Override public void setForUpdate(boolean forUpdate) { left.setForUpdate(forUpdate); right.setForUpdate(forUpdate); isForUpdate = forUpdate; }
/** * 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 double getCost(Session session, int[] masks, TableFilter[] filters, int filter, SortOrder sortOrder, HashSet<Column> allColumnsSet) { return recursive ? 1000 : query.getCost(); }
@Override public int getColumnCount() { return left.getColumnCount(); }
@Override public boolean isReadOnly() { return isEverything(ExpressionVisitor.READONLY_VISITOR); }
@Override public int getCost() { return query.getCostAsExpression(); }
public MergeUsing(Merge merge) { super(merge.getSession()); // bring across only the already parsed data from Merge... this.targetTable = merge.getTargetTable(); this.targetTableFilter = merge.getTargetTableFilter(); }
@Override public void prepareJoinBatch() { left.prepareJoinBatch(); right.prepareJoinBatch(); }
@Override public void fireBeforeSelectTriggers() { left.fireBeforeSelectTriggers(); right.fireBeforeSelectTriggers(); }
@Override public ResultInterface queryMeta() { return query(-1); }
@Override public void close() { if (!isClosed()) { super.close(); resetJoinBatchAfterQuery(); } }
@Override public void reset() { super.reset(); currentGroup = null; }
@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 int getCost() { return query.getCostAsExpression(); }