@Override public boolean equals(Object other) { if (other instanceof BinaryTupleOperator) { BinaryTupleOperator o = (BinaryTupleOperator)other; return leftArg.equals(o.getLeftArg()) && rightArg.equals(o.getRightArg()); } return false; }
private TupleExpr joinOrExpr(BinaryTupleOperator theExpr) { if (theExpr.getLeftArg() != null && theExpr.getRightArg() == null) { return theExpr.getLeftArg(); } else if (theExpr.getLeftArg() == null && theExpr.getRightArg() != null) { return theExpr.getRightArg(); } else if (theExpr.getLeftArg() == null && theExpr.getRightArg() == null) { return null; } else { return theExpr; } }
@Override protected void meetBinaryTupleOperator(BinaryTupleOperator node) { double cost = 0; for (TupleExpr arg : new TupleExpr[] { node.getLeftArg(), node.getRightArg() }) { arg.visit(this); cost += cardinality; } cardinality = cost; } }
@Override protected void meetBinaryTupleOperator(BinaryTupleOperator node) { double cost = 0; for (TupleExpr arg : new TupleExpr[] { node.getLeftArg(), // NOPMD node.getRightArg() }) { arg.visit(this); cost += cardinality; } cardinality = cost; } }
@Override protected void meetBinaryTupleOperator(BinaryTupleOperator node) { node.getLeftArg().visit(this); double leftArgCost = this.cardinality; node.getRightArg().visit(this); cardinality += leftArgCost; }
@Override protected void meetBinaryTupleOperator(BinaryTupleOperator node) { handleChild(SeRQO.LEFTARG, node.getLeftArg()); handleChild(SeRQO.RIGHTARG, node.getRightArg()); super.meetBinaryTupleOperator(node); }
@Override protected void meetBinaryTupleOperator(BinaryTupleOperator node) { if (node.getLeftArg() == former) { if (replacement == null) { replaceNode(node, node.getRightArg()); } else { node.setLeftArg((TupleExpr)replacement); } } else { assert former == node.getRightArg(); if (replacement == null) { replaceNode(node, node.getLeftArg()); } else { node.setRightArg((TupleExpr)replacement); } } }
@Override public BinaryTupleOperator clone() { BinaryTupleOperator clone = (BinaryTupleOperator)super.clone(); clone.setLeftArg(getLeftArg().clone()); clone.setRightArg(getRightArg().clone()); return clone; } }
aJoin.setLeftArg(aExpr); else if (aJoin.getRightArg() == null) { aJoin.setRightArg(aExpr);