public VertexList executeVertexIds(InternalVertex vertex, BaseVertexCentricQuery baseQuery) { if (isPartitionedVertex(vertex)) { //If there is a sort order, we need to first merge the relations (and sort) and then compute vertices if (!orders.isEmpty()) return edges2VertexIds((Iterable) executeRelations(vertex,baseQuery), vertex); if (!hasAllCanonicalTypes()) { InternalVertex[] representatives = tx.getAllRepresentatives(vertex,restrict2Partitions); VertexListInternal merge = null; for (InternalVertex rep : representatives) { if (merge!=null && merge.size()>=baseQuery.getLimit()) break; VertexList vlist = executeIndividualVertexIds(rep,baseQuery); if (merge==null) merge = (VertexListInternal)vlist; else merge.addAll(vlist); } if (merge.size()>baseQuery.getLimit()) merge = (VertexListInternal)merge.subList(0,baseQuery.getLimit()); return merge; } else vertex = tx.getCanonicalVertex(vertex); } return executeIndividualVertexIds(vertex,baseQuery); }
public VertexList executeVertexIds(InternalVertex vertex, BaseVertexCentricQuery baseQuery) { if (isPartitionedVertex(vertex)) { //If there is a sort order, we need to first merge the relations (and sort) and then compute vertices if (!orders.isEmpty()) return edges2VertexIds((Iterable) executeRelations(vertex,baseQuery), vertex); if (!hasAllCanonicalTypes()) { InternalVertex[] representatives = tx.getAllRepresentatives(vertex,restrict2Partitions); VertexListInternal merge = null; for (InternalVertex rep : representatives) { if (merge!=null && merge.size()>=baseQuery.getLimit()) break; VertexList vlist = executeIndividualVertexIds(rep,baseQuery); if (merge==null) merge = (VertexListInternal)vlist; else merge.addAll(vlist); } if (merge.size()>baseQuery.getLimit()) merge = (VertexListInternal)merge.subList(0,baseQuery.getLimit()); return merge; } else vertex = tx.getCanonicalVertex(vertex); } return executeIndividualVertexIds(vertex,baseQuery); }
public VertexList executeVertexIds(InternalVertex vertex, BaseVertexCentricQuery baseQuery) { if (isPartitionedVertex(vertex)) { //If there is a sort order, we need to first merge the relations (and sort) and then compute vertices if (!orders.isEmpty()) return edges2VertexIds((Iterable) executeRelations(vertex,baseQuery), vertex); if (!hasAllCanonicalTypes()) { InternalVertex[] representatives = tx.getAllRepresentatives(vertex,restrict2Partitions); VertexListInternal merge = null; for (InternalVertex rep : representatives) { if (merge!=null && merge.size()>=baseQuery.getLimit()) break; VertexList vlist = executeIndividualVertexIds(rep,baseQuery); if (merge==null) merge = (VertexListInternal)vlist; else merge.addAll(vlist); } if (merge.size()>baseQuery.getLimit()) merge = (VertexListInternal)merge.subList(0,baseQuery.getLimit()); return merge; } else vertex = tx.getCanonicalVertex(vertex); } return executeIndividualVertexIds(vertex,baseQuery); }