/** * Required shallow copy constructor. */ public ArbitraryLengthPathNode(BOp[] args, Map<String, Object> anns) { super(args, anns); subgroup().setSubgroupOfALPNode( true ); }
/** * Required shallow copy constructor. */ public ArbitraryLengthPathNode(BOp[] args, Map<String, Object> anns) { super(args, anns); subgroup().setSubgroupOfALPNode( true ); }
@Override public String toString(int indent) { final String s = indent(indent); final StringBuilder sb = new StringBuilder(); sb.append("\n"); sb.append(s).append(getClass().getSimpleName()); sb.append("(left=").append(left()).append(", right=").append(right()).append(") {"); sb.append(subgroup().toString(indent+1)); sb.append("\n").append(s); sb.append("}"); final Long rangeCount = (Long) getProperty(AST2BOpBase.Annotations.ESTIMATED_CARDINALITY); if (rangeCount != null) { sb.append(" AST2BOpBase.estimatedCardinality="); sb.append(getProperty(AST2BOpBase.Annotations.ESTIMATED_CARDINALITY).toString()); } return sb.toString(); }
@Override public String toString(int indent) { final String s = indent(indent); final StringBuilder sb = new StringBuilder(); sb.append("\n"); sb.append(s).append(getClass().getSimpleName()); sb.append("(left=").append(left()).append(", right=").append(right()).append(") {"); sb.append(subgroup().toString(indent+1)); sb.append("\n").append(s); sb.append("}"); final Long rangeCount = (Long) getProperty(AST2BOpBase.Annotations.ESTIMATED_CARDINALITY); if (rangeCount != null) { sb.append(" AST2BOpBase.estimatedCardinality="); sb.append(getProperty(AST2BOpBase.Annotations.ESTIMATED_CARDINALITY).toString()); } return sb.toString(); }
if (alpNode.subgroup() == theGroup) {
if (alpNode.subgroup() == theGroup) {
@Override public long getEstimatedCardinality(final StaticOptimizer opt) { final JoinGroupNode group = subgroup();
@Override public long getEstimatedCardinality(final StaticOptimizer opt) { final JoinGroupNode group = subgroup();
((ArbitraryLengthPathNode) child).subgroup());
((ArbitraryLengthPathNode) child).subgroup());
/** * Return the variables bound by the path - i.e. what this node will * attempt to bind when run. */ public Set<IVariable<?>> getMaybeProducedBindings() { final Set<IVariable<?>> producedBindings = getDefinitelyProducedBindings(); for (StatementPatternNode sp : subgroup().getStatementPatterns()) { addProducedBinding(sp.s(), producedBindings); addProducedBinding(sp.p(), producedBindings); addProducedBinding(sp.o(), producedBindings); addProducedBinding(sp.c(), producedBindings); } return producedBindings; }
/** * Return the variables bound by the path - i.e. what this node will * attempt to bind when run. */ public Set<IVariable<?>> getMaybeProducedBindings() { final Set<IVariable<?>> producedBindings = getDefinitelyProducedBindings(); for (StatementPatternNode sp : subgroup().getStatementPatterns()) { addProducedBinding(sp.s(), producedBindings); addProducedBinding(sp.p(), producedBindings); addProducedBinding(sp.o(), producedBindings); addProducedBinding(sp.c(), producedBindings); } return producedBindings; }
group = alpNode.subgroup();
group = alpNode.subgroup();
final JoinGroupNode subgroup = (JoinGroupNode) alpNode.subgroup();
optimize(ctx, sa, bSets2, alpNode.subgroup());
optimize(ctx, sa, bSets2, alpNode.subgroup());