@Override public Iterator<R> iterator() { return new ResultSetIterator<R>(inner.iterator(),limit); } };
@Override public R next() { if (!hasNext()) throw new NoSuchElementException(); current = next; count++; next = nextInternal(); return current; }
protected Iterable<TitanRelation> executeRelations(InternalVertex vertex, BaseVertexCentricQuery baseQuery) { if (isPartitionedVertex(vertex)) { if (!hasAllCanonicalTypes()) { InternalVertex[] representatives = tx.getAllRepresentatives(vertex,restrict2Partitions); Iterable<TitanRelation> merge = null; for (InternalVertex rep : representatives) { Iterable<TitanRelation> iter = executeIndividualRelations(rep,baseQuery); if (merge==null) merge = iter; else merge = ResultMergeSortIterator.mergeSort(merge,iter,(Comparator)orders,false); } return ResultSetIterator.wrap(merge,baseQuery.getLimit()); } else vertex = tx.getCanonicalVertex(vertex); } return executeIndividualRelations(vertex,baseQuery); }
public ResultSetIterator(Iterator<R> inner, int limit) { this.iter = inner; this.limit = limit; count = 0; this.current = null; this.next = nextInternal(); }
public Iterable<TitanVertex> executeVertices(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); Iterable<TitanVertex> merge = null; for (InternalVertex rep : representatives) { Iterable<TitanVertex> iter = executeIndividualVertices(rep,baseQuery); if (merge==null) merge = iter; else merge = ResultMergeSortIterator.mergeSort(merge,iter,VertexArrayList.VERTEX_ID_COMPARATOR,false); } return ResultSetIterator.wrap(merge,baseQuery.getLimit()); } else vertex = tx.getCanonicalVertex(vertex); } return executeIndividualVertices(vertex,baseQuery); }
public ResultSetIterator(Iterator<R> inner, int limit) { this.iter = inner; this.limit = limit; count = 0; this.current = null; this.next = nextInternal(); }
@Override public R next() { if (!hasNext()) throw new NoSuchElementException(); current = next; count++; next = nextInternal(); return current; }
@Override public Iterator<R> iterator() { if (query.isEmpty()) return Iterators.emptyIterator(); return new ResultSetIterator(getUnfoldedIterator(),(query.hasLimit()) ? query.getLimit() : Query.NO_LIMIT); }
protected Iterable<TitanRelation> executeRelations(InternalVertex vertex, BaseVertexCentricQuery baseQuery) { if (isPartitionedVertex(vertex)) { if (!hasAllCanonicalTypes()) { InternalVertex[] representatives = tx.getAllRepresentatives(vertex,restrict2Partitions); Iterable<TitanRelation> merge = null; for (InternalVertex rep : representatives) { Iterable<TitanRelation> iter = executeIndividualRelations(rep,baseQuery); if (merge==null) merge = iter; else merge = ResultMergeSortIterator.mergeSort(merge,iter,(Comparator)orders,false); } return ResultSetIterator.wrap(merge,baseQuery.getLimit()); } else vertex = tx.getCanonicalVertex(vertex); } return executeIndividualRelations(vertex,baseQuery); }
public ResultSetIterator(Iterator<R> inner, int limit) { this.iter = inner; this.limit = limit; count = 0; this.current = null; this.next = nextInternal(); }
@Override public R next() { if (!hasNext()) throw new NoSuchElementException(); current = next; count++; next = nextInternal(); return current; }
@Override public Iterator<R> iterator() { return new ResultSetIterator<R>(inner.iterator(),limit); } };
protected Iterable<TitanRelation> executeRelations(InternalVertex vertex, BaseVertexCentricQuery baseQuery) { if (isPartitionedVertex(vertex)) { if (!hasAllCanonicalTypes()) { InternalVertex[] representatives = tx.getAllRepresentatives(vertex,restrict2Partitions); Iterable<TitanRelation> merge = null; for (InternalVertex rep : representatives) { Iterable<TitanRelation> iter = executeIndividualRelations(rep,baseQuery); if (merge==null) merge = iter; else merge = ResultMergeSortIterator.mergeSort(merge,iter,(Comparator)orders,false); } return ResultSetIterator.wrap(merge,baseQuery.getLimit()); } else vertex = tx.getCanonicalVertex(vertex); } return executeIndividualRelations(vertex,baseQuery); }
@Override public Iterator<R> iterator() { return new ResultSetIterator<R>(inner.iterator(),limit); } };
public Iterable<TitanVertex> executeVertices(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); Iterable<TitanVertex> merge = null; for (InternalVertex rep : representatives) { Iterable<TitanVertex> iter = executeIndividualVertices(rep,baseQuery); if (merge==null) merge = iter; else merge = ResultMergeSortIterator.mergeSort(merge,iter,VertexArrayList.VERTEX_ID_COMPARATOR,false); } return ResultSetIterator.wrap(merge,baseQuery.getLimit()); } else vertex = tx.getCanonicalVertex(vertex); } return executeIndividualVertices(vertex,baseQuery); }
@Override public Iterator<R> iterator() { if (query.isEmpty()) return Iterators.emptyIterator(); return new ResultSetIterator(getUnfoldedIterator(),(query.hasLimit()) ? query.getLimit() : Query.NO_LIMIT); }
public Iterable<TitanVertex> executeVertices(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); Iterable<TitanVertex> merge = null; for (InternalVertex rep : representatives) { Iterable<TitanVertex> iter = executeIndividualVertices(rep,baseQuery); if (merge==null) merge = iter; else merge = ResultMergeSortIterator.mergeSort(merge,iter,VertexArrayList.VERTEX_ID_COMPARATOR,false); } return ResultSetIterator.wrap(merge,baseQuery.getLimit()); } else vertex = tx.getCanonicalVertex(vertex); } return executeIndividualVertices(vertex,baseQuery); }
@Override public Iterator<R> iterator() { if (query.isEmpty()) return Iterators.emptyIterator(); return new ResultSetIterator(getUnfoldedIterator(),(query.hasLimit()) ? query.getLimit() : Query.NO_LIMIT); }