/** * A query is considered 'simple' if it is comprised of just one sub-query and that query * is fitted (i.e. does not require an in-memory filtering). * @return */ public boolean isSimple() { return queries.size()==1 && queries.get(0).isFitted() && queries.get(0).isSorted(); }
private Query relations(RelationCategory returnType) { // if (name==null) { // if (hasSingleType()) name = getSingleType().name(); // else if (!requiresName) name = QUERY_NAME_PREFIX + queries.size(); // else throw new IllegalStateException("Need to specify an explicit name for this query"); // } BaseVertexCentricQuery vq = super.constructQuery(returnType); List<SliceQuery> slices = new ArrayList<>(vq.numSubQueries()); for (int i = 0; i < vq.numSubQueries(); i++) { BackendQueryHolder<SliceQuery> bq = vq.getSubQuery(i); SliceQuery sq = bq.getBackendQuery(); slices.add(sq.updateLimit(bq.isFitted() ? vq.getLimit() : hardQueryLimit)); } Query q = new Query(slices, returnType); synchronized (queries) { Preconditions.checkArgument(!queries.contains(q), "Query has already been added: %s", q); queries.add(q); for (SliceQuery sq : slices) { inverseQueries.put(sq, q); } } return q; }
: new PreSortingIterator(subq), hasDeletions, !subq.isFitted()); BackendQueryHolder<B> subq = query.getSubQuery(i); Iterator<R> subiter = new LimitAdjustingIterator(subq); subiter = getFilterIterator(subiter, hasDeletions, !subq.isFitted()); if (!allNew.isEmpty()) { subiter = Iterators.filter(subiter, new Predicate<R>() {
/** * A query is considered 'simple' if it is comprised of just one sub-query and that query * is fitted (i.e. does not require an in-memory filtering). * @return */ public boolean isSimple() { return queries.size()==1 && queries.get(0).isFitted() && queries.get(0).isSorted(); }
private StandardSubQuery(BackendQueryHolder bqh) { this.isFitted=bqh.isFitted(); this.isSorted=bqh.isSorted(); this.intersectingQueries = ImmutableList.of("default"); }
/** * A query is considered 'simple' if it is comprised of just one sub-query and that query * is fitted (i.e. does not require an in-memory filtering). * @return */ public boolean isSimple() { return queries.size()==1 && queries.get(0).isFitted() && queries.get(0).isSorted(); }
private Query relations(RelationCategory returnType) { // if (name==null) { // if (hasSingleType()) name = getSingleType().name(); // else if (!requiresName) name = QUERY_NAME_PREFIX + queries.size(); // else throw new IllegalStateException("Need to specify an explicit name for this query"); // } BaseVertexCentricQuery vq = super.constructQuery(returnType); List<SliceQuery> slices = new ArrayList<>(vq.numSubQueries()); for (int i = 0; i < vq.numSubQueries(); i++) { BackendQueryHolder<SliceQuery> bq = vq.getSubQuery(i); SliceQuery sq = bq.getBackendQuery(); slices.add(sq.updateLimit(bq.isFitted() ? vq.getLimit() : hardQueryLimit)); } Query q = new Query(slices, returnType); synchronized (queries) { Preconditions.checkArgument(!queries.contains(q), "Query has already been added: %s", q); queries.add(q); for (SliceQuery sq : slices) { inverseQueries.put(sq, q); } } return q; }
: new PreSortingIterator(subq), hasDeletions, !subq.isFitted()); BackendQueryHolder<B> subq = query.getSubQuery(i); Iterator<R> subiter = new LimitAdjustingIterator(subq); subiter = getFilterIterator(subiter, hasDeletions, !subq.isFitted()); if (!allNew.isEmpty()) { subiter = Iterators.filter(subiter, new Predicate<R>() {
: new PreSortingIterator(subq), hasDeletions, !subq.isFitted()); BackendQueryHolder<B> subq = query.getSubQuery(i); Iterator<R> subiter = new LimitAdjustingIterator(subq); subiter = getFilterIterator(subiter, hasDeletions, !subq.isFitted()); if (!allNew.isEmpty()) { subiter = Iterators.filter(subiter, new Predicate<R>() {