@Override public ScrollResult<String> scroll(String query, QueryFilter queryFilter, int batchSize, int keepAliveSeconds) { if (!dialect.supportsScroll()) { return defaultScroll(query); } if (dialect.needsPrepareUserReadAcls()) { prepareUserReadAcls(queryFilter); } checkForTimedoutScroll(); return scrollSearch(query, queryFilter, batchSize, keepAliveSeconds); }
@Override public IterableQueryResult queryAndFetch(String query, String queryType, QueryFilter queryFilter, boolean distinctDocuments, Object... params) { if (dialect.needsPrepareUserReadAcls()) { prepareUserReadAcls(queryFilter); } QueryMaker queryMaker = findQueryMaker(queryType); if (queryMaker == null) { throw new NuxeoException("No QueryMaker accepts query: " + queryType + ": " + query); } query = computeDistinctDocuments(query, distinctDocuments); try { return new ResultSetQueryResult(queryMaker, query, queryFilter, pathResolver, this, params); } catch (SQLException e) { throw new NuxeoException("Invalid query: " + queryType + ": " + query, e); } }
protected <T> PartialList<T> queryProjection(String query, String queryType, QueryFilter queryFilter, long countUpTo, BiFunctionSQLException<SQLInfoSelect, ResultSet, T> extractor, Object... params) { if (dialect.needsPrepareUserReadAcls()) { prepareUserReadAcls(queryFilter);