private DirectedGraph<Integer, DefaultEdge> createGraphFromExpression( final List<RexNode> exprs) { final DirectedGraph<Integer, DefaultEdge> graph = DefaultDirectedGraph.create(); for (int i = 0; i < exprs.size(); i++) { graph.addVertex(i); } for (final Ord<RexNode> expr : Ord.zip(exprs)) { expr.e.accept( new RexVisitorImpl<Void>(true) { public Void visitLocalRef(RexLocalRef localRef) { graph.addEdge(localRef.getIndex(), expr.i); return null; } }); } assert graph.vertexSet().size() == exprs.size(); return graph; } }
private DirectedGraph<Integer, DefaultEdge> createGraphFromExpression( final List<RexNode> exprs) { final DirectedGraph<Integer, DefaultEdge> graph = DefaultDirectedGraph.create(); for (int i = 0; i < exprs.size(); i++) { graph.addVertex(i); } for (final Ord<RexNode> expr : Ord.zip(exprs)) { expr.e.accept( new RexVisitorImpl<Void>(true) { public Void visitLocalRef(RexLocalRef localRef) { graph.addEdge(localRef.getIndex(), expr.i); return null; } }); } assert graph.vertexSet().size() == exprs.size(); return graph; } }
public void registerConverterRule( RelOptPlanner planner, ConverterRule converterRule) { if (converterRule.isGuaranteed()) { ConversionData conversionData = getConversionData(planner); final Convention inConvention = (Convention) converterRule.getInTrait(); final Convention outConvention = (Convention) converterRule.getOutTrait(); conversionData.conversionGraph.addVertex(inConvention); conversionData.conversionGraph.addVertex(outConvention); conversionData.conversionGraph.addEdge(inConvention, outConvention); conversionData.mapArcToConverterRule.put( Pair.of(inConvention, outConvention), converterRule); } }
public void registerConverterRule( RelOptPlanner planner, ConverterRule converterRule) { if (converterRule.isGuaranteed()) { ConversionData conversionData = getConversionData(planner); final Convention inConvention = (Convention) converterRule.getInTrait(); final Convention outConvention = (Convention) converterRule.getOutTrait(); conversionData.conversionGraph.addVertex(inConvention); conversionData.conversionGraph.addVertex(outConvention); conversionData.conversionGraph.addEdge(inConvention, outConvention); conversionData.mapArcToConverterRule.put( Pair.of(inConvention, outConvention), converterRule); } }
DefaultDirectedGraph.create(); for (int i = 0; i < exprs.length; i++) { graph.addVertex(i);
DefaultDirectedGraph.create(Edge.FACTORY); for (RelNode node : relNodes) { graph.addVertex(node);
DefaultDirectedGraph.create(); for (int i = 0; i < exprs.length; i++) { graph.addVertex(i);
final LatticeTable table = space.register(p.left.getTable()); final Vertex vertex = new Vertex(table, p.right); graph.addVertex(vertex); vertices.add(vertex);
for (RelTableRef tRef : sourceTableRefs) { graph.addVertex(tRef); tableVNameToTableRefs.put(tRef.getQualifiedName(), tRef); if (!targetTableRefs.contains(tRef)) {
for (RelTableRef tRef : sourceTableRefs) { graph.addVertex(tRef); tableVNameToTableRefs.put(tRef.getQualifiedName(), tRef); if (!targetTableRefs.contains(tRef)) {
graph.addVertex(newVertex); updateVertex(newVertex, rel);
@Test public void testOne() { DirectedGraph<String, DefaultEdge> g = DefaultDirectedGraph.create(); g.addVertex("A"); g.addVertex("B"); g.addVertex("C"); g.addVertex("D"); g.addVertex("E"); g.addVertex("F"); g.addEdge("A", "B"); g.addEdge("B", "C"); g.addEdge("D", "C"); g.addEdge("C", "D"); g.addEdge("E", "F"); g.addEdge("C", "C"); assertEquals("[A, B, C, D]", shortestPath(g, "A", "D").toString()); g.addEdge("B", "D"); assertEquals("[A, B, D]", shortestPath(g, "A", "D").toString()); assertNull("There is no path from A to E", shortestPath(g, "A", "E")); assertEquals("[]", shortestPath(g, "D", "D").toString()); assertNull("Node X is not in the graph", shortestPath(g, "X", "A")); assertEquals("[[A, B, C, D], [A, B, D]]", paths(g, "A", "D").toString()); }
graph.addVertex(newVertex); updateVertex(newVertex, rel);
@Test public void testOne() { DirectedGraph<String, DefaultEdge> g = DefaultDirectedGraph.create(); g.addVertex("A"); g.addVertex("B"); g.addVertex("C"); g.addVertex("D"); g.addVertex("E"); g.addVertex("F"); g.addEdge("A", "B"); g.addEdge("B", "C"); g.addEdge("D", "C"); g.addEdge("C", "D"); g.addEdge("E", "F"); g.addEdge("C", "C"); assertEquals("[A, B, C, D]", shortestPath(g, "A", "D").toString()); g.addEdge("B", "D"); assertEquals("[A, B, D]", shortestPath(g, "A", "D").toString()); assertNull("There is no path from A to E", shortestPath(g, "A", "E")); assertEquals("[]", shortestPath(g, "D", "D").toString()); assertNull("Node X is not in the graph", shortestPath(g, "X", "A")); assertEquals("[[A, B, C, D], [A, B, D]]", paths(g, "A", "D").toString()); }
@Test public void testVertexMustExist() { DirectedGraph<String, DefaultEdge> g = DefaultDirectedGraph.create(); final boolean b = g.addVertex("A"); assertTrue(b); final boolean b2 = g.addVertex("A"); assertFalse(b2); g.addVertex("B"); DefaultEdge x = g.addEdge("A", "B"); assertNotNull(x); g.addVertex("Z"); DefaultEdge x3 = g.addEdge("Z", "A"); assertNotNull(x3); final boolean b3 = g.addVertex("A"); assertFalse(b3); final List<DefaultEdge> in2 = g.getInwardEdges("A");
@Test public void testVertexMustExist() { DirectedGraph<String, DefaultEdge> g = DefaultDirectedGraph.create(); final boolean b = g.addVertex("A"); assertTrue(b); final boolean b2 = g.addVertex("A"); assertFalse(b2); g.addVertex("B"); DefaultEdge x = g.addEdge("A", "B"); assertNotNull(x); g.addVertex("Z"); DefaultEdge x3 = g.addEdge("Z", "A"); assertNotNull(x3); final boolean b3 = g.addVertex("A"); assertFalse(b3); final List<DefaultEdge> in2 = g.getInwardEdges("A");