private Op union(OpBGP opBGP) { // By using the unbinding Var.ANON, the distinct works. // Else, we get duplicates from projection out of the graph var. Var v = Var.ANON ; //varAlloc.allocVar() ; Op op = new OpGraph(v, opBGP) ; op = OpDistinct.create(op) ; return op ; }
@Override public Op make(ItemList list) { BuilderLib.checkLength(2, list, "distinct") ; Op sub = build(list, 1) ; return OpDistinct.create(sub) ; } } ;
public Op toOp(Op result) { if(filter.getExpr().equals(NodeValue.TRUE)) { result = OpFilter.filter(filter.getExpr(), result); } result = OpUtils.applyExtendProject(result, preDistinctVarDefs); if(postDistinctVarDefs != null) { result = OpDistinct.create(result); result = OpUtils.applyExtendProject(result, postDistinctVarDefs); } return result; }
public Op toOp(Op result) { if(filter.getExpr().equals(NodeValue.TRUE)) { result = OpFilter.filter(filter.getExpr(), result); } result = OpUtils.applyExtendProject(result, preDistinctVarDefs); if(postDistinctVarDefs != null) { result = OpDistinct.create(result); result = OpUtils.applyExtendProject(result, postDistinctVarDefs); } return result; }
public Op toOp(Op result) { if(filter.getExpr().equals(NodeValue.TRUE)) { result = OpFilter.filter(filter.getExpr(), result); } result = OpUtils.applyExtendProject(result, preDistinctVarDefs); if(postDistinctVarDefs != null) { result = OpDistinct.create(result); result = OpUtils.applyExtendProject(result, postDistinctVarDefs); } return result; }
public Op toOp(Op result) { if(filter.getExpr().equals(NodeValue.TRUE)) { result = OpFilter.filter(filter.getExpr(), result); } result = OpUtils.applyExtendProject(result, preDistinctVarDefs); if(postDistinctVarDefs != null) { result = OpDistinct.create(result); result = OpUtils.applyExtendProject(result, postDistinctVarDefs); } return result; }
newOp = OpDistinct.create(newOp) ; if ( reduce ) newOp = OpReduced.create(newOp) ;
op = OpDistinct.create(op) ;