public AccumulatedTapOnHashJoinExpression() { super( new SyncPipeExpressionGraph(), new ExpressionGraph() .arc( new FlowElementExpression( ElementCapture.Primary, Hfs.class ), PathScopeExpression.BLOCKING, new FlowElementExpression( HashJoin.class ) ) ); } }
public AccumulatedTapOnHashJoinExpression() { super( new SyncPipeExpressionGraph(), new ExpressionGraph() .arc( new FlowElementExpression( ElementCapture.Primary, Hfs.class ), PathScopeExpression.BLOCKING, new FlowElementExpression( HashJoin.class ) ) ); } }
public BalanceGroupSplitJoinExpression() { super( new SyncPipeExpressionGraph(), // in order to capture out degree in sub-graph, we need to capture at least two successors new ExpressionGraph() .arcs( SHARED_GROUP, SHARED_JOIN ) .arcs( SHARED_GROUP, SHARED_JOIN ), // sub-graph to match has out degree captured above new ExpressionGraph() .arcs( new FlowElementExpression( ElementCapture.Primary, Pipe.class, TypeExpression.Topo.SplitOnly ) ) ); } }
public BalanceGroupSplitJoinExpression() { super( new SyncPipeExpressionGraph(), // in order to capture out degree in sub-graph, we need to capture at least two successors new ExpressionGraph() .arcs( SHARED_GROUP, SHARED_JOIN ) .arcs( SHARED_GROUP, SHARED_JOIN ), // sub-graph to match has out degree captured above new ExpressionGraph() .arcs( new FlowElementExpression( ElementCapture.Primary, Pipe.class, TypeExpression.Topo.SplitOnly ) ) ); } }
public BalanceHashJoinToHashJoinExpression() { super( new SyncPipeExpressionGraph(), new ExpressionGraph() .arc( new FlowElementExpression( HashJoin.class ), PathScopeExpression.ANY, new FlowElementExpression( HashJoin.class ) ), new ExpressionGraph() .arc( new FlowElementExpression( ElementCapture.Primary, Pipe.class ), PathScopeExpression.ANY, new FlowElementExpression( HashJoin.class ) ) ); } }
public BalanceGroupSplitTriangleExpression() { super( new SyncPipeExpressionGraph(), new ExpressionGraph() .arc( SHARED_GROUP, ScopeExpression.ANY, SHARED_LHS ) .arc( SHARED_GROUP, ScopeExpression.ANY, SHARED_RHS ) .arc( SHARED_LHS, ScopeExpression.ANY, SHARED_RHS ), // sub-graph to match has out degree captured above new ExpressionGraph() .arcs( new FlowElementExpression( ElementCapture.Primary, Pipe.class, Topo.SplitOnly ) ) ); } }
public BalanceHashJoinSameSourceExpression() { super( new SyncPipeExpressionGraph(), new ExpressionGraph() .arc( new FlowElementExpression( ElementCapture.Primary, Tap.class, TypeExpression.Topo.SplitOnly ), JoinEdgesSameSourceScopeExpression.ALL_SAME_SOURCE, new FlowElementExpression( HashJoin.class ) ), new ExpressionGraph() .arc( new FlowElementExpression( ElementCapture.Secondary, Pipe.class ), PathScopeExpression.BLOCKING, new FlowElementExpression( ElementCapture.Primary, HashJoin.class ) ) ); } }
public BalanceHashJoinToHashJoinExpression() { super( new SyncPipeExpressionGraph(), new ExpressionGraph() .arc( new FlowElementExpression( HashJoin.class ), PathScopeExpression.ANY, new FlowElementExpression( HashJoin.class ) ), new ExpressionGraph() .arc( new FlowElementExpression( ElementCapture.Primary, Pipe.class ), PathScopeExpression.ANY, new FlowElementExpression( HashJoin.class ) ) ); } }
public BalanceGroupSplitTriangleExpression() { super( new SyncPipeExpressionGraph(), new ExpressionGraph() .arc( SHARED_GROUP, ScopeExpression.ANY, SHARED_LHS ) .arc( SHARED_GROUP, ScopeExpression.ANY, SHARED_RHS ) .arc( SHARED_LHS, ScopeExpression.ANY, SHARED_RHS ), // sub-graph to match has out degree captured above new ExpressionGraph() .arcs( new FlowElementExpression( ElementCapture.Primary, Pipe.class, Topo.SplitOnly ) ) ); } }
public BalanceGroupNonBlockingHashJoinExpression() { super( new SyncPipeExpressionGraph(), new ExpressionGraph() .arc( new FlowElementExpression( Group.class ), PathScopeExpression.NON_BLOCKING, new FlowElementExpression( HashJoin.class ) ), new ExpressionGraph() .arc( new FlowElementExpression( ElementCapture.Primary, Pipe.class ), PathScopeExpression.NON_BLOCKING, new FlowElementExpression( HashJoin.class ) ) ); } }
public BalanceGroupNonBlockingHashJoinExpression() { super( new SyncPipeExpressionGraph(), new ExpressionGraph() .arc( new FlowElementExpression( Group.class ), PathScopeExpression.NON_BLOCKING, new FlowElementExpression( HashJoin.class ) ), new ExpressionGraph() .arc( new FlowElementExpression( ElementCapture.Primary, Pipe.class ), PathScopeExpression.NON_BLOCKING, new FlowElementExpression( HashJoin.class ) ) ); } }
public BalanceHashJoinBlockingHashJoinExpression() { super( new SyncPipeExpressionGraph(), new ExpressionGraph() .arc( new FlowElementExpression( HashJoin.class ), PathScopeExpression.BLOCKING, new FlowElementExpression( HashJoin.class ) ), new ExpressionGraph() .arc( new FlowElementExpression( ElementCapture.Primary, Pipe.class ), PathScopeExpression.BLOCKING, new FlowElementExpression( HashJoin.class ) ) ); } }
public BalanceGroupBlockingHashJoinExpression() { super( new SyncPipeExpressionGraph(), new ExpressionGraph() .arc( new FlowElementExpression( Group.class ), PathScopeExpression.BLOCKING, new FlowElementExpression( HashJoin.class ) ), new ExpressionGraph() .arc( new FlowElementExpression( ElementCapture.Primary, Pipe.class ), PathScopeExpression.BLOCKING, new FlowElementExpression( HashJoin.class ) ) ); } }
public BalanceHashJoinSameSourceExpression() { super( new SyncPipeExpressionGraph(), new ExpressionGraph() .arc( new FlowElementExpression( ElementCapture.Primary, Tap.class, TypeExpression.Topo.SplitOnly ), JoinEdgesSameSourceScopeExpression.ALL_SAME_SOURCE, new FlowElementExpression( HashJoin.class ) ), new ExpressionGraph() .arc( new FlowElementExpression( ElementCapture.Secondary, Pipe.class ), PathScopeExpression.BLOCKING, new FlowElementExpression( ElementCapture.Primary, HashJoin.class ) ) ); } }
public BalanceGroupBlockingHashJoinExpression() { super( new SyncPipeExpressionGraph(), new ExpressionGraph() .arc( new FlowElementExpression( Group.class ), PathScopeExpression.BLOCKING, new FlowElementExpression( HashJoin.class ) ), new ExpressionGraph() .arc( new FlowElementExpression( ElementCapture.Primary, Pipe.class ), PathScopeExpression.BLOCKING, new FlowElementExpression( HashJoin.class ) ) ); } }
public BalanceHashJoinBlockingHashJoinExpression() { super( new SyncPipeExpressionGraph(), new ExpressionGraph() .arc( new FlowElementExpression( HashJoin.class ), PathScopeExpression.BLOCKING, new FlowElementExpression( HashJoin.class ) ), new ExpressionGraph() .arc( new FlowElementExpression( ElementCapture.Primary, Pipe.class ), PathScopeExpression.BLOCKING, new FlowElementExpression( HashJoin.class ) ) ); } }
public BalanceGroupGroupExpression() { super( new SyncPipeExpressionGraph(), new ExpressionGraph() .arcs( new FlowElementExpression( Group.class ), new FlowElementExpression( Group.class ) ), new ExpressionGraph() .arc( new FlowElementExpression( ElementCapture.Primary, Pipe.class ), ScopeExpression.ANY, new FlowElementExpression( Group.class ) ) ); } }
public BalanceGroupSplitHashJoinExpression() { super( new SyncPipeExpressionGraph(), // in order to capture out degree in sub-graph, we need to capture at least two successors new ExpressionGraph() .arcs( SHARED_GROUP, new FlowElementExpression( HashJoin.class ) ) .arcs( SHARED_GROUP, new FlowElementExpression( HashJoin.class ) ), // sub-graph to match has out degree captured above new ExpressionGraph() .arcs( new FlowElementExpression( ElementCapture.Primary, Pipe.class, TypeExpression.Topo.SplitOnly ) ) ); } }
public BalanceGroupGroupExpression() { super( new SyncPipeExpressionGraph(), new ExpressionGraph() .arcs( new FlowElementExpression( Group.class ), new FlowElementExpression( Group.class ) ), new ExpressionGraph() .arc( new FlowElementExpression( ElementCapture.Primary, Pipe.class ), ScopeExpression.ANY, new FlowElementExpression( Group.class ) ) ); } }
public BalanceJoinSplitExpression() { super( new SyncPipeExpressionGraph(), // in order to capture out degree in sub-graph, we need to capture at least two successors new ExpressionGraph() .arcs( SHARED_JOIN, new BoundariesElementExpression() ) .arcs( SHARED_JOIN, new BoundariesElementExpression() ), // sub-graph to match has out degree captured above new ExpressionGraph() .arcs( new FlowElementExpression( ElementCapture.Primary, Pipe.class, TypeExpression.Topo.SplitOnly ) ) ); } }